Index: content/browser/renderer_host/media/webrtc_logging_handler_host.h |
diff --git a/content/browser/renderer_host/media/webrtc_logging_handler_host.h b/content/browser/renderer_host/media/webrtc_logging_handler_host.h |
index f3ab4a495ae9defac7a892e18338ffe5eac2c8e3..8c7d69fd1435cd6e5d8abe5027fe003d2ec5c2aa 100644 |
--- a/content/browser/renderer_host/media/webrtc_logging_handler_host.h |
+++ b/content/browser/renderer_host/media/webrtc_logging_handler_host.h |
@@ -6,19 +6,26 @@ |
#define CONTENT_BROWSER_RENDERER_HOST_MEDIA_WEBRTC_LOGGING_HANDLER_HOST_H_ |
#include "base/basictypes.h" |
-#include "base/shared_memory.h" |
#include "content/public/browser/browser_message_filter.h" |
+namespace base { |
+class SharedMemory; |
+} |
+ |
namespace content { |
// WebRtcLoggingHandlerHost handles operations regarding the WebRTC logging: |
-// opening and closing shared memory buffer that the handler in the renderer |
-// process writes to. |
+// - Opens a shared memory buffer that the handler in the render process |
+// writes to. |
+// - Detects when channel, i.e. renderer, is going away and triggers uploading |
+// the log. |
class WebRtcLoggingHandlerHost : public BrowserMessageFilter { |
public: |
WebRtcLoggingHandlerHost(); |
private: |
+ virtual ~WebRtcLoggingHandlerHost(); |
+ |
// BrowserMessageFilter implementation. |
virtual void OnChannelClosing() OVERRIDE; |
virtual void OnDestruct() const OVERRIDE; |
@@ -28,11 +35,16 @@ class WebRtcLoggingHandlerHost : public BrowserMessageFilter { |
friend class BrowserThread; |
friend class base::DeleteHelper<WebRtcLoggingHandlerHost>; |
- virtual ~WebRtcLoggingHandlerHost(); |
- |
void OnOpenLog(); |
- base::SharedMemory shared_memory_; |
+ void CheckLoggingAllowed(); |
+ void DoOpenLog(); |
+ |
+ void UploadLog(); |
+ |
+ // TODO(grunell): This should be a scoped ptr and pass it with release to the |
+ // upload manager. |
+ base::SharedMemory* shared_memory_; |
DISALLOW_COPY_AND_ASSIGN(WebRtcLoggingHandlerHost); |
}; |