| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. | 2  * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. | 
| 3  * Copyright (C) 2011 Google Inc. All rights reserved. | 3  * Copyright (C) 2011 Google Inc. All rights reserved. | 
| 4  * | 4  * | 
| 5  * Redistribution and use in source and binary forms, with or without | 5  * Redistribution and use in source and binary forms, with or without | 
| 6  * modification, are permitted provided that the following conditions | 6  * modification, are permitted provided that the following conditions | 
| 7  * are met: | 7  * are met: | 
| 8  * | 8  * | 
| 9  * 1.  Redistributions of source code must retain the above copyright | 9  * 1.  Redistributions of source code must retain the above copyright | 
| 10  *     notice, this list of conditions and the following disclaimer. | 10  *     notice, this list of conditions and the following disclaimer. | 
| (...skipping 780 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 791   ArchiveResource* main_resource = | 791   ArchiveResource* main_resource = | 
| 792       fetcher_->CreateArchive(main_resource_.Get()); | 792       fetcher_->CreateArchive(main_resource_.Get()); | 
| 793   if (!main_resource) | 793   if (!main_resource) | 
| 794     return false; | 794     return false; | 
| 795   // The origin is the MHTML file, we need to set the base URL to the document | 795   // The origin is the MHTML file, we need to set the base URL to the document | 
| 796   // encoded in the MHTML so relative URLs are resolved properly. | 796   // encoded in the MHTML so relative URLs are resolved properly. | 
| 797   EnsureWriter(main_resource->MimeType(), main_resource->Url()); | 797   EnsureWriter(main_resource->MimeType(), main_resource->Url()); | 
| 798   if (!frame_) | 798   if (!frame_) | 
| 799     return false; | 799     return false; | 
| 800 | 800 | 
| 801   // The Document has now been created. | 801   // The MHTML page is loaded in full sandboxing mode with the only | 
| 802   frame_->GetDocument()->EnforceSandboxFlags(kSandboxAll); | 802   // exception to open new top-level windows. Since the MHTML page stays in a | 
|  | 803   // unquie origin with script execution disabled, the risk to navigate to | 
|  | 804   // 'blob:'' and 'filesystem:'' URLs that allow code execution in the page's | 
|  | 805   // "real" origin is mitigated. | 
|  | 806   frame_->GetDocument()->EnforceSandboxFlags( | 
|  | 807       kSandboxAll & | 
|  | 808       ~(kSandboxPopups | kSandboxPropagatesToAuxiliaryBrowsingContexts)); | 
| 803 | 809 | 
| 804   CommitData(main_resource->Data()->Data(), main_resource->Data()->size()); | 810   CommitData(main_resource->Data()->Data(), main_resource->Data()->size()); | 
| 805   return true; | 811   return true; | 
| 806 } | 812 } | 
| 807 | 813 | 
| 808 const AtomicString& DocumentLoader::ResponseMIMEType() const { | 814 const AtomicString& DocumentLoader::ResponseMIMEType() const { | 
| 809   return response_.MimeType(); | 815   return response_.MimeType(); | 
| 810 } | 816 } | 
| 811 | 817 | 
| 812 const KURL& DocumentLoader::UnreachableURL() const { | 818 const KURL& DocumentLoader::UnreachableURL() const { | 
| (...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1086                      InstallNewDocumentReason::kJavascriptURL, | 1092                      InstallNewDocumentReason::kJavascriptURL, | 
| 1087                      kForceSynchronousParsing, KURL()); | 1093                      kForceSynchronousParsing, KURL()); | 
| 1088   if (!source.IsNull()) | 1094   if (!source.IsNull()) | 
| 1089     writer_->AppendReplacingData(source); | 1095     writer_->AppendReplacingData(source); | 
| 1090   EndWriting(); | 1096   EndWriting(); | 
| 1091 } | 1097 } | 
| 1092 | 1098 | 
| 1093 DEFINE_WEAK_IDENTIFIER_MAP(DocumentLoader); | 1099 DEFINE_WEAK_IDENTIFIER_MAP(DocumentLoader); | 
| 1094 | 1100 | 
| 1095 }  // namespace blink | 1101 }  // namespace blink | 
| OLD | NEW | 
|---|