| Index: content/renderer/browser_plugin/browser_plugin_browsertest.cc
|
| diff --git a/content/renderer/browser_plugin/browser_plugin_browsertest.cc b/content/renderer/browser_plugin/browser_plugin_browsertest.cc
|
| index f228eda3314dfb09b1fda232c1894a1e36dd544d..f44b64ac21c05eaa99b1d5561780e0eda9fe5b29 100644
|
| --- a/content/renderer/browser_plugin/browser_plugin_browsertest.cc
|
| +++ b/content/renderer/browser_plugin/browser_plugin_browsertest.cc
|
| @@ -453,19 +453,13 @@ TEST_F(BrowserPluginTest, ImmutableAttributesAfterNavigation) {
|
| ASSERT_TRUE(create_msg);
|
|
|
| int create_instance_id;
|
| - std::string storage_partition;
|
| - bool persist_storage = true;
|
| - bool focused = false;
|
| - bool visible = false;
|
| + BrowserPluginHostMsg_CreateGuest_Params params;
|
| BrowserPluginHostMsg_CreateGuest::Read(
|
| create_msg,
|
| &create_instance_id,
|
| - &storage_partition,
|
| - &persist_storage,
|
| - &focused,
|
| - &visible);
|
| - EXPECT_STREQ("storage", storage_partition.c_str());
|
| - EXPECT_FALSE(persist_storage);
|
| + ¶ms);
|
| + EXPECT_STREQ("storage", params.storage_partition_id.c_str());
|
| + EXPECT_FALSE(params.persist_storage);
|
|
|
| const IPC::Message* msg =
|
| browser_plugin_manager()->sink().GetUniqueMessageMatching(
|
| @@ -640,4 +634,66 @@ TEST_F(BrowserPluginTest, RemoveBrowserPluginOnExit) {
|
| EXPECT_EQ(NULL, browser_plugin_manager()->GetBrowserPlugin(instance_id));
|
| }
|
|
|
| +TEST_F(BrowserPluginTest, AutoSizeAttributes) {
|
| + std::string html = StringPrintf(kHTMLForSourcelessPluginObject,
|
| + content::kBrowserPluginMimeType);
|
| + LoadHTML(html.c_str());
|
| + const char* kSetAutoSizeParametersAndNavigate =
|
| + "var browserplugin = document.getElementById('browserplugin');"
|
| + "browserplugin.autoSize = true;"
|
| + "browserplugin.minWidth = 42;"
|
| + "browserplugin.minHeight = 43;"
|
| + "browserplugin.maxWidth = 1337;"
|
| + "browserplugin.maxHeight = 1338;"
|
| + "browserplugin.src = 'foobar';";
|
| + const char* kDisableAutoSize =
|
| + "document.getElementById('browserplugin').autoSize = false;";
|
| +
|
| + // Set some autosize parameters before navigating then navigate.
|
| + // Verify that the BrowserPluginHostMsg_CreateGuest message contains
|
| + // the correct autosize parameters.
|
| + ExecuteJavaScript(kSetAutoSizeParametersAndNavigate);
|
| + ProcessPendingMessages();
|
| + {
|
| + const IPC::Message* create_msg =
|
| + browser_plugin_manager()->sink().GetUniqueMessageMatching(
|
| + BrowserPluginHostMsg_CreateGuest::ID);
|
| + ASSERT_TRUE(create_msg);
|
| +
|
| + int create_instance_id;
|
| + BrowserPluginHostMsg_CreateGuest_Params params;
|
| + BrowserPluginHostMsg_CreateGuest::Read(
|
| + create_msg,
|
| + &create_instance_id,
|
| + ¶ms);
|
| + EXPECT_TRUE(params.autosize.enable);
|
| + EXPECT_EQ(42, params.autosize.minwidth);
|
| + EXPECT_EQ(43, params.autosize.minheight);
|
| + EXPECT_EQ(1337, params.autosize.maxwidth);
|
| + EXPECT_EQ(1338, params.autosize.maxheight);
|
| + }
|
| + // Disable autosize and verify that the BrowserPlugin issues a
|
| + // BrowserPluginHostMsg_SetAutoSize with the change.
|
| + ExecuteJavaScript(kDisableAutoSize);
|
| + ProcessPendingMessages();
|
| + {
|
| + const IPC::Message* autosize_msg =
|
| + browser_plugin_manager()->sink().GetUniqueMessageMatching(
|
| + BrowserPluginHostMsg_SetAutoSize::ID);
|
| + ASSERT_TRUE(autosize_msg);
|
| +
|
| + int instance_id;
|
| + BrowserPluginHostMsg_AutoSize_Params params;
|
| + BrowserPluginHostMsg_SetAutoSize::Read(
|
| + autosize_msg,
|
| + &instance_id,
|
| + ¶ms);
|
| + EXPECT_FALSE(params.enable);
|
| + EXPECT_EQ(42, params.minwidth);
|
| + EXPECT_EQ(43, params.minheight);
|
| + EXPECT_EQ(1337, params.maxwidth);
|
| + EXPECT_EQ(1338, params.maxheight);
|
| + }
|
| +}
|
| +
|
| } // namespace content
|
|
|