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

Side by Side Diff: third_party/WebKit/Source/core/loader/TextResourceDecoderBuilder.cpp

Issue 2050123002: Remove OwnPtr from Blink. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: First attempt to land. Created 4 years, 6 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 /* 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 are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 16 matching lines...) Expand all
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 #include "core/loader/TextResourceDecoderBuilder.h" 31 #include "core/loader/TextResourceDecoderBuilder.h"
32 32
33 #include "core/dom/Document.h" 33 #include "core/dom/Document.h"
34 #include "core/frame/LocalFrame.h" 34 #include "core/frame/LocalFrame.h"
35 #include "core/frame/Settings.h" 35 #include "core/frame/Settings.h"
36 #include "platform/weborigin/SecurityOrigin.h" 36 #include "platform/weborigin/SecurityOrigin.h"
37 #include <memory>
37 38
38 namespace blink { 39 namespace blink {
39 40
40 static inline bool canReferToParentFrameEncoding(const LocalFrame* frame, const LocalFrame* parentFrame) 41 static inline bool canReferToParentFrameEncoding(const LocalFrame* frame, const LocalFrame* parentFrame)
41 { 42 {
42 return parentFrame && parentFrame->document()->getSecurityOrigin()->canAcces s(frame->document()->getSecurityOrigin()); 43 return parentFrame && parentFrame->document()->getSecurityOrigin()->canAcces s(frame->document()->getSecurityOrigin());
43 } 44 }
44 45
45 namespace { 46 namespace {
46 47
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 : m_mimeType(mimeType) 122 : m_mimeType(mimeType)
122 , m_encoding(encoding) 123 , m_encoding(encoding)
123 { 124 {
124 } 125 }
125 126
126 TextResourceDecoderBuilder::~TextResourceDecoderBuilder() 127 TextResourceDecoderBuilder::~TextResourceDecoderBuilder()
127 { 128 {
128 } 129 }
129 130
130 131
131 inline PassOwnPtr<TextResourceDecoder> TextResourceDecoderBuilder::createDecoder Instance(Document* document) 132 inline std::unique_ptr<TextResourceDecoder> TextResourceDecoderBuilder::createDe coderInstance(Document* document)
132 { 133 {
133 const WTF::TextEncoding encodingFromDomain = getEncodingFromDomain(document- >url()); 134 const WTF::TextEncoding encodingFromDomain = getEncodingFromDomain(document- >url());
134 if (LocalFrame* frame = document->frame()) { 135 if (LocalFrame* frame = document->frame()) {
135 if (Settings* settings = frame->settings()) 136 if (Settings* settings = frame->settings())
136 return TextResourceDecoder::create(m_mimeType, encodingFromDomain.is Valid() ? encodingFromDomain : settings->defaultTextEncodingName(), settings->us esEncodingDetector()); 137 return TextResourceDecoder::create(m_mimeType, encodingFromDomain.is Valid() ? encodingFromDomain : settings->defaultTextEncodingName(), settings->us esEncodingDetector());
137 } 138 }
138 139
139 return TextResourceDecoder::create(m_mimeType, encodingFromDomain); 140 return TextResourceDecoder::create(m_mimeType, encodingFromDomain);
140 } 141 }
141 142
(...skipping 18 matching lines...) Expand all
160 // we may consider relaxing this later after testing. 161 // we may consider relaxing this later after testing.
161 if (frame && canReferToParentFrameEncoding(frame, parentFrame)) { 162 if (frame && canReferToParentFrameEncoding(frame, parentFrame)) {
162 if (parentFrame->document()->encodingWasDetectedHeuristically()) 163 if (parentFrame->document()->encodingWasDetectedHeuristically())
163 decoder->setHintEncoding(parentFrame->document()->encoding()); 164 decoder->setHintEncoding(parentFrame->document()->encoding());
164 165
165 if (m_encoding.isEmpty()) 166 if (m_encoding.isEmpty())
166 decoder->setEncoding(parentFrame->document()->encoding(), TextResour ceDecoder::EncodingFromParentFrame); 167 decoder->setEncoding(parentFrame->document()->encoding(), TextResour ceDecoder::EncodingFromParentFrame);
167 } 168 }
168 } 169 }
169 170
170 PassOwnPtr<TextResourceDecoder> TextResourceDecoderBuilder::buildFor(Document* d ocument) 171 std::unique_ptr<TextResourceDecoder> TextResourceDecoderBuilder::buildFor(Docume nt* document)
171 { 172 {
172 OwnPtr<TextResourceDecoder> decoder = createDecoderInstance(document); 173 std::unique_ptr<TextResourceDecoder> decoder = createDecoderInstance(documen t);
173 setupEncoding(decoder.get(), document); 174 setupEncoding(decoder.get(), document);
174 return decoder; 175 return decoder;
175 } 176 }
176 177
177 void TextResourceDecoderBuilder::clear() 178 void TextResourceDecoderBuilder::clear()
178 { 179 {
179 m_encoding = nullAtom; 180 m_encoding = nullAtom;
180 } 181 }
181 182
182 } // namespace blink 183 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698