Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(92)

Side by Side Diff: third_party/WebKit/Source/web/WebViewImpl.h

Issue 2851993002: Move more methods from WebViewImpl to WebViewBase, and cut dependencies. (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 void DidUpdateFullscreenSize() override; 261 void DidUpdateFullscreenSize() override;
262 262
263 float DefaultMinimumPageScaleFactor() const override; 263 float DefaultMinimumPageScaleFactor() const override;
264 float DefaultMaximumPageScaleFactor() const override; 264 float DefaultMaximumPageScaleFactor() const override;
265 float MinimumPageScaleFactor() const override; 265 float MinimumPageScaleFactor() const override;
266 float MaximumPageScaleFactor() const override; 266 float MaximumPageScaleFactor() const override;
267 float ClampPageScaleFactorToLimits(float) const override; 267 float ClampPageScaleFactorToLimits(float) const override;
268 void ResetScaleStateImmediately() override; 268 void ResetScaleStateImmediately() override;
269 269
270 HitTestResult CoreHitTestResultAt(const WebPoint&); 270 HitTestResult CoreHitTestResultAt(const WebPoint&);
271 void InvalidateRect(const IntRect&); 271 void InvalidateRect(const IntRect&) override;
272 272
273 void SetBaseBackgroundColor(WebColor) override; 273 void SetBaseBackgroundColor(WebColor) override;
274 void SetBaseBackgroundColorOverride(WebColor) override; 274 void SetBaseBackgroundColorOverride(WebColor) override;
275 void ClearBaseBackgroundColorOverride() override; 275 void ClearBaseBackgroundColorOverride() override;
276 void SetBackgroundColorOverride(WebColor) override; 276 void SetBackgroundColorOverride(WebColor) override;
277 void ClearBackgroundColorOverride() override; 277 void ClearBackgroundColorOverride() override;
278 void SetZoomFactorOverride(float) override; 278 void SetZoomFactorOverride(float) override;
279 void SetCompositorDeviceScaleFactorOverride(float) override; 279 void SetCompositorDeviceScaleFactorOverride(float) override;
280 void SetDeviceEmulationTransform(const TransformationMatrix&) override; 280 void SetDeviceEmulationTransform(const TransformationMatrix&) override;
281 TransformationMatrix GetDeviceEmulationTransformForTesting() const; 281 TransformationMatrix GetDeviceEmulationTransformForTesting() const;
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
345 // load. isNavigationWithinPage will be true if the navigation does 345 // load. isNavigationWithinPage will be true if the navigation does
346 // not take the user away from the current page. 346 // not take the user away from the current page.
347 void DidCommitLoad(bool is_new_navigation, 347 void DidCommitLoad(bool is_new_navigation,
348 bool is_navigation_within_page) override; 348 bool is_navigation_within_page) override;
349 349
350 // Indicates two things: 350 // Indicates two things:
351 // 1) This view may have a new layout now. 351 // 1) This view may have a new layout now.
352 // 2) Calling updateAllLifecyclePhases() is a no-op. 352 // 2) Calling updateAllLifecyclePhases() is a no-op.
353 // After calling WebWidget::updateAllLifecyclePhases(), expect to get this 353 // After calling WebWidget::updateAllLifecyclePhases(), expect to get this
354 // notification unless the view did not need a layout. 354 // notification unless the view did not need a layout.
355 void LayoutUpdated(WebLocalFrameImpl*); 355 void LayoutUpdated(WebLocalFrameImpl*) override;
356 void ResizeAfterLayout(WebLocalFrameImpl*); 356 void ResizeAfterLayout(WebLocalFrameImpl*) override;
357 357
358 void DidChangeContentsSize() override; 358 void DidChangeContentsSize() override;
359 void PageScaleFactorChanged() override; 359 void PageScaleFactorChanged() override;
360 void MainFrameScrollOffsetChanged() override; 360 void MainFrameScrollOffsetChanged() override;
361 361
362 // Returns true if popup menus should be rendered by the browser, false if 362 // Returns true if popup menus should be rendered by the browser, false if
363 // they should be rendered by WebKit (which is the default). 363 // they should be rendered by WebKit (which is the default).
364 static bool UseExternalPopupMenus(); 364 static bool UseExternalPopupMenus();
365 365
366 bool ShouldAutoResize() const override { return should_auto_resize_; } 366 bool ShouldAutoResize() const override { return should_auto_resize_; }
367 367
368 IntSize MinAutoSize() const override { return min_auto_size_; } 368 IntSize MinAutoSize() const override { return min_auto_size_; }
369 369
370 IntSize MaxAutoSize() const override { return max_auto_size_; } 370 IntSize MaxAutoSize() const override { return max_auto_size_; }
371 371
372 void UpdateMainFrameLayoutSize() override; 372 void UpdateMainFrameLayoutSize() override;
373 void UpdatePageDefinedViewportConstraints(const ViewportDescription&); 373 void UpdatePageDefinedViewportConstraints(
374 const ViewportDescription&) override;
374 375
375 PagePopup* OpenPagePopup(PagePopupClient*); 376 PagePopup* OpenPagePopup(PagePopupClient*) override;
376 void ClosePagePopup(PagePopup*); 377 void ClosePagePopup(PagePopup*) override;
377 void CleanupPagePopup(); 378 void CleanupPagePopup() override;
378 LocalDOMWindow* PagePopupWindow() const; 379 LocalDOMWindow* PagePopupWindow() const override;
379 380
380 // Returns the input event we're currently processing. This is used in some 381 // Returns the input event we're currently processing. This is used in some
381 // cases where the WebCore DOM event doesn't have the information we need. 382 // cases where the WebCore DOM event doesn't have the information we need.
382 static const WebInputEvent* CurrentInputEvent() { 383 static const WebInputEvent* CurrentInputEvent() {
383 return current_input_event_; 384 return current_input_event_;
384 } 385 }
385 386
386 GraphicsLayer* RootGraphicsLayer(); 387 GraphicsLayer* RootGraphicsLayer() override;
387 void RegisterViewportLayersWithCompositor(); 388 void RegisterViewportLayersWithCompositor() override;
388 PaintLayerCompositor* Compositor() const; 389 PaintLayerCompositor* Compositor() const override;
389 CompositorAnimationTimeline* LinkHighlightsTimeline() const override { 390 CompositorAnimationTimeline* LinkHighlightsTimeline() const override {
390 return link_highlights_timeline_.get(); 391 return link_highlights_timeline_.get();
391 } 392 }
392 393
393 WebViewScheduler* Scheduler() const override; 394 WebViewScheduler* Scheduler() const override;
394 void SetVisibilityState(WebPageVisibilityState, bool) override; 395 void SetVisibilityState(WebPageVisibilityState, bool) override;
395 396
396 bool HasOpenedPopup() const { return page_popup_.Get(); } 397 bool HasOpenedPopup() const override { return page_popup_.Get(); }
397 398
398 // Called by a full frame plugin inside this view to inform it that its 399 // Called by a full frame plugin inside this view to inform it that its
399 // zoom level has been updated. The plugin should only call this function 400 // zoom level has been updated. The plugin should only call this function
400 // if the zoom change was triggered by the browser, it's only needed in case 401 // if the zoom change was triggered by the browser, it's only needed in case
401 // a plugin can update its own zoom, say because of its own UI. 402 // a plugin can update its own zoom, say because of its own UI.
402 void FullFramePluginZoomLevelChanged(double zoom_level); 403 void FullFramePluginZoomLevelChanged(double zoom_level);
403 404
404 void ComputeScaleAndScrollForBlockRect( 405 void ComputeScaleAndScrollForBlockRect(
405 const WebPoint& hit_point, 406 const WebPoint& hit_point,
406 const WebRect& block_rect, 407 const WebRect& block_rect,
(...skipping 24 matching lines...) Expand all
431 IntPoint FakePageScaleAnimationTargetPositionForTesting() const { 432 IntPoint FakePageScaleAnimationTargetPositionForTesting() const {
432 return fake_page_scale_animation_target_position_; 433 return fake_page_scale_animation_target_position_;
433 } 434 }
434 float FakePageScaleAnimationPageScaleForTesting() const { 435 float FakePageScaleAnimationPageScaleForTesting() const {
435 return fake_page_scale_animation_page_scale_factor_; 436 return fake_page_scale_animation_page_scale_factor_;
436 } 437 }
437 bool FakePageScaleAnimationUseAnchorForTesting() const { 438 bool FakePageScaleAnimationUseAnchorForTesting() const {
438 return fake_page_scale_animation_use_anchor_; 439 return fake_page_scale_animation_use_anchor_;
439 } 440 }
440 441
441 void EnterFullscreen(LocalFrame&); 442 void EnterFullscreen(LocalFrame&) override;
442 void ExitFullscreen(LocalFrame&); 443 void ExitFullscreen(LocalFrame&) override;
443 void FullscreenElementChanged(Element*, Element*); 444 void FullscreenElementChanged(Element*, Element*) override;
444 445
445 // Exposed for the purpose of overriding device metrics. 446 // Exposed for the purpose of overriding device metrics.
446 void SendResizeEventAndRepaint(); 447 void SendResizeEventAndRepaint();
447 448
448 // Exposed for testing purposes. 449 // Exposed for testing purposes.
449 bool HasHorizontalScrollbar(); 450 bool HasHorizontalScrollbar();
450 bool HasVerticalScrollbar(); 451 bool HasVerticalScrollbar();
451 452
452 // Exposed for tests. 453 // Exposed for tests.
453 unsigned NumLinkHighlights() { return link_highlights_.size(); } 454 unsigned NumLinkHighlights() { return link_highlights_.size(); }
(...skipping 15 matching lines...) Expand all
469 return matches_heuristics_for_gpu_rasterization_; 470 return matches_heuristics_for_gpu_rasterization_;
470 } 471 }
471 472
472 void UpdateBrowserControlsState(WebBrowserControlsState constraint, 473 void UpdateBrowserControlsState(WebBrowserControlsState constraint,
473 WebBrowserControlsState current, 474 WebBrowserControlsState current,
474 bool animate) override; 475 bool animate) override;
475 476
476 BrowserControls& GetBrowserControls(); 477 BrowserControls& GetBrowserControls();
477 // Called anytime browser controls layout height or content offset have 478 // Called anytime browser controls layout height or content offset have
478 // changed. 479 // changed.
479 void DidUpdateBrowserControls(); 480 void DidUpdateBrowserControls() override;
480 481
481 void ForceNextWebGLContextCreationToFail() override; 482 void ForceNextWebGLContextCreationToFail() override;
482 void ForceNextDrawingBufferCreationToFail() override; 483 void ForceNextDrawingBufferCreationToFail() override;
483 484
484 CompositorWorkerProxyClient* CreateCompositorWorkerProxyClient(); 485 CompositorWorkerProxyClient* CreateCompositorWorkerProxyClient();
485 AnimationWorkletProxyClient* CreateAnimationWorkletProxyClient(); 486 AnimationWorkletProxyClient* CreateAnimationWorkletProxyClient();
486 487
487 IntSize MainFrameSize() override; 488 IntSize MainFrameSize() override;
488 WebDisplayMode DisplayMode() const override { return display_mode_; } 489 WebDisplayMode DisplayMode() const override { return display_mode_; }
489 490
490 PageScaleConstraintsSet& GetPageScaleConstraintsSet() const override; 491 PageScaleConstraintsSet& GetPageScaleConstraintsSet() const override;
491 492
492 FloatSize ElasticOverscroll() const { return elastic_overscroll_; } 493 FloatSize ElasticOverscroll() const override { return elastic_overscroll_; }
493 494
494 double LastFrameTimeMonotonic() const { return last_frame_time_monotonic_; } 495 double LastFrameTimeMonotonic() const override {
496 return last_frame_time_monotonic_;
497 }
495 498
496 ChromeClientImpl& ChromeClient() const { return *chrome_client_impl_.Get(); } 499 ChromeClientImpl& ChromeClient() const { return *chrome_client_impl_.Get(); }
497 500
498 // Returns the currently active WebInputMethodController which is the one 501 // Returns the currently active WebInputMethodController which is the one
499 // corresponding to the focused frame. It will return nullptr if there is no 502 // corresponding to the focused frame. It will return nullptr if there is no
500 // focused frame, or if the there is one but it belongs to a different local 503 // focused frame, or if the there is one but it belongs to a different local
501 // root. 504 // root.
502 WebInputMethodControllerImpl* GetActiveWebInputMethodController() const; 505 WebInputMethodControllerImpl* GetActiveWebInputMethodController() const;
503 506
504 void SetLastHiddenPagePopup(WebPagePopupImpl* page_popup) override { 507 void SetLastHiddenPagePopup(WebPagePopupImpl* page_popup) override {
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
744 Persistent<ResizeViewportAnchor> resize_viewport_anchor_; 747 Persistent<ResizeViewportAnchor> resize_viewport_anchor_;
745 }; 748 };
746 749
747 // We have no ways to check if the specified WebView is an instance of 750 // We have no ways to check if the specified WebView is an instance of
748 // WebViewImpl because WebViewImpl is the only implementation of WebView. 751 // WebViewImpl because WebViewImpl is the only implementation of WebView.
749 DEFINE_TYPE_CASTS(WebViewImpl, WebView, webView, true, true); 752 DEFINE_TYPE_CASTS(WebViewImpl, WebView, webView, true, true);
750 753
751 } // namespace blink 754 } // namespace blink
752 755
753 #endif 756 #endif
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/web/WebRemoteFrameImpl.cpp ('k') | third_party/WebKit/Source/web/WebViewImpl.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698