Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Side by Side Diff: third_party/WebKit/Source/core/html/LinkStyle.cpp

Issue 2837023005: Move MediaQuery classes off BlinkGC heap (Closed)
Patch Set: fix Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/html/LinkStyle.h" 5 #include "core/html/LinkStyle.h"
6 6
7 #include "core/css/StyleSheetContents.h" 7 #include "core/css/StyleSheetContents.h"
8 #include "core/frame/LocalFrame.h" 8 #include "core/frame/LocalFrame.h"
9 #include "core/frame/LocalFrameClient.h" 9 #include "core/frame/LocalFrameClient.h"
10 #include "core/frame/SubresourceIntegrity.h" 10 #include "core/frame/SubresourceIntegrity.h"
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 298
299 String title = owner_->title(); 299 String title = owner_->title();
300 if (!title.IsEmpty() && !owner_->IsAlternate() && 300 if (!title.IsEmpty() && !owner_->IsAlternate() &&
301 disabled_state_ != kEnabledViaScript && owner_->IsInDocumentTree()) { 301 disabled_state_ != kEnabledViaScript && owner_->IsInDocumentTree()) {
302 GetDocument().GetStyleEngine().SetPreferredStylesheetSetNameIfNotSet(title); 302 GetDocument().GetStyleEngine().SetPreferredStylesheetSetNameIfNotSet(title);
303 } 303 }
304 304
305 bool media_query_matches = true; 305 bool media_query_matches = true;
306 LocalFrame* frame = LoadingFrame(); 306 LocalFrame* frame = LoadingFrame();
307 if (!owner_->Media().IsEmpty() && frame) { 307 if (!owner_->Media().IsEmpty() && frame) {
308 MediaQuerySet* media = MediaQuerySet::Create(owner_->Media()); 308 RefPtr<MediaQuerySet> media = MediaQuerySet::Create(owner_->Media());
309 MediaQueryEvaluator evaluator(frame); 309 MediaQueryEvaluator evaluator(frame);
310 media_query_matches = evaluator.Eval(media); 310 media_query_matches = evaluator.Eval(*media);
311 } 311 }
312 312
313 // Don't hold up layout tree construction and script execution on 313 // Don't hold up layout tree construction and script execution on
314 // stylesheets that are not needed for the layout at the moment. 314 // stylesheets that are not needed for the layout at the moment.
315 bool blocking = media_query_matches && !owner_->IsAlternate() && 315 bool blocking = media_query_matches && !owner_->IsAlternate() &&
316 owner_->IsCreatedByParser(); 316 owner_->IsCreatedByParser();
317 AddPendingSheet(blocking ? kBlocking : kNonBlocking); 317 AddPendingSheet(blocking ? kBlocking : kNonBlocking);
318 318
319 // Load stylesheets that are not needed for the layout immediately with low 319 // Load stylesheets that are not needed for the layout immediately with low
320 // priority. When the link element is created by scripts, load the 320 // priority. When the link element is created by scripts, load the
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 RemovePendingSheet(); 409 RemovePendingSheet();
410 } 410 }
411 411
412 DEFINE_TRACE(LinkStyle) { 412 DEFINE_TRACE(LinkStyle) {
413 visitor->Trace(sheet_); 413 visitor->Trace(sheet_);
414 LinkResource::Trace(visitor); 414 LinkResource::Trace(visitor);
415 ResourceOwner<StyleSheetResource>::Trace(visitor); 415 ResourceOwner<StyleSheetResource>::Trace(visitor);
416 } 416 }
417 417
418 } // namespace blink 418 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698