// Copyright 2013 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "base/files/important_file_writer.h" #include #include "base/android/jni_string.h" #include "base/threading/thread_restrictions.h" // Must come after all headers that specialize FromJniType() / ToJniType(). #include "base/base_jni/ImportantFileWriterAndroid_jni.h" namespace base { namespace android { class ScopedAllowBlockingForImportantFileWriter : public base::ScopedAllowBlocking {}; static jboolean JNI_ImportantFileWriterAndroid_WriteFileAtomically( JNIEnv* env, std::string& native_file_name, jni_zero::ByteArrayView& data) { // This is called on the UI thread during shutdown to save tab data, so // needs to enable IO. ScopedAllowBlockingForImportantFileWriter allow_blocking; base::FilePath path(native_file_name); bool result = base::ImportantFileWriter::WriteFileAtomically(path, data.string_view()); return result; } } // namespace android } // namespace base