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

Side by Side Diff: chrome/browser/ui/webui/print_preview_handler.cc

Issue 7365003: Print Preview: Make preview generation event driven to eliminate synchronous messages. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: clang fix Created 9 years, 5 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/ui/webui/print_preview_handler.h" 5 #include "chrome/browser/ui/webui/print_preview_handler.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/base64.h" 9 #include "base/base64.h"
10 #if !defined(OS_CHROMEOS) 10 #if !defined(OS_CHROMEOS)
(...skipping 809 matching lines...) Expand 10 before | Expand all | Expand 10 after
820 } 820 }
821 821
822 void PrintPreviewHandler::OnNavigation() { 822 void PrintPreviewHandler::OnNavigation() {
823 TabContents* initiator_tab = GetInitiatorTab(); 823 TabContents* initiator_tab = GetInitiatorTab();
824 if (!initiator_tab) 824 if (!initiator_tab)
825 return; 825 return;
826 826
827 TabContentsWrapper* wrapper = 827 TabContentsWrapper* wrapper =
828 TabContentsWrapper::GetCurrentWrapperForContents(initiator_tab); 828 TabContentsWrapper::GetCurrentWrapperForContents(initiator_tab);
829 wrapper->print_view_manager()->set_observer(NULL); 829 wrapper->print_view_manager()->set_observer(NULL);
830
831 // Tell the initiator tab to stop rendering the print preview, if any,
832 // since the preview tab is gone.
833 RenderViewHost* rvh = initiator_tab->render_view_host();
834 rvh->Send(new PrintMsg_AbortPreview(rvh->routing_id()));
830 } 835 }
831 836
832 void PrintPreviewHandler::FileSelected(const FilePath& path, 837 void PrintPreviewHandler::FileSelected(const FilePath& path,
833 int index, void* params) { 838 int index, void* params) {
834 PrintPreviewUI* print_preview_ui = static_cast<PrintPreviewUI*>(web_ui_); 839 PrintPreviewUI* print_preview_ui = static_cast<PrintPreviewUI*>(web_ui_);
835 scoped_refptr<RefCountedBytes> data(new RefCountedBytes()); 840 scoped_refptr<RefCountedBytes> data(new RefCountedBytes());
836 print_preview_ui->GetPrintPreviewData(&data); 841 print_preview_ui->GetPrintPreviewData(&data);
837 if (!data->front()) { 842 if (!data->front()) {
838 NOTREACHED(); 843 NOTREACHED();
839 return; 844 return;
(...skipping 30 matching lines...) Expand all
870 return; 875 return;
871 876
872 // We no longer require the initiator tab details. Remove those details 877 // We no longer require the initiator tab details. Remove those details
873 // associated with the preview tab to allow the initiator tab to create 878 // associated with the preview tab to allow the initiator tab to create
874 // another preview tab. 879 // another preview tab.
875 printing::PrintPreviewTabController* tab_controller = 880 printing::PrintPreviewTabController* tab_controller =
876 printing::PrintPreviewTabController::GetInstance(); 881 printing::PrintPreviewTabController::GetInstance();
877 if (tab_controller) 882 if (tab_controller)
878 tab_controller->EraseInitiatorTabInfo(preview_tab()); 883 tab_controller->EraseInitiatorTabInfo(preview_tab());
879 } 884 }
OLDNEW
« no previous file with comments | « chrome/browser/printing/print_preview_message_handler.cc ('k') | chrome/browser/ui/webui/print_preview_ui.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698