OLD | NEW |
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/lazy_instance.h" | 10 #include "base/lazy_instance.h" |
(...skipping 538 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
549 // memory-bound. | 549 // memory-bound. |
550 static const int kPrinterSettingsTimeout = 60000; | 550 static const int kPrinterSettingsTimeout = 60000; |
551 base::OneShotTimer<MessageLoop> quit_timer; | 551 base::OneShotTimer<MessageLoop> quit_timer; |
552 quit_timer.Start(FROM_HERE, | 552 quit_timer.Start(FROM_HERE, |
553 TimeDelta::FromMilliseconds(kPrinterSettingsTimeout), | 553 TimeDelta::FromMilliseconds(kPrinterSettingsTimeout), |
554 MessageLoop::current(), &MessageLoop::Quit); | 554 MessageLoop::current(), &MessageLoop::Quit); |
555 | 555 |
556 inside_inner_message_loop_ = true; | 556 inside_inner_message_loop_ = true; |
557 | 557 |
558 // Need to enable recursive task. | 558 // Need to enable recursive task. |
559 bool old_state = MessageLoop::current()->NestableTasksAllowed(); | 559 { |
560 MessageLoop::current()->SetNestableTasksAllowed(true); | 560 MessageLoop::ScopedNestableTaskAllower allow(MessageLoop::current()); |
561 MessageLoop::current()->Run(); | 561 MessageLoop::current()->Run(); |
562 // Restore task state. | 562 } |
563 MessageLoop::current()->SetNestableTasksAllowed(old_state); | |
564 | 563 |
565 bool success = true; | 564 bool success = true; |
566 if (inside_inner_message_loop_) { | 565 if (inside_inner_message_loop_) { |
567 // Ok we timed out. That's sad. | 566 // Ok we timed out. That's sad. |
568 inside_inner_message_loop_ = false; | 567 inside_inner_message_loop_ = false; |
569 success = false; | 568 success = false; |
570 } | 569 } |
571 | 570 |
572 return success; | 571 return success; |
573 } | 572 } |
(...skipping 29 matching lines...) Expand all Loading... |
603 } | 602 } |
604 | 603 |
605 bool PrintViewManager::PrintNowInternal(IPC::Message* message) { | 604 bool PrintViewManager::PrintNowInternal(IPC::Message* message) { |
606 // Don't print / print preview interstitials. | 605 // Don't print / print preview interstitials. |
607 if (web_contents()->ShowingInterstitialPage()) | 606 if (web_contents()->ShowingInterstitialPage()) |
608 return false; | 607 return false; |
609 return Send(message); | 608 return Send(message); |
610 } | 609 } |
611 | 610 |
612 } // namespace printing | 611 } // namespace printing |
OLD | NEW |