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

Side by Side Diff: chrome/browser/ui/webui/md_downloads/md_downloads_dom_handler.cc

Issue 2535483003: Require user gesture for powerful download operations (Closed)
Patch Set: Run vulcanize.py Created 4 years 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/resources/md_downloads/crisper.js ('k') | content/renderer/web_ui_extension.cc » ('j') | 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) 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 "chrome/browser/ui/webui/md_downloads/md_downloads_dom_handler.h" 5 #include "chrome/browser/ui/webui/md_downloads/md_downloads_dom_handler.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <functional> 8 #include <functional>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 MdDownloadsDOMHandler::~MdDownloadsDOMHandler() { 88 MdDownloadsDOMHandler::~MdDownloadsDOMHandler() {
89 FinalizeRemovals(); 89 FinalizeRemovals();
90 } 90 }
91 91
92 // MdDownloadsDOMHandler, public: --------------------------------------------- 92 // MdDownloadsDOMHandler, public: ---------------------------------------------
93 93
94 void MdDownloadsDOMHandler::RegisterMessages() { 94 void MdDownloadsDOMHandler::RegisterMessages() {
95 web_ui()->RegisterMessageCallback("getDownloads", 95 web_ui()->RegisterMessageCallback("getDownloads",
96 base::Bind(&MdDownloadsDOMHandler::HandleGetDownloads, 96 base::Bind(&MdDownloadsDOMHandler::HandleGetDownloads,
97 weak_ptr_factory_.GetWeakPtr())); 97 weak_ptr_factory_.GetWeakPtr()));
98 web_ui()->RegisterMessageCallback("openFile", 98 web_ui()->RegisterMessageCallback(
99 "openFileRequiringGesture",
99 base::Bind(&MdDownloadsDOMHandler::HandleOpenFile, 100 base::Bind(&MdDownloadsDOMHandler::HandleOpenFile,
100 weak_ptr_factory_.GetWeakPtr())); 101 weak_ptr_factory_.GetWeakPtr()));
101 web_ui()->RegisterMessageCallback("drag", 102 web_ui()->RegisterMessageCallback("drag",
102 base::Bind(&MdDownloadsDOMHandler::HandleDrag, 103 base::Bind(&MdDownloadsDOMHandler::HandleDrag,
103 weak_ptr_factory_.GetWeakPtr())); 104 weak_ptr_factory_.GetWeakPtr()));
104 web_ui()->RegisterMessageCallback("saveDangerous", 105 web_ui()->RegisterMessageCallback(
106 "saveDangerousRequiringGesture",
105 base::Bind(&MdDownloadsDOMHandler::HandleSaveDangerous, 107 base::Bind(&MdDownloadsDOMHandler::HandleSaveDangerous,
106 weak_ptr_factory_.GetWeakPtr())); 108 weak_ptr_factory_.GetWeakPtr()));
107 web_ui()->RegisterMessageCallback("discardDangerous", 109 web_ui()->RegisterMessageCallback("discardDangerous",
108 base::Bind(&MdDownloadsDOMHandler::HandleDiscardDangerous, 110 base::Bind(&MdDownloadsDOMHandler::HandleDiscardDangerous,
109 weak_ptr_factory_.GetWeakPtr())); 111 weak_ptr_factory_.GetWeakPtr()));
110 web_ui()->RegisterMessageCallback("show", 112 web_ui()->RegisterMessageCallback("show",
111 base::Bind(&MdDownloadsDOMHandler::HandleShow, 113 base::Bind(&MdDownloadsDOMHandler::HandleShow,
112 weak_ptr_factory_.GetWeakPtr())); 114 weak_ptr_factory_.GetWeakPtr()));
113 web_ui()->RegisterMessageCallback("pause", 115 web_ui()->RegisterMessageCallback("pause",
114 base::Bind(&MdDownloadsDOMHandler::HandlePause, 116 base::Bind(&MdDownloadsDOMHandler::HandlePause,
115 weak_ptr_factory_.GetWeakPtr())); 117 weak_ptr_factory_.GetWeakPtr()));
116 web_ui()->RegisterMessageCallback("resume", 118 web_ui()->RegisterMessageCallback("resume",
117 base::Bind(&MdDownloadsDOMHandler::HandleResume, 119 base::Bind(&MdDownloadsDOMHandler::HandleResume,
118 weak_ptr_factory_.GetWeakPtr())); 120 weak_ptr_factory_.GetWeakPtr()));
119 web_ui()->RegisterMessageCallback("remove", 121 web_ui()->RegisterMessageCallback("remove",
120 base::Bind(&MdDownloadsDOMHandler::HandleRemove, 122 base::Bind(&MdDownloadsDOMHandler::HandleRemove,
121 weak_ptr_factory_.GetWeakPtr())); 123 weak_ptr_factory_.GetWeakPtr()));
122 web_ui()->RegisterMessageCallback("undo", 124 web_ui()->RegisterMessageCallback("undo",
123 base::Bind(&MdDownloadsDOMHandler::HandleUndo, 125 base::Bind(&MdDownloadsDOMHandler::HandleUndo,
124 weak_ptr_factory_.GetWeakPtr())); 126 weak_ptr_factory_.GetWeakPtr()));
125 web_ui()->RegisterMessageCallback("cancel", 127 web_ui()->RegisterMessageCallback("cancel",
126 base::Bind(&MdDownloadsDOMHandler::HandleCancel, 128 base::Bind(&MdDownloadsDOMHandler::HandleCancel,
127 weak_ptr_factory_.GetWeakPtr())); 129 weak_ptr_factory_.GetWeakPtr()));
128 web_ui()->RegisterMessageCallback("clearAll", 130 web_ui()->RegisterMessageCallback("clearAll",
129 base::Bind(&MdDownloadsDOMHandler::HandleClearAll, 131 base::Bind(&MdDownloadsDOMHandler::HandleClearAll,
130 weak_ptr_factory_.GetWeakPtr())); 132 weak_ptr_factory_.GetWeakPtr()));
131 web_ui()->RegisterMessageCallback("openDownloadsFolder", 133 web_ui()->RegisterMessageCallback(
134 "openDownloadsFolderRequiringGesture",
132 base::Bind(&MdDownloadsDOMHandler::HandleOpenDownloadsFolder, 135 base::Bind(&MdDownloadsDOMHandler::HandleOpenDownloadsFolder,
133 weak_ptr_factory_.GetWeakPtr())); 136 weak_ptr_factory_.GetWeakPtr()));
134 137
135 Observe(GetWebUIWebContents()); 138 Observe(GetWebUIWebContents());
136 } 139 }
137 140
138 void MdDownloadsDOMHandler::OnJavascriptDisallowed() { 141 void MdDownloadsDOMHandler::OnJavascriptDisallowed() {
139 list_tracker_.Stop(); 142 list_tracker_.Stop();
140 list_tracker_.Reset(); 143 list_tracker_.Reset();
141 CheckForRemovedFiles(); 144 CheckForRemovedFiles();
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
453 456
454 void MdDownloadsDOMHandler::RemoveDownloadInArgs(const base::ListValue* args) { 457 void MdDownloadsDOMHandler::RemoveDownloadInArgs(const base::ListValue* args) {
455 content::DownloadItem* file = GetDownloadByValue(args); 458 content::DownloadItem* file = GetDownloadByValue(args);
456 if (!file) 459 if (!file)
457 return; 460 return;
458 461
459 DownloadVector downloads; 462 DownloadVector downloads;
460 downloads.push_back(file); 463 downloads.push_back(file);
461 RemoveDownloads(downloads); 464 RemoveDownloads(downloads);
462 } 465 }
OLDNEW
« no previous file with comments | « chrome/browser/resources/md_downloads/crisper.js ('k') | content/renderer/web_ui_extension.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698