OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc
e-loading | 5 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc
e-loading |
6 | 6 |
7 #include "content/browser/loader/resource_dispatcher_host_impl.h" | 7 #include "content/browser/loader/resource_dispatcher_host_impl.h" |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <set> | 10 #include <set> |
(...skipping 661 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
672 ResourceRequestInfoImpl* info = loader->GetRequestInfo(); | 672 ResourceRequestInfoImpl* info = loader->GetRequestInfo(); |
673 | 673 |
674 if (!ResourceType::IsFrame(info->GetResourceType())) | 674 if (!ResourceType::IsFrame(info->GetResourceType())) |
675 return false; | 675 return false; |
676 | 676 |
677 const net::URLRequestJobFactory* job_factory = | 677 const net::URLRequestJobFactory* job_factory = |
678 info->GetContext()->GetRequestContext()->job_factory(); | 678 info->GetContext()->GetRequestContext()->job_factory(); |
679 if (job_factory->IsHandledURL(url)) | 679 if (job_factory->IsHandledURL(url)) |
680 return false; | 680 return false; |
681 | 681 |
682 return delegate_->HandleExternalProtocol(url, info->GetChildID(), | 682 bool initiated_by_user_gesture = |
683 info->GetRouteID()); | 683 (loader->request()->load_flags() & net::LOAD_MAYBE_USER_GESTURE) != 0; |
| 684 bool handled = delegate_->HandleExternalProtocol(url, info->GetChildID(), |
| 685 info->GetRouteID(), |
| 686 initiated_by_user_gesture); |
| 687 // Consume the user gesture if the external protocol dialog is shown. |
| 688 if (handled) |
| 689 last_user_gesture_time_ = base::TimeTicks(); |
| 690 return handled; |
684 } | 691 } |
685 | 692 |
686 void ResourceDispatcherHostImpl::DidStartRequest(ResourceLoader* loader) { | 693 void ResourceDispatcherHostImpl::DidStartRequest(ResourceLoader* loader) { |
687 // Make sure we have the load state monitor running | 694 // Make sure we have the load state monitor running |
688 if (!update_load_states_timer_->IsRunning()) { | 695 if (!update_load_states_timer_->IsRunning()) { |
689 update_load_states_timer_->Start(FROM_HERE, | 696 update_load_states_timer_->Start(FROM_HERE, |
690 TimeDelta::FromMilliseconds(kUpdateLoadStatesIntervalMsec), | 697 TimeDelta::FromMilliseconds(kUpdateLoadStatesIntervalMsec), |
691 this, &ResourceDispatcherHostImpl::UpdateLoadStates); | 698 this, &ResourceDispatcherHostImpl::UpdateLoadStates); |
692 } | 699 } |
693 } | 700 } |
(...skipping 1333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2027 if ((load_flags & net::LOAD_REPORT_RAW_HEADERS) | 2034 if ((load_flags & net::LOAD_REPORT_RAW_HEADERS) |
2028 && !policy->CanReadRawCookies(child_id)) { | 2035 && !policy->CanReadRawCookies(child_id)) { |
2029 VLOG(1) << "Denied unauthorized request for raw headers"; | 2036 VLOG(1) << "Denied unauthorized request for raw headers"; |
2030 load_flags &= ~net::LOAD_REPORT_RAW_HEADERS; | 2037 load_flags &= ~net::LOAD_REPORT_RAW_HEADERS; |
2031 } | 2038 } |
2032 | 2039 |
2033 return load_flags; | 2040 return load_flags; |
2034 } | 2041 } |
2035 | 2042 |
2036 } // namespace content | 2043 } // namespace content |
OLD | NEW |