11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Copyright 2014 The Chromium Authors. All rights reserved.
21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Use of this source code is governed by a BSD-style license that can be
31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// found in the LICENSE file.
41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#ifndef CHROMECAST_SHELL_BROWSER_ANDROID_CAST_WINDOW_MANAGER_H_
61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define CHROMECAST_SHELL_BROWSER_ANDROID_CAST_WINDOW_MANAGER_H_
71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include <jni.h>
91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "base/android/jni_android.h"
111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "base/android/scoped_java_ref.h"
121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciclass CastWindowAndroid;
141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccinamespace content {
161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciclass BrowserContext;
171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccinamespace chromecast {
201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccinamespace shell {
211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Given a CastWindowAndroid instance, creates and returns a Java wrapper.
231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccibase::android::ScopedJavaLocalRef<jobject>
241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciCreateCastWindowView(CastWindowAndroid* shell);
251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Closes a previously created Java wrapper.
271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid CloseCastWindowView(jobject shell_wrapper);
281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Registers the CastWindowManager native methods.
301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccibool RegisterCastWindowManager(JNIEnv* env);
311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}  // namespace shell
331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}  // namespace chromecast
341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif  // CHROMECAST_SHELL_BROWSER_ANDROID_CAST_WINDOW_MANAGER_H_
36