// Copyright 2019 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 "components/exo/mime_utils.h" #include "ui/base/clipboard/clipboard_constants.h" namespace { constexpr char kCharset[] = ";charset="; constexpr char kDefaultCharset[] = "US-ASCII"; constexpr char kEncodingUTF8Charset[] = "UTF-8"; } // namespace namespace exo { std::string GetCharset(const std::string& mime_type) { // We special case UTF-8 to provide minimal handling of X11 apps. if (mime_type == ui::kMimeTypeLinuxUtf8String) return std::string(kEncodingUTF8Charset); auto pos = mime_type.find(kCharset); if (pos == std::string::npos) return std::string(kDefaultCharset); return mime_type.substr(pos + sizeof(kCharset) - 1); } } // namespace exo