Changeset 87421 in webkit
- Timestamp:
- May 26, 2011 12:48:46 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r87397 r87421 1 2011-05-25 Brian Weinstein <bweinstein@apple.com> 2 3 Reviewed by Adam Roben. 4 5 WebKit2: Status bar, toolbar, and menu bar checks should be in the injected bundle 6 https://bugs.webkit.org/show_bug.cgi?id=61474 7 <rdar://problem/9468337> 8 9 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 10 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 11 (WebKit::InjectedBundlePageUIClient::statusBarIsVisible): Call the function on the client 12 if it exists. 13 (WebKit::InjectedBundlePageUIClient::menuBarIsVisible): Ditto. 14 (WebKit::InjectedBundlePageUIClient::toolbarsAreVisible): Ditto. 15 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 16 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 17 (WebKit::WebChromeClient::statusbarVisible): Add a possible short-circuit in the injected bundle. 18 (WebKit::WebChromeClient::menubarVisible): Ditto. 19 (WebKit::WebChromeClient::toolbarsVisible): Ditto. 20 1 21 2011-05-26 Steve Falkenburg <sfalken@apple.com> 2 22 -
trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h
r86584 r87421 172 172 typedef struct WKBundlePageResourceLoadClient WKBundlePageResourceLoadClient; 173 173 174 enum { 175 WKBundlePageUIElementVisibilityUnknown, 176 WKBundlePageUIElementVisible, 177 WKBundlePageUIElementHidden 178 }; 179 typedef uint32_t WKBundlePageUIElementVisibility; 180 174 181 // UI Client 175 182 typedef void (*WKBundlePageWillAddMessageToConsoleCallback)(WKBundlePageRef page, WKStringRef message, uint32_t lineNumber, const void *clientInfo); … … 183 190 typedef WKStringRef (*WKBundlePageGenerateFileForUploadCallback)(WKBundlePageRef page, WKStringRef originalFilePath, const void* clientInfo); 184 191 typedef bool (*WKBundlePageShouldRubberBandInDirectionCallback)(WKBundlePageRef page, WKScrollDirection scrollDirection, const void* clientInfo); 192 typedef WKBundlePageUIElementVisibility (*WKBundlePageStatusBarIsVisible)(WKBundlePageRef page, const void *clientInfo); 193 typedef WKBundlePageUIElementVisibility (*WKBundlePageMenuBarIsVisible)(WKBundlePageRef page, const void *clientInfo); 194 typedef WKBundlePageUIElementVisibility (*WKBundlePageToolbarsAreVisible)(WKBundlePageRef page, const void *clientInfo); 185 195 186 196 struct WKBundlePageUIClient { … … 198 208 WKBundlePageGenerateFileForUploadCallback generateFileForUpload; 199 209 WKBundlePageShouldRubberBandInDirectionCallback shouldRubberBandInDirection; 210 WKBundlePageStatusBarIsVisible statusBarIsVisible; 211 WKBundlePageMenuBarIsVisible menuBarIsVisible; 212 WKBundlePageToolbarsAreVisible toolbarsAreVisible; 200 213 }; 201 214 typedef struct WKBundlePageUIClient WKBundlePageUIClient; -
trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp
r86783 r87421 122 122 return m_client.shouldRubberBandInDirection(toAPI(page), direction, m_client.clientInfo); 123 123 } 124 125 WKBundlePageUIElementVisibility InjectedBundlePageUIClient::statusBarIsVisible(WebPage* page) 126 { 127 if (!m_client.statusBarIsVisible) 128 return WKBundlePageUIElementVisibilityUnknown; 129 130 return m_client.statusBarIsVisible(toAPI(page), m_client.clientInfo); 131 } 132 133 WKBundlePageUIElementVisibility InjectedBundlePageUIClient::menuBarIsVisible(WebPage* page) 134 { 135 if (!m_client.menuBarIsVisible) 136 return WKBundlePageUIElementVisibilityUnknown; 137 138 return m_client.menuBarIsVisible(toAPI(page), m_client.clientInfo); 139 } 140 141 WKBundlePageUIElementVisibility InjectedBundlePageUIClient::toolbarsAreVisible(WebPage* page) 142 { 143 if (!m_client.toolbarsAreVisible) 144 return WKBundlePageUIElementVisibilityUnknown; 145 146 return m_client.toolbarsAreVisible(toAPI(page), m_client.clientInfo); 147 } 124 148 125 149 } // namespace WebKit -
trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageUIClient.h
r86584 r87421 61 61 62 62 bool shouldRubberBandInDirection(WebPage*, WKScrollDirection) const; 63 64 WKBundlePageUIElementVisibility statusBarIsVisible(WebPage*); 65 WKBundlePageUIElementVisibility menuBarIsVisible(WebPage*); 66 WKBundlePageUIElementVisibility toolbarsAreVisible(WebPage*); 63 67 }; 64 68 -
trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp
r86806 r87421 199 199 bool WebChromeClient::toolbarsVisible() 200 200 { 201 WKBundlePageUIElementVisibility toolbarsVisibility = m_page->injectedBundleUIClient().toolbarsAreVisible(m_page); 202 if (toolbarsVisibility != WKBundlePageUIElementVisibilityUnknown) 203 return toolbarsVisibility == WKBundlePageUIElementVisible; 204 201 205 bool toolbarsAreVisible = true; 202 206 if (!WebProcess::shared().connection()->sendSync(Messages::WebPageProxy::GetToolbarsAreVisible(), Messages::WebPageProxy::GetToolbarsAreVisible::Reply(toolbarsAreVisible), m_page->pageID())) … … 213 217 bool WebChromeClient::statusbarVisible() 214 218 { 219 WKBundlePageUIElementVisibility statusbarVisibility = m_page->injectedBundleUIClient().statusBarIsVisible(m_page); 220 if (statusbarVisibility != WKBundlePageUIElementVisibilityUnknown) 221 return statusbarVisibility == WKBundlePageUIElementVisible; 222 215 223 bool statusBarIsVisible = true; 216 224 if (!WebProcess::shared().connection()->sendSync(Messages::WebPageProxy::GetStatusBarIsVisible(), Messages::WebPageProxy::GetStatusBarIsVisible::Reply(statusBarIsVisible), m_page->pageID())) … … 238 246 bool WebChromeClient::menubarVisible() 239 247 { 248 WKBundlePageUIElementVisibility menubarVisibility = m_page->injectedBundleUIClient().menuBarIsVisible(m_page); 249 if (menubarVisibility != WKBundlePageUIElementVisibilityUnknown) 250 return menubarVisibility == WKBundlePageUIElementVisible; 251 240 252 bool menuBarIsVisible = true; 241 253 if (!WebProcess::shared().connection()->sendSync(Messages::WebPageProxy::GetMenuBarIsVisible(), Messages::WebPageProxy::GetMenuBarIsVisible::Reply(menuBarIsVisible), m_page->pageID())) -
trunk/Tools/ChangeLog
r87413 r87421 1 2011-05-25 Brian Weinstein <bweinstein@apple.com> 2 3 Reviewed by Adam Roben. 4 5 WebKit2: Status bar, toolbar, and menu bar checks should be in the injected bundle 6 https://bugs.webkit.org/show_bug.cgi?id=61474 7 <rdar://problem/9468337> 8 9 * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: 10 (WTR::InjectedBundlePage::InjectedBundlePage): Add empty entries in the WKBundlePageUIClient. 11 1 12 2011-05-26 Andreas Kling <kling@webkit.org> 2 13 -
trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp
r86584 r87421 227 227 0, /*generateFileForUpload*/ 228 228 0, /*shouldRubberBandInDirection*/ 229 0, /*statusBarIsVisible*/ 230 0, /*menuBarIsVisible*/ 231 0, /*toolbarsAreVisible*/ 229 232 }; 230 233 WKBundlePageSetUIClient(m_page, &uiClient);
Note: See TracChangeset
for help on using the changeset viewer.