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

Unified Diff: content/browser/download/quarantine_linux.cc

Issue 2124373002: [PPAPI] Quarantine files that are writeable by a Pepper plugin. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@consolidate-file-metadata
Patch Set: Address comments. 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/download/quarantine_linux.cc
diff --git a/content/browser/download/quarantine_linux.cc b/content/browser/download/quarantine_linux.cc
deleted file mode 100644
index 293dd46f107e4579b45b91af4b36a1c822c1d573..0000000000000000000000000000000000000000
--- a/content/browser/download/quarantine_linux.cc
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright (c) 2012 The Chromium 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 "content/browser/download/quarantine.h"
-
-#include <stddef.h>
-#include <sys/types.h>
-#include <sys/xattr.h>
-
-#include "base/files/file_path.h"
-#include "base/files/file_util.h"
-#include "base/logging.h"
-#include "base/threading/thread_restrictions.h"
-#include "content/browser/download/quarantine_constants_linux.h"
-#include "url/gurl.h"
-
-namespace content {
-
-const char kSourceURLExtendedAttrName[] = "user.xdg.origin.url";
-const char kReferrerURLExtendedAttrName[] = "user.xdg.referrer.url";
-
-namespace {
-
-bool SetExtendedFileAttribute(const char* path,
- const char* name,
- const char* value,
- size_t value_size,
- int flags) {
- base::ThreadRestrictions::AssertIOAllowed();
- int result = setxattr(path, name, value, value_size, flags);
- if (result) {
- DPLOG(ERROR) << "Could not set extended attribute " << name << " on file "
- << path;
- return false;
- }
- return true;
-}
-
-} // namespace
-
-QuarantineFileResult QuarantineFile(const base::FilePath& file,
- const GURL& source_url,
- const GURL& referrer_url,
- const std::string& client_guid) {
- DCHECK(base::PathIsWritable(file));
-
- bool source_succeeded =
- source_url.is_valid() &&
- SetExtendedFileAttribute(file.value().c_str(), kSourceURLExtendedAttrName,
- source_url.spec().c_str(),
- source_url.spec().length(), 0);
-
- // Referrer being empty is not considered an error. This could happen if the
- // referrer policy resulted in an empty referrer for the download request.
- bool referrer_succeeded =
- !referrer_url.is_valid() ||
- SetExtendedFileAttribute(
- file.value().c_str(), kReferrerURLExtendedAttrName,
- referrer_url.spec().c_str(), referrer_url.spec().length(), 0);
- return source_succeeded && referrer_succeeded
- ? QuarantineFileResult::OK
- : QuarantineFileResult::ANNOTATION_FAILED;
-}
-
-} // namespace content
« no previous file with comments | « content/browser/download/quarantine_constants_linux.h ('k') | content/browser/download/quarantine_linux_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698