Use an opaque type for FrameTreeNode IDs, part 10
content/public/test, content/test and content/web_test Bug: 361344235 Change-Id: I373be4b5251ef29c625b3030644d956c5a4581a9 Include-Ci-Only-Tests: true Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5837703 Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com> Reviewed-by: Charlie Reis <creis@chromium.org> Auto-Submit: Avi Drissman <avi@chromium.org> Commit-Queue: Avi Drissman <avi@chromium.org> Cr-Commit-Position: refs/heads/main@{#1351799}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
ef92fffa70
commit
5ab949e1f9
content
browser
devtools
protocol
shared_storage
public
test
test
content_browser_test_utils_internal.cccontent_browser_test_utils_internal.hfenced_frame_test_utils.ccnavigation_simulator_impl.cctest_select_url_fenced_frame_config_observer_impl.cctest_select_url_fenced_frame_config_observer_impl.htest_web_contents.cctest_web_contents.hweb_contents_observer_consistency_checker.h
web_test
@ -363,7 +363,7 @@ class StorageHandler::SharedStorageObserver
|
||||
void OnSharedStorageAccessed(
|
||||
const base::Time& access_time,
|
||||
AccessType type,
|
||||
int main_frame_id,
|
||||
FrameTreeNodeId main_frame_id,
|
||||
const std::string& owner_origin,
|
||||
const SharedStorageEventParams& params) override {
|
||||
DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
||||
|
@ -612,7 +612,7 @@ class TestSharedStorageObserver
|
||||
void OnSharedStorageAccessed(
|
||||
const base::Time& access_time,
|
||||
AccessType type,
|
||||
int main_frame_id,
|
||||
FrameTreeNodeId main_frame_id,
|
||||
const std::string& owner_origin,
|
||||
const SharedStorageEventParams& params) override {
|
||||
accesses_.emplace_back(type, main_frame_id, owner_origin, params);
|
||||
|
@ -66,7 +66,7 @@ class CONTENT_EXPORT SharedStorageWorkletHostManager {
|
||||
virtual void OnSharedStorageAccessed(
|
||||
const base::Time& access_time,
|
||||
AccessType type,
|
||||
int main_frame_id,
|
||||
FrameTreeNodeId main_frame_id,
|
||||
const std::string& owner_origin,
|
||||
const SharedStorageEventParams& params) = 0;
|
||||
|
||||
|
@ -3126,7 +3126,7 @@ class FrameDeletedObserver::FrameTreeNodeObserverImpl
|
||||
|
||||
bool IsDestroyed() const { return owner_ == nullptr; }
|
||||
|
||||
int frame_tree_node_id() const { return frame_tree_node_id_; }
|
||||
FrameTreeNodeId frame_tree_node_id() const { return frame_tree_node_id_; }
|
||||
|
||||
private:
|
||||
// FrameTreeNode::Observer:
|
||||
@ -3137,7 +3137,7 @@ class FrameDeletedObserver::FrameTreeNodeObserverImpl
|
||||
}
|
||||
}
|
||||
|
||||
const int frame_tree_node_id_;
|
||||
const content::FrameTreeNodeId frame_tree_node_id_;
|
||||
raw_ptr<FrameTreeNode> owner_;
|
||||
base::RunLoop run_loop_;
|
||||
};
|
||||
@ -3156,7 +3156,7 @@ bool FrameDeletedObserver::IsDeleted() const {
|
||||
return impl_->IsDestroyed();
|
||||
}
|
||||
|
||||
int FrameDeletedObserver::GetFrameTreeNodeId() const {
|
||||
content::FrameTreeNodeId FrameDeletedObserver::GetFrameTreeNodeId() const {
|
||||
return impl_->frame_tree_node_id();
|
||||
}
|
||||
|
||||
|
@ -1678,7 +1678,7 @@ class FrameDeletedObserver {
|
||||
|
||||
bool IsDeleted() const;
|
||||
|
||||
int GetFrameTreeNodeId() const;
|
||||
FrameTreeNodeId GetFrameTreeNodeId() const;
|
||||
|
||||
private:
|
||||
// Private impl struct which hides non public types including FrameTreeNode.
|
||||
|
@ -44,7 +44,7 @@ class NavigationHandleObserver : public WebContentsObserver {
|
||||
bool is_renderer_initiated() { return is_renderer_initiated_; }
|
||||
bool is_same_document() { return is_same_document_; }
|
||||
bool was_redirected() { return was_redirected_; }
|
||||
int frame_tree_node_id() { return frame_tree_node_id_; }
|
||||
FrameTreeNodeId frame_tree_node_id() { return frame_tree_node_id_; }
|
||||
const GURL& last_committed_url() { return last_committed_url_; }
|
||||
ui::PageTransition page_transition() { return page_transition_; }
|
||||
net::Error net_error_code() { return net_error_code_; }
|
||||
@ -78,7 +78,7 @@ class NavigationHandleObserver : public WebContentsObserver {
|
||||
bool is_renderer_initiated_ = true;
|
||||
bool is_same_document_ = false;
|
||||
bool was_redirected_ = false;
|
||||
int frame_tree_node_id_ = RenderFrameHost::kNoFrameTreeNodeId;
|
||||
FrameTreeNodeId frame_tree_node_id_;
|
||||
ui::PageTransition page_transition_ = ui::PAGE_TRANSITION_LINK;
|
||||
GURL expected_start_url_;
|
||||
GURL last_committed_url_;
|
||||
|
@ -52,7 +52,7 @@ class TestFrameNavigationObserver : public WebContentsObserver {
|
||||
void DidStopLoading() override;
|
||||
|
||||
// The id of the FrameTreeNode in which navigations are peformed.
|
||||
int frame_tree_node_id_;
|
||||
FrameTreeNodeId frame_tree_node_id_;
|
||||
|
||||
// If true the navigation has started.
|
||||
bool navigation_started_ = false;
|
||||
|
@ -186,7 +186,7 @@ class WebContentsTester {
|
||||
// Starts prerendering a page with |url|, and returns the root frame tree node
|
||||
// id of the page. The page has a pending navigation in the root frame tree
|
||||
// node when this method returns.
|
||||
virtual int AddPrerender(const GURL& url) = 0;
|
||||
virtual FrameTreeNodeId AddPrerender(const GURL& url) = 0;
|
||||
// Starts prerendering a page, simulates a navigation to |url| in the main
|
||||
// frame and returns the main frame of the page after the navigation is
|
||||
// complete.
|
||||
|
@ -587,7 +587,7 @@ void FileChooserDelegate::RunFileChooser(
|
||||
}
|
||||
|
||||
FrameTestNavigationManager::FrameTestNavigationManager(
|
||||
int filtering_frame_tree_node_id,
|
||||
FrameTreeNodeId filtering_frame_tree_node_id,
|
||||
WebContents* web_contents,
|
||||
const GURL& url)
|
||||
: TestNavigationManager(web_contents, url),
|
||||
|
@ -253,7 +253,7 @@ class FileChooserDelegate : public WebContentsDelegate {
|
||||
// the given frame tree node.
|
||||
class FrameTestNavigationManager : public TestNavigationManager {
|
||||
public:
|
||||
FrameTestNavigationManager(int frame_tree_node_id,
|
||||
FrameTestNavigationManager(FrameTreeNodeId frame_tree_node_id,
|
||||
WebContents* web_contents,
|
||||
const GURL& url);
|
||||
|
||||
@ -266,7 +266,7 @@ class FrameTestNavigationManager : public TestNavigationManager {
|
||||
bool ShouldMonitorNavigation(NavigationHandle* handle) override;
|
||||
|
||||
// Notifications are filtered so only this frame is monitored.
|
||||
int filtering_frame_tree_node_id_;
|
||||
FrameTreeNodeId filtering_frame_tree_node_id_;
|
||||
};
|
||||
|
||||
// An observer that can wait for a specific URL to be committed in a specific
|
||||
@ -287,7 +287,7 @@ class UrlCommitObserver : WebContentsObserver {
|
||||
void DidFinishNavigation(NavigationHandle* navigation_handle) override;
|
||||
|
||||
// The id of the FrameTreeNode in which navigations are peformed.
|
||||
int frame_tree_node_id_;
|
||||
FrameTreeNodeId frame_tree_node_id_;
|
||||
|
||||
// The URL this observer is expecting to be committed.
|
||||
GURL url_;
|
||||
@ -587,7 +587,7 @@ class FrameNavigateParamsCapturer : public WebContentsObserver {
|
||||
// The id of the FrameTreeNode whose navigations to observe. If this is not
|
||||
// set, then this FrameNavigateParamsCapturer observes all navigations that
|
||||
// happen in the observed WebContents.
|
||||
std::optional<int> frame_tree_node_id_;
|
||||
std::optional<FrameTreeNodeId> frame_tree_node_id_;
|
||||
|
||||
// How many navigations remain to capture.
|
||||
int navigations_remaining_ = 1;
|
||||
|
@ -22,7 +22,7 @@ namespace content {
|
||||
using SharedStorageReportingMap = base::flat_map<std::string, ::GURL>;
|
||||
|
||||
FrameTreeNode* GetFencedFrameRootNode(FrameTreeNode* node) {
|
||||
int inner_node_id =
|
||||
FrameTreeNodeId inner_node_id =
|
||||
node->current_frame_host()->inner_tree_main_frame_tree_node_id();
|
||||
return FrameTreeNode::GloballyFindByID(inner_node_id);
|
||||
}
|
||||
|
@ -93,10 +93,11 @@ int64_t g_unique_identifier = 0;
|
||||
FrameTreeNode* GetFrameTreeNodeForPendingEntry(
|
||||
NavigationControllerImpl& controller) {
|
||||
NavigationEntryImpl* pending_entry = controller.GetPendingEntry();
|
||||
int frame_tree_node_id = pending_entry->frame_tree_node_id();
|
||||
FrameTreeNodeId frame_tree_node_id = pending_entry->frame_tree_node_id();
|
||||
FrameTree& frame_tree = controller.frame_tree();
|
||||
if (frame_tree_node_id == FrameTreeNode::kFrameTreeNodeInvalidId)
|
||||
if (frame_tree_node_id.is_null()) {
|
||||
return frame_tree.root();
|
||||
}
|
||||
return frame_tree.FindByID(frame_tree_node_id);
|
||||
}
|
||||
|
||||
|
@ -19,7 +19,7 @@ TestSelectURLFencedFrameConfigObserverImpl::
|
||||
void TestSelectURLFencedFrameConfigObserverImpl::OnSharedStorageAccessed(
|
||||
const base::Time& access_time,
|
||||
AccessType type,
|
||||
int main_frame_id,
|
||||
FrameTreeNodeId main_frame_id,
|
||||
const std::string& owner_origin,
|
||||
const SharedStorageEventParams& params) {}
|
||||
|
||||
|
@ -20,7 +20,7 @@ class TestSelectURLFencedFrameConfigObserverImpl
|
||||
|
||||
void OnSharedStorageAccessed(const base::Time& access_time,
|
||||
AccessType type,
|
||||
int main_frame_id,
|
||||
FrameTreeNodeId main_frame_id,
|
||||
const std::string& owner_origin,
|
||||
const SharedStorageEventParams& params) override;
|
||||
void OnUrnUuidGenerated(const GURL& urn_uuid) override;
|
||||
|
@ -451,7 +451,7 @@ TestWebContents::GetPictureInPictureOptions() const {
|
||||
return WebContentsImpl::GetPictureInPictureOptions();
|
||||
}
|
||||
|
||||
int TestWebContents::AddPrerender(const GURL& url) {
|
||||
FrameTreeNodeId TestWebContents::AddPrerender(const GURL& url) {
|
||||
DCHECK(!base::FeatureList::IsEnabled(
|
||||
blink::features::kPrerender2MemoryControls));
|
||||
|
||||
@ -472,8 +472,8 @@ int TestWebContents::AddPrerender(const GURL& url) {
|
||||
|
||||
TestRenderFrameHost* TestWebContents::AddPrerenderAndCommitNavigation(
|
||||
const GURL& url) {
|
||||
int host_id = AddPrerender(url);
|
||||
DCHECK_NE(RenderFrameHost::kNoFrameTreeNodeId, host_id);
|
||||
FrameTreeNodeId host_id = AddPrerender(url);
|
||||
DCHECK(host_id);
|
||||
|
||||
PrerenderHost* host =
|
||||
GetPrerenderHostRegistry()->FindNonReservedHostById(host_id);
|
||||
@ -489,8 +489,8 @@ TestRenderFrameHost* TestWebContents::AddPrerenderAndCommitNavigation(
|
||||
|
||||
std::unique_ptr<NavigationSimulator>
|
||||
TestWebContents::AddPrerenderAndStartNavigation(const GURL& url) {
|
||||
int host_id = AddPrerender(url);
|
||||
DCHECK_NE(RenderFrameHost::kNoFrameTreeNodeId, host_id);
|
||||
FrameTreeNodeId host_id = AddPrerender(url);
|
||||
DCHECK(host_id);
|
||||
|
||||
PrerenderHost* host =
|
||||
GetPrerenderHostRegistry()->FindNonReservedHostById(host_id);
|
||||
@ -505,7 +505,7 @@ void TestWebContents::ActivatePrerenderedPage(const GURL& url) {
|
||||
PrerenderHostRegistry* registry = GetPrerenderHostRegistry();
|
||||
PrerenderHost* prerender_host = registry->FindHostByUrlForTesting(url);
|
||||
DCHECK(prerender_host);
|
||||
int prerender_host_id = prerender_host->frame_tree_node_id();
|
||||
FrameTreeNodeId prerender_host_id = prerender_host->frame_tree_node_id();
|
||||
|
||||
// Activate the prerendered page.
|
||||
test::PrerenderHostObserver prerender_host_observer(*this, prerender_host_id);
|
||||
@ -529,7 +529,7 @@ void TestWebContents::ActivatePrerenderedPageFromAddressBar(const GURL& url) {
|
||||
PrerenderHostRegistry* registry = GetPrerenderHostRegistry();
|
||||
PrerenderHost* prerender_host = registry->FindHostByUrlForTesting(url);
|
||||
DCHECK(prerender_host);
|
||||
int prerender_host_id = prerender_host->frame_tree_node_id();
|
||||
FrameTreeNodeId prerender_host_id = prerender_host->frame_tree_node_id();
|
||||
|
||||
// Activate the prerendered page by navigation initiated by the address bar.
|
||||
test::PrerenderHostObserver prerender_host_observer(*this, prerender_host_id);
|
||||
|
@ -158,7 +158,7 @@ class TestWebContents : public WebContentsImpl, public WebContentsTester {
|
||||
|
||||
TestRenderFrameHost* GetSpeculativePrimaryMainFrame();
|
||||
|
||||
int AddPrerender(const GURL& url) override;
|
||||
FrameTreeNodeId AddPrerender(const GURL& url) override;
|
||||
TestRenderFrameHost* AddPrerenderAndCommitNavigation(
|
||||
const GURL& url) override;
|
||||
std::unique_ptr<NavigationSimulator> AddPrerenderAndStartNavigation(
|
||||
|
@ -136,7 +136,7 @@ class WebContentsObserverConsistencyChecker
|
||||
// Remembers parents to make sure RenderFrameHost::GetParent() never changes.
|
||||
std::map<GlobalRoutingID, GlobalRoutingID> parent_ids_;
|
||||
|
||||
std::set<int> frame_tree_node_ids_;
|
||||
std::set<FrameTreeNodeId> frame_tree_node_ids_;
|
||||
|
||||
bool is_loading_;
|
||||
|
||||
|
@ -1346,8 +1346,9 @@ void WebTestControlHost::OnTestFinished() {
|
||||
barrier_closure);
|
||||
}
|
||||
|
||||
void WebTestControlHost::OnDumpFrameLayoutResponse(int frame_tree_node_id,
|
||||
const std::string& dump) {
|
||||
void WebTestControlHost::OnDumpFrameLayoutResponse(
|
||||
FrameTreeNodeId frame_tree_node_id,
|
||||
const std::string& dump) {
|
||||
// Store the result.
|
||||
auto pair = frame_to_layout_dump_map_.emplace(frame_tree_node_id, dump);
|
||||
bool insertion_took_place = pair.second;
|
||||
|
@ -293,7 +293,7 @@ class WebTestControlHost : public WebContentsObserver,
|
||||
void OnAudioDump(const std::vector<unsigned char>& audio_dump);
|
||||
void OnImageDump(const std::string& actual_pixel_hash, const SkBitmap& image);
|
||||
void OnTextDump(const std::string& dump);
|
||||
void OnDumpFrameLayoutResponse(int frame_tree_node_id,
|
||||
void OnDumpFrameLayoutResponse(FrameTreeNodeId frame_tree_node_id,
|
||||
const std::string& dump);
|
||||
void OnTestFinished();
|
||||
void OnCaptureSessionHistory();
|
||||
@ -435,7 +435,7 @@ class WebTestControlHost : public WebContentsObserver,
|
||||
|
||||
// Map from frame_tree_node_id into frame-specific dumps while collecting
|
||||
// text dumps from all frames, before stitching them together.
|
||||
std::map<int, std::string> frame_to_layout_dump_map_;
|
||||
std::map<FrameTreeNodeId, std::string> frame_to_layout_dump_map_;
|
||||
|
||||
std::vector<std::unique_ptr<Node>> composite_all_frames_node_storage_;
|
||||
std::queue<raw_ptr<Node, CtnExperimental>> composite_all_frames_node_queue_;
|
||||
|
Reference in New Issue
Block a user