Chromium Code Reviews| Index: chrome/browser/plugins/plugin_power_saver_browsertest.cc |
| diff --git a/chrome/browser/plugins/plugin_power_saver_browsertest.cc b/chrome/browser/plugins/plugin_power_saver_browsertest.cc |
| index 9b0df992ea8d2ae0fcb23ace7fa55d7c704983ef..0f63182b72ebe0163cb11346039fd69fd64e1ff2 100644 |
| --- a/chrome/browser/plugins/plugin_power_saver_browsertest.cc |
| +++ b/chrome/browser/plugins/plugin_power_saver_browsertest.cc |
| @@ -10,6 +10,7 @@ |
| #include "chrome/common/chrome_switches.h" |
| #include "chrome/test/base/in_process_browser_test.h" |
| #include "chrome/test/base/ui_test_utils.h" |
| +#include "content/public/common/content_switches.h" |
| #include "content/public/test/browser_test_utils.h" |
| #include "content/public/test/ppapi_test_utils.h" |
| #include "ppapi/shared_impl/ppapi_switches.h" |
| @@ -97,6 +98,7 @@ class PluginPowerSaverBrowserTest : virtual public InProcessBrowserTest { |
| void SetUpCommandLine(base::CommandLine* command_line) override { |
| command_line->AppendSwitch(switches::kEnablePluginPowerSaver); |
| command_line->AppendSwitch(switches::kEnablePepperTesting); |
| + command_line->AppendSwitch(switches::kEnablePluginPlaceholderTesting); |
| ASSERT_TRUE(ppapi::RegisterPowerSaverTestPlugin(command_line)); |
| } |
| @@ -123,6 +125,22 @@ class PluginPowerSaverBrowserTest : virtual public InProcessBrowserTest { |
| // test has missed the above two events. |
| void SimulateClickAndAwaitMarkedEssential(const char* element_id, |
| const gfx::Point& point) { |
| + // Waits for the placeholder to be ready to be clicked first. |
| + std::string result = RunTestScript( |
| + "function handleEvent(event) {" |
| + " if (event.data === 'placeholderLoaded') {" |
| + " window.domAutomationController.send('ready');" |
| + " plugin.removeEventListener('message', handleEvent);" |
| + " }" |
| + "}" |
| + "plugin.addEventListener('message', handleEvent);" |
| + "if (plugin.hasAttribute('placeholderLoaded')) {" |
|
Lei Zhang
2015/05/11 22:26:20
Just do this instead?
if (plugin.hasAttribute('pl
tommycli
2015/05/11 23:24:10
Hi. That's what I initially did, but it flaked out
|
| + " window.domAutomationController.send('ready');" |
| + " plugin.removeEventListener('message', handleEvent);" |
| + "}", |
| + GetActiveWebContents(), element_id); |
| + EXPECT_EQ("ready", result); |
|
Lei Zhang
2015/05/11 22:26:20
ASSERT_EQ() ? Otherwise, if this fails, you would
tommycli
2015/05/11 23:24:10
Done. good call
|
| + |
| content::SimulateMouseClickAt(GetActiveWebContents(), 0 /* modifiers */, |
| blink::WebMouseEvent::ButtonLeft, point); |
| @@ -181,9 +199,8 @@ IN_PROC_BROWSER_TEST_F(PluginPowerSaverBrowserTest, |
| EXPECT_FALSE(PluginLoaded(GetActiveWebContents(), "plugin_embed_srcset")); |
| } |
| -// flaky: crbug.com/481687 |
| IN_PROC_BROWSER_TEST_F(PluginPowerSaverBrowserTest, |
| - DISABLED_PluginMarkedEssentialAfterPosterClicked) { |
| + PluginMarkedEssentialAfterPosterClicked) { |
| LoadHTML( |
| "<object id='plugin' type='application/x-ppapi-tests' " |
| " width='400' height='100' poster='snapshot1x.png'></object>"); |