OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009, 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2009, 2012 Google Inc. All rights reserved. |
3 * Copyright (C) 2011 Apple Inc. All rights reserved. | 3 * Copyright (C) 2011 Apple 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 are | 6 * modification, are permitted provided that the following conditions are |
7 * met: | 7 * met: |
8 * | 8 * |
9 * * Redistributions of source code must retain the above copyright | 9 * * 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 609 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
620 const KURL& url, | 620 const KURL& url, |
621 const String& name, | 621 const String& name, |
622 const String& referrer, | 622 const String& referrer, |
623 HTMLFrameOwnerElement* ownerElement) | 623 HTMLFrameOwnerElement* ownerElement) |
624 { | 624 { |
625 FrameLoadRequest frameRequest(m_webFrame->frame()->document(), | 625 FrameLoadRequest frameRequest(m_webFrame->frame()->document(), |
626 ResourceRequest(url, referrer), name); | 626 ResourceRequest(url, referrer), name); |
627 return m_webFrame->createChildFrame(frameRequest, ownerElement); | 627 return m_webFrame->createChildFrame(frameRequest, ownerElement); |
628 } | 628 } |
629 | 629 |
| 630 bool FrameLoaderClientImpl::canCreatePluginWithoutRenderer(const String& mimeTyp
e) const |
| 631 { |
| 632 if (!m_webFrame->client()) |
| 633 return false; |
| 634 |
| 635 return m_webFrame->client()->canCreatePluginWithoutRenderer(mimeType); |
| 636 } |
| 637 |
630 PassRefPtr<Widget> FrameLoaderClientImpl::createPlugin( | 638 PassRefPtr<Widget> FrameLoaderClientImpl::createPlugin( |
631 const IntSize& size, // FIXME: how do we use this? | 639 const IntSize& size, // FIXME: how do we use this? |
632 HTMLPlugInElement* element, | 640 HTMLPlugInElement* element, |
633 const KURL& url, | 641 const KURL& url, |
634 const Vector<String>& paramNames, | 642 const Vector<String>& paramNames, |
635 const Vector<String>& paramValues, | 643 const Vector<String>& paramValues, |
636 const String& mimeType, | 644 const String& mimeType, |
637 bool loadManually) | 645 bool loadManually, |
| 646 PluginLoadType loadType) |
638 { | 647 { |
639 if (!m_webFrame->client()) | 648 if (!m_webFrame->client()) |
640 return 0; | 649 return 0; |
641 | 650 |
642 WebPluginParams params; | 651 WebPluginParams params; |
643 params.url = url; | 652 params.url = url; |
644 params.mimeType = mimeType; | 653 params.mimeType = mimeType; |
645 params.attributeNames = paramNames; | 654 params.attributeNames = paramNames; |
646 params.attributeValues = paramValues; | 655 params.attributeValues = paramValues; |
647 params.loadManually = loadManually; | 656 params.loadManually = loadManually; |
648 | 657 |
649 WebPlugin* webPlugin = m_webFrame->client()->createPlugin(m_webFrame, params
); | 658 WebPlugin* webPlugin = m_webFrame->client()->createPlugin(m_webFrame, params
); |
650 if (!webPlugin) | 659 if (!webPlugin) |
651 return 0; | 660 return 0; |
652 | 661 |
653 // The container takes ownership of the WebPlugin. | 662 // The container takes ownership of the WebPlugin. |
654 RefPtr<WebPluginContainerImpl> container = | 663 RefPtr<WebPluginContainerImpl> container = |
655 WebPluginContainerImpl::create(element, webPlugin); | 664 WebPluginContainerImpl::create(element, webPlugin); |
656 | 665 |
657 if (!webPlugin->initialize(container.get())) | 666 if (!webPlugin->initialize(container.get())) |
658 return 0; | 667 return 0; |
659 | 668 |
660 // The element might have been removed during plugin initialization! | 669 // The element might have been removed during plugin initialization! |
661 if (!element->renderer()) | 670 if (!element->renderer() && loadType != PluginLoadWithoutRenderer) |
662 return 0; | 671 return 0; |
663 | 672 |
664 return container; | 673 return container; |
665 } | 674 } |
666 | 675 |
667 PassRefPtr<Widget> FrameLoaderClientImpl::createJavaAppletWidget( | 676 PassRefPtr<Widget> FrameLoaderClientImpl::createJavaAppletWidget( |
668 const IntSize& size, | 677 const IntSize& size, |
669 HTMLAppletElement* element, | 678 HTMLAppletElement* element, |
670 const KURL& /* baseURL */, | 679 const KURL& /* baseURL */, |
671 const Vector<String>& paramNames, | 680 const Vector<String>& paramNames, |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
812 return adoptPtr(m_webFrame->client()->createServiceWorkerProvider(m_webFrame
, client.leakPtr())); | 821 return adoptPtr(m_webFrame->client()->createServiceWorkerProvider(m_webFrame
, client.leakPtr())); |
813 } | 822 } |
814 | 823 |
815 void FrameLoaderClientImpl::didStopAllLoaders() | 824 void FrameLoaderClientImpl::didStopAllLoaders() |
816 { | 825 { |
817 if (m_webFrame->client()) | 826 if (m_webFrame->client()) |
818 m_webFrame->client()->didAbortLoading(m_webFrame); | 827 m_webFrame->client()->didAbortLoading(m_webFrame); |
819 } | 828 } |
820 | 829 |
821 } // namespace blink | 830 } // namespace blink |
OLD | NEW |