Changeset 147723 in webkit
- Timestamp:
- Apr 5, 2013 1:20:10 AM (11 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r147700 r147723 1 2013-04-05 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 2 3 [WK2][EFL] Encapsulate view states set-up within WebView 4 https://bugs.webkit.org/show_bug.cgi?id=110877 5 6 Reviewed by Benjamin Poulain. 7 8 View states set-up is encapsulated within WebView. This change 9 reduces both usage of EwkView inside WebView class and usage of 10 WebPageProxy inside EwkView class. 11 12 New WKView API was added so that EwkView can define whether or not 13 the view is visible and focused. 14 15 * UIProcess/API/C/efl/WKView.cpp: 16 (WKViewIsFocused): 17 (WKViewSetIsFocused): 18 (WKViewIsVisible): 19 (WKViewSetIsVisible): 20 * UIProcess/API/C/efl/WKView.h: 21 * UIProcess/API/efl/EwkView.cpp: 22 (::handleEvent): 23 (EwkView::handleEvasObjectShow): 24 (EwkView::handleEwkViewFocusIn): 25 (EwkView::handleEwkViewFocusOut): 26 * UIProcess/API/efl/EwkView.h: 27 * UIProcess/efl/WebView.cpp: 28 (WebKit::WebView::WebView): 29 (WebKit::WebView::setFocused): 30 (WebKit): 31 (WebKit::WebView::setVisible): 32 (WebKit::WebView::isViewFocused): 33 (WebKit::WebView::isViewVisible): 34 * UIProcess/efl/WebView.h: 35 (WebKit::WebView::isFocused): 36 (WebView): 37 (WebKit::WebView::isVisible): 38 1 39 2013-04-04 KwangYong Choi <ky0.choi@samsung.com> 2 40 -
trunk/Source/WebKit2/UIProcess/API/C/efl/WKView.cpp
r147617 r147723 54 54 { 55 55 toImpl(viewRef)->initializeClient(client); 56 } 57 58 bool WKViewIsFocused(WKViewRef viewRef) 59 { 60 return toImpl(viewRef)->isFocused(); 61 } 62 63 void WKViewSetIsFocused(WKViewRef viewRef, bool isFocused) 64 { 65 toImpl(viewRef)->setFocused(isFocused); 66 } 67 68 bool WKViewIsVisible(WKViewRef viewRef) 69 { 70 return toImpl(viewRef)->isVisible(); 71 } 72 73 void WKViewSetIsVisible(WKViewRef viewRef, bool isVisible) 74 { 75 toImpl(viewRef)->setVisible(isVisible); 56 76 } 57 77 -
trunk/Source/WebKit2/UIProcess/API/C/efl/WKView.h
r147617 r147723 59 59 WK_EXPORT void WKViewSetViewClient(WKViewRef, const WKViewClient*); 60 60 61 WK_EXPORT bool WKViewIsFocused(WKViewRef); 62 WK_EXPORT void WKViewSetIsFocused(WKViewRef, bool); 63 64 WK_EXPORT bool WKViewIsVisible(WKViewRef); 65 WK_EXPORT void WKViewSetIsVisible(WKViewRef, bool); 66 61 67 WK_EXPORT void WKViewSetUserViewportTranslation(WKViewRef, double tx, double ty); 62 68 WK_EXPORT WKPoint WKViewUserViewportToContents(WKViewRef, WKPoint); -
trunk/Source/WebKit2/UIProcess/API/efl/EwkView.cpp
r147617 r147723 215 215 { 216 216 Ewk_View_Smart_Data* smartData = static_cast<Ewk_View_Smart_Data*>(data); 217 toEwkView(smartData)->page()->viewStateDidChange(WebPageProxy::ViewIsVisible);217 WKViewSetIsVisible(toEwkView(smartData)->wkView(), true); 218 218 } 219 219 … … 222 222 { 223 223 Ewk_View_Smart_Data* smartData = static_cast<Ewk_View_Smart_Data*>(data); 224 225 // We need to pass ViewIsVisible here. viewStateDidChange() itself is responsible for actually setting the visibility to Visible or Hidden 226 // depending on what WebPageProxy::isViewVisible() returns, this simply triggers the process. 227 toEwkView(smartData)->page()->viewStateDidChange(WebPageProxy::ViewIsVisible); 224 WKViewSetIsVisible(toEwkView(smartData)->wkView(), false); 228 225 } 229 226 … … 623 620 } 624 621 625 bool EwkView::isFocused() const626 {627 return evas_object_focus_get(m_evasObject);628 }629 630 bool EwkView::isVisible() const631 {632 return evas_object_visible_get(m_evasObject);633 }634 635 622 const char* EwkView::title() const 636 623 { … … 1164 1151 Eina_Bool EwkView::handleEwkViewFocusIn(Ewk_View_Smart_Data* smartData) 1165 1152 { 1166 toEwkView(smartData)->page()->viewStateDidChange(WebPageProxy::ViewIsFocused | WebPageProxy::ViewWindowIsActive);1153 WKViewSetIsFocused(toEwkView(smartData)->wkView(), true); 1167 1154 return true; 1168 1155 } … … 1170 1157 Eina_Bool EwkView::handleEwkViewFocusOut(Ewk_View_Smart_Data* smartData) 1171 1158 { 1172 toEwkView(smartData)->page()->viewStateDidChange(WebPageProxy::ViewIsFocused | WebPageProxy::ViewWindowIsActive);1159 WKViewSetIsFocused(toEwkView(smartData)->wkView(), false); 1173 1160 return true; 1174 1161 } -
trunk/Source/WebKit2/UIProcess/API/efl/EwkView.h
r147617 r147723 120 120 WebKit::PageViewportController* pageViewportController() { return m_pageViewportController.get(); } 121 121 122 bool isFocused() const;123 bool isVisible() const;124 125 122 void setDeviceScaleFactor(float scale); 126 123 float deviceScaleFactor() const; -
trunk/Source/WebKit2/UIProcess/efl/WebView.cpp
r147617 r147723 55 55 : m_ewkView(0) 56 56 , m_page(context->createWebPage(this, pageGroup)) 57 , m_focused(false) 58 , m_visible(false) 57 59 { 58 60 m_page->pageGroup()->preferences()->setAcceleratedCompositingEnabled(true); … … 103 105 } 104 106 107 void WebView::setFocused(bool focused) 108 { 109 if (m_focused == focused) 110 return; 111 112 m_focused = focused; 113 m_page->viewStateDidChange(WebPageProxy::ViewIsFocused | WebPageProxy::ViewWindowIsActive); 114 } 115 116 void WebView::setVisible(bool visible) 117 { 118 if (m_visible == visible) 119 return; 120 121 m_visible = visible; 122 m_page->viewStateDidChange(WebPageProxy::ViewIsVisible); 123 } 124 105 125 void WebView::setUserViewportTranslation(double tx, double ty) 106 126 { … … 302 322 bool WebView::isViewFocused() 303 323 { 304 // FIXME: Unneeded after webkit.org/b/110877 305 if (!m_ewkView) 306 return false; 307 308 return m_ewkView->isFocused(); 324 return isFocused(); 309 325 } 310 326 311 327 bool WebView::isViewVisible() 312 328 { 313 // FIXME: Unneeded after webkit.org/b/110877 314 if (!m_ewkView) 315 return false; 316 317 return m_ewkView->isVisible(); 329 return isVisible(); 318 330 } 319 331 -
trunk/Source/WebKit2/UIProcess/efl/WebView.h
r147617 r147723 61 61 const WebCore::IntSize& size() const { return m_size; } 62 62 63 bool isFocused() const { return m_focused; } 64 void setFocused(bool); 65 66 bool isVisible() const { return m_visible; } 67 void setVisible(bool); 68 63 69 void setUserViewportTranslation(double tx, double ty); 64 70 WebCore::IntPoint userViewportToContents(const WebCore::IntPoint&) const; … … 186 192 WebCore::TransformationMatrix m_userViewportTransform; 187 193 WebCore::IntSize m_size; // Size in device units. 194 bool m_focused; 195 bool m_visible; 188 196 }; 189 197
Note: See TracChangeset
for help on using the changeset viewer.