1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Copyright (c) 2013 Intel Corporation. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
7 #ifndef XWALK_TIZEN_RENDERER_MEDIA_MEDIAPLAYER_IMPL_H_
8 #define XWALK_TIZEN_RENDERER_MEDIA_MEDIAPLAYER_IMPL_H_
10 #include "base/memory/scoped_ptr.h"
11 #include "base/memory/weak_ptr.h"
12 #include "content/renderer/media/webmediaplayer_impl.h"
13 #include "xwalk/tizen/renderer/media/renderer_mediaplayer_manager.h"
17 // Substitute for WebMediaPlayerImpl to be used in Tizen.
18 class MediaPlayerImpl : public content::WebMediaPlayerImpl {
21 blink::WebLocalFrame* frame,
22 blink::WebMediaPlayerClient* client,
23 base::WeakPtr<content::WebMediaPlayerDelegate> delegate,
24 RendererMediaPlayerManager* manager,
25 const content::WebMediaPlayerParams& params);
26 virtual ~MediaPlayerImpl();
28 // WebMediaPlayerImpl method.
29 virtual void load(LoadType load_type,
30 const blink::WebURL& url,
31 CORSMode cors_mode) OVERRIDE;
37 // Detach the player from its manager.
40 // Functions called when media player status changes.
41 void OnMediaPlayerPlay();
42 void OnMediaPlayerPause();
45 void InitializeMediaPlayer(const blink::WebURL& url);
47 blink::WebMediaPlayerClient* client_;
49 // Manager for managing this object and for delegating method calls on
51 RendererMediaPlayerManager* manager_;
53 // Player ID assigned by the |manager_|.
54 MediaPlayerID player_id_;
56 DISALLOW_COPY_AND_ASSIGN(MediaPlayerImpl);
61 #endif // XWALK_TIZEN_RENDERER_MEDIA_MEDIAPLAYER_IMPL_H_