| Index: chrome/browser/omnibox_search_hint.cc
|
| diff --git a/chrome/browser/omnibox_search_hint.cc b/chrome/browser/omnibox_search_hint.cc
|
| index 22ff1b54a28eb65bdcdc147e68cb63b2f21d3806..8e0ae20fc40040d7071c90e02fbce3a560652809 100644
|
| --- a/chrome/browser/omnibox_search_hint.cc
|
| +++ b/chrome/browser/omnibox_search_hint.cc
|
| @@ -4,7 +4,9 @@
|
|
|
| #include "chrome/browser/omnibox_search_hint.h"
|
|
|
| +#include "base/bind.h"
|
| #include "base/command_line.h"
|
| +#include "base/memory/weak_ptr.h"
|
| #include "base/metrics/histogram.h"
|
| #include "base/task.h"
|
| // TODO(avi): remove when conversions not needed any more
|
| @@ -79,7 +81,7 @@ class HintInfoBar : public ConfirmInfoBarDelegate {
|
| bool should_expire_;
|
|
|
| // Used to delay the expiration of the info-bar.
|
| - ScopedRunnableMethodFactory<HintInfoBar> method_factory_;
|
| + base::WeakPtrFactory<HintInfoBar> weak_factory_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(HintInfoBar);
|
| };
|
| @@ -89,11 +91,12 @@ HintInfoBar::HintInfoBar(OmniboxSearchHint* omnibox_hint)
|
| omnibox_hint_(omnibox_hint),
|
| action_taken_(false),
|
| should_expire_(false),
|
| - ALLOW_THIS_IN_INITIALIZER_LIST(method_factory_(this)) {
|
| + ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) {
|
| // We want the info-bar to stick-around for few seconds and then be hidden
|
| // on the next navigation after that.
|
| - MessageLoop::current()->PostDelayedTask(FROM_HERE,
|
| - method_factory_.NewRunnableMethod(&HintInfoBar::AllowExpiry),
|
| + MessageLoop::current()->PostDelayedTask(
|
| + FROM_HERE,
|
| + base::Bind(&HintInfoBar::AllowExpiry, weak_factory_.GetWeakPtr()),
|
| 8000); // 8 seconds.
|
| }
|
|
|
|
|