class MidiDispatcherHost : public WebContentsObserver {
public:
explicit MidiDispatcherHost(WebContents* web_contents);
- virtual ~MidiDispatcherHost();
+ ~MidiDispatcherHost() override;
// WebContentsObserver implementation.
- virtual bool OnMessageReceived(const IPC::Message& message,
- RenderFrameHost* render_frame_host) OVERRIDE;
+ void RenderFrameDeleted(RenderFrameHost* render_frame_host) override;
+ void DidNavigateAnyFrame(RenderFrameHost* render_frame_host,
+ const LoadCommittedDetails& details,
+ const FrameNavigateParams& params) override;
+ bool OnMessageReceived(const IPC::Message& message,
+ RenderFrameHost* render_frame_host) override;
private:
void OnRequestSysExPermission(RenderFrameHost* render_frame_host,
int render_frame_id,
int bridge_id,
bool is_allowed);
+ void CancelPermissionRequestsForFrame(RenderFrameHost* render_frame_host);
struct PendingPermission {
PendingPermission(int render_process_id,
int render_process_id;
int render_frame_id;
int bridge_id;
- base::Closure cancel;
};
std::vector<PendingPermission> pending_permissions_;