summaryrefslogtreecommitdiffstats
path: root/chrome/browser/dom_ui/slideshow_ui.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/dom_ui/slideshow_ui.cc')
-rw-r--r--chrome/browser/dom_ui/slideshow_ui.cc54
1 files changed, 13 insertions, 41 deletions
diff --git a/chrome/browser/dom_ui/slideshow_ui.cc b/chrome/browser/dom_ui/slideshow_ui.cc
index f0140b0..c7475de 100644
--- a/chrome/browser/dom_ui/slideshow_ui.cc
+++ b/chrome/browser/dom_ui/slideshow_ui.cc
@@ -13,6 +13,7 @@
#include "base/string_util.h"
#include "base/thread.h"
#include "base/time.h"
+#include "base/utf_string_conversions.h"
#include "base/values.h"
#include "base/weak_ptr.h"
#include "chrome/browser/chrome_thread.h"
@@ -75,12 +76,12 @@ class SlideshowHandler : public net::DirectoryLister::DirectoryListerDelegate,
virtual DOMMessageHandler* Attach(DOMUI* dom_ui);
virtual void RegisterMessages();
- void GetChildrenForPath(FilePath& path, bool is_refresh);
+ void GetChildrenForPath(const FilePath& path, bool is_refresh);
// Callback for the "getChildren" message.
- void HandleGetChildren(const Value* value);
+ void HandleGetChildren(const ListValue* args);
- void HandleRefreshDirectory(const Value* value);
+ void HandleRefreshDirectory(const ListValue* args);
private:
bool PathIsImageFile(const char* filename);
@@ -168,28 +169,17 @@ void SlideshowHandler::RegisterMessages() {
NewCallback(this, &SlideshowHandler::HandleRefreshDirectory));
}
-void SlideshowHandler::HandleRefreshDirectory(const Value* value) {
+void SlideshowHandler::HandleRefreshDirectory(const ListValue* args) {
#if defined(OS_CHROMEOS)
- if (value && value->GetType() == Value::TYPE_LIST) {
- const ListValue* list_value = static_cast<const ListValue*>(value);
- std::string path;
-
- // Get path string.
- if (list_value->GetString(0, &path)) {
- FilePath currentpath;
- currentpath = FilePath(path);
- GetChildrenForPath(currentpath, true);
- } else {
- LOG(ERROR) << "Unable to get string";
- return;
- }
- }
+ std::string path = WideToUTF8(ExtractStringValue(args));
+ GetChildrenForPath(FilePath(path), true);
#endif
}
-void SlideshowHandler::GetChildrenForPath(FilePath& path, bool is_refresh) {
+void SlideshowHandler::GetChildrenForPath(const FilePath& path,
+ bool is_refresh) {
filelist_value_.reset(new ListValue());
- currentpath_ = FilePath(path);
+ currentpath_ = path;
if (lister_.get()) {
lister_->Cancel();
@@ -211,29 +201,11 @@ void SlideshowHandler::GetChildrenForPath(FilePath& path, bool is_refresh) {
lister_->Start();
}
-void SlideshowHandler::HandleGetChildren(const Value* value) {
+void SlideshowHandler::HandleGetChildren(const ListValue* args) {
#if defined(OS_CHROMEOS)
- std::string path;
- if (value && value->GetType() == Value::TYPE_LIST) {
- const ListValue* list_value = static_cast<const ListValue*>(value);
- Value* list_member;
-
- // Get search string.
- if (list_value->Get(0, &list_member) &&
- list_member->GetType() == Value::TYPE_STRING) {
- const StringValue* string_value =
- static_cast<const StringValue*>(list_member);
- string_value->GetAsString(&path);
- }
-
- } else {
- LOG(ERROR) << "Wasn't able to get the List if requested files.";
- return;
- }
filelist_value_.reset(new ListValue());
- FilePath currentpath;
- currentpath = FilePath(path);
- GetChildrenForPath(currentpath, false);
+ std::string path = WideToUTF8(ExtractStringValue(args));
+ GetChildrenForPath(FilePath(path), false);
#endif
}