Movatterモバイル変換


[0]ホーム

URL:


Google Git
Sign in
chromium /chromium /src /refs/heads/main /. /printing /client_info_helpers.cc
blob: f68951b5ef41ea99837de18a710e7d1002704045 [file] [log] [blame] [edit]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include"printing/client_info_helpers.h"
#include"base/no_destructor.h"
#include"base/types/optional_util.h"
#include"printing/mojom/print.mojom.h"
#include"third_party/re2/src/re2/re2.h"
namespace printing{
namespace{
boolValidateClientType(mojom::IppClientInfo::ClientType type){
return type>= mojom::IppClientInfo::ClientType::kMinValue&&
type<= mojom::IppClientInfo::ClientType::kMaxValue;
}
boolValidateStringMember(const std::string* value,size_t max_length){
staticconst base::NoDestructor<RE2> kStringRegex("[a-zA-Z0-9_.-]*");
return value==nullptr||
(value->size()<= max_length&& RE2::FullMatch(*value,*kStringRegex));
}
}// namespace
boolValidateClientInfoItem(const mojom::IppClientInfo& client_info){
returnValidateClientType(client_info.client_type)&&
ValidateStringMember(&client_info.client_name,
kClientInfoMaxNameLength)&&
ValidateStringMember(&client_info.client_string_version,
kClientInfoMaxStringVersionLength)&&
ValidateStringMember(base::OptionalToPtr(client_info.client_patches),
kClientInfoMaxPatchesLength)&&
ValidateStringMember(base::OptionalToPtr(client_info.client_version),
kClientInfoMaxVersionLength);
}
}// namespace printing

[8]ページ先頭

©2009-2025 Movatter.jp