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

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

Issue 2715243004: [blink] Support (semi-)transparent background colors in WebView/Frame. (Closed)
Patch Set: address comments Created 3 years, 9 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 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 float clampPageScaleFactorToLimits(float) const; 281 float clampPageScaleFactorToLimits(float) const;
282 void resetScaleStateImmediately(); 282 void resetScaleStateImmediately();
283 283
284 HitTestResult coreHitTestResultAt(const WebPoint&); 284 HitTestResult coreHitTestResultAt(const WebPoint&);
285 void invalidateRect(const IntRect&); 285 void invalidateRect(const IntRect&);
286 286
287 void setBaseBackgroundColor(WebColor); 287 void setBaseBackgroundColor(WebColor);
288 void setBaseBackgroundColorOverride(WebColor); 288 void setBaseBackgroundColorOverride(WebColor);
289 void clearBaseBackgroundColorOverride(); 289 void clearBaseBackgroundColorOverride();
290 void setBackgroundColorOverride(WebColor); 290 void setBackgroundColorOverride(WebColor);
291 void clearBackgroundColorOverride();
291 void setZoomFactorOverride(float); 292 void setZoomFactorOverride(float);
292 void setCompositorDeviceScaleFactorOverride(float); 293 void setCompositorDeviceScaleFactorOverride(float);
293 void setDeviceEmulationTransform(const TransformationMatrix&); 294 void setDeviceEmulationTransform(const TransformationMatrix&);
294 TransformationMatrix getDeviceEmulationTransformForTesting() const; 295 TransformationMatrix getDeviceEmulationTransformForTesting() const;
295 296
296 Color baseBackgroundColor() const; 297 Color baseBackgroundColor() const;
298 bool backgroundColorOverrideEnabled() const {
299 return m_backgroundColorOverrideEnabled;
300 }
297 WebColor backgroundColorOverride() const { return m_backgroundColorOverride; } 301 WebColor backgroundColorOverride() const { return m_backgroundColorOverride; }
298 302
299 Frame* focusedCoreFrame() const; 303 Frame* focusedCoreFrame() const;
300 304
301 // Returns the currently focused Element or null if no element has focus. 305 // Returns the currently focused Element or null if no element has focus.
302 Element* focusedElement() const; 306 Element* focusedElement() const;
303 307
304 static WebViewImpl* fromPage(Page*); 308 static WebViewImpl* fromPage(Page*);
305 309
306 WebViewClient* client() { return m_client; } 310 WebViewClient* client() { return m_client; }
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 CompositorWorkerProxyClient* createCompositorWorkerProxyClient(); 491 CompositorWorkerProxyClient* createCompositorWorkerProxyClient();
488 AnimationWorkletProxyClient* createAnimationWorkletProxyClient(); 492 AnimationWorkletProxyClient* createAnimationWorkletProxyClient();
489 493
490 IntSize mainFrameSize(); 494 IntSize mainFrameSize();
491 WebDisplayMode displayMode() const { return m_displayMode; } 495 WebDisplayMode displayMode() const { return m_displayMode; }
492 496
493 PageScaleConstraintsSet& pageScaleConstraintsSet() const; 497 PageScaleConstraintsSet& pageScaleConstraintsSet() const;
494 498
495 FloatSize elasticOverscroll() const { return m_elasticOverscroll; } 499 FloatSize elasticOverscroll() const { return m_elasticOverscroll; }
496 500
497 bool isTransparent() const;
498 void setIsTransparent(bool value);
499
500 double lastFrameTimeMonotonic() const { return m_lastFrameTimeMonotonic; } 501 double lastFrameTimeMonotonic() const { return m_lastFrameTimeMonotonic; }
501 502
502 ChromeClientImpl& chromeClient() const { return *m_chromeClientImpl.get(); } 503 ChromeClientImpl& chromeClient() const { return *m_chromeClientImpl.get(); }
503 504
504 // Returns the currently active WebInputMethodController which is the one 505 // Returns the currently active WebInputMethodController which is the one
505 // corresponding to the focused frame. It will return nullptr if there is no 506 // corresponding to the focused frame. It will return nullptr if there is no
506 // focused frame, or if the there is one but it belongs to a different local 507 // focused frame, or if the there is one but it belongs to a different local
507 // root. 508 // root.
508 WebInputMethodControllerImpl* getActiveWebInputMethodController() const; 509 WebInputMethodControllerImpl* getActiveWebInputMethodController() const;
509 510
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
670 RefPtr<WebPagePopupImpl> m_pagePopup; 671 RefPtr<WebPagePopupImpl> m_pagePopup;
671 672
672 // This stores the last hidden page popup. If a GestureTap attempts to open 673 // This stores the last hidden page popup. If a GestureTap attempts to open
673 // the popup that is closed by its previous GestureTapDown, the popup remains 674 // the popup that is closed by its previous GestureTapDown, the popup remains
674 // closed. 675 // closed.
675 RefPtr<WebPagePopupImpl> m_lastHiddenPagePopup; 676 RefPtr<WebPagePopupImpl> m_lastHiddenPagePopup;
676 677
677 Persistent<DevToolsEmulator> m_devToolsEmulator; 678 Persistent<DevToolsEmulator> m_devToolsEmulator;
678 std::unique_ptr<PageOverlay> m_pageColorOverlay; 679 std::unique_ptr<PageOverlay> m_pageColorOverlay;
679 680
680 // Whether the webview is rendering transparently.
681 bool m_isTransparent;
682
683 // Whether the user can press tab to focus links. 681 // Whether the user can press tab to focus links.
684 bool m_tabsToLinks; 682 bool m_tabsToLinks;
685 683
686 // If set, the (plugin) node which has mouse capture. 684 // If set, the (plugin) node which has mouse capture.
687 Persistent<Node> m_mouseCaptureNode; 685 Persistent<Node> m_mouseCaptureNode;
688 RefPtr<UserGestureToken> m_mouseCaptureGestureToken; 686 RefPtr<UserGestureToken> m_mouseCaptureGestureToken;
689 687
690 WebLayerTreeView* m_layerTreeView; 688 WebLayerTreeView* m_layerTreeView;
691 std::unique_ptr<CompositorAnimationHost> m_animationHost; 689 std::unique_ptr<CompositorAnimationHost> m_animationHost;
692 690
693 WebLayer* m_rootLayer; 691 WebLayer* m_rootLayer;
694 GraphicsLayer* m_rootGraphicsLayer; 692 GraphicsLayer* m_rootGraphicsLayer;
695 GraphicsLayer* m_visualViewportContainerLayer; 693 GraphicsLayer* m_visualViewportContainerLayer;
696 bool m_matchesHeuristicsForGpuRasterization; 694 bool m_matchesHeuristicsForGpuRasterization;
697 static const WebInputEvent* m_currentInputEvent; 695 static const WebInputEvent* m_currentInputEvent;
698 696
699 MediaKeysClientImpl m_mediaKeysClientImpl; 697 MediaKeysClientImpl m_mediaKeysClientImpl;
700 std::unique_ptr<WebActiveGestureAnimation> m_gestureAnimation; 698 std::unique_ptr<WebActiveGestureAnimation> m_gestureAnimation;
701 WebPoint m_positionOnFlingStart; 699 WebPoint m_positionOnFlingStart;
702 WebPoint m_globalPositionOnFlingStart; 700 WebPoint m_globalPositionOnFlingStart;
703 int m_flingModifier; 701 int m_flingModifier;
704 WebGestureDevice m_flingSourceDevice; 702 WebGestureDevice m_flingSourceDevice;
705 Vector<std::unique_ptr<LinkHighlightImpl>> m_linkHighlights; 703 Vector<std::unique_ptr<LinkHighlightImpl>> m_linkHighlights;
706 std::unique_ptr<CompositorAnimationTimeline> m_linkHighlightsTimeline; 704 std::unique_ptr<CompositorAnimationTimeline> m_linkHighlightsTimeline;
707 std::unique_ptr<FullscreenController> m_fullscreenController; 705 std::unique_ptr<FullscreenController> m_fullscreenController;
708 706
709 WebColor m_baseBackgroundColor; 707 WebColor m_baseBackgroundColor;
710 bool m_baseBackgroundColorOverrideEnabled; 708 bool m_baseBackgroundColorOverrideEnabled;
711 WebColor m_baseBackgroundColorOverride; 709 WebColor m_baseBackgroundColorOverride;
710 bool m_backgroundColorOverrideEnabled;
712 WebColor m_backgroundColorOverride; 711 WebColor m_backgroundColorOverride;
713 float m_zoomFactorOverride; 712 float m_zoomFactorOverride;
714 713
715 bool m_userGestureObserved; 714 bool m_userGestureObserved;
716 bool m_shouldDispatchFirstVisuallyNonEmptyLayout; 715 bool m_shouldDispatchFirstVisuallyNonEmptyLayout;
717 bool m_shouldDispatchFirstLayoutAfterFinishedParsing; 716 bool m_shouldDispatchFirstLayoutAfterFinishedParsing;
718 bool m_shouldDispatchFirstLayoutAfterFinishedLoading; 717 bool m_shouldDispatchFirstLayoutAfterFinishedLoading;
719 WebDisplayMode m_displayMode; 718 WebDisplayMode m_displayMode;
720 719
721 FloatSize m_elasticOverscroll; 720 FloatSize m_elasticOverscroll;
(...skipping 20 matching lines...) Expand all
742 Persistent<ResizeViewportAnchor> m_resizeViewportAnchor; 741 Persistent<ResizeViewportAnchor> m_resizeViewportAnchor;
743 }; 742 };
744 743
745 // We have no ways to check if the specified WebView is an instance of 744 // We have no ways to check if the specified WebView is an instance of
746 // WebViewImpl because WebViewImpl is the only implementation of WebView. 745 // WebViewImpl because WebViewImpl is the only implementation of WebView.
747 DEFINE_TYPE_CASTS(WebViewImpl, WebView, webView, true, true); 746 DEFINE_TYPE_CASTS(WebViewImpl, WebView, webView, true, true);
748 747
749 } // namespace blink 748 } // namespace blink
750 749
751 #endif 750 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698