17a218760bf3e17c016cd9dd295e1197d37e1c46
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-10-02  Anders Carlsson  <andersca@apple.com>
2
3         Change most GraphicsLayer::create calls to use the version that takes a GraphicsLayerFactory
4         https://bugs.webkit.org/show_bug.cgi?id=98217
5
6         Reviewed by Andreas Kling.
7
8         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
9         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
10         (WebKit::LayerTreeCoordinator::createPageOverlayLayer):
11         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
12         (WebKit::LayerTreeHostCA::initialize):
13         (WebKit::LayerTreeHostCA::createPageOverlayLayer):
14         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
15         (WebKit::LayerTreeHostGtk::initialize):
16         (WebKit::LayerTreeHostGtk::createPageOverlayLayer):
17         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
18         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
19
20 2012-10-03  Alberto Garcia  <agarcia@igalia.com>
21
22         [GTK] [WK2] Unused variable in webkitWebViewLoadChanged
23         https://bugs.webkit.org/show_bug.cgi?id=98271
24
25         Reviewed by Martin Robinson.
26
27         Use the priv variable to directly access private attributes
28         instead of dereferencing webView->priv all the time.
29         Fixes -Wunused-variable.
30
31         * UIProcess/API/gtk/WebKitWebView.cpp:
32         (webkitWebViewLoadChanged):
33
34 2012-10-03  Christophe Dumez  <christophe.dumez@intel.com>
35
36         [EFL][WK2] Implement focus/unfocus in UIClient
37         https://bugs.webkit.org/show_bug.cgi?id=98253
38
39         Reviewed by Gyuyoung Kim.
40
41         Implement focus-related functionality in
42         WebKitEFL's UIClient.
43
44         * UIProcess/API/efl/ewk_view_ui_client.cpp:
45         (focus):
46         (unfocus):
47         (takeFocus):
48         (ewk_view_ui_client_attach):
49
50 2012-10-03  Carlos Garcia Campos  <cgarcia@igalia.com>
51
52         [GTK] WebKitWebView doesn't emit notify:favicon when it changes in some cases in WebKit2
53         https://bugs.webkit.org/show_bug.cgi?id=98153
54
55         Reviewed by Martin Robinson.
56
57         The main problem is that it relies on icon-ready signal to be
58         emitted by the favicon database, but that signal is only emitted
59         when the icon is loaded from the network or imported from the
60         database, but not when the icon is already in memory. The way to
61         detect if a web page doesn't have a favicon or it's unknown it's
62         also incorrectly done and the wrong error is returned for pages
63         not having a favicon.
64
65         * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
66         (GetFaviconSurfaceAsyncData): Add a GError field.
67         (getIconSurfaceSynchronously): Add a GError parameter and fill it
68         accordingly. Use imageForPageURL() instead of
69         nativeImageForPageURL() because the latter always returns NULL for
70         empty images, so it's not possible to know whether it's an empty
71         image or not. If the image is empty is because the web page is
72         known by the database and it doesn't have a favicon.
73         (processPendingIconsForURI): Pass the data error to
74         getIconSurfaceSynchronously(). Don't set the icon if the request
75         has been cancelled.
76         (webkitFaviconDatabaseGetFavicon): Pass NULL as error to
77         getIconSurfaceSynchronously().
78         (setErrorForAsyncResult): Fill also error for
79         WEBKIT_FAVICON_DATABASE_ERROR_FAVICON_UNKNOWN.
80         (webkit_favicon_database_get_favicon): If we get NULL as icon in
81         the first place, check the error code returned by
82         getIconSurfaceSynchronously() and return early if the page doesn't
83         have a favicon. Remove the cancelled signal to avoid race
84         conditions.
85         (webkit_favicon_database_get_favicon_finish): Errors are processed
86         before now, so simply propagate the error if any or return the
87         favicon.
88         * UIProcess/API/gtk/WebKitWebView.cpp:
89         (_WebKitWebViewPrivate): Keep a reference of the favicon.
90         (webkitWebViewCancelFaviconRequest): Cancel any async operation to
91         get the favicon.
92         (webkitWebViewUpdateFavicon): Check if favicon has changed and
93         save it emitting also notify::favicon signal.
94         (iconReadyCallback): Only update the favicon if we don't have one
95         already.
96         (webkitWebViewFinalize): Call webkitWebViewCancelFaviconRequest().
97         (getFaviconReadyCallback): Update the favicon.
98         (webkitWebViewRequestFavicon): Request a new favicon.
99         (webkitWebViewLoadChanged): Try to get the favicon when the load
100         has been committed and the URI is the final one.
101         (webkit_web_view_get_favicon): Return the cached favicon.
102         * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
103         (serverCallback):
104         (testSetDirectory):
105         (testGetFavicon):
106         (testWebViewFavicon):
107
108 2012-10-02  Carlos Garcia Campos  <cgarcia@igalia.com>
109
110         [GTK] Add API to get the web view that initiated a custom URI request to WebKit2 GTK+
111         https://bugs.webkit.org/show_bug.cgi?id=97895
112
113         Reviewed by Martin Robinson.
114
115         The message DidReceiveURIRequest is now sent to the page that
116         initiated the request that forwards the mesassage to the
117         WebSoupRequestManagerProxy.
118
119         * UIProcess/API/C/soup/WKSoupRequestManager.h: Update
120         didReceiveURIRequest callback to receive the initiating page ID.
121         * UIProcess/API/efl/ewk_context_request_manager_client.cpp:
122         (didReceiveURIRequest): Update the callback API change.
123         * UIProcess/API/gtk/WebKitRequestManagerClient.cpp:
124         (didReceiveURIRequest): Pass the initiating page to the
125         WebKitURISchemeRequest constructor.
126         * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
127         (_WebKitURISchemeRequestPrivate): Keep a reference to the
128         WebPageProxy that initiatesd the request.
129         (webkitURISchemeRequestCreate): Save the initiating page.
130         (webkit_uri_scheme_request_get_web_view): Return the view widget
131         of the initiating WebPageProxy.
132         * UIProcess/API/gtk/WebKitURISchemeRequest.h:
133         * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
134         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
135         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
136         * UIProcess/WebPageProxy.cpp:
137         (WebKit::WebPageProxy::didReceiveURIRequest): Forward the request
138         to the soup request manager proxy.
139         * UIProcess/WebPageProxy.h:
140         (WebPageProxy): Add didReceiveURIRequest().
141         * UIProcess/WebPageProxy.messages.in: Add DidReceiveURIRequest
142         message.
143         * UIProcess/soup/WebSoupRequestManagerClient.cpp:
144         (WebKit::WebSoupRequestManagerClient::didReceiveURIRequest):
145         Pass the inititing page to the client callback.
146         * UIProcess/soup/WebSoupRequestManagerClient.h:
147         (WebSoupRequestManagerClient):
148         * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
149         (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest): Pass
150         the inititing page to the client.
151         * UIProcess/soup/WebSoupRequestManagerProxy.h:
152         (WebSoupRequestManagerProxy):
153         * UIProcess/soup/WebSoupRequestManagerProxy.messages.in: Remove
154         DidReceiveURIRequest message.
155         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
156         (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
157         Save the pageID of the WebFrame.
158         (WebKit::WebFrameNetworkingContext::initiatingPageID): Return the
159         inititing page ID.
160         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
161         * WebProcess/soup/WebSoupRequestManager.cpp:
162         (WebKit::WebSoupRequestManager::send): Send DidReceiveURIRequest
163         message to the WebPage that initiated the request.
164
165 2012-10-02  Zan Dobersek  <zandobersek@gmail.com>
166
167         Unreviewed build fix for the GTK port after r130207.
168         Use proper file separators for new entries.
169
170         * GNUmakefile.list.am:
171
172 2012-10-02  Joone Hur  <joone.hur@intel.com>
173
174         Unreviewed, GTK+,Efl debug build fix after r130225.
175
176         This patch allows to include the static xErrorString variable when LOG_DISABLED is 0.
177
178         * PluginProcess/unix/PluginProcessMainUnix.cpp:
179         (WebKit):
180
181 2012-10-02  Sam Weinig  <sam@webkit.org>
182
183         Fix a typo and add some \n's to make Mark happy.
184
185         Rubber-stamped by Mark "logging must be fast" Rowe.
186
187         * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
188         (WebKit::InjectedBundle::load):
189
190 2012-10-02  Sam Weinig  <sam@webkit.org>
191
192         Add Objective-C API for the InjectedBundle
193         https://bugs.webkit.org/show_bug.cgi?id=98222
194
195         Reviewed by Anders Carlsson.
196
197         Add skeleton of the Objective-C API for the InjectedBundle.
198
199         * WebKit2.xcodeproj/project.pbxproj:
200         Add new API files.
201
202         * WebProcess/InjectedBundle/API/mac: Added.
203         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h: Added.
204         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: Added.
205         (-[WKWebProcessPlugIn _initWithPrincipalClassInstance:injectedBundle:]):
206         Initialization method for the WKWebProcessPlugIn object. This object will act as the WKBundleRef
207         object does in the C-SPI.
208         (+[WKWebProcessPlugIn _shared]):
209         Access the shared instance.
210         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h: Added.
211
212         * WebProcess/InjectedBundle/InjectedBundle.h:
213         Store an NSBundle rather than a CFBundleRef as the platform bundle.
214
215         * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: Removed.
216         * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm: Copied from Source/WebKit2/WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp.
217         (WebKit::InjectedBundle::load):
218         If a principal class is provided and no WKBundleInitialize function is present in the bundle, use the principal class
219         as the initialization point. The principal class must conform to the WKWebProcessPlugIn protocol and if a
220         webProcessPlugInInitialize: method is present, it is called. 
221
222 2012-10-02  Dan Bernstein  <mitz@apple.com>
223
224         Fixed a crash when the localization option is not passed to the web process.
225
226         Reviewed by Sam Weinig.
227
228         * PluginProcess/mac/PluginProcessMainMac.mm:
229         (WebKit::PluginProcessMain): Changed to not call WKSetDefaultLocalization
230         with the empty string.
231         * WebProcess/mac/WebProcessMainMac.mm:
232         (WebKit::WebProcessMain): Ditto.
233
234 == Rolled over to ChangeLog-2012-10-02 ==