Index: content/renderer/media/rtc_dtmf_sender_handler.h |
diff --git a/content/renderer/media/rtc_dtmf_sender_handler.h b/content/renderer/media/rtc_dtmf_sender_handler.h |
index 71271505c6c98ad19c2c13561936cc53d703fd0b..eecad4b898e1b809c58e079f3970757aa2313b79 100644 |
--- a/content/renderer/media/rtc_dtmf_sender_handler.h |
+++ b/content/renderer/media/rtc_dtmf_sender_handler.h |
@@ -8,6 +8,7 @@ |
#include <string> |
#include "base/memory/ref_counted.h" |
+#include "base/memory/weak_ptr.h" |
#include "base/threading/non_thread_safe.h" |
#include "content/common/content_export.h" |
#include "third_party/WebKit/public/platform/WebRTCDTMFSenderHandler.h" |
@@ -24,26 +25,29 @@ namespace content { |
// occur on the main render thread. |
class CONTENT_EXPORT RtcDtmfSenderHandler |
: NON_EXPORTED_BASE(public blink::WebRTCDTMFSenderHandler), |
- NON_EXPORTED_BASE(public webrtc::DtmfSenderObserverInterface), |
NON_EXPORTED_BASE(public base::NonThreadSafe) { |
public: |
explicit RtcDtmfSenderHandler(webrtc::DtmfSenderInterface* dtmf_sender); |
virtual ~RtcDtmfSenderHandler(); |
// blink::WebRTCDTMFSenderHandler implementation. |
- virtual void setClient( |
+ void setClient( |
blink::WebRTCDTMFSenderHandlerClient* client) override; |
- virtual blink::WebString currentToneBuffer() override; |
- virtual bool canInsertDTMF() override; |
- virtual bool insertDTMF(const blink::WebString& tones, long duration, |
+ blink::WebString currentToneBuffer() override; |
+ bool canInsertDTMF() override; |
+ bool insertDTMF(const blink::WebString& tones, long duration, |
long interToneGap) override; |
- // webrtc::DtmfSenderObserverInterface implementation. |
- void OnToneChange(const std::string& tone) override; |
+ void OnToneChange(const std::string& tone); |
private: |
scoped_refptr<webrtc::DtmfSenderInterface> dtmf_sender_; |
blink::WebRTCDTMFSenderHandlerClient* webkit_client_; |
+ base::WeakPtrFactory<RtcDtmfSenderHandler> weak_factory_; |
+ class Observer; |
+ scoped_refptr<Observer> observer_; // must be after weak_factory_ |
+ |
+ DISALLOW_COPY_AND_ASSIGN(RtcDtmfSenderHandler); |
}; |
} // namespace content |