| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 503 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 588 bool m_fixedLayoutSizeLock; | 590 bool m_fixedLayoutSizeLock; |
| 589 // If true, automatically resize the render view around its content. | 591 // If true, automatically resize the render view around its content. |
| 590 bool m_shouldAutoResize; | 592 bool m_shouldAutoResize; |
| 591 // The lower bound on the size when auto-resizing. | 593 // The lower bound on the size when auto-resizing. |
| 592 IntSize m_minAutoSize; | 594 IntSize m_minAutoSize; |
| 593 // The upper bound on the size when auto-resizing. | 595 // The upper bound on the size when auto-resizing. |
| 594 IntSize m_maxAutoSize; | 596 IntSize m_maxAutoSize; |
| 595 | 597 |
| 596 OwnPtrWillBePersistent<Page> m_page; | 598 OwnPtrWillBePersistent<Page> m_page; |
| 597 | 599 |
| 600 #if ENABLE(OILPAN) |
| 601 // With Oilpan, the WebViewImpl object keeps a strong reference to one kind
of main |
| 602 // frame, so as to keep it alive until the view lets it go. |
| 603 // |
| 604 // In the non-Oilpan case, the ref-counted frame is instead created and retu
rned with |
| 605 // a ref count that must be balanced by eventually calling close() on the |
| 606 // Web*FrameImpl object. That close() call is also assumed for Oilpan, but w
e need |
| 607 // to keep the object alive until that time. Hence these mutually-exclusive
Persistent<>s. |
| 608 Persistent<WebLocalFrameImpl> m_localMainFrame; |
| 609 Persistent<WebRemoteFrameImpl> m_remoteMainFrame; |
| 610 #endif |
| 611 |
| 598 // An object that can be used to manipulate m_page->settings() without linki
ng | 612 // An object that can be used to manipulate m_page->settings() without linki
ng |
| 599 // against WebCore. This is lazily allocated the first time GetWebSettings() | 613 // against WebCore. This is lazily allocated the first time GetWebSettings() |
| 600 // is called. | 614 // is called. |
| 601 OwnPtr<WebSettingsImpl> m_webSettings; | 615 OwnPtr<WebSettingsImpl> m_webSettings; |
| 602 | 616 |
| 603 // A copy of the web drop data object we received from the browser. | 617 // A copy of the web drop data object we received from the browser. |
| 604 RefPtrWillBePersistent<DataObject> m_currentDragData; | 618 RefPtrWillBePersistent<DataObject> m_currentDragData; |
| 605 | 619 |
| 606 // The point relative to the client area where the mouse was last pressed | 620 // The point relative to the client area where the mouse was last pressed |
| 607 // down. This is used by the drag client to determine what was under the | 621 // down. This is used by the drag client to determine what was under the |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 693 bool m_recreatingGraphicsContext; | 707 bool m_recreatingGraphicsContext; |
| 694 static const WebInputEvent* m_currentInputEvent; | 708 static const WebInputEvent* m_currentInputEvent; |
| 695 | 709 |
| 696 MediaKeysClientImpl m_mediaKeysClientImpl; | 710 MediaKeysClientImpl m_mediaKeysClientImpl; |
| 697 OwnPtr<WebActiveGestureAnimation> m_gestureAnimation; | 711 OwnPtr<WebActiveGestureAnimation> m_gestureAnimation; |
| 698 WebPoint m_positionOnFlingStart; | 712 WebPoint m_positionOnFlingStart; |
| 699 WebPoint m_globalPositionOnFlingStart; | 713 WebPoint m_globalPositionOnFlingStart; |
| 700 int m_flingModifier; | 714 int m_flingModifier; |
| 701 bool m_flingSourceDevice; | 715 bool m_flingSourceDevice; |
| 702 Vector<OwnPtr<LinkHighlight> > m_linkHighlights; | 716 Vector<OwnPtr<LinkHighlight> > m_linkHighlights; |
| 703 OwnPtr<FullscreenController> m_fullscreenController; | 717 OwnPtrWillBePersistent<FullscreenController> m_fullscreenController; |
| 704 | 718 |
| 705 bool m_showFPSCounter; | 719 bool m_showFPSCounter; |
| 706 bool m_showPaintRects; | 720 bool m_showPaintRects; |
| 707 bool m_showDebugBorders; | 721 bool m_showDebugBorders; |
| 708 bool m_continuousPaintingEnabled; | 722 bool m_continuousPaintingEnabled; |
| 709 bool m_showScrollBottleneckRects; | 723 bool m_showScrollBottleneckRects; |
| 710 WebColor m_baseBackgroundColor; | 724 WebColor m_baseBackgroundColor; |
| 711 WebColor m_backgroundColorOverride; | 725 WebColor m_backgroundColorOverride; |
| 712 float m_zoomFactorOverride; | 726 float m_zoomFactorOverride; |
| 713 | 727 |
| 714 bool m_userGestureObserved; | 728 bool m_userGestureObserved; |
| 715 }; | 729 }; |
| 716 | 730 |
| 717 // We have no ways to check if the specified WebView is an instance of | 731 // We have no ways to check if the specified WebView is an instance of |
| 718 // WebViewImpl because WebViewImpl is the only implementation of WebView. | 732 // WebViewImpl because WebViewImpl is the only implementation of WebView. |
| 719 DEFINE_TYPE_CASTS(WebViewImpl, WebView, webView, true, true); | 733 DEFINE_TYPE_CASTS(WebViewImpl, WebView, webView, true, true); |
| 720 | 734 |
| 721 } // namespace blink | 735 } // namespace blink |
| 722 | 736 |
| 723 #endif | 737 #endif |
| OLD | NEW |