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

Side by Side Diff: chrome/browser/printing/print_view_manager.cc

Issue 14113053: chrome: Use base::MessageLoop. (Part 3) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase again Created 7 years, 6 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 | « chrome/browser/printing/print_job_worker.cc ('k') | chrome/browser/printing/printer_query.cc » ('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/printing/print_view_manager.h" 5 #include "chrome/browser/printing/print_view_manager.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 } 483 }
484 484
485 void PrintViewManager::ShouldQuitFromInnerMessageLoop() { 485 void PrintViewManager::ShouldQuitFromInnerMessageLoop() {
486 // Look at the reason. 486 // Look at the reason.
487 DCHECK(print_job_->document()); 487 DCHECK(print_job_->document());
488 if (print_job_->document() && 488 if (print_job_->document() &&
489 print_job_->document()->IsComplete() && 489 print_job_->document()->IsComplete() &&
490 inside_inner_message_loop_) { 490 inside_inner_message_loop_) {
491 // We are in a message loop created by RenderAllMissingPagesNow. Quit from 491 // We are in a message loop created by RenderAllMissingPagesNow. Quit from
492 // it. 492 // it.
493 MessageLoop::current()->Quit(); 493 base::MessageLoop::current()->Quit();
494 inside_inner_message_loop_ = false; 494 inside_inner_message_loop_ = false;
495 } 495 }
496 } 496 }
497 497
498 bool PrintViewManager::CreateNewPrintJob(PrintJobWorkerOwner* job) { 498 bool PrintViewManager::CreateNewPrintJob(PrintJobWorkerOwner* job) {
499 DCHECK(!inside_inner_message_loop_); 499 DCHECK(!inside_inner_message_loop_);
500 500
501 // Disconnect the current print_job_. 501 // Disconnect the current print_job_.
502 DisconnectFromCurrentPrintJob(); 502 DisconnectFromCurrentPrintJob();
503 503
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
588 // - If we're looping because of printer settings initialization, the premise 588 // - If we're looping because of printer settings initialization, the premise
589 // here is that some poor users have their print server away on a VPN over a 589 // here is that some poor users have their print server away on a VPN over a
590 // slow connection. In this situation, the simple fact of opening the printer 590 // slow connection. In this situation, the simple fact of opening the printer
591 // can be dead slow. On the other side, we don't want to die infinitely for a 591 // can be dead slow. On the other side, we don't want to die infinitely for a
592 // real network error. Give the printer 60 seconds to comply. 592 // real network error. Give the printer 60 seconds to comply.
593 // 593 //
594 // - If we're looping because of renderer page generation, the renderer could 594 // - If we're looping because of renderer page generation, the renderer could
595 // be CPU bound, the page overly complex/large or the system just 595 // be CPU bound, the page overly complex/large or the system just
596 // memory-bound. 596 // memory-bound.
597 static const int kPrinterSettingsTimeout = 60000; 597 static const int kPrinterSettingsTimeout = 60000;
598 base::OneShotTimer<MessageLoop> quit_timer; 598 base::OneShotTimer<base::MessageLoop> quit_timer;
599 quit_timer.Start(FROM_HERE, 599 quit_timer.Start(FROM_HERE,
600 TimeDelta::FromMilliseconds(kPrinterSettingsTimeout), 600 TimeDelta::FromMilliseconds(kPrinterSettingsTimeout),
601 MessageLoop::current(), &MessageLoop::Quit); 601 base::MessageLoop::current(), &base::MessageLoop::Quit);
602 602
603 inside_inner_message_loop_ = true; 603 inside_inner_message_loop_ = true;
604 604
605 // Need to enable recursive task. 605 // Need to enable recursive task.
606 { 606 {
607 MessageLoop::ScopedNestableTaskAllower allow(MessageLoop::current()); 607 base::MessageLoop::ScopedNestableTaskAllower allow(
608 MessageLoop::current()->Run(); 608 base::MessageLoop::current());
609 base::MessageLoop::current()->Run();
609 } 610 }
610 611
611 bool success = true; 612 bool success = true;
612 if (inside_inner_message_loop_) { 613 if (inside_inner_message_loop_) {
613 // Ok we timed out. That's sad. 614 // Ok we timed out. That's sad.
614 inside_inner_message_loop_ = false; 615 inside_inner_message_loop_ = false;
615 success = false; 616 success = false;
616 } 617 }
617 618
618 return success; 619 return success;
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
675 scoped_refptr<printing::PrinterQuery> printer_query; 676 scoped_refptr<printing::PrinterQuery> printer_query;
676 print_job_manager->PopPrinterQuery(cookie, &printer_query); 677 print_job_manager->PopPrinterQuery(cookie, &printer_query);
677 if (!printer_query.get()) 678 if (!printer_query.get())
678 return; 679 return;
679 BrowserThread::PostTask( 680 BrowserThread::PostTask(
680 BrowserThread::IO, FROM_HERE, 681 BrowserThread::IO, FROM_HERE,
681 base::Bind(&PrinterQuery::StopWorker, printer_query.get())); 682 base::Bind(&PrinterQuery::StopWorker, printer_query.get()));
682 } 683 }
683 684
684 } // namespace printing 685 } // namespace printing
OLDNEW
« no previous file with comments | « chrome/browser/printing/print_job_worker.cc ('k') | chrome/browser/printing/printer_query.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698