diff options
author | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-27 22:47:02 +0000 |
---|---|---|
committer | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-27 22:47:02 +0000 |
commit | 8baf0dbbba8bc57c91ddef7040c57e183f915b81 (patch) | |
tree | 04a6f93bbc6d505902e9e3b97a1d8f6434cfecaf /chrome/browser/extensions/extension_mediaplayer_private_api.cc | |
parent | 64dc81454be57dffd6e78fd91120a63711930054 (diff) | |
download | chromium_src-8baf0dbbba8bc57c91ddef7040c57e183f915b81.zip chromium_src-8baf0dbbba8bc57c91ddef7040c57e183f915b81.tar.gz chromium_src-8baf0dbbba8bc57c91ddef7040c57e183f915b81.tar.bz2 |
Revert "Reland "Move a bunch of ChromeOS APIs out of chrome/browser/extensions."""
This reverts commit fd92fe3ff7c0a4a0da97da00cdf6bd5476c46195.
BUG=
TEST=
Review URL: http://codereview.chromium.org/8713006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111663 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_mediaplayer_private_api.cc')
-rw-r--r-- | chrome/browser/extensions/extension_mediaplayer_private_api.cc | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/chrome/browser/extensions/extension_mediaplayer_private_api.cc b/chrome/browser/extensions/extension_mediaplayer_private_api.cc new file mode 100644 index 0000000..4fdee72 --- /dev/null +++ b/chrome/browser/extensions/extension_mediaplayer_private_api.cc @@ -0,0 +1,76 @@ +// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/extensions/extension_mediaplayer_private_api.h" + +#include "base/values.h" +#include "chrome/browser/chromeos/media/media_player.h" + +static const char kPropertyPath[] = "path"; +static const char kPropertyForce[] = "force"; +static const char kPropertyItems[] = "items"; +static const char kPropertyPosition[] = "position"; +static const char kPropertyError[] = "error"; +static const char kPropertyPendingPlaybackRequest[] = + "pendingPlaybackRequest"; + +bool PlayAtMediaplayerFunction::RunImpl() { + int position; + if (!args_->GetInteger(0, &position)) + return false; + MediaPlayer::GetInstance()->SetPlaybackRequest(); + MediaPlayer::GetInstance()->SetPlaylistPosition(position); + return true; +} + +static ListValue* GetPlaylistItems() { + ListValue* result = new ListValue(); + + MediaPlayer::UrlVector const& src = MediaPlayer::GetInstance()->GetPlaylist(); + + for (size_t i = 0; i < src.size(); i++) { + DictionaryValue* url_value = new DictionaryValue(); + url_value->SetString(kPropertyPath, src[i].url.spec()); + url_value->SetBoolean(kPropertyError, src[i].haderror); + result->Append(url_value); + } + return result; +} + +bool GetPlaylistMediaplayerFunction::RunImpl() { + bool reset_pending_playback_request; + if (!args_->GetBoolean(0, &reset_pending_playback_request)) + return false; + + DictionaryValue* result = new DictionaryValue(); + MediaPlayer* player = MediaPlayer::GetInstance(); + + result->Set(kPropertyItems, GetPlaylistItems()); + result->SetInteger(kPropertyPosition, player->GetPlaylistPosition()); + if (reset_pending_playback_request) { + result->SetBoolean(kPropertyPendingPlaybackRequest, + player->GetPendingPlayRequestAndReset()); + } + + result_.reset(result); + return true; +} + +bool SetPlaybackErrorMediaplayerFunction::RunImpl() { + std::string url; + // Get path string. + if (args_->GetString(0, &url)) + MediaPlayer::GetInstance()->SetPlaybackError(GURL(url)); + return true; +} + +bool TogglePlaylistPanelMediaplayerFunction::RunImpl() { + MediaPlayer::GetInstance()->TogglePlaylistWindowVisible(); + return true; +} + +bool ToggleFullscreenMediaplayerFunction::RunImpl() { + MediaPlayer::GetInstance()->ToggleFullscreen(); + return true; +} |