summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--android_webview/browser/aw_content_browser_client.cc1
-rw-r--r--android_webview/browser/aw_content_browser_client.h1
-rw-r--r--chrome/browser/chrome_content_browser_client.cc4
-rw-r--r--chrome/browser/chrome_content_browser_client.h1
-rw-r--r--chrome/browser/chrome_content_browser_client_parts.h1
-rw-r--r--chrome/browser/extensions/chrome_content_browser_client_extensions_part.cc1
-rw-r--r--chrome/browser/extensions/chrome_content_browser_client_extensions_part.h1
-rw-r--r--chrome/browser/prefs/chrome_pref_service_unittest.cc6
-rw-r--r--chromecast/browser/cast_content_browser_client.cc1
-rw-r--r--chromecast/browser/cast_content_browser_client.h1
-rw-r--r--content/browser/frame_host/interstitial_page_impl.cc7
-rw-r--r--content/browser/frame_host/interstitial_page_impl.h1
-rw-r--r--content/browser/renderer_host/render_view_host_delegate.cc4
-rw-r--r--content/browser/renderer_host/render_view_host_delegate.h4
-rw-r--r--content/browser/renderer_host/render_view_host_impl.cc6
-rw-r--r--content/browser/renderer_host/render_view_host_impl.h9
-rw-r--r--content/browser/web_contents/web_contents_impl.cc11
-rw-r--r--content/browser/web_contents/web_contents_impl.h1
-rw-r--r--content/public/browser/content_browser_client.h1
-rw-r--r--content/public/test/test_renderer_host.h4
-rw-r--r--content/public/test/web_contents_tester.h4
-rw-r--r--content/shell/browser/shell_content_browser_client.cc1
-rw-r--r--content/shell/browser/shell_content_browser_client.h1
-rw-r--r--content/test/test_render_view_host.cc4
-rw-r--r--content/test/test_render_view_host.h2
-rw-r--r--content/test/test_web_contents.cc4
-rw-r--r--content/test/test_web_contents.h2
27 files changed, 24 insertions, 60 deletions
diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webview/browser/aw_content_browser_client.cc
index f56dc6c..0bddaf6 100644
--- a/android_webview/browser/aw_content_browser_client.cc
+++ b/android_webview/browser/aw_content_browser_client.cc
@@ -533,7 +533,6 @@ bool AwContentBrowserClient::AllowPepperSocketAPI(
void AwContentBrowserClient::OverrideWebkitPrefs(
content::RenderViewHost* rvh,
- const GURL& url,
content::WebPreferences* web_prefs) {
if (!preferences_populater_.get()) {
preferences_populater_ = make_scoped_ptr(native_factory_->
diff --git a/android_webview/browser/aw_content_browser_client.h b/android_webview/browser/aw_content_browser_client.h
index 93080a9..e5d8749 100644
--- a/android_webview/browser/aw_content_browser_client.h
+++ b/android_webview/browser/aw_content_browser_client.h
@@ -146,7 +146,6 @@ class AwContentBrowserClient : public content::ContentBrowserClient {
bool private_api,
const content::SocketPermissionRequest* params) override;
void OverrideWebkitPrefs(content::RenderViewHost* rvh,
- const GURL& url,
content::WebPreferences* web_prefs) override;
#if defined(VIDEO_HOLE)
content::ExternalVideoSurfaceContainer*
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index a0ad854..d0e4937 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -2128,7 +2128,7 @@ bool ChromeContentBrowserClient::IsFastShutdownPossible() {
}
void ChromeContentBrowserClient::OverrideWebkitPrefs(
- RenderViewHost* rvh, const GURL& url, WebPreferences* web_prefs) {
+ RenderViewHost* rvh, WebPreferences* web_prefs) {
Profile* profile = Profile::FromBrowserContext(
rvh->GetProcess()->GetBrowserContext());
PrefService* prefs = profile->GetPrefs();
@@ -2251,7 +2251,7 @@ void ChromeContentBrowserClient::OverrideWebkitPrefs(
}
for (size_t i = 0; i < extra_parts_.size(); ++i)
- extra_parts_[i]->OverrideWebkitPrefs(rvh, url, web_prefs);
+ extra_parts_[i]->OverrideWebkitPrefs(rvh, web_prefs);
}
void ChromeContentBrowserClient::BrowserURLHandlerCreated(
diff --git a/chrome/browser/chrome_content_browser_client.h b/chrome/browser/chrome_content_browser_client.h
index a456f7b..adb320e 100644
--- a/chrome/browser/chrome_content_browser_client.h
+++ b/chrome/browser/chrome_content_browser_client.h
@@ -228,7 +228,6 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
content::AccessTokenStore* CreateAccessTokenStore() override;
bool IsFastShutdownPossible() override;
void OverrideWebkitPrefs(content::RenderViewHost* rvh,
- const GURL& url,
content::WebPreferences* prefs) override;
void BrowserURLHandlerCreated(content::BrowserURLHandler* handler) override;
void ClearCache(content::RenderViewHost* rvh) override;
diff --git a/chrome/browser/chrome_content_browser_client_parts.h b/chrome/browser/chrome_content_browser_client_parts.h
index b60e63d1..046327e 100644
--- a/chrome/browser/chrome_content_browser_client_parts.h
+++ b/chrome/browser/chrome_content_browser_client_parts.h
@@ -43,7 +43,6 @@ class ChromeContentBrowserClientParts {
virtual void SiteInstanceGotProcess(content::SiteInstance* site_instance) {}
virtual void SiteInstanceDeleting(content::SiteInstance* site_instance) {}
virtual void OverrideWebkitPrefs(content::RenderViewHost* rvh,
- const GURL& url,
content::WebPreferences* web_prefs) {}
virtual void BrowserURLHandlerCreated(content::BrowserURLHandler* handler) {}
virtual void GetAdditionalAllowedSchemesForFileSystem(
diff --git a/chrome/browser/extensions/chrome_content_browser_client_extensions_part.cc b/chrome/browser/extensions/chrome_content_browser_client_extensions_part.cc
index 67e633d..33ff440 100644
--- a/chrome/browser/extensions/chrome_content_browser_client_extensions_part.cc
+++ b/chrome/browser/extensions/chrome_content_browser_client_extensions_part.cc
@@ -449,7 +449,6 @@ void ChromeContentBrowserClientExtensionsPart::SiteInstanceDeleting(
void ChromeContentBrowserClientExtensionsPart::OverrideWebkitPrefs(
RenderViewHost* rvh,
- const GURL& url,
WebPreferences* web_prefs) {
const ExtensionRegistry* registry =
ExtensionRegistry::Get(rvh->GetProcess()->GetBrowserContext());
diff --git a/chrome/browser/extensions/chrome_content_browser_client_extensions_part.h b/chrome/browser/extensions/chrome_content_browser_client_extensions_part.h
index e53499d..c994cc9 100644
--- a/chrome/browser/extensions/chrome_content_browser_client_extensions_part.h
+++ b/chrome/browser/extensions/chrome_content_browser_client_extensions_part.h
@@ -60,7 +60,6 @@ class ChromeContentBrowserClientExtensionsPart
void SiteInstanceGotProcess(content::SiteInstance* site_instance) override;
void SiteInstanceDeleting(content::SiteInstance* site_instance) override;
void OverrideWebkitPrefs(content::RenderViewHost* rvh,
- const GURL& url,
content::WebPreferences* web_prefs) override;
void BrowserURLHandlerCreated(content::BrowserURLHandler* handler) override;
void GetAdditionalAllowedSchemesForFileSystem(
diff --git a/chrome/browser/prefs/chrome_pref_service_unittest.cc b/chrome/browser/prefs/chrome_pref_service_unittest.cc
index 9813bf0..49a0a7b 100644
--- a/chrome/browser/prefs/chrome_pref_service_unittest.cc
+++ b/chrome/browser/prefs/chrome_pref_service_unittest.cc
@@ -24,10 +24,10 @@
#include "components/policy/core/common/mock_configuration_policy_provider.h"
#include "components/pref_registry/pref_registry_syncable.h"
#include "content/public/common/web_preferences.h"
-#include "content/public/test/web_contents_tester.h"
+#include "content/public/test/test_renderer_host.h"
#include "ui/base/test/data/resource.h"
-using content::WebContentsTester;
+using content::RenderViewHostTester;
using content::WebPreferences;
TEST(ChromePrefServiceTest, UpdateCommandLinePrefStore) {
@@ -117,7 +117,7 @@ class ChromePrefServiceWebKitPrefs : public ChromeRenderViewHostTestHarness {
// to a WebPreferences object.
TEST_F(ChromePrefServiceWebKitPrefs, PrefsCopied) {
WebPreferences webkit_prefs =
- WebContentsTester::For(web_contents())->TestComputeWebkitPrefs();
+ RenderViewHostTester::For(rvh())->TestComputeWebkitPrefs();
// These values have been overridden by the profile preferences.
EXPECT_EQ("UTF-8", webkit_prefs.default_encoding);
diff --git a/chromecast/browser/cast_content_browser_client.cc b/chromecast/browser/cast_content_browser_client.cc
index 6578a4f..57cbbf2 100644
--- a/chromecast/browser/cast_content_browser_client.cc
+++ b/chromecast/browser/cast_content_browser_client.cc
@@ -146,7 +146,6 @@ content::AccessTokenStore* CastContentBrowserClient::CreateAccessTokenStore() {
void CastContentBrowserClient::OverrideWebkitPrefs(
content::RenderViewHost* render_view_host,
- const GURL& url,
content::WebPreferences* prefs) {
prefs->allow_scripts_to_close_windows = true;
// TODO(lcwu): http://crbug.com/391089. This pref is set to true by default
diff --git a/chromecast/browser/cast_content_browser_client.h b/chromecast/browser/cast_content_browser_client.h
index 476d660..31d0eeb 100644
--- a/chromecast/browser/cast_content_browser_client.h
+++ b/chromecast/browser/cast_content_browser_client.h
@@ -42,7 +42,6 @@ class CastContentBrowserClient: public content::ContentBrowserClient {
int child_process_id) override;
content::AccessTokenStore* CreateAccessTokenStore() override;
void OverrideWebkitPrefs(content::RenderViewHost* render_view_host,
- const GURL& url,
content::WebPreferences* prefs) override;
std::string GetApplicationLocale() override;
void AllowCertificateError(
diff --git a/content/browser/frame_host/interstitial_page_impl.cc b/content/browser/frame_host/interstitial_page_impl.cc
index c59075c5..1324c73 100644
--- a/content/browser/frame_host/interstitial_page_impl.cc
+++ b/content/browser/frame_host/interstitial_page_impl.cc
@@ -493,13 +493,6 @@ RendererPreferences InterstitialPageImpl::GetRendererPrefs(
return renderer_preferences_;
}
-WebPreferences InterstitialPageImpl::ComputeWebkitPrefs() {
- if (!enabled())
- return WebPreferences();
-
- return render_view_host_->ComputeWebkitPrefs(url_);
-}
-
void InterstitialPageImpl::RenderWidgetDeleted(
RenderWidgetHostImpl* render_widget_host) {
// TODO(creis): Remove this method once we verify the shutdown path is sane.
diff --git a/content/browser/frame_host/interstitial_page_impl.h b/content/browser/frame_host/interstitial_page_impl.h
index ae41f77..f8aa8a7 100644
--- a/content/browser/frame_host/interstitial_page_impl.h
+++ b/content/browser/frame_host/interstitial_page_impl.h
@@ -116,7 +116,6 @@ class CONTENT_EXPORT InterstitialPageImpl
int error_code) override;
RendererPreferences GetRendererPrefs(
BrowserContext* browser_context) const override;
- WebPreferences ComputeWebkitPrefs() override;
gfx::Rect GetRootWindowResizerRect() const override;
void CreateNewWindow(
int render_process_id,
diff --git a/content/browser/renderer_host/render_view_host_delegate.cc b/content/browser/renderer_host/render_view_host_delegate.cc
index 7c29b7f..bc72dcd 100644
--- a/content/browser/renderer_host/render_view_host_delegate.cc
+++ b/content/browser/renderer_host/render_view_host_delegate.cc
@@ -22,10 +22,6 @@ WebContents* RenderViewHostDelegate::GetAsWebContents() {
return NULL;
}
-WebPreferences RenderViewHostDelegate::ComputeWebkitPrefs() {
- return WebPreferences();
-}
-
bool RenderViewHostDelegate::IsFullscreenForCurrentTab() const {
return false;
}
diff --git a/content/browser/renderer_host/render_view_host_delegate.h b/content/browser/renderer_host/render_view_host_delegate.h
index e07f318..b6e74b8 100644
--- a/content/browser/renderer_host/render_view_host_delegate.h
+++ b/content/browser/renderer_host/render_view_host_delegate.h
@@ -139,10 +139,6 @@ class CONTENT_EXPORT RenderViewHostDelegate {
virtual RendererPreferences GetRendererPrefs(
BrowserContext* browser_context) const = 0;
- // Computes a WebPreferences object that will be used by the renderer
- // associated with the owning render view host.
- virtual WebPreferences ComputeWebkitPrefs();
-
// Notification the user has made a gesture while focus was on the
// page. This is used to avoid uninitiated user downloads (aka carpet
// bombing), see DownloadRequestLimiter for details.
diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
index 587f144..ec0341b 100644
--- a/content/browser/renderer_host/render_view_host_impl.cc
+++ b/content/browser/renderer_host/render_view_host_impl.cc
@@ -330,7 +330,7 @@ void RenderViewHostImpl::SyncRendererPrefs() {
GetProcess()->GetBrowserContext())));
}
-WebPreferences RenderViewHostImpl::ComputeWebkitPrefs(const GURL& url) {
+WebPreferences RenderViewHostImpl::ComputeWebkitPrefs() {
TRACE_EVENT0("browser", "RenderViewHostImpl::GetWebkitPrefs");
WebPreferences prefs;
@@ -524,7 +524,7 @@ WebPreferences RenderViewHostImpl::ComputeWebkitPrefs(const GURL& url) {
prefs.v8_cache_options = V8_CACHE_OPTIONS_DEFAULT;
}
- GetContentClient()->browser()->OverrideWebkitPrefs(this, url, &prefs);
+ GetContentClient()->browser()->OverrideWebkitPrefs(this, &prefs);
return prefs;
}
@@ -1346,7 +1346,7 @@ void RenderViewHostImpl::OnWebkitPreferencesChanged() {
if (updating_web_preferences_)
return;
updating_web_preferences_ = true;
- UpdateWebkitPreferences(delegate_->ComputeWebkitPrefs());
+ UpdateWebkitPreferences(ComputeWebkitPrefs());
updating_web_preferences_ = false;
}
diff --git a/content/browser/renderer_host/render_view_host_impl.h b/content/browser/renderer_host/render_view_host_impl.h
index 86e8270..71bb0a7a 100644
--- a/content/browser/renderer_host/render_view_host_impl.h
+++ b/content/browser/renderer_host/render_view_host_impl.h
@@ -200,9 +200,6 @@ class CONTENT_EXPORT RenderViewHostImpl
return render_view_termination_status_;
}
- // Returns the content specific prefs for this RenderViewHost.
- WebPreferences ComputeWebkitPrefs(const GURL& url);
-
// Tracks whether this RenderViewHost is in an active state (rather than
// pending swap out, pending deletion, or swapped out), according to its main
// frame RenderFrameHost.
@@ -372,6 +369,12 @@ class CONTENT_EXPORT RenderViewHostImpl
// to fire.
static const int64 kUnloadTimeoutMS;
+ // Returns the content specific prefs for this RenderViewHost.
+ // TODO(creis): Move most of this method to RenderProcessHost, since it's
+ // mostly the same across all RVHs in a process. Move the rest to RFH.
+ // See https://crbug.com/304341.
+ WebPreferences ComputeWebkitPrefs();
+
// Returns whether the current RenderProcessHost has read access to the files
// reported in |state|.
bool CanAccessFilesOfPageState(const PageState& state) const;
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 4f90143..8934d74 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -4034,17 +4034,6 @@ bool WebContentsImpl::AddMessageToConsole(int32 level,
source_id);
}
-WebPreferences WebContentsImpl::ComputeWebkitPrefs() {
- // We want to base the page config off of the actual URL, rather than the
- // virtual URL.
- // TODO(nasko): Investigate how to remove the GetActiveEntry usage here,
- // as it is deprecated and can be out of sync with GetRenderViewHost().
- GURL url = controller_.GetActiveEntry()
- ? controller_.GetActiveEntry()->GetURL() : GURL::EmptyGURL();
-
- return GetRenderManager()->current_host()->ComputeWebkitPrefs(url);
-}
-
int WebContentsImpl::CreateSwappedOutRenderView(
SiteInstance* instance) {
int render_view_routing_id = MSG_ROUTING_NONE;
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index 1ed80a1..0717940 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -435,7 +435,6 @@ class CONTENT_EXPORT WebContentsImpl
const base::string16& source_id) override;
RendererPreferences GetRendererPrefs(
BrowserContext* browser_context) const override;
- WebPreferences ComputeWebkitPrefs() override;
void OnUserGesture() override;
void OnIgnoredUIEvent() override;
void RendererUnresponsive(RenderViewHost* render_view_host) override;
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
index 519ff93..1cc48a8 100644
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
@@ -497,7 +497,6 @@ class CONTENT_EXPORT ContentBrowserClient {
// the renderer. The content layer will add its own settings, and then it's up
// to the embedder to update it if it wants.
virtual void OverrideWebkitPrefs(RenderViewHost* render_view_host,
- const GURL& url,
WebPreferences* prefs) {}
// Notifies that BrowserURLHandler has been created, so that the embedder can
diff --git a/content/public/test/test_renderer_host.h b/content/public/test/test_renderer_host.h
index cbb65b9..029b70e 100644
--- a/content/public/test/test_renderer_host.h
+++ b/content/public/test/test_renderer_host.h
@@ -39,6 +39,7 @@ class RenderViewHostDelegate;
class TestRenderFrameHostFactory;
class TestRenderViewHostFactory;
class WebContents;
+struct WebPreferences;
// An interface and utility for driving tests of RenderFrameHost.
class RenderFrameHostTester {
@@ -126,6 +127,9 @@ class RenderViewHostTester {
// tell it it has been hidden or restored from having been hidden.
virtual void SimulateWasHidden() = 0;
virtual void SimulateWasShown() = 0;
+
+ // Promote ComputeWebkitPrefs to public.
+ virtual WebPreferences TestComputeWebkitPrefs() = 0;
};
// You can instantiate only one class like this at a time. During its
diff --git a/content/public/test/web_contents_tester.h b/content/public/test/web_contents_tester.h
index ee3d883..a96d86d 100644
--- a/content/public/test/web_contents_tester.h
+++ b/content/public/test/web_contents_tester.h
@@ -17,7 +17,6 @@ class RenderViewHost;
class SiteInstance;
class WebContents;
struct Referrer;
-struct WebPreferences;
// This interface allows embedders of content/ to write tests that depend on a
// test version of WebContents. This interface can be retrieved from any
@@ -90,9 +89,6 @@ class WebContentsTester {
const GURL& url,
const Referrer& referrer,
ui::PageTransition transition) = 0;
-
- // Promote ComputeWebkitPrefs to public.
- virtual WebPreferences TestComputeWebkitPrefs() = 0;
};
} // namespace content
diff --git a/content/shell/browser/shell_content_browser_client.cc b/content/shell/browser/shell_content_browser_client.cc
index bcf622f..9990f5d 100644
--- a/content/shell/browser/shell_content_browser_client.cc
+++ b/content/shell/browser/shell_content_browser_client.cc
@@ -246,7 +246,6 @@ void ShellContentBrowserClient::AppendExtraCommandLineSwitches(
void ShellContentBrowserClient::OverrideWebkitPrefs(
RenderViewHost* render_view_host,
- const GURL& url,
WebPreferences* prefs) {
if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kRunLayoutTest))
diff --git a/content/shell/browser/shell_content_browser_client.h b/content/shell/browser/shell_content_browser_client.h
index 4455ba3..0d66a76 100644
--- a/content/shell/browser/shell_content_browser_client.h
+++ b/content/shell/browser/shell_content_browser_client.h
@@ -47,7 +47,6 @@ class ShellContentBrowserClient : public ContentBrowserClient {
void AppendExtraCommandLineSwitches(base::CommandLine* command_line,
int child_process_id) override;
void OverrideWebkitPrefs(RenderViewHost* render_view_host,
- const GURL& url,
WebPreferences* prefs) override;
void ResourceDispatcherHostCreated() override;
AccessTokenStore* CreateAccessTokenStore() override;
diff --git a/content/test/test_render_view_host.cc b/content/test/test_render_view_host.cc
index f3c83fd..5380c93 100644
--- a/content/test/test_render_view_host.cc
+++ b/content/test/test_render_view_host.cc
@@ -261,6 +261,10 @@ void TestRenderViewHost::SimulateWasShown() {
WasShown(ui::LatencyInfo());
}
+WebPreferences TestRenderViewHost::TestComputeWebkitPrefs() {
+ return ComputeWebkitPrefs();
+}
+
void TestRenderViewHost::TestOnStartDragging(
const DropData& drop_data) {
blink::WebDragOperationsMask drag_operation = blink::WebDragOperationEvery;
diff --git a/content/test/test_render_view_host.h b/content/test/test_render_view_host.h
index a7b7ce8..c7a75a3 100644
--- a/content/test/test_render_view_host.h
+++ b/content/test/test_render_view_host.h
@@ -13,6 +13,7 @@
#include "build/build_config.h"
#include "content/browser/renderer_host/render_view_host_impl.h"
#include "content/browser/renderer_host/render_widget_host_view_base.h"
+#include "content/public/common/web_preferences.h"
#include "content/public/test/test_renderer_host.h"
#include "ui/base/ime/dummy_text_input_client.h"
#include "ui/base/layout.h"
@@ -210,6 +211,7 @@ class TestRenderViewHost
// RenderViewHostImpl, see below.
void SimulateWasHidden() override;
void SimulateWasShown() override;
+ WebPreferences TestComputeWebkitPrefs() override;
void TestOnUpdateStateWithFile(
int page_id, const base::FilePath& file_path);
diff --git a/content/test/test_web_contents.cc b/content/test/test_web_contents.cc
index be20dcc..93aec71 100644
--- a/content/test/test_web_contents.cc
+++ b/content/test/test_web_contents.cc
@@ -102,10 +102,6 @@ void TestWebContents::TestDidNavigateWithReferrer(
rfhi->frame_tree_node()->navigator()->DidNavigate(rfhi, params);
}
-WebPreferences TestWebContents::TestComputeWebkitPrefs() {
- return ComputeWebkitPrefs();
-}
-
bool TestWebContents::CreateRenderViewForRenderManager(
RenderViewHost* render_view_host,
int opener_route_id,
diff --git a/content/test/test_web_contents.h b/content/test/test_web_contents.h
index 92f8db3..4d9b3ab 100644
--- a/content/test/test_web_contents.h
+++ b/content/test/test_web_contents.h
@@ -6,7 +6,6 @@
#define CONTENT_TEST_TEST_WEB_CONTENTS_H_
#include "content/browser/web_contents/web_contents_impl.h"
-#include "content/public/common/web_preferences.h"
#include "content/public/test/web_contents_tester.h"
#include "content/test/test_render_frame_host.h"
#include "content/test/test_render_view_host.h"
@@ -48,7 +47,6 @@ class TestWebContents : public WebContentsImpl, public WebContentsTester {
const GURL& url,
const Referrer& referrer,
ui::PageTransition transition) override;
- WebPreferences TestComputeWebkitPrefs() override;
// State accessor.
bool cross_navigation_pending() {