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

Side by Side Diff: content/child/web_url_loader_impl.cc

Issue 1091253004: Fix MimeHandlerView plugin loading for data: URLs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "content/child/web_url_loader_impl.h" 5 #include "content/child/web_url_loader_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <deque> 8 #include <deque>
9 #include <string> 9 #include <string>
10 10
(...skipping 760 matching lines...) Expand 10 before | Expand all | Expand 10 after
771 bool WebURLLoaderImpl::Context::CanHandleDataURLRequestLocally() const { 771 bool WebURLLoaderImpl::Context::CanHandleDataURLRequestLocally() const {
772 GURL url = request_.url(); 772 GURL url = request_.url();
773 if (!url.SchemeIs(url::kDataScheme)) 773 if (!url.SchemeIs(url::kDataScheme))
774 return false; 774 return false;
775 775
776 // The fast paths for data URL, Start() and HandleDataURL(), don't support 776 // The fast paths for data URL, Start() and HandleDataURL(), don't support
777 // the downloadToFile option. 777 // the downloadToFile option.
778 if (request_.downloadToFile()) 778 if (request_.downloadToFile())
779 return false; 779 return false;
780 780
781 // Data url requests from object tags may need to be intercepted as streams
782 // and so need to be sent to the browser.
783 if (request_.requestContext() == WebURLRequest::RequestContextObject)
Sam McNally 2015/04/22 04:05:03 What about WebURLRequest::RequestContextEmbed?
raymes 2015/04/22 04:11:48 It's not used for MimeHandlers so we don't need to
784 return false;
785
781 // Optimize for the case where we can handle a data URL locally. We must 786 // Optimize for the case where we can handle a data URL locally. We must
782 // skip this for data URLs targetted at frames since those could trigger a 787 // skip this for data URLs targetted at frames since those could trigger a
783 // download. 788 // download.
784 // 789 //
785 // NOTE: We special case MIME types we can render both for performance 790 // NOTE: We special case MIME types we can render both for performance
786 // reasons as well as to support unit tests. 791 // reasons as well as to support unit tests.
787 792
788 #if defined(OS_ANDROID) 793 #if defined(OS_ANDROID)
789 // For compatibility reasons on Android we need to expose top-level data:// 794 // For compatibility reasons on Android we need to expose top-level data://
790 // to the browser. 795 // to the browser.
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after
1112 int intra_priority_value) { 1117 int intra_priority_value) {
1113 context_->DidChangePriority(new_priority, intra_priority_value); 1118 context_->DidChangePriority(new_priority, intra_priority_value);
1114 } 1119 }
1115 1120
1116 bool WebURLLoaderImpl::attachThreadedDataReceiver( 1121 bool WebURLLoaderImpl::attachThreadedDataReceiver(
1117 blink::WebThreadedDataReceiver* threaded_data_receiver) { 1122 blink::WebThreadedDataReceiver* threaded_data_receiver) {
1118 return context_->AttachThreadedDataReceiver(threaded_data_receiver); 1123 return context_->AttachThreadedDataReceiver(threaded_data_receiver);
1119 } 1124 }
1120 1125
1121 } // namespace content 1126 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698