| 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 582 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 593 const KURL& url, | 593 const KURL& url, |
| 594 const String& name, | 594 const String& name, |
| 595 const String& referrer, | 595 const String& referrer, |
| 596 HTMLFrameOwnerElement* ownerElement) | 596 HTMLFrameOwnerElement* ownerElement) |
| 597 { | 597 { |
| 598 FrameLoadRequest frameRequest(m_webFrame->frame()->document()->securityOrigi
n(), | 598 FrameLoadRequest frameRequest(m_webFrame->frame()->document()->securityOrigi
n(), |
| 599 ResourceRequest(url, referrer), name); | 599 ResourceRequest(url, referrer), name); |
| 600 return m_webFrame->createChildFrame(frameRequest, ownerElement); | 600 return m_webFrame->createChildFrame(frameRequest, ownerElement); |
| 601 } | 601 } |
| 602 | 602 |
| 603 bool FrameLoaderClientImpl::canCreatePluginWithoutRenderer(const String& mimeTyp
e) const |
| 604 { |
| 605 if (!m_webFrame->client()) |
| 606 return false; |
| 607 |
| 608 return m_webFrame->client()->canCreatePluginWithoutRenderer(mimeType); |
| 609 } |
| 610 |
| 603 PassRefPtr<Widget> FrameLoaderClientImpl::createPlugin( | 611 PassRefPtr<Widget> FrameLoaderClientImpl::createPlugin( |
| 604 const IntSize& size, // FIXME: how do we use this? | 612 const IntSize& size, // FIXME: how do we use this? |
| 605 HTMLPlugInElement* element, | 613 HTMLPlugInElement* element, |
| 606 const KURL& url, | 614 const KURL& url, |
| 607 const Vector<String>& paramNames, | 615 const Vector<String>& paramNames, |
| 608 const Vector<String>& paramValues, | 616 const Vector<String>& paramValues, |
| 609 const String& mimeType, | 617 const String& mimeType, |
| 610 bool loadManually) | 618 bool loadManually, |
| 619 PluginLoadType loadType) |
| 611 { | 620 { |
| 612 if (!m_webFrame->client()) | 621 if (!m_webFrame->client()) |
| 613 return 0; | 622 return 0; |
| 614 | 623 |
| 615 WebPluginParams params; | 624 WebPluginParams params; |
| 616 params.url = url; | 625 params.url = url; |
| 617 params.mimeType = mimeType; | 626 params.mimeType = mimeType; |
| 618 params.attributeNames = paramNames; | 627 params.attributeNames = paramNames; |
| 619 params.attributeValues = paramValues; | 628 params.attributeValues = paramValues; |
| 620 params.loadManually = loadManually; | 629 params.loadManually = loadManually; |
| 621 | 630 |
| 622 WebPlugin* webPlugin = m_webFrame->client()->createPlugin(m_webFrame, params
); | 631 WebPlugin* webPlugin = m_webFrame->client()->createPlugin(m_webFrame, params
); |
| 623 if (!webPlugin) | 632 if (!webPlugin) |
| 624 return 0; | 633 return 0; |
| 625 | 634 |
| 626 // The container takes ownership of the WebPlugin. | 635 // The container takes ownership of the WebPlugin. |
| 627 RefPtr<WebPluginContainerImpl> container = | 636 RefPtr<WebPluginContainerImpl> container = |
| 628 WebPluginContainerImpl::create(element, webPlugin); | 637 WebPluginContainerImpl::create(element, webPlugin); |
| 629 | 638 |
| 630 if (!webPlugin->initialize(container.get())) | 639 if (!webPlugin->initialize(container.get())) |
| 631 return 0; | 640 return 0; |
| 632 | 641 |
| 633 // The element might have been removed during plugin initialization! | 642 // The element might have been removed during plugin initialization! |
| 634 if (!element->renderer()) | 643 if (!element->renderer() && loadType != PluginLoadWithoutRenderer) |
| 635 return 0; | 644 return 0; |
| 636 | 645 |
| 637 return container; | 646 return container; |
| 638 } | 647 } |
| 639 | 648 |
| 640 PassRefPtr<Widget> FrameLoaderClientImpl::createJavaAppletWidget( | 649 PassRefPtr<Widget> FrameLoaderClientImpl::createJavaAppletWidget( |
| 641 const IntSize& size, | 650 const IntSize& size, |
| 642 HTMLAppletElement* element, | 651 HTMLAppletElement* element, |
| 643 const KURL& /* baseURL */, | 652 const KURL& /* baseURL */, |
| 644 const Vector<String>& paramNames, | 653 const Vector<String>& paramNames, |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 782 return adoptPtr(m_webFrame->client()->createServiceWorkerProvider(m_webFrame
, client.leakPtr())); | 791 return adoptPtr(m_webFrame->client()->createServiceWorkerProvider(m_webFrame
, client.leakPtr())); |
| 783 } | 792 } |
| 784 | 793 |
| 785 void FrameLoaderClientImpl::didStopAllLoaders() | 794 void FrameLoaderClientImpl::didStopAllLoaders() |
| 786 { | 795 { |
| 787 if (m_webFrame->client()) | 796 if (m_webFrame->client()) |
| 788 m_webFrame->client()->didAbortLoading(m_webFrame); | 797 m_webFrame->client()->didAbortLoading(m_webFrame); |
| 789 } | 798 } |
| 790 | 799 |
| 791 } // namespace blink | 800 } // namespace blink |
| OLD | NEW |