OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 else | 60 else |
61 stringBuilder.append('?'); | 61 stringBuilder.append('?'); |
62 } | 62 } |
63 return stringBuilder.toString(); | 63 return stringBuilder.toString(); |
64 } | 64 } |
65 | 65 |
66 MHTMLArchive::MHTMLArchive() | 66 MHTMLArchive::MHTMLArchive() |
67 { | 67 { |
68 } | 68 } |
69 | 69 |
70 MHTMLArchive* MHTMLArchive::create(const KURL& url, PassRefPtr<SharedBuffer> dat
a) | 70 MHTMLArchive* MHTMLArchive::create(const KURL& url, PassRefPtr<const SharedBuffe
r> data) |
71 { | 71 { |
72 // MHTML pages can only be loaded from local URLs, http/https URLs, and cont
ent URLs(Android specific). | 72 // MHTML pages can only be loaded from local URLs, http/https URLs, and cont
ent URLs(Android specific). |
73 // The latter is now allowed due to full sandboxing enforcement on MHTML pag
es. | 73 // The latter is now allowed due to full sandboxing enforcement on MHTML pag
es. |
74 if (!canLoadArchive(url)) | 74 if (!canLoadArchive(url)) |
75 return nullptr; | 75 return nullptr; |
76 | 76 |
77 MHTMLParser parser(std::move(data)); | 77 MHTMLParser parser(std::move(data)); |
78 HeapVector<Member<ArchiveResource>> resources = parser.parseArchive(); | 78 HeapVector<Member<ArchiveResource>> resources = parser.parseArchive(); |
79 if (resources.isEmpty()) | 79 if (resources.isEmpty()) |
80 return nullptr; // Invalid MHTML file. | 80 return nullptr; // Invalid MHTML file. |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 return m_subresources.get(url.getString()); | 253 return m_subresources.get(url.getString()); |
254 } | 254 } |
255 | 255 |
256 DEFINE_TRACE(MHTMLArchive) | 256 DEFINE_TRACE(MHTMLArchive) |
257 { | 257 { |
258 visitor->trace(m_mainResource); | 258 visitor->trace(m_mainResource); |
259 visitor->trace(m_subresources); | 259 visitor->trace(m_subresources); |
260 } | 260 } |
261 | 261 |
262 } // namespace blink | 262 } // namespace blink |
OLD | NEW |