Diff
Modified: trunk/Source/WebKit2/ChangeLog (109276 => 109277)
--- trunk/Source/WebKit2/ChangeLog 2012-02-29 23:28:00 UTC (rev 109276)
+++ trunk/Source/WebKit2/ChangeLog 2012-02-29 23:32:33 UTC (rev 109277)
@@ -1,3 +1,23 @@
+2012-02-28 Brian Weinstein <bweinst...@apple.com>
+
+ WebKit2: didNewFirstVisuallyNonEmptyLayout should be sent to injected bundle
+ https://bugs.webkit.org/show_bug.cgi?id=79849
+
+ Tell the injected bundle about didNewFirstVisuallyNonEmptyLayout (we currently
+ just tell the UI process).
+
+ Reviewed by Beth Dakin.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add didNewFirstVisuallyNonEmptyLayout to version 1.
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::didNewFirstVisuallyNonEmptyLayout): Call through to the
+ client.
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ (InjectedBundlePageLoaderClient):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout): Tell the injected
+ bundle.
+
2012-02-29 Tim Horton <timothy_hor...@apple.com>
Make use of CG rounded-rect primitives
Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h (109276 => 109277)
--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h 2012-02-29 23:28:00 UTC (rev 109276)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h 2012-02-29 23:32:33 UTC (rev 109277)
@@ -95,6 +95,7 @@
typedef void (*WKBundlePageDidDetectXSSForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKTypeRef* userData, const void *clientInfo);
typedef void (*WKBundlePageDidFirstLayoutForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKTypeRef* userData, const void *clientInfo);
typedef void (*WKBundlePageDidFirstVisuallyNonEmptyLayoutForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKTypeRef* userData, const void *clientInfo);
+typedef void (*WKBundlePageDidNewFirstVisuallyNonEmptyLayoutCallback)(WKBundlePageRef page, WKTypeRef* userData, const void *clientInfo);
typedef void (*WKBundlePageDidLayoutForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, const void* clientInfo);
typedef void (*WKBundlePageDidClearWindowObjectForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKBundleScriptWorldRef world, const void *clientInfo);
typedef void (*WKBundlePageDidCancelClientRedirectForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, const void *clientInfo);
@@ -127,6 +128,7 @@
// Version 1.
WKBundlePageDidLayoutForFrameCallback didLayoutForFrame;
+ WKBundlePageDidNewFirstVisuallyNonEmptyLayoutCallback didNewFirstVisuallyNonEmptyLayout;
WKBundlePageDidDetectXSSForFrameCallback didDetectXSSForFrame;
};
typedef struct WKBundlePageLoaderClient WKBundlePageLoaderClient;
Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp (109276 => 109277)
--- trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp 2012-02-29 23:28:00 UTC (rev 109276)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp 2012-02-29 23:32:33 UTC (rev 109277)
@@ -186,7 +186,6 @@
userData = adoptRef(toImpl(userDataToPass));
}
-
void InjectedBundlePageLoaderClient::didLayoutForFrame(WebPage* page, WebFrame* frame)
{
if (!m_client.didLayoutForFrame)
@@ -195,6 +194,16 @@
m_client.didLayoutForFrame(toAPI(page), toAPI(frame), m_client.clientInfo);
}
+void InjectedBundlePageLoaderClient::didNewFirstVisuallyNonEmptyLayout(WebPage* page, RefPtr<APIObject>& userData)
+{
+ if (!m_client.didNewFirstVisuallyNonEmptyLayout)
+ return;
+
+ WKTypeRef userDataToPass = 0;
+ m_client.didNewFirstVisuallyNonEmptyLayout(toAPI(page), &userDataToPass, m_client.clientInfo);
+ userData = adoptRef(toImpl(userDataToPass));
+}
+
void InjectedBundlePageLoaderClient::didClearWindowObjectForFrame(WebPage* page, WebFrame* frame, DOMWrapperWorld* world)
{
if (!m_client.didClearWindowObjectForFrame)
Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h (109276 => 109277)
--- trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h 2012-02-29 23:28:00 UTC (rev 109276)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h 2012-02-29 23:32:33 UTC (rev 109277)
@@ -64,6 +64,7 @@
void didFirstLayoutForFrame(WebPage*, WebFrame*, RefPtr<APIObject>& userData);
void didFirstVisuallyNonEmptyLayoutForFrame(WebPage*, WebFrame*, RefPtr<APIObject>& userData);
void didLayoutForFrame(WebPage*, WebFrame*);
+ void didNewFirstVisuallyNonEmptyLayout(WebPage*, WTF::RefPtr<APIObject>& userData);
void didClearWindowObjectForFrame(WebPage*, WebFrame*, WebCore::DOMWrapperWorld*);
void didCancelClientRedirectForFrame(WebPage*, WebFrame*);
Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (109276 => 109277)
--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp 2012-02-29 23:28:00 UTC (rev 109276)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp 2012-02-29 23:32:33 UTC (rev 109277)
@@ -564,6 +564,9 @@
RefPtr<APIObject> userData;
+ // Notify the bundle client.
+ webPage->injectedBundleLoaderClient().didNewFirstVisuallyNonEmptyLayout(webPage, userData);
+
// Notify the UIProcess.
webPage->send(Messages::WebPageProxy::DidNewFirstVisuallyNonEmptyLayout(InjectedBundleUserMessageEncoder(userData.get())));
}
Modified: trunk/Tools/ChangeLog (109276 => 109277)
--- trunk/Tools/ChangeLog 2012-02-29 23:28:00 UTC (rev 109276)
+++ trunk/Tools/ChangeLog 2012-02-29 23:32:33 UTC (rev 109277)
@@ -1,3 +1,13 @@
+2012-02-28 Brian Weinstein <bweinst...@apple.com>
+
+ WebKit2: didNewFirstVisuallyNonEmptyLayout should be sent to injected bundle
+ https://bugs.webkit.org/show_bug.cgi?id=79849
+
+ Reviewed by Beth Dakin.
+
+ * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
+ (WTR::InjectedBundlePage::InjectedBundlePage): Add an entry to the struct.
+
2012-02-29 Lucas Forschler <lforsch...@apple.com>
Removed unused Apple buildslaves from the master configuration
Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp (109276 => 109277)
--- trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp 2012-02-29 23:28:00 UTC (rev 109276)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp 2012-02-29 23:32:33 UTC (rev 109277)
@@ -215,6 +215,7 @@
willPerformClientRedirectForFrame,
didHandleOnloadEventsForFrame,
0, // didLayoutForFrame
+ 0, // didNewFirstVisuallyNonEmptyLayoutForFrame
didDetectXSSForFrame,
};
WKBundlePageSetPageLoaderClient(m_page, &loaderClient);