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

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

Issue 517043003: Move Frame to the Oilpan heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Update OilpanExpectations Created 6 years, 3 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 17 matching lines...) Expand all
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 #ifndef WebViewImpl_h 31 #ifndef WebViewImpl_h
32 #define WebViewImpl_h 32 #define WebViewImpl_h
33 33
34 #include "core/page/PagePopupDriver.h" 34 #include "core/page/PagePopupDriver.h"
35 #include "platform/geometry/IntPoint.h" 35 #include "platform/geometry/IntPoint.h"
36 #include "platform/geometry/IntRect.h" 36 #include "platform/geometry/IntRect.h"
37 #include "platform/graphics/GraphicsLayer.h" 37 #include "platform/graphics/GraphicsLayer.h"
38 #include "platform/heap/Handle.h"
38 #include "public/platform/WebGestureCurveTarget.h" 39 #include "public/platform/WebGestureCurveTarget.h"
39 #include "public/platform/WebLayer.h" 40 #include "public/platform/WebLayer.h"
40 #include "public/platform/WebPoint.h" 41 #include "public/platform/WebPoint.h"
41 #include "public/platform/WebRect.h" 42 #include "public/platform/WebRect.h"
42 #include "public/platform/WebSize.h" 43 #include "public/platform/WebSize.h"
43 #include "public/platform/WebString.h" 44 #include "public/platform/WebString.h"
44 #include "public/web/WebInputEvent.h" 45 #include "public/web/WebInputEvent.h"
45 #include "public/web/WebNavigationPolicy.h" 46 #include "public/web/WebNavigationPolicy.h"
46 #include "public/web/WebView.h" 47 #include "public/web/WebView.h"
47 #include "web/BackForwardClientImpl.h" 48 #include "web/BackForwardClientImpl.h"
(...skipping 17 matching lines...) Expand all
65 class DataObject; 66 class DataObject;
66 class Frame; 67 class Frame;
67 class FullscreenController; 68 class FullscreenController;
68 class LinkHighlight; 69 class LinkHighlight;
69 class PopupContainer; 70 class PopupContainer;
70 class RenderLayerCompositor; 71 class RenderLayerCompositor;
71 class UserGestureToken; 72 class UserGestureToken;
72 class WebActiveGestureAnimation; 73 class WebActiveGestureAnimation;
73 class WebDevToolsAgentPrivate; 74 class WebDevToolsAgentPrivate;
74 class WebLocalFrameImpl; 75 class WebLocalFrameImpl;
76 class WebRemoteFrameImpl;
75 class WebImage; 77 class WebImage;
76 class WebPagePopupImpl; 78 class WebPagePopupImpl;
77 class WebPlugin; 79 class WebPlugin;
78 class WebSettingsImpl; 80 class WebSettingsImpl;
79 81
80 class WebViewImpl FINAL : public WebView 82 class WebViewImpl FINAL : public WebView
81 , public RefCounted<WebViewImpl> 83 , public RefCounted<WebViewImpl>
82 , public WebGestureCurveTarget 84 , public WebGestureCurveTarget
83 , public PagePopupDriver 85 , public PagePopupDriver
84 , public PageWidgetEventHandler { 86 , public PageWidgetEventHandler {
(...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after
589 bool m_fixedLayoutSizeLock; 591 bool m_fixedLayoutSizeLock;
590 // If true, automatically resize the render view around its content. 592 // If true, automatically resize the render view around its content.
591 bool m_shouldAutoResize; 593 bool m_shouldAutoResize;
592 // The lower bound on the size when auto-resizing. 594 // The lower bound on the size when auto-resizing.
593 IntSize m_minAutoSize; 595 IntSize m_minAutoSize;
594 // The upper bound on the size when auto-resizing. 596 // The upper bound on the size when auto-resizing.
595 IntSize m_maxAutoSize; 597 IntSize m_maxAutoSize;
596 598
597 OwnPtrWillBePersistent<Page> m_page; 599 OwnPtrWillBePersistent<Page> m_page;
598 600
601 #if ENABLE(OILPAN)
602 // With Oilpan, the WebViewImpl object keeps a strong reference to one kind of main
603 // frame, so as to keep it alive until the view lets it go.
604 //
605 // In the non-Oilpan case, the ref-counted frame is instead created and retu rned with
606 // a ref count that must be balanced by eventually calling close() on the
607 // Web*FrameImpl object. That close() call is also assumed for Oilpan, but w e need
608 // to keep the object alive until that time. Hence these mutually-exclusive Persistent<>s.
609 Persistent<WebLocalFrameImpl> m_localMainFrame;
610 Persistent<WebRemoteFrameImpl> m_remoteMainFrame;
611 #endif
612
599 // An object that can be used to manipulate m_page->settings() without linki ng 613 // An object that can be used to manipulate m_page->settings() without linki ng
600 // against WebCore. This is lazily allocated the first time GetWebSettings() 614 // against WebCore. This is lazily allocated the first time GetWebSettings()
601 // is called. 615 // is called.
602 OwnPtr<WebSettingsImpl> m_webSettings; 616 OwnPtr<WebSettingsImpl> m_webSettings;
603 617
604 // A copy of the web drop data object we received from the browser. 618 // A copy of the web drop data object we received from the browser.
605 RefPtrWillBePersistent<DataObject> m_currentDragData; 619 RefPtrWillBePersistent<DataObject> m_currentDragData;
606 620
607 // The point relative to the client area where the mouse was last pressed 621 // The point relative to the client area where the mouse was last pressed
608 // down. This is used by the drag client to determine what was under the 622 // down. This is used by the drag client to determine what was under the
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
696 bool m_recreatingGraphicsContext; 710 bool m_recreatingGraphicsContext;
697 static const WebInputEvent* m_currentInputEvent; 711 static const WebInputEvent* m_currentInputEvent;
698 712
699 MediaKeysClientImpl m_mediaKeysClientImpl; 713 MediaKeysClientImpl m_mediaKeysClientImpl;
700 OwnPtr<WebActiveGestureAnimation> m_gestureAnimation; 714 OwnPtr<WebActiveGestureAnimation> m_gestureAnimation;
701 WebPoint m_positionOnFlingStart; 715 WebPoint m_positionOnFlingStart;
702 WebPoint m_globalPositionOnFlingStart; 716 WebPoint m_globalPositionOnFlingStart;
703 int m_flingModifier; 717 int m_flingModifier;
704 bool m_flingSourceDevice; 718 bool m_flingSourceDevice;
705 Vector<OwnPtr<LinkHighlight> > m_linkHighlights; 719 Vector<OwnPtr<LinkHighlight> > m_linkHighlights;
706 OwnPtr<FullscreenController> m_fullscreenController; 720 OwnPtrWillBePersistent<FullscreenController> m_fullscreenController;
707 721
708 bool m_showFPSCounter; 722 bool m_showFPSCounter;
709 bool m_showPaintRects; 723 bool m_showPaintRects;
710 bool m_showDebugBorders; 724 bool m_showDebugBorders;
711 bool m_continuousPaintingEnabled; 725 bool m_continuousPaintingEnabled;
712 bool m_showScrollBottleneckRects; 726 bool m_showScrollBottleneckRects;
713 WebColor m_baseBackgroundColor; 727 WebColor m_baseBackgroundColor;
714 WebColor m_backgroundColorOverride; 728 WebColor m_backgroundColorOverride;
715 float m_zoomFactorOverride; 729 float m_zoomFactorOverride;
716 730
717 bool m_userGestureObserved; 731 bool m_userGestureObserved;
718 }; 732 };
719 733
720 // We have no ways to check if the specified WebView is an instance of 734 // We have no ways to check if the specified WebView is an instance of
721 // WebViewImpl because WebViewImpl is the only implementation of WebView. 735 // WebViewImpl because WebViewImpl is the only implementation of WebView.
722 DEFINE_TYPE_CASTS(WebViewImpl, WebView, webView, true, true); 736 DEFINE_TYPE_CASTS(WebViewImpl, WebView, webView, true, true);
723 737
724 } // namespace blink 738 } // namespace blink
725 739
726 #endif 740 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698