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

Side by Side Diff: chrome/browser/media/android/router/media_router_dialog_controller_android.h

Issue 1534553002: [Cast, Android, Presentation API] Fix the logic for showing controller vs chooser dialog (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@fix-join
Patch Set: Created 5 years 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 CHROME_BROWSER_MEDIA_ANDROID_ROUTER_MEDIA_ROUTER_DIALOG_CONTROLLER_ANDRO ID_H_ 5 #ifndef CHROME_BROWSER_MEDIA_ANDROID_ROUTER_MEDIA_ROUTER_DIALOG_CONTROLLER_ANDRO ID_H_
6 #define CHROME_BROWSER_MEDIA_ANDROID_ROUTER_MEDIA_ROUTER_DIALOG_CONTROLLER_ANDRO ID_H_ 6 #define CHROME_BROWSER_MEDIA_ANDROID_ROUTER_MEDIA_ROUTER_DIALOG_CONTROLLER_ANDRO ID_H_
7 7
8 #include <jni.h> 8 #include <jni.h>
9 9
10 #include "base/android/scoped_java_ref.h" 10 #include "base/android/scoped_java_ref.h"
11 #include "base/macros.h" 11 #include "base/macros.h"
12 #include "base/memory/scoped_ptr.h" 12 #include "base/memory/scoped_ptr.h"
13 #include "chrome/browser/media/router/media_router_dialog_controller.h" 13 #include "chrome/browser/media/router/media_router_dialog_controller.h"
14 #include "chrome/browser/media/router/media_routes_observer.h"
15 #include "content/public/browser/web_contents_user_data.h" 14 #include "content/public/browser/web_contents_user_data.h"
16 15
17 namespace media_router { 16 namespace media_router {
18 17
19 // Android implementation of the MediaRouterDialogController. 18 // Android implementation of the MediaRouterDialogController.
20 class MediaRouterDialogControllerAndroid 19 class MediaRouterDialogControllerAndroid
21 : public content::WebContentsUserData<MediaRouterDialogControllerAndroid>, 20 : public content::WebContentsUserData<MediaRouterDialogControllerAndroid>,
22 public MediaRouterDialogController, 21 public MediaRouterDialogController {
23 public MediaRoutesObserver {
24 public: 22 public:
25 ~MediaRouterDialogControllerAndroid() override; 23 ~MediaRouterDialogControllerAndroid() override;
26 24
27 static bool Register(JNIEnv* env); 25 static bool Register(JNIEnv* env);
28 26
29 static MediaRouterDialogControllerAndroid* GetOrCreateForWebContents( 27 static MediaRouterDialogControllerAndroid* GetOrCreateForWebContents(
30 content::WebContents* web_contents); 28 content::WebContents* web_contents);
31 29
32 // The methods called by the Java counterpart. 30 // The methods called by the Java counterpart.
33 31
(...skipping 17 matching lines...) Expand all
51 // Use MediaRouterDialogControllerAndroid::CreateForWebContents() to create an 49 // Use MediaRouterDialogControllerAndroid::CreateForWebContents() to create an
52 // instance. 50 // instance.
53 explicit MediaRouterDialogControllerAndroid( 51 explicit MediaRouterDialogControllerAndroid(
54 content::WebContents* web_contents); 52 content::WebContents* web_contents);
55 53
56 // MediaRouterDialogController: 54 // MediaRouterDialogController:
57 void CreateMediaRouterDialog() override; 55 void CreateMediaRouterDialog() override;
58 void CloseMediaRouterDialog() override; 56 void CloseMediaRouterDialog() override;
59 bool IsShowingMediaRouterDialog() const override; 57 bool IsShowingMediaRouterDialog() const override;
60 58
61 // MediaRoutesObserver:
62 void OnRoutesUpdated(const std::vector<MediaRoute>& routes) override;
63
64 void CancelPresentationRequest(); 59 void CancelPresentationRequest();
65 60
66 base::android::ScopedJavaGlobalRef<jobject> java_dialog_controller_; 61 base::android::ScopedJavaGlobalRef<jobject> java_dialog_controller_;
67 62
68 // Null if no routes or more than one route exist. If there's only one route,
69 // keeps a copy to determine if the route controller dialog needs to be shown
70 // vs. the route chooser one.
71 scoped_ptr<MediaRoute> single_existing_route_;
72
73 DISALLOW_COPY_AND_ASSIGN(MediaRouterDialogControllerAndroid); 63 DISALLOW_COPY_AND_ASSIGN(MediaRouterDialogControllerAndroid);
74 }; 64 };
75 65
76 } // namespace media_router 66 } // namespace media_router
77 67
78 #endif // CHROME_BROWSER_MEDIA_ANDROID_ROUTER_MEDIA_ROUTER_DIALOG_CONTROLLER_AN DROID_H_ 68 #endif // CHROME_BROWSER_MEDIA_ANDROID_ROUTER_MEDIA_ROUTER_DIALOG_CONTROLLER_AN DROID_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698