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

Side by Side Diff: ui/base/dragdrop/gtk_dnd_util.cc

Issue 207013003: Mark drags starting in web content as tainted to avoid file path forgery (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Cleanup Created 6 years, 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "ui/base/dragdrop/gtk_dnd_util.h" 5 #include "ui/base/dragdrop/gtk_dnd_util.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/pickle.h" 10 #include "base/pickle.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 case ui::DIRECT_SAVE_FILE: 48 case ui::DIRECT_SAVE_FILE:
49 gtk_target_list_add(targets, 49 gtk_target_list_add(targets,
50 ui::GetAtomForTarget(ui::DIRECT_SAVE_FILE), 0, ui::DIRECT_SAVE_FILE); 50 ui::GetAtomForTarget(ui::DIRECT_SAVE_FILE), 0, ui::DIRECT_SAVE_FILE);
51 break; 51 break;
52 52
53 case ui::CUSTOM_DATA: 53 case ui::CUSTOM_DATA:
54 gtk_target_list_add(targets, 54 gtk_target_list_add(targets,
55 ui::GetAtomForTarget(ui::CUSTOM_DATA), 0, ui::CUSTOM_DATA); 55 ui::GetAtomForTarget(ui::CUSTOM_DATA), 0, ui::CUSTOM_DATA);
56 break; 56 break;
57 57
58 case ui::RENDERER_TAINT:
59 gtk_target_list_add(targets,
60 ui::GetAtomForTarget(ui::RENDERER_TAINT), 0, ui::RENDERER_TAINT);
61 break;
62
58 default: 63 default:
59 NOTREACHED() << " Unexpected target code: " << target_code; 64 NOTREACHED() << " Unexpected target code: " << target_code;
60 } 65 }
61 } 66 }
62 67
63 } // namespace 68 } // namespace
64 69
65 GdkAtom GetAtomForTarget(int target) { 70 GdkAtom GetAtomForTarget(int target) {
66 switch (target) { 71 switch (target) {
67 case CHROME_TAB: 72 case CHROME_TAB:
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 case DIRECT_SAVE_FILE: 112 case DIRECT_SAVE_FILE:
108 static const GdkAtom kXdsAtom = gdk_atom_intern( 113 static const GdkAtom kXdsAtom = gdk_atom_intern(
109 "XdndDirectSave0", false); 114 "XdndDirectSave0", false);
110 return kXdsAtom; 115 return kXdsAtom;
111 116
112 case CUSTOM_DATA: 117 case CUSTOM_DATA:
113 static const GdkAtom kCustomData = gdk_atom_intern( 118 static const GdkAtom kCustomData = gdk_atom_intern(
114 kMimeTypeWebCustomData, false); 119 kMimeTypeWebCustomData, false);
115 return kCustomData; 120 return kCustomData;
116 121
122 case RENDERER_TAINT:
123 static const GdkAtom kRendererTaint = gdk_atom_intern(
124 "chromium/x-renderer-taint", false);
125 return kRendererTaint;
126
117 default: 127 default:
118 NOTREACHED(); 128 NOTREACHED();
119 } 129 }
120 130
121 return NULL; 131 return NULL;
122 } 132 }
123 133
124 GtkTargetList* GetTargetListFromCodeMask(int code_mask) { 134 GtkTargetList* GetTargetListFromCodeMask(int code_mask) {
125 GtkTargetList* targets = gtk_target_list_new(NULL, 0); 135 GtkTargetList* targets = gtk_target_list_new(NULL, 0);
126 136
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 GURL gurl(data.substr(0, newline)); 276 GURL gurl(data.substr(0, newline));
267 if (!gurl.is_valid()) 277 if (!gurl.is_valid())
268 return false; 278 return false;
269 279
270 *url = gurl; 280 *url = gurl;
271 *title = base::UTF8ToUTF16(data.substr(newline + 1)); 281 *title = base::UTF8ToUTF16(data.substr(newline + 1));
272 return true; 282 return true;
273 } 283 }
274 284
275 } // namespace ui 285 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698