summaryrefslogtreecommitdiff
path: root/tests/cefclient/browser/main_context_impl_win.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/cefclient/browser/main_context_impl_win.cc')
-rw-r--r--tests/cefclient/browser/main_context_impl_win.cc39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/cefclient/browser/main_context_impl_win.cc b/tests/cefclient/browser/main_context_impl_win.cc
new file mode 100644
index 00000000..d85c6e9a
--- /dev/null
+++ b/tests/cefclient/browser/main_context_impl_win.cc
@@ -0,0 +1,39 @@
+// Copyright (c) 2015 The Chromium Embedded Framework 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 "tests/cefclient/browser/main_context_impl.h"
+
+#include <direct.h>
+#include <shlobj.h>
+
+namespace client {
+
+std::string MainContextImpl::GetDownloadPath(const std::string& file_name) {
+ TCHAR szFolderPath[MAX_PATH];
+ std::string path;
+
+ // Save the file in the user's "My Documents" folder.
+ if (SUCCEEDED(SHGetFolderPath(nullptr, CSIDL_PERSONAL | CSIDL_FLAG_CREATE,
+ nullptr, 0, szFolderPath))) {
+ path = CefString(szFolderPath);
+ path += "\\" + file_name;
+ }
+
+ return path;
+}
+
+std::string MainContextImpl::GetAppWorkingDirectory() {
+ char szWorkingDir[MAX_PATH + 1];
+ if (_getcwd(szWorkingDir, MAX_PATH) == nullptr) {
+ szWorkingDir[0] = 0;
+ } else {
+ // Add trailing path separator.
+ size_t len = strlen(szWorkingDir);
+ szWorkingDir[len] = '\\';
+ szWorkingDir[len + 1] = 0;
+ }
+ return szWorkingDir;
+}
+
+} // namespace client