OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All Rights Reserved. | 2 * Copyright (C) 2013 Google Inc. All Rights Reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 { | 68 { |
69 PreloadRequestStream requests; | 69 PreloadRequestStream requests; |
70 requests.swap(r); | 70 requests.swap(r); |
71 | 71 |
72 for (PreloadRequestStream::iterator it = requests.begin(); it != requests.en
d(); ++it) | 72 for (PreloadRequestStream::iterator it = requests.begin(); it != requests.en
d(); ++it) |
73 preload(it->release()); | 73 preload(it->release()); |
74 } | 74 } |
75 | 75 |
76 static bool mediaAttributeMatches(LocalFrame* frame, RenderStyle* renderStyle, c
onst String& attributeValue) | 76 static bool mediaAttributeMatches(LocalFrame* frame, RenderStyle* renderStyle, c
onst String& attributeValue) |
77 { | 77 { |
78 RefPtr<MediaQuerySet> mediaQueries = MediaQuerySet::create(attributeValue); | 78 RefPtrWillBeRawPtr<MediaQuerySet> mediaQueries = MediaQuerySet::create(attri
buteValue); |
79 MediaQueryEvaluator mediaQueryEvaluator("screen", frame, renderStyle); | 79 MediaQueryEvaluator mediaQueryEvaluator("screen", frame, renderStyle); |
80 return mediaQueryEvaluator.eval(mediaQueries.get()); | 80 return mediaQueryEvaluator.eval(mediaQueries.get()); |
81 } | 81 } |
82 | 82 |
83 void HTMLResourcePreloader::preload(PassOwnPtr<PreloadRequest> preload) | 83 void HTMLResourcePreloader::preload(PassOwnPtr<PreloadRequest> preload) |
84 { | 84 { |
85 Document* executingDocument = m_document->import() ? m_document->import()->m
aster() : m_document; | 85 Document* executingDocument = m_document->import() ? m_document->import()->m
aster() : m_document; |
86 Document* loadingDocument = m_document; | 86 Document* loadingDocument = m_document; |
87 | 87 |
88 ASSERT(executingDocument->frame()); | 88 ASSERT(executingDocument->frame()); |
89 ASSERT(executingDocument->renderer()); | 89 ASSERT(executingDocument->renderer()); |
90 ASSERT(executingDocument->renderer()->style()); | 90 ASSERT(executingDocument->renderer()->style()); |
91 if (!preload->media().isEmpty() && !mediaAttributeMatches(executingDocument-
>frame(), executingDocument->renderer()->style(), preload->media())) | 91 if (!preload->media().isEmpty() && !mediaAttributeMatches(executingDocument-
>frame(), executingDocument->renderer()->style(), preload->media())) |
92 return; | 92 return; |
93 | 93 |
94 FetchRequest request = preload->resourceRequest(m_document); | 94 FetchRequest request = preload->resourceRequest(m_document); |
95 blink::Platform::current()->histogramCustomCounts("WebCore.PreloadDelayMs",
static_cast<int>(1000 * (monotonicallyIncreasingTime() - preload->discoveryTime(
))), 0, 2000, 20); | 95 blink::Platform::current()->histogramCustomCounts("WebCore.PreloadDelayMs",
static_cast<int>(1000 * (monotonicallyIncreasingTime() - preload->discoveryTime(
))), 0, 2000, 20); |
96 loadingDocument->fetcher()->preload(preload->resourceType(), request, preloa
d->charset()); | 96 loadingDocument->fetcher()->preload(preload->resourceType(), request, preloa
d->charset()); |
97 } | 97 } |
98 | 98 |
99 | 99 |
100 } | 100 } |
OLD | NEW |