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

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

Issue 1119763003: Animations: Port LinkHighlight to use compositor timelines. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase. Created 5 years, 5 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 19 matching lines...) Expand all
30 30
31 #ifndef WebViewImpl_h 31 #ifndef WebViewImpl_h
32 #define WebViewImpl_h 32 #define WebViewImpl_h
33 33
34 #include "core/page/ContextMenuProvider.h" 34 #include "core/page/ContextMenuProvider.h"
35 #include "core/page/EventWithHitTestResults.h" 35 #include "core/page/EventWithHitTestResults.h"
36 #include "platform/geometry/IntPoint.h" 36 #include "platform/geometry/IntPoint.h"
37 #include "platform/geometry/IntRect.h" 37 #include "platform/geometry/IntRect.h"
38 #include "platform/graphics/GraphicsLayer.h" 38 #include "platform/graphics/GraphicsLayer.h"
39 #include "platform/heap/Handle.h" 39 #include "platform/heap/Handle.h"
40 #include "public/platform/WebCompositorAnimationTimeline.h"
40 #include "public/platform/WebDisplayMode.h" 41 #include "public/platform/WebDisplayMode.h"
41 #include "public/platform/WebFloatSize.h" 42 #include "public/platform/WebFloatSize.h"
42 #include "public/platform/WebGestureCurveTarget.h" 43 #include "public/platform/WebGestureCurveTarget.h"
43 #include "public/platform/WebLayer.h" 44 #include "public/platform/WebLayer.h"
44 #include "public/platform/WebPoint.h" 45 #include "public/platform/WebPoint.h"
45 #include "public/platform/WebRect.h" 46 #include "public/platform/WebRect.h"
46 #include "public/platform/WebSize.h" 47 #include "public/platform/WebSize.h"
47 #include "public/platform/WebString.h" 48 #include "public/platform/WebString.h"
48 #include "public/platform/WebVector.h" 49 #include "public/platform/WebVector.h"
49 #include "public/web/WebInputEvent.h" 50 #include "public/web/WebInputEvent.h"
(...skipping 20 matching lines...) Expand all
70 class Frame; 71 class Frame;
71 class FullscreenController; 72 class FullscreenController;
72 class InspectorOverlay; 73 class InspectorOverlay;
73 class InspectorOverlayImpl; 74 class InspectorOverlayImpl;
74 class LinkHighlight; 75 class LinkHighlight;
75 class PageScaleConstraintsSet; 76 class PageScaleConstraintsSet;
76 class DeprecatedPaintLayerCompositor; 77 class DeprecatedPaintLayerCompositor;
77 class TopControls; 78 class TopControls;
78 class UserGestureToken; 79 class UserGestureToken;
79 class WebActiveGestureAnimation; 80 class WebActiveGestureAnimation;
80 class WebCompositorAnimationTimeline;
81 class WebDevToolsAgentImpl; 81 class WebDevToolsAgentImpl;
82 class WebElement; 82 class WebElement;
83 class WebLayerTreeView; 83 class WebLayerTreeView;
84 class WebLocalFrameImpl; 84 class WebLocalFrameImpl;
85 class WebImage; 85 class WebImage;
86 class WebPagePopupImpl; 86 class WebPagePopupImpl;
87 class WebPlugin; 87 class WebPlugin;
88 class WebSelection; 88 class WebSelection;
89 class WebSettingsImpl; 89 class WebSettingsImpl;
90 90
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 436
437 GraphicsLayer* rootGraphicsLayer(); 437 GraphicsLayer* rootGraphicsLayer();
438 void setRootGraphicsLayer(GraphicsLayer*); 438 void setRootGraphicsLayer(GraphicsLayer*);
439 void scheduleCompositingLayerSync(); 439 void scheduleCompositingLayerSync();
440 GraphicsLayerFactory* graphicsLayerFactory() const; 440 GraphicsLayerFactory* graphicsLayerFactory() const;
441 DeprecatedPaintLayerCompositor* compositor() const; 441 DeprecatedPaintLayerCompositor* compositor() const;
442 void registerForAnimations(WebLayer*); 442 void registerForAnimations(WebLayer*);
443 void scheduleAnimation(); 443 void scheduleAnimation();
444 void attachCompositorAnimationTimeline(WebCompositorAnimationTimeline*); 444 void attachCompositorAnimationTimeline(WebCompositorAnimationTimeline*);
445 void detachCompositorAnimationTimeline(WebCompositorAnimationTimeline*); 445 void detachCompositorAnimationTimeline(WebCompositorAnimationTimeline*);
446 WebCompositorAnimationTimeline* linkHighlightsTimeline() const { return m_li nkHighlightsTimeline.get(); }
446 447
447 virtual void setVisibilityState(WebPageVisibilityState, bool) override; 448 virtual void setVisibilityState(WebPageVisibilityState, bool) override;
448 449
449 bool hasOpenedPopup() const { return m_pagePopup; } 450 bool hasOpenedPopup() const { return m_pagePopup; }
450 451
451 // Returns true if the event leads to scrolling. 452 // Returns true if the event leads to scrolling.
452 static bool mapKeyCodeForScroll( 453 static bool mapKeyCodeForScroll(
453 int keyCode, 454 int keyCode,
454 ScrollDirectionPhysical*, 455 ScrollDirectionPhysical*,
455 ScrollGranularity*); 456 ScrollGranularity*);
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
732 bool m_recreatingGraphicsContext; 733 bool m_recreatingGraphicsContext;
733 static const WebInputEvent* m_currentInputEvent; 734 static const WebInputEvent* m_currentInputEvent;
734 735
735 MediaKeysClientImpl m_mediaKeysClientImpl; 736 MediaKeysClientImpl m_mediaKeysClientImpl;
736 OwnPtr<WebActiveGestureAnimation> m_gestureAnimation; 737 OwnPtr<WebActiveGestureAnimation> m_gestureAnimation;
737 WebPoint m_positionOnFlingStart; 738 WebPoint m_positionOnFlingStart;
738 WebPoint m_globalPositionOnFlingStart; 739 WebPoint m_globalPositionOnFlingStart;
739 int m_flingModifier; 740 int m_flingModifier;
740 bool m_flingSourceDevice; 741 bool m_flingSourceDevice;
741 Vector<OwnPtr<LinkHighlight>> m_linkHighlights; 742 Vector<OwnPtr<LinkHighlight>> m_linkHighlights;
743 OwnPtr<WebCompositorAnimationTimeline> m_linkHighlightsTimeline;
chrishtr 2015/07/13 21:20:53 Why do you need a timeline specific to link highli
loyso (OOO) 2015/07/14 00:59:04 Timeline is a group of players, basically. Here we
chrishtr 2015/07/14 18:34:00 Is it actually possible to animate a link highligh
loyso (OOO) 2015/07/15 02:04:36 Yes, that's an opacity animation if you touch a hy
chrishtr 2015/07/15 14:25:14 It looks like each Document has a timeline already
loyso (OOO) 2015/07/21 01:19:07 Acknowledged.
742 OwnPtrWillBePersistent<FullscreenController> m_fullscreenController; 744 OwnPtrWillBePersistent<FullscreenController> m_fullscreenController;
743 745
744 bool m_showFPSCounter; 746 bool m_showFPSCounter;
745 bool m_continuousPaintingEnabled; 747 bool m_continuousPaintingEnabled;
746 WebColor m_baseBackgroundColor; 748 WebColor m_baseBackgroundColor;
747 WebColor m_backgroundColorOverride; 749 WebColor m_backgroundColorOverride;
748 float m_zoomFactorOverride; 750 float m_zoomFactorOverride;
749 751
750 bool m_userGestureObserved; 752 bool m_userGestureObserved;
751 WebDisplayMode m_displayMode; 753 WebDisplayMode m_displayMode;
752 754
753 RefPtr<EventListener> m_popupMouseWheelEventListener; 755 RefPtr<EventListener> m_popupMouseWheelEventListener;
754 }; 756 };
755 757
756 DEFINE_TYPE_CASTS(WebViewImpl, WebWidget, widget, widget->isWebView(), widget.is WebView()); 758 DEFINE_TYPE_CASTS(WebViewImpl, WebWidget, widget, widget->isWebView(), widget.is WebView());
757 // We have no ways to check if the specified WebView is an instance of 759 // We have no ways to check if the specified WebView is an instance of
758 // WebViewImpl because WebViewImpl is the only implementation of WebView. 760 // WebViewImpl because WebViewImpl is the only implementation of WebView.
759 DEFINE_TYPE_CASTS(WebViewImpl, WebView, webView, true, true); 761 DEFINE_TYPE_CASTS(WebViewImpl, WebView, webView, true, true);
760 762
761 } // namespace blink 763 } // namespace blink
762 764
763 #endif 765 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698