| Index: base/message_loop/message_loop.cc
|
| diff --git a/base/message_loop/message_loop.cc b/base/message_loop/message_loop.cc
|
| index ef7747ef06998475ede2369c110c8efcb2ba712a..9bdcf406589aaabfd9a9ade97d25f828a6a7ac9e 100644
|
| --- a/base/message_loop/message_loop.cc
|
| +++ b/base/message_loop/message_loop.cc
|
| @@ -216,11 +216,13 @@ void MessageLoop::RemoveDestructionObserver(
|
|
|
| void MessageLoop::AddNestingObserver(NestingObserver* observer) {
|
| DCHECK_EQ(this, current());
|
| + CHECK(allow_nesting_);
|
| nesting_observers_.AddObserver(observer);
|
| }
|
|
|
| void MessageLoop::RemoveNestingObserver(NestingObserver* observer) {
|
| DCHECK_EQ(this, current());
|
| + CHECK(allow_nesting_);
|
| nesting_observers_.RemoveObserver(observer);
|
| }
|
|
|
| @@ -257,6 +259,8 @@ Closure MessageLoop::QuitWhenIdleClosure() {
|
|
|
| void MessageLoop::SetNestableTasksAllowed(bool allowed) {
|
| if (allowed) {
|
| + CHECK(allow_nesting_);
|
| +
|
| // Kick the native pump just in case we enter a OS-driven nested message
|
| // loop.
|
| pump_->ScheduleWork();
|
| @@ -367,6 +371,8 @@ void MessageLoop::SetThreadTaskRunnerHandle() {
|
|
|
| void MessageLoop::RunHandler() {
|
| DCHECK_EQ(this, current());
|
| + DCHECK(run_loop_);
|
| + CHECK(allow_nesting_ || run_loop_->run_depth_ == 1);
|
| pump_->Run(this);
|
| }
|
|
|
|
|