[GTK] Compilation of ProcessLauncherGtk.cpp fails due to unresolved symbols
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2013-04-26  Eduardo Lima Mitev  <elima@igalia.com>
2
3         [GTK] Compilation of ProcessLauncherGtk.cpp fails due to unresolved symbols
4         https://bugs.webkit.org/show_bug.cgi?id=115240
5
6         Reviewed by Martin Robinson.
7
8         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: Includes sys/socket.h if OS is Linux
9
10 2013-04-25  Zan Dobersek  <zdobersek@igalia.com>
11
12         [GTK] Plugin process broken due to a missing symbol
13         https://bugs.webkit.org/show_bug.cgi?id=114901
14
15         Reviewed by Gustavo Noronha Silva.
16
17         Work around the missing symbols in the WebKitPluginProcess by specifying the required libraries
18         multiple times in the program's LDADD list. Libtool fights fiercely to avoid duplicate static library
19         references among the linker arguments (even if using the --preserve-dup-deps flag) so the required libraries
20         are specified in various ways.
21
22         The unresolved symbols in object files are no longer ignored as this can lead to further trouble (for instance
23         this patch also adds a few missing source files to the list of WebKitPluginProcess sources). The Freetype and
24         gamepad dependencies' libraries are also added to the binary's LDADD list.
25
26         * GNUmakefile.am:
27         * GNUmakefile.list.am: Add a few missing files to the build.
28
29 2013-04-24  Chris Fleizach  <cfleizach@apple.com>
30
31         WEB SPEECH: language support does not work as expected
32         https://bugs.webkit.org/show_bug.cgi?id=115119
33
34         Reviewed by Alexey Proskuryakov.
35
36         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
37         (InitWebCoreSystemInterface):
38
39 2013-04-25  Anders Carlsson  <andersca@apple.com>
40
41         Rename DecidePolicyForResponse message to DecidePolicyForResponseSync
42         https://bugs.webkit.org/show_bug.cgi?id=115207
43
44         Reviewed by Beth Dakin.
45
46         In preparation for adding a new async DecidePolicyForResponse message,
47         rename the current one to DecidePolicyForResponseSync. Also split out the async part
48         into a separate WebPageProxy::decidePolicyForResponse member function.
49
50         * UIProcess/WebPageProxy.cpp:
51         (WebKit::WebPageProxy::WebPageProxy):
52         (WebKit::WebPageProxy::receivedPolicyDecision):
53         (WebKit::WebPageProxy::decidePolicyForResponse):
54         (WebKit::WebPageProxy::decidePolicyForResponseSync):
55         * UIProcess/WebPageProxy.h:
56         (WebPageProxy):
57         * UIProcess/WebPageProxy.messages.in:
58         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
59         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
60
61 2013-04-25  Joseph Pecoraro  <pecoraro@apple.com>
62
63         Web Inspector: ConsoleMessage should include line and column number where possible
64         https://bugs.webkit.org/show_bug.cgi?id=114929
65
66         Reviewed by Timothy Hatcher.
67
68         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
69         (WebKit::WebChromeClient::addMessageToConsole):
70         * WebProcess/WebCoreSupport/WebChromeClient.h:
71
72 2013-04-25  Brady Eidson  <beidson@apple.com>
73
74         Thread safety issues in WKCustomProtocol.
75         <rdar://problem/13247304> and https://bugs.webkit.org/show_bug.cgi?id=115185
76
77         Reviewed by Alexey Proskuryakov.
78
79         * Shared/Network/CustomProtocols/CustomProtocolManager.h:
80
81         * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
82         (WebKit::CustomProtocolManager::addCustomProtocol): Protect m_customProtocolMap with its mutex.
83         (WebKit::CustomProtocolManager::removeCustomProtocol): Ditto.
84         (WebKit::CustomProtocolManager::didFailWithError):
85         (WebKit::CustomProtocolManager::didLoadData):
86         (WebKit::CustomProtocolManager::didReceiveResponse):
87         (WebKit::CustomProtocolManager::didFinishLoading):
88         (WebKit::CustomProtocolManager::protocolForID): Protect m_customProtocolMap with its mutex, and return
89           a RetainPtr instead of a raw pointer.
90
91 2013-04-25  Jer Noble  <jer.noble@apple.com>
92
93         Further build fixes: correct two more misnames of WebProcessShim.dyld.
94
95         * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
96         (WebKit::WebContentProcessMainDelegate::doPreInitializationWork):
97         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
98
99 2013-04-25  Martin Robinson  <mrobinson@igalia.com>
100
101         Make gobject-introspection warnings non-fatal
102         https://bugs.webkit.org/show_bug.cgi?id=115184
103
104         Reviewed by Carlos Garcia Campos.
105
106         * GNUmakefile.am: Make it so that gobject-introspection errors do not fail the buld
107         until we get to a point where gobject-introspection gives consistent warnings.
108
109 2013-04-25  Carlos Garcia Campos  <cgarcia@igalia.com>
110
111         [GTK] Add WebKitWebViewGroup to WebKit2 GTK+ API
112         https://bugs.webkit.org/show_bug.cgi?id=111265
113
114         Reviewed by Anders Carlsson.
115
116         In the current API the settings are always shared by all web
117         views, because they are always created on the default page
118         group. This makes impossible to have different settings on
119         different web views. Expose the page group in the API,
120         so that users can create web views on a group different than the
121         default one to have their own settings.
122
123         * GNUmakefile.list.am: Add new files to compilation.
124         * UIProcess/API/gtk/WebKitSettings.cpp:
125         (webkitSettingsGetPreferences): Helper private method to get the
126         WebPreferences wrapped by a WebKitSettings object.
127         * UIProcess/API/gtk/WebKitSettingsPrivate.h:
128         * UIProcess/API/gtk/WebKitWebContext.cpp:
129         (_WebKitWebContextPrivate): Add a default WebKitWebViewGroup.
130         (webkitWebContextCreatePageForWebView): Create the WebPageProxy
131         with the WebPageGroup of the given WebKitWebViewGroup.
132         (webkitWebContextGetDefaultWebViewGroup): Helper private method to
133         get the default WebKitWebViewGroup.
134         * UIProcess/API/gtk/WebKitWebContextPrivate.h:
135         * UIProcess/API/gtk/WebKitWebView.cpp:
136         (_WebKitWebViewPrivate): Add a WebKitWebViewGroup in case the view
137         is created with a group.
138         (webkitWebViewUpdateSettings): Keep a reference of the group
139         settings to be able to disconnect the signals when the settings
140         object is replaced in the view group and connect to the signals
141         for the custom settings.
142         (webkitWebViewSettingsChanged): Disconnect the signals for the
143         previous settings and set the new settings.
144         (webkitWebViewDisconnectSettingsChangedSignalHandler): Disconnect
145         notify::settings signal of WebKitWebViewGroup.
146         (webkitWebViewConstructed): Pass the current WebKitWebViewGroup to
147         webkitWebContextCreatePageForWebView().
148         (webkitWebViewSetProperty): Add setter for group property.
149         (webkitWebViewGetProperty): Add getter for group property.
150         (webkitWebViewDispose): Call
151         webkitWebViewDisconnectSettingsChangedSignalHandler().
152         (webkit_web_view_class_init): Add WebKitWebView:group property.
153         (webkitWebViewHandleAuthenticationChallenge): Use
154         webkit_web_view_get_settings().
155         (webkit_web_view_new_with_group): Create a new web view with the
156         given WebKitWebViewGroup.
157         (webkit_web_view_get_group): Return the current WebKitWebViewGroup
158         or the default one if the view was not created with
159         webkit_web_view_new_with_group().
160         (webkit_web_view_set_settings): Set the settings of the current
161         WebKitWebViewGroup.
162         (webkit_web_view_get_settings): Get the settings of the current
163         WebKitWebViewGroup.
164         (webkit_web_view_set_zoom_level): Use
165         webkit_web_view_get_settings().
166         (webkit_web_view_get_zoom_level): Ditto.
167         * UIProcess/API/gtk/WebKitWebView.h:
168         * UIProcess/API/gtk/WebKitWebViewGroup.cpp: Added.
169         (_WebKitWebViewGroupPrivate):
170         (webkitWebViewGroupSetProperty):
171         (webkitWebViewGroupGetProperty):
172         (webkitWebViewGroupConstructed):
173         (webkit_web_view_group_class_init):
174         (webkitWebViewGroupAttachSettingsToPageGroup): Set the
175         WebPreferences of the current WebKitSettings to the WebPageGroup.
176         (webkitWebViewGroupCreate): Create a new WebKitWebViewGroup for
177         the given WebPageGroup.
178         (webkitWebViewGroupGetPageGroup): Helper private method to get the
179         WebPageGroup wrapped by the WebKitWebViewGroup.
180         (webkit_web_view_group_new): Create a new WebKitWebViewGroup.
181         (webkit_web_view_group_get_name): Return the name of a
182         WebKitWebViewGroup.
183         (webkit_web_view_group_get_settings): Get the settings of a
184         WebKitWebViewGroup.
185         (webkit_web_view_group_set_settings): Set new settings of a
186         WebKitWebViewGroup.
187         * UIProcess/API/gtk/WebKitWebViewGroup.h: Added.
188         (_WebKitWebViewGroup):
189         (_WebKitWebViewGroupClass):
190         * UIProcess/API/gtk/WebKitWebViewGroupPrivate.h: Added.
191         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add
192         WebKitWebViewGroup section.
193         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
194         * UIProcess/API/gtk/docs/webkit2gtk.types: Add
195         webkit_web_view_group_get_type.
196         * UIProcess/API/gtk/tests/GNUmakefile.am: Add new files to
197         compilation.
198         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
199         (testWebViewSettings): We can't watch settings in the default view
200         group anymore, because they are not released with the web view but
201         with the web context that is freed after the Test destructor.
202         * UIProcess/API/gtk/tests/TestWebKitWebViewGroup.cpp: Added.
203         (testWebViewGroupDefault):
204         (testWebViewGroupNewGroup):
205         (testWebViewNewWithGroup):
206         (testWebViewGroupSettings):
207         (beforeAll):
208         (afterAll):
209         * UIProcess/API/gtk/webkit2.h: Include WebKitWebViewGroup.h.
210
211 2013-04-25  Jer Noble  <jer.noble@apple.com>
212
213         Unreviewed build fix: Fix the name of DyldInterpose.h in
214         SecItemShimLibrary.mm, fix the name of WebProcessShim.dyld in
215         WebContentServiceEntryPoint.mm, and stop linking against libWTF.a
216         directly (which means removing ASSERTs from
217         CookieStorageShimLibrary.cpp).
218
219         * Shared/mac/CookieStorageShimLibrary.cpp:
220         (WebKit::shimCFHTTPCookieStorageCopyRequestHeaderFieldsForURL):
221         (WebKit::WebKitCookieStorageShimInitialize):
222         * WebKit2.xcodeproj/project.pbxproj:
223         * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
224         (WebContentServiceInitializer):
225         * WebProcess/mac/SecItemShimLibrary.mm:
226
227 2013-04-24  Tim Horton  <timothy_horton@apple.com>
228
229         PDFPlugin: Cursor should become an i-beam when over selectable text
230         https://bugs.webkit.org/show_bug.cgi?id=115018
231         <rdar://problem/12645012>
232
233         Reviewed by Alexey Proskuryakov.
234
235         * WebProcess/Plugins/PDF/PDFPlugin.h:
236         Add updateCursor(), the UpdateCursorMode and HitTestResult enums, and
237         storage for the last PDF hit test result.
238         * WebProcess/Plugins/PDF/PDFPlugin.mm:
239         (WebKit::PDFPlugin::updateCursor):
240         Hit test the PDF. If there is a word under the cursor, use the I-beam cursor,
241         otherwise, use the default pointer cursor. This approximates PDFKit's behavior,
242         though does not match it precisely in the case of annotations.
243         Only send the cursor update to the UIProcess if it is a change, or if
244         we're explicitly asked to update.
245         (WebKit::PDFPlugin::handleMouseEvent):
246         If we're processing a mouse moved event, update the cursor if needed.
247         (WebKit::PDFPlugin::handleMouseEnterEvent):
248         If the cursor just moved over the PDFPlugin, force-update the cursor,
249         even if it matches the previously-set cursor (because something else
250         likely updated the cursor while it was not over the PDFPlugin).
251
252 2013-04-24  Tim Horton  <timothy_horton@apple.com>
253
254         Page Overlays shouldn't waste time flushing layers if we're not going to use it
255         https://bugs.webkit.org/show_bug.cgi?id=115145
256
257         Reviewed by Simon Fraser.
258
259         Don't flush the page overlay layer when it's installed - it starts out
260         with paintContents=false, so we don't really need a CALayer yet. We'll
261         flush later if need be.
262
263         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
264         (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
265
266 2013-04-24  Jer Noble  <jer.noble@apple.com>
267
268         Further unreviewed build fix; CFNetwork.framework is the one which Lion
269         refuses to link against.
270
271         * WebKit2.xcodeproj/project.pbxproj:
272
273 2013-04-24  Jer Noble  <jer.noble@apple.com>
274
275         Unreviewed build fix; link against CoreServices.framework instead of against
276         CoreFoundation.framework directly, to make the linker happy on Lion.
277
278         * WebKit2.xcodeproj/project.pbxproj:
279
280 2013-04-22  Jer Noble  <jer.noble@apple.com>
281
282         WWDC session videos don’t play at developer.apple.com
283         https://bugs.webkit.org/show_bug.cgi?id=114858
284
285         Reviewed by Eric Carlson. Rubber stamped by Brady Eidson.
286
287         AVFoundation uses CFNetwork to store and retrieve cookies from the global store.
288         However, in the case where network access happens in the NetworkProcess, session
289         cookies are stored in-memory, and are not accessable in the WebProcess. Until such
290         a time as AVFoundation can provide an API which would allow us to provide cookies
291         for a specific request, we will interpose the CFNetwork method which they use to
292         retrieve the cookie string from the cookie store for their pending request.
293
294         Duplicate the previous SecItemShim target to a new, WebProcessShim target. This
295         target includes the SecItemShim functionality, but will add a new shim for cookie
296         retrieval:
297         * Shared/mac/CookieStorageShimLibrary.h: Added
298         (CookieStorageShimCallbacks):
299         * Shared/mac/CookieStorageShimLibrary.cpp: Added.
300         (WebKit::ShimProtector::ShimProtector): A simple stack-based counter class.
301         (WebKit::ShimProtector::~ShimProtector):
302         (WebKit::ShimProtector::count):
303         (WebKit::shimCFHTTPCookieStorageCopyRequestHeaderFieldsForURL): Interpose
304             the CFNetwork call, and pass to the registered callback.
305         (WebKit::WebKitCookieStorageShimInitialize): Register the callbacks.
306
307         Add a helper singleton class which will talk to the shim through the 
308         registered callbacks:
309         * Shared/mac/CookieStorageShim.h: Added
310         (WebKit::CookieStorageShim::CookieStorageShim):
311         * Shared/mac/CookieStorageShim.cpp: Added.
312         (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL): Pass the request
313             over to the NetworkProcess.
314         (WebKit::CookieStorageShim::shared): Simple singleton.
315         (WebKit::CookieStorageShim::initialize): Call the library initializer.
316
317         Initialize the shim only when the WebProcess is delegating network loading
318         to the NetworkProcess:
319         * WebProcess/WebProcess.cpp:
320         (WebKit::WebProcess::initializeWebProcess):
321
322         Rename the WebProcess's shim from SecItemShim -> WebProcessShim:
323         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
324         (WebKit::addDYLDEnvironmentAdditions):
325         * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
326         (WebKit::WebContentProcessMainDelegate::doPreInitializationWork):
327         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
328         * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
329         (WebContentServiceInitializer):
330
331         As the DYLD_INTERPOSE macro is used in multiple files now, put it in its
332         own header:
333         * Shared/mac/DyldInterpose.h: Added.
334         * PluginProcess/mac/PluginProcessShim.mm:
335         * WebProcess/mac/SecItemShimLibrary.mm:
336
337         Add new files to the project:
338         * WebKit2.xcodeproj/project.pbxproj:
339
340 2013-04-24  Byungwoo Lee  <bw80.lee@samsung.com>
341
342         [EFL] Fix build error after r148963.
343         https://bugs.webkit.org/show_bug.cgi?id=115126
344
345         Reviewed by Laszlo Gombos.
346
347         Generate forwarding headers for 'CoordinatedGraphics' to generate WKView.h
348
349         * PlatformEfl.cmake:
350
351 2013-04-24  Anders Carlsson  <andersca@apple.com>
352
353         Crash when trying to determine the length of an invalid message
354         https://bugs.webkit.org/show_bug.cgi?id=115127
355         <rdar://problem/13700736>
356
357         Reviewed by Beth Dakin.
358
359         Use message instead of incomingMessage since incomingMessage will always be null.
360
361         * Platform/CoreIPC/Connection.cpp:
362         (CoreIPC::Connection::processIncomingMessage):
363
364 2013-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>
365
366         [GTK] Use stamp files for generate-forwarding-headers makefile rules
367         https://bugs.webkit.org/show_bug.cgi?id=115118
368
369         Reviewed by Martin Robinson.
370
371         Use a stamp file for the WebKit2 forwarding generator rule. Also
372         fix the rule dependencies that pointed to a non existent variable.
373
374         * GNUmakefile.am:
375
376 2013-04-24  Zan Dobersek  <zdobersek@igalia.com>
377
378         [GTK][WK2] Implement LayerTreeHostGtk::pageBackgroundTransparencyChanged
379         https://bugs.webkit.org/show_bug.cgi?id=115094
380
381         Reviewed by Tim Horton.
382
383         The method was introduced in r149004 (and a stub implementation for the GTK port added in r149017).
384         Implement the method for the GTK port in the same manner it is implemented under the Mac port,
385         calling setContentsOpaque on the non-composited content layer.
386
387         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
388         (WebKit::LayerTreeHostGtk::pageBackgroundTransparencyChanged):
389
390 2013-04-24  Simon Cooper  <scooper@apple.com>
391
392         <rdar://problem/13614117> Refine the Flash Player profile
393         https://bugs.webkit.org/show_bug.cgi?id=115016
394
395         Reviewed by Alexey Proskuryakov.
396
397         Add some refinements to the Flash Player profile. Make a non-/ home
398         directory work. Fixes that allow file uploading via user selected files.
399
400         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
401
402 2013-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>
403
404         [WebKit2] Add CoordinatedGraphics to the list of platforms in generate-forwarding-headers.pl
405         https://bugs.webkit.org/show_bug.cgi?id=115098
406
407         Reviewed by Martin Robinson.
408
409         r148963 introduced a new WKView.h header in a directory not listed
410         as a platform prefix in generate-forwarding-headers.pl.
411
412         * Scripts/generate-forwarding-headers.pl: Replace unused chromium
413         plaform prefix with CoordinatedGraphics that is used now.
414
415 2013-04-24  Seokju Kwon  <seokju.kwon@gmail.com>
416
417         Web Inspector: Add number to list from remote web inspector.
418         https://bugs.webkit.org/show_bug.cgi?id=115014
419
420         Reviewed by Benjamin Poulain.
421
422         * UIProcess/InspectorServer/front-end/inspectorPageIndex.html:
423
424 2013-04-24  Vlad Vasilyeu  <vasvlad@gmail.com>
425
426         --minimal build fails with error: Source/WebKit2/Platform/CoreIPC/ArgumentCoder.h:44:36: error: decode is not a member of WebCore::TextCheckingResult
427         https://bugs.webkit.org/show_bug.cgi?id=114367
428
429         Reviewed by Benjamin Poulain.
430
431         Include WebCoreArgumentCoders.h to WebEditorClientEfl.cpp from
432         WebKit2/Shared/ for successfully building with option --minimal
433
434         * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
435
436 == Rolled over to ChangeLog-2013-04-24 ==