Lines Matching refs:Request
82 struct Request : public SkResourceCache::Key {
84 Request(const char* name, size_t nameLen, const SkFontStyle& style) : fStyle(style) {
104 static Request* Create(const char* name, const SkFontStyle& style) {
107 char* storage = new char[sizeof(Request) + contentLen];
108 return new (storage) Request(name, nameLen, style);
118 Result(Request* request, SkTypeface* typeface)
119 : fRequest(request)
129 SkAutoTDelete<Request> fRequest;
138 /** Takes ownership of request. It will be deleted when no longer needed. */
139 void add(SkTypeface* face, Request* request) {
140 fCachedResults.add(new Result(request, face));
142 /** Does not take ownership of request. */
143 SkTypeface* findAndRef(Request* request) {
145 fCachedResults.find(*request, [](const SkResourceCache::Rec& rec, void* context) -> bool {
155 /** Takes ownership of request. It will be deleted when no longer needed. */
156 static void Add(SkTypeface* face, Request* request) {
158 Get().add(face, request);
161 /** Does not take ownership of request. */
162 static SkTypeface* FindAndRef(Request* request) {
164 return Get().findAndRef(request);
176 // Check if this request is already in the request cache.
177 using Request = SkFontHostRequestCache::Request;
179 SkAutoTDelete<Request> request(Request::Create(requestedFamilyName, requestedStyle));
180 SkTypeface* face = SkFontHostRequestCache::FindAndRef(request);
201 // Add this request to the request cache.
202 SkFontHostRequestCache::Add(face, request.release());