OLD | NEW |
1 /** | 1 /** |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2000 Stefan Schimanski (1Stein@gmx.de) | 4 * (C) 2000 Stefan Schimanski (1Stein@gmx.de) |
5 * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc. | 5 * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 #include "core/layout/LayoutPart.h" | 42 #include "core/layout/LayoutPart.h" |
43 #include "core/loader/FrameLoaderClient.h" | 43 #include "core/loader/FrameLoaderClient.h" |
44 #include "core/loader/MixedContentChecker.h" | 44 #include "core/loader/MixedContentChecker.h" |
45 #include "core/page/Page.h" | 45 #include "core/page/Page.h" |
46 #include "core/page/scrolling/ScrollingCoordinator.h" | 46 #include "core/page/scrolling/ScrollingCoordinator.h" |
47 #include "core/plugins/PluginView.h" | 47 #include "core/plugins/PluginView.h" |
48 #include "platform/Logging.h" | 48 #include "platform/Logging.h" |
49 #include "platform/MIMETypeFromURL.h" | 49 #include "platform/MIMETypeFromURL.h" |
50 #include "platform/MIMETypeRegistry.h" | 50 #include "platform/MIMETypeRegistry.h" |
51 #include "platform/Widget.h" | 51 #include "platform/Widget.h" |
| 52 #include "platform/network/ResourceRequest.h" |
52 #include "platform/plugins/PluginData.h" | 53 #include "platform/plugins/PluginData.h" |
53 #include "public/platform/WebURLRequest.h" | 54 #include "public/platform/WebURLRequest.h" |
54 | 55 |
55 namespace blink { | 56 namespace blink { |
56 | 57 |
57 using namespace HTMLNames; | 58 using namespace HTMLNames; |
58 | 59 |
59 HTMLPlugInElement::HTMLPlugInElement(const QualifiedName& tagName, Document& doc
, bool createdByParser, PreferPlugInsForImagesOption preferPlugInsForImagesOptio
n) | 60 HTMLPlugInElement::HTMLPlugInElement(const QualifiedName& tagName, Document& doc
, bool createdByParser, PreferPlugInsForImagesOption preferPlugInsForImagesOptio
n) |
60 : HTMLFrameOwnerElement(tagName, doc) | 61 : HTMLFrameOwnerElement(tagName, doc) |
61 , m_isDelayingLoadEvent(false) | 62 , m_isDelayingLoadEvent(false) |
(...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
560 AtomicString declaredMimeType = document().isPluginDocument() && document().
localOwner() ? | 561 AtomicString declaredMimeType = document().isPluginDocument() && document().
localOwner() ? |
561 document().localOwner()->fastGetAttribute(HTMLNames::typeAttr) : | 562 document().localOwner()->fastGetAttribute(HTMLNames::typeAttr) : |
562 fastGetAttribute(HTMLNames::typeAttr); | 563 fastGetAttribute(HTMLNames::typeAttr); |
563 if (!document().contentSecurityPolicy()->allowObjectFromSource(url) | 564 if (!document().contentSecurityPolicy()->allowObjectFromSource(url) |
564 || !document().contentSecurityPolicy()->allowPluginTypeForDocument(docum
ent(), mimeType, declaredMimeType, url)) { | 565 || !document().contentSecurityPolicy()->allowPluginTypeForDocument(docum
ent(), mimeType, declaredMimeType, url)) { |
565 layoutEmbeddedItem().setPluginUnavailabilityReason(LayoutEmbeddedObject:
:PluginBlockedByContentSecurityPolicy); | 566 layoutEmbeddedItem().setPluginUnavailabilityReason(LayoutEmbeddedObject:
:PluginBlockedByContentSecurityPolicy); |
566 return false; | 567 return false; |
567 } | 568 } |
568 // If the URL is empty, a plugin could still be instantiated if a MIME-type | 569 // If the URL is empty, a plugin could still be instantiated if a MIME-type |
569 // is specified. | 570 // is specified. |
570 return (!mimeType.isEmpty() && url.isEmpty()) || !MixedContentChecker::shoul
dBlockFetch(frame, WebURLRequest::RequestContextObject, WebURLRequest::FrameType
None, url); | 571 return (!mimeType.isEmpty() && url.isEmpty()) || !MixedContentChecker::shoul
dBlockFetch(frame, WebURLRequest::RequestContextObject, WebURLRequest::FrameType
None, ResourceRequest::RedirectStatus::NoRedirect, url); |
571 } | 572 } |
572 | 573 |
573 bool HTMLPlugInElement::allowedToLoadPlugin(const KURL& url, const String& mimeT
ype) | 574 bool HTMLPlugInElement::allowedToLoadPlugin(const KURL& url, const String& mimeT
ype) |
574 { | 575 { |
575 if (document().isSandboxed(SandboxPlugins)) { | 576 if (document().isSandboxed(SandboxPlugins)) { |
576 document().addConsoleMessage(ConsoleMessage::create(SecurityMessageSourc
e, ErrorMessageLevel, | 577 document().addConsoleMessage(ConsoleMessage::create(SecurityMessageSourc
e, ErrorMessageLevel, |
577 "Failed to load '" + url.elidedString() + "' as a plugin, because th
e frame into which the plugin is loading is sandboxed.")); | 578 "Failed to load '" + url.elidedString() + "' as a plugin, because th
e frame into which the plugin is loading is sandboxed.")); |
578 return false; | 579 return false; |
579 } | 580 } |
580 return true; | 581 return true; |
(...skipping 16 matching lines...) Expand all Loading... |
597 | 598 |
598 void HTMLPlugInElement::lazyReattachIfNeeded() | 599 void HTMLPlugInElement::lazyReattachIfNeeded() |
599 { | 600 { |
600 if (!useFallbackContent() && needsWidgetUpdate() && layoutObject() && !isIma
geType()) { | 601 if (!useFallbackContent() && needsWidgetUpdate() && layoutObject() && !isIma
geType()) { |
601 lazyReattachIfAttached(); | 602 lazyReattachIfAttached(); |
602 setPersistedPluginWidget(nullptr); | 603 setPersistedPluginWidget(nullptr); |
603 } | 604 } |
604 } | 605 } |
605 | 606 |
606 } // namespace blink | 607 } // namespace blink |
OLD | NEW |