本文整理汇总了C++中WebViewImpl::mainFrameImpl方法的典型用法代码示例。如果您正苦于以下问题:C++ WebViewImpl::mainFrameImpl方法的具体用法?C++ WebViewImpl::mainFrameImpl怎么用?C++ WebViewImpl::mainFrameImpl使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WebViewImpl
的用法示例。
在下文中一共展示了WebViewImpl::mainFrameImpl方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: registerMockedHttpURLLoad
TEST_F(ProgrammaticScrollTest, RestoreScrollPositionAndViewStateWithScale)
{
registerMockedHttpURLLoad("long_scroll.html");
FrameTestHelpers::WebViewHelper webViewHelper;
WebView* webView = webViewHelper.initializeAndLoad(m_baseURL + "long_scroll.html", true, 0, 0);
webView->resize(WebSize(1000, 1000));
webView->layout();
WebViewImpl* webViewImpl = toWebViewImpl(webView);
LocalFrame* frame = webViewImpl->mainFrameImpl()->frame();
frame->loader().setLoadType(FrameLoadTypeBackForward);
webViewImpl->setPageScaleFactor(3.0f);
webViewImpl->mainFrame()->setScrollOffset(WebSize(0, 500));
frame->view()->setWasScrolledByUser(false);
frame->loader().currentItem()->setPageScaleFactor(2);
frame->loader().currentItem()->setScrollPoint(WebPoint(0, 200));
// Flip back the wasScrolledByUser flag which was set to true by setPageScaleFactor
// because otherwise FrameLoader::restoreScrollPositionAndViewState does nothing.
frame->view()->setWasScrolledByUser(false);
frame->loader().restoreScrollPositionAndViewState();
// Expect that both scroll and scale were restored.
EXPECT_EQ(2.0f, webViewImpl->pageScaleFactor());
EXPECT_EQ(200, webViewImpl->mainFrameImpl()->scrollOffset().height);
}
示例2: adoptPtrWillBeNoop
// static
PassOwnPtrWillBeRawPtr<WebDevToolsAgentImpl> WebDevToolsAgentImpl::create(WebLocalFrameImpl* frame, WebDevToolsAgentClient* client)
{
WebViewImpl* view = frame->viewImpl();
bool isMainFrame = view && view->mainFrameImpl() == frame;
if (!isMainFrame) {
WebDevToolsAgentImpl* agent = new WebDevToolsAgentImpl(frame, client, frame->inspectorOverlay());
if (frame->frameWidget())
agent->layerTreeViewChanged(frame->frameWidget()->layerTreeView());
return adoptPtrWillBeNoop(agent);
}
WebDevToolsAgentImpl* agent = new WebDevToolsAgentImpl(frame, client, view->inspectorOverlay());
agent->registerAgent(InspectorRenderingAgent::create(view));
agent->registerAgent(InspectorEmulationAgent::create(view));
// TODO(dgozman): migrate each of the following agents to frame once module is ready.
agent->registerAgent(InspectorDatabaseAgent::create(view->page()));
agent->registerAgent(DeviceOrientationInspectorAgent::create(view->page()));
agent->registerAgent(InspectorFileSystemAgent::create(view->page()));
agent->registerAgent(InspectorIndexedDBAgent::create(view->page()));
agent->registerAgent(InspectorAccessibilityAgent::create(view->page()));
agent->registerAgent(InspectorDOMStorageAgent::create(view->page()));
agent->registerAgent(InspectorCacheStorageAgent::create());
agent->layerTreeViewChanged(view->layerTreeView());
return adoptPtrWillBeNoop(agent);
}
示例3: registerMockedHttpURLLoad
TEST_F(WebFrameTest, FixedLayoutInitializeAtMinimumPageScale)
{
registerMockedHttpURLLoad("fixed_layout.html");
FixedLayoutTestWebViewClient client;
client.m_screenInfo.horizontalDPI = 160;
int viewportWidth = 640;
int viewportHeight = 480;
client.m_windowRect = WebRect(0, 0, viewportWidth, viewportHeight);
// Make sure we initialize to minimum scale, even if the window size
// only becomes available after the load begins.
WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout.html", true, 0, &client));
webViewImpl->enableFixedLayoutMode(true);
webViewImpl->settings()->setViewportEnabled(true);
webViewImpl->resize(WebSize(viewportWidth, viewportHeight));
int defaultFixedLayoutWidth = 980;
float minimumPageScaleFactor = viewportWidth / (float) defaultFixedLayoutWidth;
EXPECT_EQ(minimumPageScaleFactor, webViewImpl->pageScaleFactor());
// Assume the user has pinch zoomed to page scale factor 2.
float userPinchPageScaleFactor = 2;
webViewImpl->setPageScaleFactorPreservingScrollOffset(userPinchPageScaleFactor);
webViewImpl->mainFrameImpl()->frameView()->layout();
// Make sure we don't reset to initial scale if the page continues to load.
bool isNewNavigation;
webViewImpl->didCommitLoad(&isNewNavigation, false);
webViewImpl->didChangeContentsSize();
EXPECT_EQ(userPinchPageScaleFactor, webViewImpl->pageScaleFactor());
// Make sure we don't reset to initial scale if the viewport size changes.
webViewImpl->resize(WebSize(viewportWidth, viewportHeight + 100));
EXPECT_EQ(userPinchPageScaleFactor, webViewImpl->pageScaleFactor());
}