| OLD | NEW | 
|   1 // Copyright 2013 The Chromium Authors. All rights reserved. |   1 // Copyright 2013 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 #ifndef CONTENT_RENDERER_MEDIA_MIDI_DISPATCHER_H_ |   5 #ifndef CONTENT_RENDERER_MEDIA_MIDI_DISPATCHER_H_ | 
|   6 #define CONTENT_RENDERER_MEDIA_MIDI_DISPATCHER_H_ |   6 #define CONTENT_RENDERER_MEDIA_MIDI_DISPATCHER_H_ | 
|   7  |   7  | 
|   8 #include "base/id_map.h" |   8 #include "base/id_map.h" | 
|   9 #include "base/macros.h" |   9 #include "base/macros.h" | 
|  10 #include "content/public/renderer/render_frame_observer.h" |  10 #include "content/public/renderer/render_frame_observer.h" | 
| (...skipping 10 matching lines...) Expand all  Loading... | 
|  21 // system exclusive messages. |  21 // system exclusive messages. | 
|  22 // It works as RenderFrameObserver to keep a 1:1 relationship with a RenderFrame |  22 // It works as RenderFrameObserver to keep a 1:1 relationship with a RenderFrame | 
|  23 // and make sure it has the same life cycle. |  23 // and make sure it has the same life cycle. | 
|  24 class MidiDispatcher : public RenderFrameObserver, |  24 class MidiDispatcher : public RenderFrameObserver, | 
|  25                        public blink::WebMIDIClient { |  25                        public blink::WebMIDIClient { | 
|  26  public: |  26  public: | 
|  27   explicit MidiDispatcher(RenderFrame* render_frame); |  27   explicit MidiDispatcher(RenderFrame* render_frame); | 
|  28   ~MidiDispatcher() override; |  28   ~MidiDispatcher() override; | 
|  29  |  29  | 
|  30  private: |  30  private: | 
 |  31   // RenderFrameObserver implementation. | 
 |  32   void OnDestruct() override; | 
 |  33  | 
|  31   // blink::WebMIDIClient implementation. |  34   // blink::WebMIDIClient implementation. | 
|  32   void requestPermission(const blink::WebMIDIPermissionRequest& request, |  35   void requestPermission(const blink::WebMIDIPermissionRequest& request, | 
|  33                          const blink::WebMIDIOptions& options) override; |  36                          const blink::WebMIDIOptions& options) override; | 
|  34   void cancelPermissionRequest( |  37   void cancelPermissionRequest( | 
|  35       const blink::WebMIDIPermissionRequest& request) override; |  38       const blink::WebMIDIPermissionRequest& request) override; | 
|  36  |  39  | 
|  37   // Permission for using MIDI system has been set. |  40   // Permission for using MIDI system has been set. | 
|  38   void OnPermissionSet(int request_id, blink::mojom::PermissionStatus status); |  41   void OnPermissionSet(int request_id, blink::mojom::PermissionStatus status); | 
|  39  |  42  | 
|  40   // Each WebMIDIPermissionRequest object is valid until |  43   // Each WebMIDIPermissionRequest object is valid until | 
|  41   // cancelSysexPermissionRequest() is called with the object, or used to call |  44   // cancelSysexPermissionRequest() is called with the object, or used to call | 
|  42   // WebMIDIPermissionRequest::setIsAllowed(). |  45   // WebMIDIPermissionRequest::setIsAllowed(). | 
|  43   typedef IDMap<blink::WebMIDIPermissionRequest, IDMapOwnPointer> Requests; |  46   typedef IDMap<blink::WebMIDIPermissionRequest, IDMapOwnPointer> Requests; | 
|  44   Requests requests_; |  47   Requests requests_; | 
|  45  |  48  | 
|  46   blink::mojom::PermissionServicePtr permission_service_; |  49   blink::mojom::PermissionServicePtr permission_service_; | 
|  47  |  50  | 
|  48   DISALLOW_COPY_AND_ASSIGN(MidiDispatcher); |  51   DISALLOW_COPY_AND_ASSIGN(MidiDispatcher); | 
|  49 }; |  52 }; | 
|  50  |  53  | 
|  51 }  // namespace content |  54 }  // namespace content | 
|  52  |  55  | 
|  53 #endif  // CONTENT_RENDERER_MEDIA_MIDI_DISPATCHER_H_ |  56 #endif  // CONTENT_RENDERER_MEDIA_MIDI_DISPATCHER_H_ | 
| OLD | NEW |