| 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 are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * 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 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 #include "public/web/WebPrintParams.h" | 59 #include "public/web/WebPrintParams.h" |
| 60 #include "public/web/WebSettings.h" | 60 #include "public/web/WebSettings.h" |
| 61 #include "public/web/WebView.h" | 61 #include "public/web/WebView.h" |
| 62 #include "testing/gtest/include/gtest/gtest.h" | 62 #include "testing/gtest/include/gtest/gtest.h" |
| 63 #include "third_party/skia/include/core/SkPictureRecorder.h" | 63 #include "third_party/skia/include/core/SkPictureRecorder.h" |
| 64 #include "web/WebLocalFrameImpl.h" | 64 #include "web/WebLocalFrameImpl.h" |
| 65 #include "web/WebPluginContainerImpl.h" | 65 #include "web/WebPluginContainerImpl.h" |
| 66 #include "web/WebViewImpl.h" | 66 #include "web/WebViewImpl.h" |
| 67 #include "web/tests/FakeWebPlugin.h" | 67 #include "web/tests/FakeWebPlugin.h" |
| 68 #include "web/tests/FrameTestHelpers.h" | 68 #include "web/tests/FrameTestHelpers.h" |
| 69 #include "wtf/PtrUtil.h" |
| 70 #include <memory> |
| 69 | 71 |
| 70 using blink::testing::runPendingTasks; | 72 using blink::testing::runPendingTasks; |
| 71 | 73 |
| 72 namespace blink { | 74 namespace blink { |
| 73 | 75 |
| 74 class WebPluginContainerTest : public ::testing::Test { | 76 class WebPluginContainerTest : public ::testing::Test { |
| 75 public: | 77 public: |
| 76 WebPluginContainerTest() | 78 WebPluginContainerTest() |
| 77 : m_baseURL("http://www.test.com/") | 79 : m_baseURL("http://www.test.com/") |
| 78 { | 80 { |
| (...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 595 | 597 |
| 596 EXPECT_FALSE(pluginContainerImpl->isRectTopmost(topmostRect)); | 598 EXPECT_FALSE(pluginContainerImpl->isRectTopmost(topmostRect)); |
| 597 } | 599 } |
| 598 | 600 |
| 599 namespace { | 601 namespace { |
| 600 | 602 |
| 601 class CompositedPlugin : public FakeWebPlugin { | 603 class CompositedPlugin : public FakeWebPlugin { |
| 602 public: | 604 public: |
| 603 CompositedPlugin(WebLocalFrame* frame, const WebPluginParams& params) | 605 CompositedPlugin(WebLocalFrame* frame, const WebPluginParams& params) |
| 604 : FakeWebPlugin(frame, params) | 606 : FakeWebPlugin(frame, params) |
| 605 , m_layer(adoptPtr(Platform::current()->compositorSupport()->createLayer
())) | 607 , m_layer(wrapUnique(Platform::current()->compositorSupport()->createLay
er())) |
| 606 { | 608 { |
| 607 } | 609 } |
| 608 | 610 |
| 609 WebLayer* getWebLayer() const { return m_layer.get(); } | 611 WebLayer* getWebLayer() const { return m_layer.get(); } |
| 610 | 612 |
| 611 // WebPlugin | 613 // WebPlugin |
| 612 | 614 |
| 613 bool initialize(WebPluginContainer* container) override | 615 bool initialize(WebPluginContainer* container) override |
| 614 { | 616 { |
| 615 if (!FakeWebPlugin::initialize(container)) | 617 if (!FakeWebPlugin::initialize(container)) |
| 616 return false; | 618 return false; |
| 617 container->setWebLayer(m_layer.get()); | 619 container->setWebLayer(m_layer.get()); |
| 618 return true; | 620 return true; |
| 619 } | 621 } |
| 620 | 622 |
| 621 void destroy() override | 623 void destroy() override |
| 622 { | 624 { |
| 623 container()->setWebLayer(nullptr); | 625 container()->setWebLayer(nullptr); |
| 624 FakeWebPlugin::destroy(); | 626 FakeWebPlugin::destroy(); |
| 625 } | 627 } |
| 626 | 628 |
| 627 private: | 629 private: |
| 628 OwnPtr<WebLayer> m_layer; | 630 std::unique_ptr<WebLayer> m_layer; |
| 629 }; | 631 }; |
| 630 | 632 |
| 631 class ScopedSPv2 { | 633 class ScopedSPv2 { |
| 632 public: | 634 public: |
| 633 ScopedSPv2() { RuntimeEnabledFeatures::setSlimmingPaintV2Enabled(true); } | 635 ScopedSPv2() { RuntimeEnabledFeatures::setSlimmingPaintV2Enabled(true); } |
| 634 ~ScopedSPv2() { m_featuresBackup.restore(); } | 636 ~ScopedSPv2() { m_featuresBackup.restore(); } |
| 635 private: | 637 private: |
| 636 RuntimeEnabledFeatures::Backup m_featuresBackup; | 638 RuntimeEnabledFeatures::Backup m_featuresBackup; |
| 637 }; | 639 }; |
| 638 | 640 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 649 webView->settings()->setPluginsEnabled(true); | 651 webView->settings()->setPluginsEnabled(true); |
| 650 webView->resize(WebSize(800, 600)); | 652 webView->resize(WebSize(800, 600)); |
| 651 webView->updateAllLifecyclePhases(); | 653 webView->updateAllLifecyclePhases(); |
| 652 runPendingTasks(); | 654 runPendingTasks(); |
| 653 | 655 |
| 654 WebPluginContainerImpl* container = static_cast<WebPluginContainerImpl*>(get
WebPluginContainer(webView, WebString::fromUTF8("plugin"))); | 656 WebPluginContainerImpl* container = static_cast<WebPluginContainerImpl*>(get
WebPluginContainer(webView, WebString::fromUTF8("plugin"))); |
| 655 ASSERT_TRUE(container); | 657 ASSERT_TRUE(container); |
| 656 Element* element = static_cast<Element*>(container->element()); | 658 Element* element = static_cast<Element*>(container->element()); |
| 657 const auto* plugin = static_cast<const CompositedPlugin*>(container->plugin(
)); | 659 const auto* plugin = static_cast<const CompositedPlugin*>(container->plugin(
)); |
| 658 | 660 |
| 659 OwnPtr<PaintController> paintController = PaintController::create(); | 661 std::unique_ptr<PaintController> paintController = PaintController::create()
; |
| 660 GraphicsContext graphicsContext(*paintController); | 662 GraphicsContext graphicsContext(*paintController); |
| 661 container->paint(graphicsContext, CullRect(IntRect(10, 10, 400, 300))); | 663 container->paint(graphicsContext, CullRect(IntRect(10, 10, 400, 300))); |
| 662 paintController->commitNewDisplayItems(); | 664 paintController->commitNewDisplayItems(); |
| 663 | 665 |
| 664 const auto& displayItems = paintController->paintArtifact().getDisplayItemLi
st(); | 666 const auto& displayItems = paintController->paintArtifact().getDisplayItemLi
st(); |
| 665 ASSERT_EQ(1u, displayItems.size()); | 667 ASSERT_EQ(1u, displayItems.size()); |
| 666 EXPECT_EQ(element->layoutObject(), &displayItems[0].client()); | 668 EXPECT_EQ(element->layoutObject(), &displayItems[0].client()); |
| 667 ASSERT_EQ(DisplayItem::ForeignLayerPlugin, displayItems[0].getType()); | 669 ASSERT_EQ(DisplayItem::ForeignLayerPlugin, displayItems[0].getType()); |
| 668 const auto& foreignLayerDisplayItem = static_cast<const ForeignLayerDisplayI
tem&>(displayItems[0]); | 670 const auto& foreignLayerDisplayItem = static_cast<const ForeignLayerDisplayI
tem&>(displayItems[0]); |
| 669 EXPECT_EQ(plugin->getWebLayer()->ccLayer(), foreignLayerDisplayItem.layer())
; | 671 EXPECT_EQ(plugin->getWebLayer()->ccLayer(), foreignLayerDisplayItem.layer())
; |
| (...skipping 14 matching lines...) Expand all Loading... |
| 684 runPendingTasks(); | 686 runPendingTasks(); |
| 685 | 687 |
| 686 WebElement pluginContainerOneElement = webView->mainFrame()->document().getE
lementById(WebString::fromUTF8("translated-plugin")); | 688 WebElement pluginContainerOneElement = webView->mainFrame()->document().getE
lementById(WebString::fromUTF8("translated-plugin")); |
| 687 pluginContainerOneElement.pluginContainer()->setWantsWheelEvents(true); | 689 pluginContainerOneElement.pluginContainer()->setWantsWheelEvents(true); |
| 688 | 690 |
| 689 runPendingTasks(); | 691 runPendingTasks(); |
| 690 EXPECT_TRUE(webView->page()->frameHost().eventHandlerRegistry().hasEventHand
lers(EventHandlerRegistry::WheelEventBlocking)); | 692 EXPECT_TRUE(webView->page()->frameHost().eventHandlerRegistry().hasEventHand
lers(EventHandlerRegistry::WheelEventBlocking)); |
| 691 } | 693 } |
| 692 | 694 |
| 693 } // namespace blink | 695 } // namespace blink |
| OLD | NEW |