Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 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 | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. 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 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 451 if (frameType == WebURLRequest::FrameTypeNested) { | 451 if (frameType == WebURLRequest::FrameTypeNested) { |
| 452 // FIXME: Deal with RemoteFrames. | 452 // FIXME: Deal with RemoteFrames. |
| 453 Frame* parentFrame = effectiveFrame->tree().parent(); | 453 Frame* parentFrame = effectiveFrame->tree().parent(); |
| 454 ASSERT(parentFrame); | 454 ASSERT(parentFrame); |
| 455 if (parentFrame->isLocalFrame()) | 455 if (parentFrame->isLocalFrame()) |
| 456 effectiveFrame = toLocalFrame(parentFrame); | 456 effectiveFrame = toLocalFrame(parentFrame); |
| 457 } | 457 } |
| 458 return effectiveFrame; | 458 return effectiveFrame; |
| 459 } | 459 } |
| 460 | 460 |
| 461 void MixedContentChecker::handleCertificateError(LocalFrame* frame, const KURL& url, WebURLRequest::RequestContext requestContext, WebURLRequest::FrameType fram eType, const CString& securityInfo) | |
| 462 { | |
| 463 if (frameType == WebURLRequest::FrameTypeTopLevel || !frame) | |
| 464 return; | |
| 465 | |
| 466 FrameLoaderClient* client = frame->loader().client(); | |
| 467 ContextType contextType = MixedContentChecker::contextTypeFromContext(reques tContext, frame); | |
| 468 if (contextType == ContextTypeBlockable) { | |
| 469 client->didRunContentWithCertificateErrors(url, securityInfo, frame->doc ument()->url(), frame->loader().documentLoader()->response().getSecurityInfo()); | |
| 470 } else { | |
| 471 // contextTypeFromContext() never returns NotMixedContent (it | |
| 472 // computes the type of mixed content, given that the content is | |
| 473 // mixed). | |
| 474 ASSERT(contextType != ContextTypeNotMixedContent); | |
| 475 client->didDisplayContentWithCertificateErrors(url, securityInfo, frame- >document()->url(), frame->loader().documentLoader()->response().getSecurityInfo ()); | |
| 476 } | |
|
Mike West
2015/11/27 05:30:38
Should we output a console message noting the resp
estark
2015/11/28 02:46:56
Done. I think we should keep the console messages
estark
2015/11/30 18:13:27
Mike: Oops, this turned out to be more complicated
| |
| 477 } | |
| 478 | |
| 461 MixedContentChecker::ContextType MixedContentChecker::contextTypeForInspector(Lo calFrame* frame, const ResourceRequest& request) | 479 MixedContentChecker::ContextType MixedContentChecker::contextTypeForInspector(Lo calFrame* frame, const ResourceRequest& request) |
| 462 { | 480 { |
| 463 LocalFrame* effectiveFrame = effectiveFrameForFrameType(frame, request.frame Type()); | 481 LocalFrame* effectiveFrame = effectiveFrameForFrameType(frame, request.frame Type()); |
| 464 | 482 |
| 465 LocalFrame* mixedFrame = inWhichFrameIsContentMixed(effectiveFrame, request. frameType(), request.url()); | 483 LocalFrame* mixedFrame = inWhichFrameIsContentMixed(effectiveFrame, request. frameType(), request.url()); |
| 466 if (!mixedFrame) | 484 if (!mixedFrame) |
| 467 return ContextTypeNotMixedContent; | 485 return ContextTypeNotMixedContent; |
| 468 | 486 |
| 469 // See comment in shouldBlockFetch() about loading the main resource of a su bframe. | 487 // See comment in shouldBlockFetch() about loading the main resource of a su bframe. |
| 470 if (request.frameType() == WebURLRequest::FrameTypeNested && !SchemeRegistry ::shouldTreatURLSchemeAsCORSEnabled(request.url().protocol())) { | 488 if (request.frameType() == WebURLRequest::FrameTypeNested && !SchemeRegistry ::shouldTreatURLSchemeAsCORSEnabled(request.url().protocol())) { |
| 471 return ContextTypeOptionallyBlockable; | 489 return ContextTypeOptionallyBlockable; |
| 472 } | 490 } |
| 473 | 491 |
| 474 return contextTypeFromContext(request.requestContext(), mixedFrame); | 492 return contextTypeFromContext(request.requestContext(), mixedFrame); |
| 475 } | 493 } |
| 476 | 494 |
| 477 } // namespace blink | 495 } // namespace blink |
| OLD | NEW |