Revert "Bug 1972411 - give gnome-shell and pipewire more time to start, and retry the task if we time out. r=jmaher" for causing linux perma failures
This reverts commit 2b905fe7199c9210434f7c7f8326b57025c91c55.
Revert "Bug 1972411 - make /builds/worker/fetches a volume in the test docker image. r=releng-reviewers,Eijebong"
This reverts commit 9d15aecaf6a08b98d3c47f2d0e644e35341b2520.
// Copyright 2012 The Chromium Authors// Use of this source code is governed by a BSD-style license that can be// found in the LICENSE file.#ifndef BASE_STRINGS_STRING_NUMBER_CONVERSIONS_H_#define BASE_STRINGS_STRING_NUMBER_CONVERSIONS_H_#include<stddef.h>#include<stdint.h>#include<string>#include<vector>#include"base/base_export.h"#include"base/containers/span.h"#include"base/strings/string_piece.h"#include"build/build_config.h"// ----------------------------------------------------------------------------// IMPORTANT MESSAGE FROM YOUR SPONSOR//// Please do not add "convenience" functions for converting strings to integers// that return the value and ignore success/failure. That encourages people to// write code that doesn't properly handle the error conditions.//// DO NOT use these functions in any UI unless it's NOT localized on purpose.// Instead, use base::MessageFormatter for a complex message with numbers// (integer, float, double) embedded or base::Format{Number,Double,Percent} to// just format a single number/percent. Note that some languages use native// digits instead of ASCII digits while others use a group separator or decimal// point different from ',' and '.'. Using these functions in the UI would lead// numbers to be formatted in a non-native way.// ----------------------------------------------------------------------------namespacebase{// Number -> string conversions ------------------------------------------------// Ignores locale! see warning above.BASE_EXPORTstd::stringNumberToString(intvalue);BASE_EXPORTstd::u16stringNumberToString16(intvalue);BASE_EXPORTstd::stringNumberToString(unsignedintvalue);BASE_EXPORTstd::u16stringNumberToString16(unsignedintvalue);BASE_EXPORTstd::stringNumberToString(longvalue);BASE_EXPORTstd::u16stringNumberToString16(longvalue);BASE_EXPORTstd::stringNumberToString(unsignedlongvalue);BASE_EXPORTstd::u16stringNumberToString16(unsignedlongvalue);BASE_EXPORTstd::stringNumberToString(longlongvalue);BASE_EXPORTstd::u16stringNumberToString16(longlongvalue);BASE_EXPORTstd::stringNumberToString(unsignedlonglongvalue);BASE_EXPORTstd::u16stringNumberToString16(unsignedlonglongvalue);BASE_EXPORTstd::stringNumberToString(doublevalue);BASE_EXPORTstd::u16stringNumberToString16(doublevalue);// String -> number conversions ------------------------------------------------// Perform a best-effort conversion of the input string to a numeric type,// setting |*output| to the result of the conversion. Returns true for// "perfect" conversions; returns false in the following cases:// - Overflow. |*output| will be set to the maximum value supported// by the data type.// - Underflow. |*output| will be set to the minimum value supported// by the data type.// - Trailing characters in the string after parsing the number. |*output|// will be set to the value of the number that was parsed.// - Leading whitespace in the string before parsing the number. |*output| will// be set to the value of the number that was parsed.// - No characters parseable as a number at the beginning of the string.// |*output| will be set to 0.// - Empty string. |*output| will be set to 0.// WARNING: Will write to |output| even when returning false.// Read the comments above carefully.BASE_EXPORTboolStringToInt(StringPieceinput,int*output);BASE_EXPORTboolStringToInt(StringPiece16input,int*output);BASE_EXPORTboolStringToUint(StringPieceinput,unsigned*output);BASE_EXPORTboolStringToUint(StringPiece16input,unsigned*output);BASE_EXPORTboolStringToInt64(StringPieceinput,int64_t*output);BASE_EXPORTboolStringToInt64(StringPiece16input,int64_t*output);BASE_EXPORTboolStringToUint64(StringPieceinput,uint64_t*output);BASE_EXPORTboolStringToUint64(StringPiece16input,uint64_t*output);BASE_EXPORTboolStringToSizeT(StringPieceinput,size_t*output);BASE_EXPORTboolStringToSizeT(StringPiece16input,size_t*output);// For floating-point conversions, only conversions of input strings in decimal// form are defined to work. Behavior with strings representing floating-point// numbers in hexadecimal, and strings representing non-finite values (such as// NaN and inf) is undefined. Otherwise, these behave the same as the integral// variants. This expects the input string to NOT be specific to the locale.// If your input is locale specific, use ICU to read the number.// WARNING: Will write to |output| even when returning false.// Read the comments here and above StringToInt() carefully.BASE_EXPORTboolStringToDouble(StringPieceinput,double*output);BASE_EXPORTboolStringToDouble(StringPiece16input,double*output);// Hex encoding ----------------------------------------------------------------// Returns a hex string representation of a binary buffer. The returned hex// string will be in upper case. This function does not check if |size| is// within reasonable limits since it's written with trusted data in mind. If// you suspect that the data you want to format might be large, the absolute// max size for |size| should be is// std::numeric_limits<size_t>::max() / 2BASE_EXPORTstd::stringHexEncode(constvoid*bytes,size_tsize);BASE_EXPORTstd::stringHexEncode(base::span<constuint8_t>bytes);// Best effort conversion, see StringToInt above for restrictions.// Will only successful parse hex values that will fit into |output|, i.e.// -0x80000000 < |input| < 0x7FFFFFFF.BASE_EXPORTboolHexStringToInt(StringPieceinput,int*output);// Best effort conversion, see StringToInt above for restrictions.// Will only successful parse hex values that will fit into |output|, i.e.// 0x00000000 < |input| < 0xFFFFFFFF.// The string is not required to start with 0x.BASE_EXPORTboolHexStringToUInt(StringPieceinput,uint32_t*output);// Best effort conversion, see StringToInt above for restrictions.// Will only successful parse hex values that will fit into |output|, i.e.// -0x8000000000000000 < |input| < 0x7FFFFFFFFFFFFFFF.BASE_EXPORTboolHexStringToInt64(StringPieceinput,int64_t*output);// Best effort conversion, see StringToInt above for restrictions.// Will only successful parse hex values that will fit into |output|, i.e.// 0x0000000000000000 < |input| < 0xFFFFFFFFFFFFFFFF.// The string is not required to start with 0x.BASE_EXPORTboolHexStringToUInt64(StringPieceinput,uint64_t*output);// Similar to the previous functions, except that output is a vector of bytes.// |*output| will contain as many bytes as were successfully parsed prior to the// error. There is no overflow, but input.size() must be evenly divisible by 2.// Leading 0x or +/- are not allowed.BASE_EXPORTboolHexStringToBytes(StringPieceinput,std::vector<uint8_t>*output);// Same as HexStringToBytes, but for an std::string.BASE_EXPORTboolHexStringToString(StringPieceinput,std::string*output);// Decodes the hex string |input| into a presized |output|. The output buffer// must be sized exactly to |input.size() / 2| or decoding will fail and no// bytes will be written to |output|. Decoding an empty input is also// considered a failure. When decoding fails due to encountering invalid input// characters, |output| will have been filled with the decoded bytes up until// the failure.BASE_EXPORTboolHexStringToSpan(StringPieceinput,base::span<uint8_t>output);}// namespace base#if BUILDFLAG(IS_WIN)#include"base/strings/string_number_conversions_win.h"#endif#endif // BASE_STRINGS_STRING_NUMBER_CONVERSIONS_H_