Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(520)

Side by Side Diff: chrome/browser/shell_integration_linux.cc

Issue 174490: Fix cases that initialized StringTokenizer with a temporary. (Closed)
Patch Set: check for null path Created 11 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/browser/gtk/options/advanced_contents_gtk.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/shell_integration.h" 5 #include "chrome/browser/shell_integration.h"
6 6
7 #include <fcntl.h> 7 #include <fcntl.h>
8 #include <stdlib.h> 8 #include <stdlib.h>
9 #include <sys/stat.h> 9 #include <sys/stat.h>
10 #include <sys/types.h> 10 #include <sys/types.h>
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 47
48 bool GetDesktopShortcutTemplate(std::string* output) { 48 bool GetDesktopShortcutTemplate(std::string* output) {
49 std::vector<std::string> search_paths; 49 std::vector<std::string> search_paths;
50 50
51 const char* xdg_data_home = getenv("XDG_DATA_HOME"); 51 const char* xdg_data_home = getenv("XDG_DATA_HOME");
52 if (xdg_data_home) 52 if (xdg_data_home)
53 search_paths.push_back(xdg_data_home); 53 search_paths.push_back(xdg_data_home);
54 54
55 const char* xdg_data_dirs = getenv("XDG_DATA_DIRS"); 55 const char* xdg_data_dirs = getenv("XDG_DATA_DIRS");
56 if (xdg_data_dirs) { 56 if (xdg_data_dirs) {
57 StringTokenizer tokenizer(xdg_data_dirs, ":"); 57 CStringTokenizer tokenizer(xdg_data_dirs,
58 xdg_data_dirs + strlen(xdg_data_dirs), ":");
58 while (tokenizer.GetNext()) { 59 while (tokenizer.GetNext()) {
59 search_paths.push_back(tokenizer.token()); 60 search_paths.push_back(tokenizer.token());
60 } 61 }
61 } 62 }
62 63
63 std::string template_filename(GetDesktopName()); 64 std::string template_filename(GetDesktopName());
64 for (std::vector<std::string>::const_iterator i = search_paths.begin(); 65 for (std::vector<std::string>::const_iterator i = search_paths.begin();
65 i != search_paths.end(); ++i) { 66 i != search_paths.end(); ++i) {
66 FilePath path = FilePath(*i).Append(template_filename); 67 FilePath path = FilePath(*i).Append(template_filename);
67 if (file_util::PathExists(path)) 68 if (file_util::PathExists(path))
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 } 229 }
229 } 230 }
230 return output_buffer; 231 return output_buffer;
231 } 232 }
232 233
233 void ShellIntegration::CreateDesktopShortcut(const GURL& url, 234 void ShellIntegration::CreateDesktopShortcut(const GURL& url,
234 const string16& title) { 235 const string16& title) {
235 g_browser_process->file_thread()->message_loop()->PostTask(FROM_HERE, 236 g_browser_process->file_thread()->message_loop()->PostTask(FROM_HERE,
236 new CreateDesktopShortcutTask(url, title)); 237 new CreateDesktopShortcutTask(url, title));
237 } 238 }
OLDNEW
« no previous file with comments | « chrome/browser/gtk/options/advanced_contents_gtk.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698