Commit 6e72acaf authored by Yang Guo's avatar Yang Guo Committed by Commit Bot

Revert "[devtools] Allow reloading of extension with devtools"

This reverts commit 6089b211.

Reason for revert: Failure here: https://ci.chromium.org/p/chromium/builders/ci/linux-trusty-rel/4085

I'm half assuming that this test is a bit flaky?

Original change's description:
> [devtools] Allow reloading of extension with devtools
> 
> This patches restricts the changes from [1] to pdf embeds.
> 
> [1]: https://chromium-review.googlesource.com/c/chromium/src/+/1659983
> 
> Bug: chromium:997521
> Change-Id: I8a94c9c1eecf132388508ceed47b426f2c842ed0
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1798350
> Reviewed-by: Yang Guo <yangguo@chromium.org>
> Reviewed-by: James MacLean <wjmaclean@chromium.org>
> Commit-Queue: Jan Scheffler <janscheffler@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#708538}

TBR=yangguo@chromium.org,wjmaclean@chromium.org,luoe@chromium.org,janscheffler@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: chromium:997521
Change-Id: I79849fb39d89d84c4e7a5a9eb72494da13bf5119
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1886817Reviewed-by: default avatarYang Guo <yangguo@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#710336}
parent 746236c4
......@@ -13,13 +13,11 @@
#include "base/threading/thread_task_runner_handle.h"
#include "build/build_config.h"
#include "chrome/browser/extensions/extension_apitest.h"
#include "chrome/browser/extensions/extension_tab_util.h"
#include "chrome/browser/metrics/subprocess_metrics_provider.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/find_bar/find_tab_helper.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/common/pdf_util.h"
#include "chrome/common/webui_url_constants.h"
#include "chrome/test/base/ui_test_utils.h"
#include "components/guest_view/browser/guest_view_manager.h"
#include "components/guest_view/browser/guest_view_manager_delegate.h"
......@@ -42,7 +40,6 @@
#include "extensions/browser/guest_view/mime_handler_view/test_mime_handler_view_guest.h"
#include "extensions/common/constants.h"
#include "extensions/common/guest_view/mime_handler_view_uma_types.h"
#include "extensions/common/manifest_handlers/options_page_info.h"
#include "extensions/test/extension_test_message_listener.h"
#include "extensions/test/result_catcher.h"
#include "net/dns/mock_host_resolver.h"
......@@ -57,11 +54,8 @@
#include "ui/aura/window.h"
#endif
using extensions::Extension;
using extensions::ExtensionsAPIClient;
using extensions::ExtensionTabUtil;
using extensions::MimeHandlerViewGuest;
using extensions::OptionsPageInfo;
using extensions::TestMimeHandlerViewGuest;
using guest_view::GuestViewManager;
using guest_view::TestGuestViewManager;
......@@ -666,7 +660,7 @@ class StubDevToolsAgentHostClient : public content::DevToolsAgentHostClient {
} // namespace
IN_PROC_BROWSER_TEST_P(ChromeMimeHandlerViewCrossProcessTest,
GuestDevToolsReloadsEmbedderForPDFFiles) {
GuestDevToolsReloadsEmbedder) {
GURL data_url("data:application/pdf,foo");
ui_test_utils::NavigateToURL(browser(), data_url);
auto* embedder_web_contents =
......@@ -694,51 +688,6 @@ IN_PROC_BROWSER_TEST_P(ChromeMimeHandlerViewCrossProcessTest,
devtools_agent_host->DetachClient(&devtools_agent_host_client);
}
IN_PROC_BROWSER_TEST_P(ChromeMimeHandlerViewCrossProcessTest,
GuestDevToolsReloadsEmbedder) {
// Load an extension with an options view
const Extension* options_in_view =
LoadExtension(test_data_dir_.AppendASCII("../options_page_in_view"));
ASSERT_TRUE(options_in_view);
ASSERT_TRUE(OptionsPageInfo::HasOptionsPage(options_in_view));
GURL options_url = GURL(std::string(chrome::kChromeUIExtensionsURL) +
"?options=" + options_in_view->id());
EXPECT_TRUE(ExtensionTabUtil::OpenOptionsPage(options_in_view, browser()));
EXPECT_TRUE(content::WaitForLoadStop(
browser()->tab_strip_model()->GetActiveWebContents()));
EXPECT_EQ(options_url, browser()
->tab_strip_model()
->GetActiveWebContents()
->GetLastCommittedURL());
auto* embedder_web_contents =
browser()->tab_strip_model()->GetWebContentsAt(0);
auto* guest_web_contents = GetGuestViewManager()->WaitForSingleGuestCreated();
EXPECT_NE(embedder_web_contents, guest_web_contents);
while (guest_web_contents->IsLoading()) {
base::RunLoop run_loop;
base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
FROM_HERE, run_loop.QuitClosure(), TestTimeouts::tiny_timeout());
run_loop.Run();
}
// Load DevTools.
scoped_refptr<content::DevToolsAgentHost> devtools_agent_host =
content::DevToolsAgentHost::GetOrCreateFor(guest_web_contents);
StubDevToolsAgentHostClient devtools_agent_host_client;
devtools_agent_host->AttachClient(&devtools_agent_host_client);
// Reload via guest's DevTools, embedder should reload.
content::TestNavigationObserver reload_observer(guest_web_contents);
devtools_agent_host->DispatchProtocolMessage(
&devtools_agent_host_client, R"({"id":1,"method": "Page.reload"})");
reload_observer.Wait();
devtools_agent_host->DetachClient(&devtools_agent_host_client);
}
// This test verifies that a display:none frame loading a MimeHandlerView type
// will end up creating a MimeHandlerview. NOTE: this is an exception to support
// printing in Google docs (see https://crbug.com/978240).
......
......@@ -404,14 +404,11 @@ void PageHandler::Reload(Maybe<bool> bypassCache,
return;
}
// In the case of inspecting a PDF GuestView, we should reload
// In the case of inspecting a GuestView (e.g. a PDF), we should reload
// the outer web contents (embedder), since otherwise reloading the guest by
// itself will fail.
auto* outer_web_contents = web_contents->GetOuterWebContents();
if (outer_web_contents &&
outer_web_contents->GetContentsMimeType() == "application/pdf") {
web_contents = outer_web_contents;
}
if (web_contents->GetOuterWebContents())
web_contents = web_contents->GetOuterWebContents();
// It is important to fallback before triggering reload, so that
// renderer could prepare beforehand.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment