#include <lib/sys/cpp/service_directory.h>
#include "base/run_loop.h"
#include "content/public/test/browser_test.h"
#include "fuchsia_web/common/test/test_navigation_listener.h"
#include "fuchsia_web/webengine/browser/context_impl.h"
#include "fuchsia_web/webengine/test/web_engine_browser_test.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace {
using FrameHostImplBrowserTest = WebEngineBrowserTest;
}
IN_PROC_BROWSER_TEST_F(FrameHostImplBrowserTest, IsolatedFromWebContext) {
ASSERT_TRUE(embedded_test_server()->Start());
fuchsia::web::FramePtr context_frame;
context()->CreateFrameWithParams({}, context_frame.NewRequest());
base::RunLoop().RunUntilIdle();
EXPECT_TRUE(context_impl()->GetFrameImplForTest(&context_frame) != nullptr);
fuchsia::web::FrameHostPtr frame_host;
published_services().Connect(frame_host.NewRequest());
fuchsia::web::FramePtr frame_host_frame;
frame_host->CreateFrameWithParams({}, frame_host_frame.NewRequest());
base::RunLoop().RunUntilIdle();
EXPECT_TRUE(context_impl()->GetFrameImplForTest(&frame_host_frame) ==
nullptr);
}