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

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

Issue 2873433003: Move MediaQuery classes off BlinkGC heap (Closed)
Patch Set: 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 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 306
307 String title = m_owner->title(); 307 String title = m_owner->title();
308 if (!title.isEmpty() && !m_owner->isAlternate() && 308 if (!title.isEmpty() && !m_owner->isAlternate() &&
309 m_disabledState != EnabledViaScript && m_owner->isInDocumentTree()) { 309 m_disabledState != EnabledViaScript && m_owner->isInDocumentTree()) {
310 document().styleEngine().setPreferredStylesheetSetNameIfNotSet(title); 310 document().styleEngine().setPreferredStylesheetSetNameIfNotSet(title);
311 } 311 }
312 312
313 bool mediaQueryMatches = true; 313 bool mediaQueryMatches = true;
314 LocalFrame* frame = loadingFrame(); 314 LocalFrame* frame = loadingFrame();
315 if (!m_owner->media().isEmpty() && frame) { 315 if (!m_owner->media().isEmpty() && frame) {
316 MediaQuerySet* media = MediaQuerySet::create(m_owner->media()); 316 RefPtr<MediaQuerySet> media = MediaQuerySet::create(m_owner->media());
317 MediaQueryEvaluator evaluator(frame); 317 MediaQueryEvaluator evaluator(frame);
318 mediaQueryMatches = evaluator.eval(media); 318 mediaQueryMatches = evaluator.eval(*media);
319 } 319 }
320 320
321 // Don't hold up layout tree construction and script execution on 321 // Don't hold up layout tree construction and script execution on
322 // stylesheets that are not needed for the layout at the moment. 322 // stylesheets that are not needed for the layout at the moment.
323 bool blocking = mediaQueryMatches && !m_owner->isAlternate() && 323 bool blocking = mediaQueryMatches && !m_owner->isAlternate() &&
324 m_owner->isCreatedByParser(); 324 m_owner->isCreatedByParser();
325 addPendingSheet(blocking ? Blocking : NonBlocking); 325 addPendingSheet(blocking ? Blocking : NonBlocking);
326 326
327 // Load stylesheets that are not needed for the layout immediately with low 327 // Load stylesheets that are not needed for the layout immediately with low
328 // priority. When the link element is created by scripts, load the 328 // priority. When the link element is created by scripts, load the
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
415 removePendingSheet(); 415 removePendingSheet();
416 } 416 }
417 417
418 DEFINE_TRACE(LinkStyle) { 418 DEFINE_TRACE(LinkStyle) {
419 visitor->trace(m_sheet); 419 visitor->trace(m_sheet);
420 LinkResource::trace(visitor); 420 LinkResource::trace(visitor);
421 ResourceOwner<StyleSheetResource>::trace(visitor); 421 ResourceOwner<StyleSheetResource>::trace(visitor);
422 } 422 }
423 423
424 } // namespace blink 424 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698