mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // Copyright (c) 2012 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 "include/cef_path_util.h"
 | |
| 
 | |
| #include "base/files/file_path.h"
 | |
| #include "base/logging.h"
 | |
| #include "base/path_service.h"
 | |
| #include "chrome/common/chrome_paths.h"
 | |
| 
 | |
| bool CefGetPath(PathKey key, CefString& path) {
 | |
|   int pref_key = base::PATH_START;
 | |
|   switch (key) {
 | |
|     case PK_DIR_CURRENT:
 | |
|       pref_key = base::DIR_CURRENT;
 | |
|       break;
 | |
|     case PK_DIR_EXE:
 | |
|       pref_key = base::DIR_EXE;
 | |
|       break;
 | |
|     case PK_DIR_MODULE:
 | |
|       pref_key = base::DIR_MODULE;
 | |
|       break;
 | |
|     case PK_DIR_TEMP:
 | |
|       pref_key = base::DIR_TEMP;
 | |
|       break;
 | |
|     case PK_FILE_EXE:
 | |
|       pref_key = base::FILE_EXE;
 | |
|       break;
 | |
|     case PK_FILE_MODULE:
 | |
|       pref_key = base::FILE_MODULE;
 | |
|       break;
 | |
| #if defined(OS_WIN)
 | |
|     case PK_LOCAL_APP_DATA:
 | |
|       pref_key = base::DIR_LOCAL_APP_DATA;
 | |
|       break;
 | |
| #endif
 | |
|     case PK_USER_DATA:
 | |
|       pref_key = chrome::DIR_USER_DATA;
 | |
|       break;
 | |
|     case PK_DIR_RESOURCES:
 | |
|       pref_key = chrome::DIR_RESOURCES;
 | |
|       break;
 | |
|     default:
 | |
|       NOTREACHED() << "invalid argument";
 | |
|       return false;
 | |
|   }
 | |
| 
 | |
|   base::FilePath file_path;
 | |
|   if (base::PathService::Get(pref_key, &file_path)) {
 | |
|     path = file_path.value();
 | |
|     return true;
 | |
|   }
 | |
| 
 | |
|   return false;
 | |
| }
 |