// Copyright 2013 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/public/common/desktop_media_id.h" namespace content { // static DesktopMediaID DesktopMediaID::Parse(const std::string& str) { if (str == "screen") return DesktopMediaID(TYPE_SCREEN, 0); std::string window_prefix("window:"); if (StartsWithASCII(str, window_prefix, true)) { int64 id; if (!base::StringToInt64(str.substr(window_prefix.size()), &id)) return DesktopMediaID(TYPE_NONE, 0); return DesktopMediaID(TYPE_WINDOW, id); } return DesktopMediaID(TYPE_NONE, 0); } std::string DesktopMediaID::ToString() { switch (type) { case TYPE_NONE: NOTREACHED(); return std::string(); case TYPE_SCREEN: return "screen"; case TYPE_WINDOW: return "window:" + base::Int64ToString(id); } NOTREACHED(); return std::string(); } } // namespace content