Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4379)

Unified Diff: chrome/browser/media/midi_permission_context.h

Issue 365123003: Implement midi permissions on top of the new common permission classes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Minor tweak to the push message infobar Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/media/midi_permission_context.h
diff --git a/chrome/browser/media/midi_permission_context.h b/chrome/browser/media/midi_permission_context.h
index 8d65772059aaf3b6d7b2cf81e0aa5b3b670862e2..0beca80e1e5390268559460951c871e93d3645f8 100644
--- a/chrome/browser/media/midi_permission_context.h
+++ b/chrome/browser/media/midi_permission_context.h
@@ -5,91 +5,22 @@
#ifndef CHROME_BROWSER_MEDIA_MIDI_PERMISSION_CONTEXT_H_
#define CHROME_BROWSER_MEDIA_MIDI_PERMISSION_CONTEXT_H_
-#include "base/containers/scoped_ptr_hash_map.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/memory/weak_ptr.h"
-#include "components/keyed_service/core/keyed_service.h"
-
-namespace content {
-class WebContents;
-}
+#include "chrome/browser/content_settings/permission_context_base.h"
class GURL;
-class MidiPermissionRequest;
-class PermissionQueueController;
class PermissionRequestID;
-class Profile;
-// This class manages MIDI permissions flow. Used on the UI thread.
-class MidiPermissionContext : public KeyedService {
+class MidiPermissionContext : public PermissionContextBase {
public:
explicit MidiPermissionContext(Profile* profile);
virtual ~MidiPermissionContext();
- // KeyedService methods:
- virtual void Shutdown() OVERRIDE;
-
- // Request to ask users permission about MIDI.
- void RequestMidiSysExPermission(
- content::WebContents* web_contents,
- int bridge_id,
- const GURL& requesting_frame,
- bool user_gesture,
- const base::Callback<void(bool)>& result_callback,
- base::Closure* cancel_callback);
-
- // Called when the permission decision is made. If a permissions prompt is
- // shown to the user it will be called when the user selects an option
- // from that prompt.
- void NotifyPermissionSet(
- const PermissionRequestID& id,
- const GURL& requesting_frame,
- const base::Callback<void(bool)>& callback,
- bool allowed);
-
private:
- friend class MidiPermissionRequest;
-
- // Cancel a pending MIDI permission request.
- void CancelMidiSysExPermissionRequest(int render_process_id,
- int render_view_id,
- int bridge_id);
-
- // Decide whether the permission should be granted.
- // Calls PermissionDecided if permission can be decided non-interactively,
- // or NotifyPermissionSet if permission decided by presenting an infobar.
- void DecidePermission(
- content::WebContents* web_contents,
- const PermissionRequestID& id,
- const GURL& requesting_frame,
- const GURL& embedder,
- bool user_gesture,
- const base::Callback<void(bool)>& callback);
-
- // Called when permission is granted without interactively asking the user.
- void PermissionDecided(
- const PermissionRequestID& id,
- const GURL& requesting_frame,
- const GURL& embedder,
- const base::Callback<void(bool)>& callback,
- bool allowed);
-
- // Return an instance of the infobar queue controller, creating it if needed.
- PermissionQueueController* GetQueueController();
-
- // Removes any pending InfoBar request.
- void CancelPendingInfobarRequest(const PermissionRequestID& id);
-
- // Notify the context that a particular request object is no longer needed.
- void RequestFinished(MidiPermissionRequest* request);
-
- Profile* const profile_;
- bool shutting_down_;
- scoped_ptr<PermissionQueueController> permission_queue_controller_;
-
- base::ScopedPtrHashMap<std::string, MidiPermissionRequest> pending_requests_;
- base::WeakPtrFactory<MidiPermissionContext> weak_factory_;
+ // PermissionContextBase:
+ virtual void UpdateTabContext(const PermissionRequestID& id,
+ const GURL& requesting_frame,
+ bool allowed) OVERRIDE;
DISALLOW_COPY_AND_ASSIGN(MidiPermissionContext);
};

Powered by Google App Engine
This is Rietveld 408576698