summaryrefslogtreecommitdiff
path: root/chromium/base/files/file.cc
diff options
context:
space:
mode:
authorAndras Becsi <andras.becsi@digia.com>2014-03-18 13:16:26 +0100
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2014-03-20 15:55:39 +0100
commit3f0f86b0caed75241fa71c95a5d73bc0164348c5 (patch)
tree92b9fb00f2e9e90b0be2262093876d4f43b6cd13 /chromium/base/files/file.cc
parente90d7c4b152c56919d963987e2503f9909a666d2 (diff)
downloadqtwebengine-chromium-3f0f86b0caed75241fa71c95a5d73bc0164348c5.tar.gz
Update to new stable branch 1750
This also includes an updated ninja and chromium dependencies needed on Windows. Change-Id: Icd597d80ed3fa4425933c9f1334c3c2e31291c42 Reviewed-by: Zoltan Arvai <zarvai@inf.u-szeged.hu> Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Diffstat (limited to 'chromium/base/files/file.cc')
-rw-r--r--chromium/base/files/file.cc64
1 files changed, 64 insertions, 0 deletions
diff --git a/chromium/base/files/file.cc b/chromium/base/files/file.cc
new file mode 100644
index 00000000000..4902f15a2ff
--- /dev/null
+++ b/chromium/base/files/file.cc
@@ -0,0 +1,64 @@
+// Copyright (c) 2011 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 "base/files/file.h"
+
+// TODO(rvargas): remove this (needed for kInvalidPlatformFileValue).
+#include "base/platform_file.h"
+
+namespace base {
+
+File::Info::Info()
+ : size(0),
+ is_directory(false),
+ is_symbolic_link(false) {
+}
+
+File::Info::~Info() {
+}
+
+File::File()
+ : file_(kInvalidPlatformFileValue),
+ error_(FILE_OK),
+ created_(false),
+ async_(false) {
+}
+
+#if !defined(OS_NACL)
+File::File(const FilePath& name, uint32 flags)
+ : file_(kInvalidPlatformFileValue),
+ error_(FILE_OK),
+ created_(false),
+ async_(false) {
+ if (name.ReferencesParent()) {
+ error_ = FILE_ERROR_ACCESS_DENIED;
+ return;
+ }
+ CreateBaseFileUnsafe(name, flags);
+}
+#endif
+
+File::File(RValue other)
+ : file_(other.object->TakePlatformFile()),
+ error_(other.object->error()),
+ created_(other.object->created()),
+ async_(other.object->async_) {
+}
+
+File::~File() {
+ Close();
+}
+
+File& File::operator=(RValue other) {
+ if (this != other.object) {
+ Close();
+ SetPlatformFile(other.object->TakePlatformFile());
+ error_ = other.object->error();
+ created_ = other.object->created();
+ async_ = other.object->async_;
+ }
+ return *this;
+}
+
+} // namespace base