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

Side by Side Diff: chrome/browser/tab_contents/thumbnail_generator.cc

Issue 10349013: Prevent browser thumbnailer from trying to read from frontbuffer (surface texture) when none exists. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase for landing Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | content/browser/renderer_host/render_widget_host_view_aura.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/tab_contents/thumbnail_generator.h" 5 #include "chrome/browser/tab_contents/thumbnail_generator.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 bitmap.extractSubset(&clipped_bitmap, src_rect); 436 bitmap.extractSubset(&clipped_bitmap, src_rect);
437 return clipped_bitmap; 437 return clipped_bitmap;
438 } 438 }
439 439
440 void ThumbnailGenerator::UpdateThumbnailIfNecessary( 440 void ThumbnailGenerator::UpdateThumbnailIfNecessary(
441 WebContents* web_contents) { 441 WebContents* web_contents) {
442 const GURL& url = web_contents->GetURL(); 442 const GURL& url = web_contents->GetURL();
443 Profile* profile = 443 Profile* profile =
444 Profile::FromBrowserContext(web_contents->GetBrowserContext()); 444 Profile::FromBrowserContext(web_contents->GetBrowserContext());
445 history::TopSites* top_sites = profile->GetTopSites(); 445 history::TopSites* top_sites = profile->GetTopSites();
446 bool surface_available =
447 web_contents->GetRenderWidgetHostView()->IsSurfaceAvailableForCopy();
448 // Skip if we can't update the thumbnail.
449 if (!surface_available)
450 return;
446 // Skip if we don't need to update the thumbnail. 451 // Skip if we don't need to update the thumbnail.
447 if (!ShouldUpdateThumbnail(profile, top_sites, url)) 452 if (!ShouldUpdateThumbnail(profile, top_sites, url))
448 return; 453 return;
449 454
450 AsyncUpdateThumbnail(web_contents); 455 AsyncUpdateThumbnail(web_contents);
451 } 456 }
452 457
453 void ThumbnailGenerator::UpdateThumbnail( 458 void ThumbnailGenerator::UpdateThumbnail(
454 WebContents* web_contents, const SkBitmap& thumbnail, 459 WebContents* web_contents, const SkBitmap& thumbnail,
455 const ThumbnailGenerator::ClipResult& clip_result) { 460 const ThumbnailGenerator::ClipResult& clip_result) {
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
553 558
554 void ThumbnailGenerator::DidStartLoading() { 559 void ThumbnailGenerator::DidStartLoading() {
555 load_interrupted_ = false; 560 load_interrupted_ = false;
556 } 561 }
557 562
558 void ThumbnailGenerator::StopNavigation() { 563 void ThumbnailGenerator::StopNavigation() {
559 // This function gets called when the page loading is interrupted by the 564 // This function gets called when the page loading is interrupted by the
560 // stop button. 565 // stop button.
561 load_interrupted_ = true; 566 load_interrupted_ = true;
562 } 567 }
OLDNEW
« no previous file with comments | « no previous file | content/browser/renderer_host/render_widget_host_view_aura.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698