Unreviewed, rolling out r131189.
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-10-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2
3         Unreviewed, rolling out r131189.
4         http://trac.webkit.org/changeset/131189
5         https://bugs.webkit.org/show_bug.cgi?id=99187
6
7         Made inspector http tests crash on WK2. (Requested by rakuco
8         on #webkit).
9
10         * PlatformEfl.cmake:
11         * UIProcess/efl/WebInspectorProxyEfl.cpp:
12         (WebKit::WebInspectorProxy::inspectorPageURL):
13         (WebKit::WebInspectorProxy::inspectorBaseURL):
14
15 2012-10-12  Ryuan Choi  <ryuan.choi@samsung.com>
16
17         [EFL] Share resources installed for inspector
18         https://bugs.webkit.org/show_bug.cgi?id=98991
19
20         Reviewed by Gyuyoung Kim.
21
22         * PlatformEfl.cmake: Removed build script which install resources to share.
23         * UIProcess/efl/WebInspectorProxyEfl.cpp:
24         (WebKit::WebInspectorProxy::inspectorPageURL): Modified not to use makeString.
25         (WebKit::WebInspectorProxy::inspectorBaseURL): Changed resource path.
26
27 2012-10-12  Sheriff Bot  <webkit.review.bot@gmail.com>
28
29         Unreviewed, rolling out r131160.
30         http://trac.webkit.org/changeset/131160
31         https://bugs.webkit.org/show_bug.cgi?id=99163
32
33         "It should not be landed without it's follow-up because it
34         break pixal and ref tests without it." (Requested by kbalazs
35         on #webkit).
36
37         * Shared/API/c/qt/WKImageQt.cpp:
38         (WKImageCreateQImage):
39         * Shared/API/c/qt/WKImageQt.h:
40
41 2012-10-12  Balazs Kelemen  <kbalazs@webkit.org>
42
43         [WK2] Serialization of Resource[Request,Response,Error] should be shared across ports
44         https://bugs.webkit.org/show_bug.cgi?id=90142
45
46         Unreviewed buildfix 2.
47
48         * Shared/soup/WebCoreArgumentCodersSoup.cpp:
49         (CoreIPC::::encodePlatformData):
50         (CoreIPC::::decodePlatformData):
51
52 2012-10-12  Balazs Kelemen  <kbalazs@webkit.org>
53
54         [WK2] Serialization of Resource[Request,Response,Error] should be shared across ports
55         https://bugs.webkit.org/show_bug.cgi?id=90142
56
57         Unreviewed buildfix.
58
59         * Shared/WebCoreArgumentCoders.cpp:
60         (CoreIPC::::decode):
61
62 2012-10-12  Balazs Kelemen  <kbalazs@webkit.org>
63
64         [WK2] Serialization of Resource[Request,Response,Error] should be shared across ports
65         https://bugs.webkit.org/show_bug.cgi?id=90142
66
67         Reviewed by Simon Hausmann.
68
69         Share common serialization code across Qt and soup ports.
70         All of these ports serialize the WebCore representation
71         of these types.
72
73         * Shared/WebCoreArgumentCoders.cpp:
74         (CoreIPC::::encode):
75         (CoreIPC):
76         (CoreIPC::::decode):
77         * Shared/WebCoreArgumentCoders.h:
78         * Shared/mac/WebCoreArgumentCodersMac.mm:
79         (CoreIPC::::encodePlatformData):
80         (CoreIPC::::decodePlatformData):
81         * Shared/qt/WebCoreArgumentCodersQt.cpp:
82         (CoreIPC::::encodePlatformData):
83         (CoreIPC::::decodePlatformData):
84         * Shared/soup/WebCoreArgumentCodersSoup.cpp:
85         (CoreIPC::::encodePlatformData):
86         (CoreIPC::::decodePlatformData):
87         * Shared/win/WebCoreArgumentCodersWin.cpp:
88         (CoreIPC::::encodePlatformData):
89         (CoreIPC::::decodePlatformData):
90
91 2012-10-12  Balazs Kelemen  <kbalazs@webkit.org>
92
93         Unreviewed, rolling out r130389.
94         http://trac.webkit.org/changeset/130389
95         https://bugs.webkit.org/show_bug.cgi?id=98048
96
97         It broke chromium
98
99         * win/WebKit2.def:
100         * win/WebKit2CFLite.def:
101
102 2012-10-12  Balazs Kelemen  <kbalazs@webkit.org>
103
104         [Qt][WTR] Do a forced repaint before generating pixel results
105         https://bugs.webkit.org/show_bug.cgi?id=98654
106
107         Reviewed by Jocelyn Turcotte.
108
109         Added API to convert a QImage to a WKImage so we can
110         pass it to cross-platform code.
111
112         * Shared/API/c/qt/WKImageQt.cpp:
113         (WKImageCreateFromQImage):
114         * Shared/API/c/qt/WKImageQt.h:
115
116 2012-10-12  Sheriff Bot  <webkit.review.bot@gmail.com>
117
118         Unreviewed, rolling out r131121.
119         http://trac.webkit.org/changeset/131121
120         https://bugs.webkit.org/show_bug.cgi?id=99144
121
122         It made all tests timeout on all WK2 platform (Requested by
123         ossy on #webkit).
124
125         * UIProcess/WebProcessProxy.cpp:
126         * UIProcess/WebProcessProxy.h:
127         (WebProcessProxy):
128         * UIProcess/WebProcessProxy.messages.in:
129         * WebProcess/InjectedBundle/InjectedBundle.cpp:
130         (WebKit::InjectedBundle::postMessage):
131         (WebKit::InjectedBundle::postSynchronousMessage):
132
133 2012-10-11  Andy Estes  <aestes@apple.com>
134
135         Add some basic methods and properties to the injected bundle Objective-C DOM API
136         https://bugs.webkit.org/show_bug.cgi?id=99137
137
138         Reviewed by Sam Weinig.
139
140         Add methods and properties that allow for tree traversal, node creation/insertion,
141         attribute modification, text node retrieval, and range creation.
142
143         * WebKit2.xcodeproj/project.pbxproj:
144         * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
145         * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
146         (toDocument):
147         (-[WKDOMDocument createElement:]):
148         (-[WKDOMDocument createTextNode:]):
149         (-[WKDOMDocument body]):
150         * WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
151         * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
152         (-[WKDOMElement hasAttribute:]):
153         (-[WKDOMElement getAttribute:]):
154         (-[WKDOMElement setAttribute:value:]):
155         (-[WKDOMElement tagName]):
156         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
157         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
158         (WebKit::WKDOMNodeClass):
159         (WebKit::toWebCoreText):
160         (WebKit::toWKDOMText):
161         (WebKit::toWebCoreRange):
162         * WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
163         * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
164         (-[WKDOMNode insertNode:before:]):
165         (-[WKDOMNode appendChild:]):
166         (-[WKDOMNode parentNode]):
167         (-[WKDOMNode firstChild]):
168         (-[WKDOMNode nextSibling]):
169         * WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
170         * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
171         (-[WKDOMRange setStart:offset:]):
172         (-[WKDOMRange setEnd:offset:]):
173         (-[WKDOMRange collapse:]):
174         (-[WKDOMRange selectNode:]):
175         (-[WKDOMRange selectNodeContents:]):
176         (-[WKDOMRange isCollapsed]):
177         * WebProcess/InjectedBundle/API/mac/WKDOMText.h: Added.
178         * WebProcess/InjectedBundle/API/mac/WKDOMText.mm: Added.
179         (-[WKDOMText data]):
180
181 2012-10-11  Brady Eidson  <beidson@apple.com>
182
183         Add a WKContext call to enable the NetworkProcess.
184         https://bugs.webkit.org/show_bug.cgi?id=99140
185
186         Reviewed by Sam Weinig.
187
188         Add the SPI:
189         * UIProcess/API/C/WKContext.cpp:
190         (WKContextSetUsesNetworkProcess):
191         * UIProcess/API/C/WKContextPrivate.h:
192
193         Add a member for the flag and the first call site that will be interested in the flag's value:
194         * UIProcess/WebContext.cpp:
195         (WebKit::WebContext::WebContext):
196         (WebKit::WebContext::setUsesNetworkProcess):
197         (WebKit):
198         (WebKit::WebContext::createNewWebProcess):
199         (WebKit::WebContext::ensureNetworkProcess):
200         * UIProcess/WebContext.h:
201         (WebContext):
202
203 2012-10-11  Andy Estes  <aestes@apple.com>
204
205         Fix the 32-bit Mac build after r131138.
206
207         * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
208         (WebKit::InjectedBundle::load):
209
210 2012-10-11  Anders Carlsson  <andersca@apple.com>
211
212         Stop using Connection::deprecatedSend in WebConnection
213         https://bugs.webkit.org/show_bug.cgi?id=99130
214
215         Reviewed by Sam Weinig.
216
217         Instead of using deprecatedSend, just encode the data using a separate ArgumentEncoder and pass it along as a DataReference.
218
219         * DerivedSources.make:
220         * DerivedSources.pri:
221         * GNUmakefile.list.am:
222         Add new files.
223
224         * Platform/CoreIPC/MessageID.h:
225         Add WebConnectionMessageClass.
226
227         * Shared/WebConnection.cpp:
228         (WebKit::WebConnection::WebConnection):
229         Make WebConnection hold on to the CoreIPC::Connection.
230
231         (WebKit::WebConnection::postMessage):
232         Ask the subclasses to encode the body data, then send it.
233
234         (WebKit::WebConnection::handleMessage):
235         Ask the subclasses to decode the body data, then call didReceiveClient.
236
237         (WebKit::WebConnection::invalidate):
238         Null out m_connection.
239
240         * Shared/WebConnection.h:
241         (WebKit::WebConnection::connection):
242
243         * Shared/WebConnection.messages.in: Added.
244
245         * UIProcess/WebConnectionToWebProcess.cpp:
246         (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
247         Pass the connection to the WebConnection initializer.
248
249         (WebKit::WebConnectionToWebProcess::encodeMessageBody):
250         (WebKit::WebConnectionToWebProcess::decodeMessageBody):
251         Encode and decode the message body.
252
253         (WebKit::WebConnectionToWebProcess::didReceiveMessage):
254         Handle WebConnection messages.
255
256         * WebKit2.xcodeproj/project.pbxproj:
257         Add new files.
258
259         * WebProcess/WebConnectionToUIProcess.cpp:
260         (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
261         Pass the connection to the WebConnection initializer.
262
263         (WebKit::WebConnectionToUIProcess::encodeMessageBody):
264         (WebKit::WebConnectionToUIProcess::decodeMessageBody):
265         Encode and decode the message body.
266
267         (WebKit::WebConnectionToUIProcess::didReceiveMessage):
268         Handle WebConnection messages.
269
270         * win/WebKit2.vcproj:
271         Add new files.
272
273 2012-10-11  Andy Estes  <aestes@apple.com>
274
275         Expose the main frame's document to injected bundles via the Objective-C API
276         https://bugs.webkit.org/show_bug.cgi?id=99133
277
278         Patch by Sam Weinig.
279
280         Reviewed by Anders Carlsson.
281
282         Allow a bundle to declare a principle class which will be instantiated
283         by WebKit2 and passed an object to which WKBundleClient calls are
284         forwarded and which can access the main frame's WKDOMDocument.
285
286         * WebKit2.xcodeproj/project.pbxproj:
287         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
288         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: Instantiate
289         the bundle's principle class forward WKBundleClient calls to it.
290         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
291         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
292         Add a property called mainFrameDocument which returns a WKDOMDocument.
293         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
294         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
295         * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
296         (WebKit::InjectedBundle::load): Initialize the shared
297         WKWebProcessPlugInController with the bundle's principle class.
298
299 2012-10-11  Sam Weinig  <sam@webkit.org>
300
301         Add a helper function for initializing WebKit2 DOM objects
302         https://bugs.webkit.org/show_bug.cgi?id=99128
303
304         Reviewed by Anders Carlsson.
305
306         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
307         (WebKit::WKDOMNodeClass):
308         (WebKit::initWithImpl):
309         (WebKit::toWKDOMNode):
310         (WebKit::toWKDOMRange):
311         (WebKit::toWKDOMType):
312         Add toWKDOMType which implements the core object initialization and caching.
313
314 2012-10-11  Seokju Kwon  <seokju.kwon@samsung.com>
315
316         [EFL][WK2] Add support for Inspector
317         https://bugs.webkit.org/show_bug.cgi?id=98639
318
319         Reviewed by Kenneth Rohde Christiansen.
320
321         Support inspector on WebKit2/Efl and add APIs to show and close the inspector.
322
323         * UIProcess/API/efl/ewk_view.cpp:
324         (ewk_view_inspector_show):
325         (ewk_view_inspector_close):
326         * UIProcess/API/efl/ewk_view.h:
327         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
328         (TEST_F):
329         * UIProcess/WebInspectorProxy.h:
330         (WebInspectorProxy):
331         * UIProcess/efl/WebInspectorProxyEfl.cpp:
332         (WebKit::resizeInspectorWindow):
333         (WebKit):
334         (WebKit::destroyInspectorWindow):
335         (WebKit::closeInspectorWindow):
336         (WebKit::WebInspectorProxy::createInspectorWindow):
337         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
338         (WebKit::WebInspectorProxy::platformOpen):
339
340 2012-10-11  Anders Carlsson  <andersca@apple.com>
341
342         Stop using deprecatedSend and deprecatedSendSync for sending messages to the UI process
343         https://bugs.webkit.org/show_bug.cgi?id=99125
344
345         Reviewed by Andreas Kling.
346
347         Instead of using deprecatedSend, just encode the data using a separate ArgumentEncoder and pass it along as a DataReference.
348
349         * UIProcess/WebContext.h:
350         * UIProcess/WebProcessProxy.cpp:
351         (WebKit::WebProcessProxy::postMessage):
352         (WebKit):
353         (WebKit::WebProcessProxy::postSynchronousMessage):
354         * UIProcess/WebProcessProxy.h:
355         (WebProcessProxy):
356         * UIProcess/WebProcessProxy.messages.in:
357         * WebProcess/InjectedBundle/InjectedBundle.cpp:
358         (WebKit::InjectedBundle::postMessage):
359         (WebKit::InjectedBundle::postSynchronousMessage):
360
361 2012-10-11  Anders Carlsson  <andersca@apple.com>
362
363         Stop using deprecatedSend for WebContext::postMessageToInjectedBundle
364         https://bugs.webkit.org/show_bug.cgi?id=99123
365
366         Reviewed by Andreas Kling.
367
368         Instead of using deprecatedSend, just encode the data using a separate ArgumentEncoder and pass it along as a DataReference.
369
370         * Platform/CoreIPC/MessageID.h:
371         Remove MessageClassInjectedBundle.
372
373         * Shared/CoreIPCSupport/InjectedBundleMessageKinds.h: Removed.
374         * UIProcess/WebContext.cpp:
375         (WebKit::WebContext::createNewWebProcess):
376         Stop using deprecatedSend.
377
378         (WebKit::WebContext::postMessageToInjectedBundle):
379         Stop using deprecatedSend. Remove now invalid FIXMEs.
380
381         * UIProcess/WebPageProxy.cpp:
382         Remove include.
383
384         * WebKit2.xcodeproj/project.pbxproj:
385         Remove InjectedBundleMessageKinds.h.
386
387         * WebProcess/InjectedBundle/InjectedBundle.cpp:
388         * WebProcess/InjectedBundle/InjectedBundle.h:
389         The injected bundle is no longer in charge of receiving IPC messages.
390
391         * WebProcess/WebProcess.cpp:
392         (WebKit::WebProcess::didReceiveMessage):
393         Stop passing messages to the injected bundle.
394
395         (WebKit::WebProcess::postInjectedBundleMessage):
396         Decode the message and pass it to the injected bundle.
397
398         * WebProcess/WebProcess.messages.in:
399         Add PostInjectedBundleMessage.
400
401 2012-10-11  Anders Carlsson  <andersca@apple.com>
402
403         Stop using deprecatedSend for WebPageProxy::postMessageToInjectedBundle
404         https://bugs.webkit.org/show_bug.cgi?id=99120
405
406         Reviewed by Andreas Kling.
407
408         Instead of using deprecatedSend, just encode the data using a separate ArgumentEncoder and pass it along as a DataReference.
409
410         * Shared/CoreIPCSupport/InjectedBundleMessageKinds.h:
411         Remove PostMessageToPage.
412
413         * UIProcess/WebPageProxy.cpp:
414         (WebKit::WebPageProxy::postMessageToInjectedBundle):
415         Stop using deprecatedSend.
416
417         * WebProcess/InjectedBundle/InjectedBundle.cpp:
418         (WebKit::InjectedBundle::didReceiveMessage):
419         Remove code to handle PostMessageToPage.
420
421         * WebProcess/WebPage/WebPage.cpp:
422         (WebKit::WebPage::postInjectedBundleMessage):
423         Decode the APIObject and send it along to the injected bundle.
424
425         * WebProcess/WebPage/WebPage.messages.in:
426         Add PostInjectedBundleMessage message.
427
428 2012-10-11  Regina Chung  <heejin.r.chung@samsung.com>
429
430         [EFL][WK2] WebProcess keeps on waiting for UIProcess
431         https://bugs.webkit.org/show_bug.cgi?id=97646
432
433         Reviewed by Kenneth Rohde Christiansen.
434
435         Set LayerTreeRenderer to active so UIProcess can send RenderNextFrame message to WebProcess
436         after accelerated compositing(AC) mode is entered, so WebProcess can start flushing changes to UIProcess.
437
438         * UIProcess/API/efl/EflViewportHandler.cpp: Added API for setting LayerTreeRenderer's active state.
439         (WebKit::EflViewportHandler::setActive):
440         (WebKit):
441         * UIProcess/API/efl/EflViewportHandler.h:
442         (EflViewportHandler):
443         * UIProcess/API/efl/ewk_view.cpp: Sets LayerTreeRenderer's active status to true after entering AC mode.
444         (ewk_view_accelerated_compositing_mode_enter):
445
446 2012-10-10  Brady Eidson  <beidson@apple.com>
447
448         Switch ResourceLoader::resourceData() from SharedBuffer to ResourceBuffer
449         https://bugs.webkit.org/show_bug.cgi?id=98976
450
451         Reviewed by Anders Carlsson.
452
453         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
454         (WebKit::WebFrameLoaderClient::finishedLoading):
455         * WebProcess/WebPage/WebFrame.cpp:
456         (WebKit::WebFrame::source):
457         * WebProcess/WebPage/WebPage.cpp:
458         (WebKit::WebPage::getMainResourceDataOfFrame):
459
460 2012-10-11  Sam Weinig  <sam@webkit.org>
461
462         Add missing WK_EXPORT for WKDOMTextIterator.
463
464         Rubber-stamped by Brady Eidson.
465
466         * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h:
467
468 2012-10-11  Zeno Albisser  <zeno@webkit.org>
469
470         [Qt] Implement GraphicsSurfaceToken to replace uint64_t as token type.
471         https://bugs.webkit.org/show_bug.cgi?id=98501
472
473         Replace the token type for GraphicsSurface with a new class GraphicsSurfaceToken.
474         This is necessary in order to implement GraphicsSurface for Windows.
475         Depending on the platform a GraphicsSurfaceToken might contain a
476         WindowID (Linux/GLX), two IOSurfaceIDs (Mac) or in the future two HANDLEs (Windows).
477         The simple uint64_t is not sufficient anymore, since a single HANDLE in windows
478         can be 64bit already.
479
480         Reviewed by Noam Rosenthal.
481
482         * Shared/ShareableSurface.cpp:
483         (WebKit::ShareableSurface::Handle::encode):
484         (WebKit::ShareableSurface::Handle::decode):
485         (WebKit::ShareableSurface::create):
486         (WebKit::ShareableSurface::createHandle):
487         * Shared/ShareableSurface.h:
488         (WebKit::ShareableSurface::Handle::graphicsSurfaceToken):
489         (Handle):
490         * Shared/WebCoreArgumentCoders.cpp:
491         (CoreIPC):
492         (CoreIPC::::encode):
493         (CoreIPC::::decode):
494         * Shared/WebCoreArgumentCoders.h:
495         (WebCore):
496         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
497         (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
498         (WebKit::LayerTreeCoordinatorProxy::syncCanvas):
499         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
500         (LayerTreeCoordinatorProxy):
501         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
502         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
503         (WebKit::LayerTreeRenderer::syncCanvas):
504         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
505         (LayerTreeRenderer):
506         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
507         (WebCore::CoordinatedGraphicsLayer::syncCanvas):
508         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
509         (CoordinatedGraphicsLayerClient):
510         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
511         (WebKit::LayerTreeCoordinator::syncCanvas):
512         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
513         (LayerTreeCoordinator):
514
515 2012-10-10  Andras Becsi  <andras.becsi@digia.com>
516
517         [Qt][WK2] Avoid unnecessary calls in PageViewportController
518         https://bugs.webkit.org/show_bug.cgi?id=98886
519
520         Reviewed by Jocelyn Turcotte.
521
522         Remove leftover and unneeded update guards and visibility update
523         notifications to avoid unnecessary update cycles between the
524         controller an the client.
525         Previously didRenderFrame triggered updates for no reason since
526         animations on the page cause a lot of DidRenderFrame messages
527         for which the viewport state does not change.
528
529         * UIProcess/PageViewportController.cpp:
530         (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
531         (WebKit::PageViewportController::didRenderFrame):
532         * UIProcess/PageViewportController.h:
533         (PageViewportController):
534         * UIProcess/qt/PageViewportControllerClientQt.cpp:
535         (WebKit::PageViewportControllerClientQt::setContentsScale):
536         (WebKit::PageViewportControllerClientQt::didChangeViewportAttributes):
537         (WebKit::PageViewportControllerClientQt::updateViewportController):
538         * UIProcess/qt/PageViewportControllerClientQt.h:
539         (PageViewportControllerClientQt):
540
541 2012-10-11  Mario Sanchez Prada  <msanchez@igalia.com>
542
543         [GTK] It should be possible to disable favicons in WebKit2 GTK+ API
544         https://bugs.webkit.org/show_bug.cgi?id=98885
545
546         Reviewed by Carlos Garcia Campos.
547
548         Make support for favicons in WebKit2GTK+ disabled by default, and
549         allow enabling it even after calling webkit_web_context_get_favicon_database(),
550         by decoupling opening the IconDatabase, which will happen when
551         setting the path for the database directory, from creating the
552         instance of WebKitFaviconDatabase from WebKitWebContext.
553
554         * UIProcess/API/gtk/WebKitWebContext.cpp:
555         (_WebKitWebContextPrivate): Renamed faviconDatabasePath to
556         faviconDatabaseDirectory;
557         (ensureFaviconDatabase): Makes sure there's an instance of
558         WebKitFaviconDatabase created and associated to the context.
559         (webkit_web_context_set_favicon_database_directory): Use the
560         default path if NULL is passed, or the specified one, creating the
561         database if needed and opening it by setting it's path. If the
562         database is already open this method does nothing.
563         (webkit_web_context_get_favicon_database_directory): Return the
564         path or NULL if webkit_web_context_set_favicon_database_directory
565         has not been called yet.
566         (webkit_web_context_get_favicon_database): Return the instance of
567         WebKitFaviconDatabase, or create it if it doesn't exist yet, but
568         never set the path (would cause the icon database to be opened).
569
570         * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
571         (testNotInitialized): New test to check that a NOT_INITIALIZED
572         error is got when using the database before setting its path.
573         (testSetDirectory): Call set_favicon_database_directory() here
574         instead of doing it in the constructor of FaviconDatabaseTest.
575         (beforeAll): Add testNotInitialized() to the test suite.
576
577 2012-10-11  Jinwoo Song  <jinwoo7.song@samsung.com>
578
579         [EFL][WK2] Revisit setting API names and documentation
580         https://bugs.webkit.org/show_bug.cgi?id=98793
581
582         Reviewed by Kenneth Rohde Christiansen.
583
584         Make setting API names to be consistent and revisit the documentation.
585
586         * UIProcess/API/efl/ewk_settings.cpp:
587         (ewk_settings_frame_flattening_enabled_set):
588         (ewk_settings_frame_flattening_enabled_get):
589         (ewk_settings_dns_prefetching_enabled_set):
590         (ewk_settings_dns_prefetching_enabled_get):
591         * UIProcess/API/efl/ewk_settings.h:
592         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
593         (TEST_F):
594
595 2012-10-10  Jer Noble  <jer.noble@apple.com>
596
597         Disallow full screen mode keyboard access by default.
598         https://bugs.webkit.org/show_bug.cgi?id=98971
599         <rdar://problem/12474226>
600
601         Reviewed by Sam Weinig.
602
603         Only support full screen if keyboard access is not requested.
604
605         * UIProcess/WebFullScreenManagerProxy.cpp:
606         (WebKit::WebFullScreenManagerProxy::supportsFullScreen):
607
608 2012-10-10  Sheriff Bot  <webkit.review.bot@gmail.com>
609
610         Unreviewed, rolling out r130972 and r130984.
611         http://trac.webkit.org/changeset/130972
612         http://trac.webkit.org/changeset/130984
613         https://bugs.webkit.org/show_bug.cgi?id=98986
614
615         Huge numbers of WK2 crashes (Requested by smfr on #webkit).
616
617         * Platform/CoreIPC/Connection.h:
618         (Connection):
619         * Platform/CoreIPC/MessageReceiverMap.cpp:
620         (CoreIPC::MessageReceiverMap::addMessageReceiver):
621         (CoreIPC::MessageReceiverMap::clearAllMessageReceivers):
622         (CoreIPC::MessageReceiverMap::knowsHowToHandleMessage):
623         (CoreIPC::MessageReceiverMap::dispatchMessage):
624         (CoreIPC::MessageReceiverMap::dispatchSyncMessage):
625         * Platform/CoreIPC/MessageReceiverMap.h:
626         (MessageReceiverMap):
627         * UIProcess/WebConnectionToWebProcess.h:
628         (WebConnectionToWebProcess):
629         * UIProcess/WebContext.cpp:
630         (WebKit::WebContext::WebContext):
631         (WebKit::WebContext::~WebContext):
632         (WebKit::WebContext::knowsHowToHandleMessage):
633         (WebKit::WebContext::didReceiveMessage):
634         (WebKit::WebContext::didReceiveSyncMessage):
635         * UIProcess/WebContext.h:
636         (WebContext):
637         * UIProcess/WebProcessProxy.cpp:
638         (WebKit::WebProcessProxy::didReceiveMessage):
639         (WebKit::WebProcessProxy::didReceiveSyncMessage):
640         * UIProcess/WebProcessProxy.h:
641         (WebProcessProxy):
642
643 2012-10-10  Sam Weinig  <sam@webkit.org>
644
645         Add more Objective-C WebKit2 DOM API skeletons.
646         https://bugs.webkit.org/show_bug.cgi?id=98981
647
648         Reviewed by Anders Carlsson.
649
650         * WebKit2.xcodeproj/project.pbxproj:
651         * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
652         * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
653         * WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
654         * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
655         Update guards to actually do something. __CLANG__ is never defined, but __clang__ is.
656
657         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
658         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
659         - Abstracts DOM object caching into the DOMCache class which can only be used as a singleton.
660         - Adds WKDOMRange class extension to allow manipulating its internal pointer for caching purposes.
661         - Add WKDOMRange conversion functions.
662
663         * WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
664         * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
665         Rename _node to _impl for consistency.
666
667         * WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
668         * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
669         (-[WKDOMRange _initWithImpl:WebCore::]):
670         (-[WKDOMRange initWithDocument:]):
671         (-[WKDOMRange dealloc]):
672         (-[WKDOMRange startContainer]):
673         (-[WKDOMRange startOffset]):
674         (-[WKDOMRange endContainer]):
675         (-[WKDOMRange endOffset]):
676         (-[WKDOMRange text]):
677         Added. Only offers base range functionality.
678
679         * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h:
680         * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm:
681         (-[WKDOMTextIterator initWithRange:]):
682         (-[WKDOMTextIterator advance]):
683         (-[WKDOMTextIterator atEnd]):
684         (-[WKDOMTextIterator currentRange]):
685         (-[WKDOMTextIterator currentTextPointer]):
686         (-[WKDOMTextIterator currentTextLength]):
687         Added. Almost identical to WebTextIterator API in WebKit.
688
689 2012-10-10  Anders Carlsson  <andersca@apple.com>
690
691         Stop crashing left and right.
692
693         * UIProcess/WebConnectionToWebProcess.h:
694         (WebKit::WebConnectionToWebProcess::webProcessProxy):
695         Add a getter.
696
697         * UIProcess/WebProcessProxy.cpp:
698         (WebKit::WebProcessProxy::fromConnection):
699         The WebProcessProxy is not the Connection::Client, the WebConnectionToWebProcess is.
700
701 2012-10-10  Sam Weinig  <sam@webkit.org>
702
703         Fix the GCC Mac build. Why are we still building with GCC again?
704
705         * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
706         * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
707         * WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
708         * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
709         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
710         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
711         * WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
712         * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
713
714 2012-10-10  Christophe Dumez  <christophe.dumez@intel.com>
715
716         [EFL][WK2] Add toolbar buttons to MiniBrowser
717         https://bugs.webkit.org/show_bug.cgi?id=98883
718
719         Reviewed by Kenneth Rohde Christiansen.
720
721         Add "back,forward,list,changed" signal on the Ewk_View
722         to notify the client when the view's back / forward
723         list has changed. This is useful for the UI to update
724         its back / forward buttons disabled state.
725
726         * UIProcess/API/efl/ewk_view.cpp:
727         (ewk_view_back_forward_list_changed):
728         * UIProcess/API/efl/ewk_view.h:
729         * UIProcess/API/efl/ewk_view_loader_client.cpp:
730         (didChangeBackForwardList):
731         * UIProcess/API/efl/ewk_view_private.h:
732
733 2012-10-10  Jon Lee  <jonlee@apple.com>
734
735         [WK2] Activate plugins when user clicks on snapshot
736         https://bugs.webkit.org/show_bug.cgi?id=98328
737         <rdar://problem/12426681>
738
739         Reviewed by Brady Eidson.
740
741         Implement the recreation of the plugin.
742
743         * WebProcess/Plugins/PluginView.cpp:
744         (WebKit::PluginView::recreateAndInitialize): We can run into a situation where the user
745         decided to run the plugin before the snapshot was ready to be taken. In this case, the
746         plugin member variable is non-null, and the timer is still active. Turn off the timer, and
747         destroy that instance of the plugin. We set the plugin to the instance provided in the
748         first parameter to this function, and reset the member variables so that the PluginView is
749         in a state similar to when it was first created. We also immediately initialize the plugin,
750         which may happen synchronously or asynchronously.
751
752         * WebProcess/Plugins/PluginView.h:
753         (WebKit::PluginView::initialParameters): Expose the initial parameters. Used to recreate
754         the plugin.
755         (WebKit::PluginView::pluginElement): Expose the element associated with the widget. Used to
756         recreate the plugin.
757
758         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
759         (WebKit::WebFrameLoaderClient::recreatePlugin): Create a new Plugin instance using the same
760         parameters used to create the plugin for snapshotting. Forward that instance to the widget.
761         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
762         (WebFrameLoaderClient): Implement recreatePlugin().
763
764 2012-10-10  Sam Weinig  <sam@webkit.org>
765
766         Fix 32-bit build.
767
768         * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
769         * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
770         * WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
771         * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
772         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
773         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
774         * WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
775         * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
776
777 2012-10-10  Anders Carlsson  <andersca@apple.com>
778
779         WebContext should be a MessageReceiver
780         https://bugs.webkit.org/show_bug.cgi?id=98958
781
782         Reviewed by Sam Weinig.
783
784         Make WebContext be a MessageReceiver that lives in its own map. This allows us to get rid of the
785         knowsHowToHandleMessage functions on MessageReceiverMap and WebContext.
786
787         * Platform/CoreIPC/Connection.h:
788         (CoreIPC::Connection::client):
789         (Connection):
790         * Platform/CoreIPC/MessageReceiverMap.cpp:
791         (CoreIPC::MessageReceiverMap::addMessageReceiver):
792         (CoreIPC::MessageReceiverMap::invalidate):
793         (CoreIPC::MessageReceiverMap::knowsHowToHandleMessage):
794         (CoreIPC::MessageReceiverMap::dispatchMessage):
795         (CoreIPC::MessageReceiverMap::dispatchSyncMessage):
796         * Platform/CoreIPC/MessageReceiverMap.h:
797         (MessageReceiverMap):
798         * UIProcess/WebContext.cpp:
799         (WebKit::WebContext::WebContext):
800         (WebKit::WebContext::~WebContext):
801         (WebKit::WebContext::dispatchMessage):
802         (WebKit::WebContext::dispatchSyncMessage):
803         (WebKit::WebContext::didReceiveMessage):
804         (WebKit::WebContext::didReceiveSyncMessage):
805         * UIProcess/WebContext.h:
806         (WebContext):
807         * UIProcess/WebProcessProxy.cpp:
808         (WebKit::WebProcessProxy::fromConnection):
809         (WebKit):
810         (WebKit::WebProcessProxy::didReceiveMessage):
811         (WebKit::WebProcessProxy::didReceiveSyncMessage):
812         * UIProcess/WebProcessProxy.h:
813         (WebProcessProxy):
814
815 2012-10-10  Sam Weinig  <sam@webkit.org>
816
817         Add skeleton of a WebKit2 ObjC DOM SPI (not intended to be the full DOM)
818         https://bugs.webkit.org/show_bug.cgi?id=98955
819
820         Reviewed by Anders Carlsson.
821
822         Add a skeleton DOM implementation only exposing Node, Element and Document
823         for now. It is currently only available in 64-bit as it relies on the non-fragile
824         ABI for now.
825
826         * WebKit2.xcodeproj/project.pbxproj:
827         * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h: Added.
828         * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm: Added.
829         * WebProcess/InjectedBundle/API/mac/WKDOMElement.h: Added.
830         * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm: Added.
831         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h: Added.
832         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm: Added.
833         * WebProcess/InjectedBundle/API/mac/WKDOMNode.h: Added.
834         * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm: Added.
835
836 2012-10-04  Andy Estes  <aestes@apple.com>
837
838         [WebKit2] Create an API for adding and removing user stylesheets from a page group
839         https://bugs.webkit.org/show_bug.cgi?id=98432
840
841         Reviewed by Sam Weinig.
842
843         This patch adds the following API to WKBrowsingContextGroup:
844
845         - (void)addUserStyleSheet:(NSString *)source baseURL:(NSURL *)baseURL whitelist:(NSArray *)whitelist blacklist:(NSArray *)blacklist mainFrameOnly:(BOOL)mainFrameOnly;
846         - (void)removeAllUserStyleSheets;
847
848         Sheets added via this API are sent to all processes that contain a page
849         in the given page group. Sheets are also cached in the UI process in a
850         new object called UserContentContainer, which is a property of each
851         group's WebPageGroupData and is sent to new web processes during page
852         initialization.
853
854         This is less than ideal, since new pages added to a pre-existing
855         process / page group combination will send redundant user stylesheet
856         strings over the wire. To avoid this we'd have to keep track track of
857         the groups that currently exist in each process and only send user
858         content during page creation if it is the first time a process has seen
859         the page's group. I decided to not add this complexity for the time
860         being, but we might need to consider it if we find that the current
861         approach impacts performance for clients that heavily utilize user
862         content.
863
864         * Shared/API/c/WKArray.cpp:
865         (WKArrayCreateAdoptingValues): Add a WKArray creation function that
866         adopts the incoming WKTypeRefs rather than refing them.
867         * Shared/API/c/WKArray.h:
868         * Shared/API/c/WKBase.h: Move WKUserContentInjectedFrames out of
869         WKBundlePrivate.h so it can be used in WKPageGroup, too.
870         * Shared/API/c/cf/WKURLCF.cpp:
871         (WKURLCreateWithCFURL): Return 0 for null CFURLRefs instead of crashing
872         inside CFURLGetString().
873         * Shared/ImmutableArray.cpp:
874         (WebKit::ImmutableArray::ImmutableArray): Add a tag to differentiate
875         between the adopting and refing ctors.
876         * Shared/ImmutableArray.h:
877         (WebKit::ImmutableArray::create): Call the refing ctor.
878         (WebKit::ImmutableArray::adopt): Call the adopting ctor.
879         * Shared/UserContentContainer.cpp: Added.
880         (UserContentItemMessageEncoder): Create a UserMessageEncoder for
881         serializing UserContentContainer::Item's APIObjects.
882         (WebKit::UserContentItemMessageEncoder::UserContentItemMessageEncoder):
883         (WebKit::UserContentItemMessageEncoder::encode):
884         (UserContentItemMessageDecoder): Create a UserMessageEncoder for
885         deserializing UserContentContainer::Item's APIObjects.
886         (WebKit::UserContentItemMessageDecoder::UserContentItemMessageDecoder):
887         (WebKit::UserContentItemMessageDecoder::decode):
888         (WebKit::UserContentContainer::Item::Item):
889         (WebKit::encodeStringArray): Add a helper function for encoding
890         ImmutableArrays of WebStrings.
891         (WebKit::UserContentContainer::Item::encode): Encode the item's
892         properties using UserContentItemMessageEncoder.
893         (WebKit::decodeStringArray): Add a helper function for decoding
894         ImmutableArrays of WebStrings.
895         (WebKit::UserContentContainer::Item::decode): Decode the item's
896         properties using UserContentItemMessageDecoder.
897         (WebKit::toStringVector): Add a helper function for converting an
898         ImmutableArray of WebStrings to a Vector of Strings.
899         (WebKit::UserContentContainer::Item::whitelist): Use toStringVector().
900         (WebKit::UserContentContainer::Item::blacklist): Ditto.
901         (WebKit::UserContentContainer::encode): Encode the Vector of UserContentContainer::Items.
902         (WebKit::UserContentContainer::decode): Decode the Vector of UserContentContainer::Items.
903         * Shared/UserContentContainer.h: Added.
904         * Shared/WebPageGroupData.cpp:
905         (WebKit::WebPageGroupData::encode): Include userStyleSheets when encoding.
906         (WebKit::WebPageGroupData::decode): Include userStyleSheets when decoding.
907         * Shared/WebPageGroupData.h:
908         (WebPageGroupData): Add a UserContentContainer called userStyleSheets
909         to WebPageGroupData.
910         * UIProcess/API/C/WKPageGroup.cpp: Add the C SPI version of the Objective-C API.
911         (WKPageGroupAddUserStyleSheet):
912         (WKPageGroupRemoveAllUserStyleSheets):
913         * UIProcess/API/C/WKPageGroup.h:
914         * UIProcess/API/mac/WKBrowsingContextGroup.h: Add the Objective-C API.
915         * UIProcess/API/mac/WKBrowsingContextGroup.mm:
916         (createWKArray): Add a helper function that converts an NSArray of NSStrings to a WKArray of WKStrings.
917         (-[WKBrowsingContextGroup addUserStyleSheet:baseURL:whitelist:blacklist:mainFrameOnly:]):
918         Implement the Objective-C API in terms of the C SPI.
919         (-[WKBrowsingContextGroup removeAllUserStyleSheets]): Ditto.
920         * UIProcess/WebPageGroup.cpp:
921         (WebKit::WebPageGroup::addUserStyleSheet): Add the new sheet to the
922         group's WebPageGroupData, which ensures that the group's sheets are
923         sent to new web processes.
924         (WebKit::WebPageGroup::removeAllUserStyleSheets): Ditto for removal.
925         * UIProcess/WebPageGroup.h:
926         (WebKit::WebPageGroup::sendToAllProcessesInGroup): Add a helper message
927         that sends a message to all processes that have a page in the current
928         group. This is used to add new user sheets to already-initialized page
929         groups in the UI processes.
930         * WebKit2.xcodeproj/project.pbxproj:
931         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Moved
932         WKUserContentInjectedFrames from here to WKBase.h.
933         * WebProcess/WebPage/WebPageGroupProxy.cpp:
934         (WebKit::WebPageGroupProxy::WebPageGroupProxy): Add each sheet in the
935         WebPageGroupData to WebCore's page group.
936         (WebKit::WebPageGroupProxy::addUserStyleSheet): Add the sheet received
937         from the UI process to WebCore's page group.
938         (WebKit::WebPageGroupProxy::removeAllUserStyleSheets): Remove all
939         sheets from WebCore's page group.
940         * WebProcess/WebPage/WebPageGroupProxy.h:
941         * WebProcess/WebPage/WebPageGroupProxy.messages.in: Define
942         AddUserStyleSheet and RemoveAllUserStyleSheets, two messages sent from
943         the UI process to a web process's WebPageGroupProxy.
944
945 2012-10-10  Sam Weinig  <sam@webkit.org>
946
947         Make all of the WebContext sub objects MessageReceivers
948         https://bugs.webkit.org/show_bug.cgi?id=98661
949
950         Reviewed by Anders Carlsson.
951
952         Start work towards simplified message dispatch.
953
954         * Platform/CoreIPC/MessageReceiverMap.cpp:
955         (CoreIPC::MessageReceiverMap::clearAllMessageReceivers):
956         (CoreIPC::MessageReceiverMap::knowsHowToHandleMessage):
957         (CoreIPC::MessageReceiverMap::dispatchSyncMessage):
958         * Platform/CoreIPC/MessageReceiverMap.h:
959         Add additional helper methods.
960
961         * UIProcess/WebContext.cpp:
962         (WebKit::WebContext::~WebContext):
963         (WebKit::WebContext::addMessageReceiver):
964         (WebKit::WebContext::knowsHowToHandleMessage):
965         (WebKit::WebContext::didReceiveMessage):
966         (WebKit::WebContext::didReceiveSyncMessage):
967         * UIProcess/WebContext.h:
968         Add a MessageReceiverMap that chains to the main on in WebProcessProxy. Simplifies
969         didReceiveMessage and didReceiveSyncMessage.
970
971         * UIProcess/WebProcessProxy.cpp:
972         (WebKit::WebProcessProxy::didReceiveMessage):
973         (WebKit::WebProcessProxy::didReceiveSyncMessage):
974         Use the new WebContext methods to simplify dispatch.
975
976         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
977         (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
978         * UIProcess/Notifications/WebNotificationManagerProxy.h:
979         (WebNotificationManagerProxy):
980         * UIProcess/WebApplicationCacheManagerProxy.cpp:
981         (WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
982         * UIProcess/WebApplicationCacheManagerProxy.h:
983         (WebApplicationCacheManagerProxy):
984         * UIProcess/WebBatteryManagerProxy.cpp:
985         (WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy):
986         * UIProcess/WebBatteryManagerProxy.h:
987         (WebBatteryManagerProxy):
988         * UIProcess/WebCookieManagerProxy.cpp:
989         (WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
990         * UIProcess/WebCookieManagerProxy.h:
991         (WebCookieManagerProxy):
992         * UIProcess/WebDatabaseManagerProxy.cpp:
993         (WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):
994         (WebKit::WebDatabaseManagerProxy::didReceiveMessage):
995         (WebKit):
996         * UIProcess/WebDatabaseManagerProxy.h:
997         (WebDatabaseManagerProxy):
998         * UIProcess/WebGeolocationManagerProxy.cpp:
999         (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
1000         * UIProcess/WebGeolocationManagerProxy.h:
1001         (WebGeolocationManagerProxy):
1002         * UIProcess/WebIconDatabase.cpp:
1003         (WebKit::WebIconDatabase::WebIconDatabase):
1004         * UIProcess/WebIconDatabase.h:
1005         (WebIconDatabase):
1006         (WebKit::WebIconDatabase::type):
1007         * UIProcess/WebKeyValueStorageManagerProxy.cpp:
1008         (WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
1009         * UIProcess/WebKeyValueStorageManagerProxy.h:
1010         (WebKeyValueStorageManagerProxy):
1011         * UIProcess/WebMediaCacheManagerProxy.cpp:
1012         (WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):
1013         * UIProcess/WebMediaCacheManagerProxy.h:
1014         (WebMediaCacheManagerProxy):
1015         * UIProcess/WebNetworkInfoManagerProxy.cpp:
1016         (WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy):
1017         (WebKit::WebNetworkInfoManagerProxy::didReceiveSyncMessage):
1018         * UIProcess/WebNetworkInfoManagerProxy.h:
1019         (WebNetworkInfoManagerProxy):
1020         * UIProcess/WebResourceCacheManagerProxy.cpp:
1021         (WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy):
1022         (WebKit::WebResourceCacheManagerProxy::didReceiveMessage):
1023         (WebKit):
1024         * UIProcess/WebResourceCacheManagerProxy.h:
1025         (WebResourceCacheManagerProxy):
1026         * UIProcess/WebVibrationProxy.cpp:
1027         (WebKit::WebVibrationProxy::WebVibrationProxy):
1028         * UIProcess/WebVibrationProxy.h:
1029         (WebVibrationProxy):
1030         * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
1031         (WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
1032         (WebKit::WebSoupRequestManagerProxy::didReceiveMessage):
1033         (WebKit):
1034         * UIProcess/soup/WebSoupRequestManagerProxy.h:
1035         (WebSoupRequestManagerProxy):
1036         * WebProcess/Authentication/AuthenticationManager.h:
1037         (AuthenticationManager):
1038         * WebProcess/Geolocation/WebGeolocationManager.h:
1039         (WebGeolocationManager):
1040         Make all the WebContext sub-objects MessageReceivers to simplify dispatch.
1041
1042 2012-10-10  Simon Fraser  <simon.fraser@apple.com>
1043
1044         Add the mangled symbol name for Frame::layerTreeAsText() to the confusingly named
1045         Windows export file.
1046
1047         * win/WebKit2.def:
1048
1049 2012-10-10  Simon Fraser  <simon.fraser@apple.com>
1050
1051         Store a visible rect in GraphicsLayers, and optionally dump it in layerTreeAsText
1052         https://bugs.webkit.org/show_bug.cgi?id=98839
1053
1054         Reviewed by Sam Weinig.
1055
1056         Add a flag to layerTreeAsText() so that tests can optionally include this visible rect in
1057         layer tree dumps. This output will be platform-specific, so we don't want to do it unconditionally.
1058
1059         * WebProcess/WebPage/WebFrame.cpp:
1060         (WebKit::WebFrame::layerTreeAsText):
1061
1062 2012-10-10  Shinya Kawanaka  <shinyak@chromium.org>
1063
1064         Needs internal API to return distributed nodes for InsertionPoint
1065         https://bugs.webkit.org/show_bug.cgi?id=98868
1066
1067         Reviewed by Hajime Morita.
1068
1069         * win/WebKit2.def:
1070         * win/WebKit2CFLite.def:
1071
1072 2012-10-10  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1073
1074         [Qt][WK2] REGRESSION(r130879): It made fast/events/touch/* tests crash
1075         https://bugs.webkit.org/show_bug.cgi?id=98888
1076
1077         Reviewed by Kenneth Rohde Christiansen.
1078
1079         Add null-checks in the gesture recognizers to allow them working without a PageViewportController.
1080         The pinch and pan gesture recognizers aren't used in that case yet, but they could eventually
1081         be used to send pinch and pan gesture events to the web process. They are currently kept active
1082         because we need the tap gesture recognizer and its logic is bound to those other recognizers.
1083
1084         * UIProcess/qt/QtPanGestureRecognizer.cpp:
1085         (WebKit::QtPanGestureRecognizer::update):
1086         (WebKit::QtPanGestureRecognizer::finish):
1087         (WebKit::QtPanGestureRecognizer::cancel):
1088         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
1089         (WebKit::QtPinchGestureRecognizer::update):
1090         (WebKit::QtPinchGestureRecognizer::finish):
1091         (WebKit::QtPinchGestureRecognizer::cancel):
1092
1093 2012-10-10  Carlos Garcia Campos  <cgarcia@igalia.com>
1094
1095         [GTK] Test /webkit2/WebKitWebView/history-cache asserts in debug bot
1096         https://bugs.webkit.org/show_bug.cgi?id=98731
1097
1098         Reviewed by Martin Robinson.
1099
1100         The problem is in the test itself that is using
1101         SingleResourceLoadTest class to load a multiresource document.
1102
1103         * UIProcess/API/gtk/tests/TestResources.cpp:
1104         (testWebViewResourcesHistoryCache): Load only single resource
1105         documents and check also that the main resource given is the
1106         expected one.
1107         (serverCallback): Add another single resource document.
1108
1109 2012-10-10  Christophe Dumez  <christophe.dumez@intel.com>
1110
1111         [WK2][SOUP] ResourceError.isCancellation() is not carried over IPC
1112         https://bugs.webkit.org/show_bug.cgi?id=98882
1113
1114         Reviewed by Kenneth Rohde Christiansen.
1115
1116         Properly serialize / deserialize ResourceError.isCancellation
1117         boolean so that it can be used in UIProcess.
1118
1119         * Shared/soup/WebCoreArgumentCodersSoup.cpp:
1120         (CoreIPC::::encode):
1121         (CoreIPC::::decode):
1122
1123 2012-10-10  Jinwoo Song  <jinwoo7.song@samsung.com>
1124
1125         [EFL][WK2] Add APIs to get/set the DNS prefetching
1126         https://bugs.webkit.org/show_bug.cgi?id=98790
1127
1128         Reviewed by Laszlo Gombos.
1129
1130         Add setting APIs for DNS prefetching and a unit test.
1131
1132         * UIProcess/API/efl/ewk_settings.cpp:
1133         (ewk_settings_DNS_prefetching_enabled_set):
1134         (ewk_settings_DNS_prefetching_enabled_get):
1135         * UIProcess/API/efl/ewk_settings.h:
1136         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
1137         (TEST_F):
1138
1139 2012-10-09  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1140
1141         [Qt][WK2] REGRESSION(r130629): It made touchadjustment/focusout-on-touch.html fai1
1142         https://bugs.webkit.org/show_bug.cgi?id=98642
1143
1144         Reviewed by Kenneth Rohde Christiansen.
1145
1146         There was an early return that would prevent gesture recognition if no PageViewportController
1147         has been set on QtWebPageEventHandler. The gesture recognizer are also used to send
1148         GestureEvents to WebCore which this layout test is using.
1149
1150         Make sure that the gesture recognition is done even when no PageViewportController is present.
1151
1152         * UIProcess/qt/QtWebPageEventHandler.cpp:
1153         (WebKit::QtWebPageEventHandler::handleInputEvent):
1154         (WebKit::QtWebPageEventHandler::doneWithTouchEvent):
1155
1156 2012-10-10  Zeno Albisser  <zeno@webkit.org>
1157
1158         [Qt] ProcessLauncherQt should use QStringLiteral for serviceName.
1159         https://bugs.webkit.org/show_bug.cgi?id=98398
1160
1161         QString(const char*) is deprecated, we should use QStringLiteral instead.
1162
1163         Reviewed by Kenneth Rohde Christiansen.
1164
1165         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
1166         (WebKit::ProcessLauncher::launchProcess):
1167
1168 2012-10-10  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1169
1170         [EFL][WK2] Add History callbacks API
1171         https://bugs.webkit.org/show_bug.cgi?id=98594
1172
1173         Reviewed by Kenneth Rohde Christiansen.
1174
1175         Added History callbacks API to Ewk Context. Added unit tests.
1176
1177         * PlatformEfl.cmake:
1178         * UIProcess/API/efl/EWebKit2.h:
1179         * UIProcess/API/efl/ewk_context.cpp:
1180         (_Ewk_Context):
1181         (_Ewk_Context::_Ewk_Context):
1182         (ewk_context_history_callbacks_set): New public function which lets the client to set History callbacks.
1183         (ewk_context_history_client_get):
1184         (ewk_context_add_visited_link): New public function to mark a URL as visited link.
1185         * UIProcess/API/efl/ewk_context.h:
1186         * UIProcess/API/efl/ewk_context_history_client.cpp: Added.
1187         (getEwkHistoryDelegate):
1188         (didNavigateWithNavigationData):
1189         (didPerformClientRedirect):
1190         (didPerformServerRedirect):
1191         (didUpdateHistoryTitle):
1192         (populateVisitedLinks):
1193         (ewk_context_history_client_attach):
1194         * UIProcess/API/efl/ewk_context_history_client_private.h: Added.
1195         * UIProcess/API/efl/ewk_context_private.h:
1196         * UIProcess/API/efl/ewk_navigation_data.cpp: Added.
1197         (_Ewk_Navigation_Data):
1198         (_Ewk_Navigation_Data::_Ewk_Navigation_Data):
1199         (_Ewk_Navigation_Data::~_Ewk_Navigation_Data):
1200         (ewk_navigation_data_ref):
1201         (ewk_navigation_data_unref):
1202         (ewk_navigation_data_title_get):
1203         (ewk_navigation_data_original_request_get):
1204         (ewk_navigation_data_url_get):
1205         (ewk_navigation_data_new):
1206         * UIProcess/API/efl/ewk_navigation_data.h: Added.
1207         * UIProcess/API/efl/ewk_navigation_data_private.h: Added.
1208         * UIProcess/API/efl/ewk_view.cpp:
1209         (addToPageViewMap):
1210         (removeFromPageViewMap):
1211         (_ewk_view_smart_del):
1212         (_ewk_view_initialize):
1213         (ewk_view_from_page_get):
1214         * UIProcess/API/efl/ewk_view_private.h:
1215         * UIProcess/API/efl/tests/test_ewk2_context_history_delegate.cpp: Added.
1216         (httpServer):
1217         (navigateWithNavigationData):
1218         (performClientRedirect):
1219         (performServerRedirect):
1220         (updateHistoryTitle):
1221         (populateVisitedLinks):
1222         (onLoadFinishedForRedirection):
1223         (serverCallbackRedirection):
1224         (TEST_F):
1225
1226 2012-10-09  Byungwoo Lee  <bw80.lee@samsung.com>
1227
1228         [EFL][WK2] Change parameter and return type of loadUrlSync().
1229         https://bugs.webkit.org/show_bug.cgi?id=97920
1230
1231         Reviewed by Gyuyoung Kim.
1232
1233         loadUrlSync() uses waitUntilLoadFinished() internally, and it has
1234         a parameter and return value for timeout.
1235         To set and check timeout, loadUrlSync() should have those.
1236
1237         A parameter for timeout interval is added to loadUrlSync() and it
1238         returns the result of waitUntilLoadFinished() for checking timeout.
1239
1240         And I added codes to check the result of all the LoadUrlSync()
1241         function calls with ASSERT_TRUE() macro.
1242
1243         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
1244         (EWK2UnitTest::EWK2UnitTestBase::loadUrlSync):
1245         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
1246         (EWK2UnitTestBase):
1247         * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
1248         (TEST_F):
1249         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
1250         (TEST_F):
1251         * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
1252         (TEST_F):
1253         * UIProcess/API/efl/tests/test_ewk2_intents.cpp:
1254         (TEST_F):
1255         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1256         (TEST_F):
1257
1258 2012-10-09  Byungwoo Lee  <bw80.lee@samsung.com>
1259
1260         [EFL][WK2] Move timeout callback to the CallbackDataTimer class.
1261         https://bugs.webkit.org/show_bug.cgi?id=97861
1262
1263         Reviewed by Gyuyoung Kim.
1264
1265         Timeout callbacks for waitUntil{LoadFinished,TitleChanged,URIChanged}
1266         can be moved to the CallbackDataTimer class.
1267
1268         Moved the callback implementation to the CallbackDataTimer class.
1269
1270         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
1271         (EWK2UnitTest::CallbackDataTimer::CallbackDataTimer):
1272         (CallbackDataTimer):
1273         (EWK2UnitTest::CallbackDataTimer::timeOutCallback):
1274         (EWK2UnitTest::CallbackDataExpectedValue::CallbackDataExpectedValue):
1275         (EWK2UnitTest::EWK2UnitTestBase::waitUntilLoadFinished):
1276         (EWK2UnitTest::EWK2UnitTestBase::waitUntilTitleChangedTo):
1277         (EWK2UnitTest::EWK2UnitTestBase::waitUntilURIChangedTo):
1278
1279 2012-10-09  Jian Li  <jianli@chromium.org>
1280
1281         Update the CSS property used to support draggable regions.
1282         https://bugs.webkit.org/show_bug.cgi?id=97156
1283
1284         Reviewed by Adam Barth.
1285
1286         The CSS property to support draggable regions, guarded under
1287         WIDGET_REGION is now disabled from Mac WebKit, in order not to cause
1288         confusion with DASHBOARD_SUPPORT feature.
1289
1290         Also update the code to use the new name annotatedRegions to work for
1291         both features.
1292
1293         * Configurations/FeatureDefines.xcconfig: Disable WIDGET_REGION feature.
1294         * WebProcess/WebCoreSupport/WebChromeClient.cpp: Rename dashboardRegions to annotatedRegions.
1295         (WebKit::WebChromeClient::annotatedRegionsChanged):
1296         * WebProcess/WebCoreSupport/WebChromeClient.h: Rename dashboardRegions to annotatedRegions.
1297         (WebChromeClient):
1298
1299 2012-10-09  Sheriff Bot  <webkit.review.bot@gmail.com>
1300
1301         Unreviewed, rolling out r130811 and r130821.
1302         http://trac.webkit.org/changeset/130811
1303         http://trac.webkit.org/changeset/130821
1304         https://bugs.webkit.org/show_bug.cgi?id=98831
1305
1306         Broke date-suggestion-picker-appearance-with-scroll-bar.html
1307         (Requested by abarth|gardening on #webkit).
1308
1309         * Shared/WebRenderObject.cpp:
1310         (WebKit::WebRenderObject::WebRenderObject):
1311         * WebProcess/FullScreen/WebFullScreenManager.cpp:
1312         (WebKit::screenRectOfContents):
1313
1314 2012-10-09  Jon Lee  <jonlee@apple.com>
1315
1316         [WK2] Have plugins render offscreen to capture snapshot
1317         https://bugs.webkit.org/show_bug.cgi?id=98326
1318         <rdar://problem/12426658>
1319
1320         Reviewed by Simon Fraser.
1321
1322         Keep the plugin rendering without compositing to easily grab the snapshot.
1323
1324         PluginView now has two variables referring to snapshots, but are unrelated. The timer
1325         is used to capture a snapshot that acts as a poster for a plugin. The ShareableBitmap
1326         variable m_snapshot is used whenever the plugin paints in software, to avoid side effects
1327         should the plugin run JS during painting.
1328
1329         * WebProcess/Plugins/PluginView.cpp:
1330         (WebKit): Add a named constant for the time delay before a snapshot is taken.
1331         (WebKit::PluginView::PluginView): Initialize a 3-second timer to get the snapshot.
1332         (WebKit::PluginView::~PluginView): Refactor part of the destructor code out into
1333         destroyPluginAndReset() for reuse.
1334         (WebKit::PluginView::destroyPluginAndReset): Contains part of the destructor code.
1335         In addition to destroying the plugin, the destructor cancels pending loads and streams.
1336         (WebKit::PluginView::didInitializePlugin): If the plugin is in a state where it needs
1337         to generate or display a poster, don't setup the compositing layer and start the timer.
1338         (WebKit::PluginView::paint): Avoid painting if the plugin is not running.
1339         (WebKit::PluginView::invalidateRect): Avoid painting if the plugin is not running.
1340         (WebKit::PluginView::isAcceleratedCompositingEnabled): Don't enable accelerated compositing
1341         until the plugin is running.
1342         (WebKit::PluginView::pluginSnapshotTimerFired): When the timer fires, get a snapshot, generate
1343         an Image that WebCore can render, and destroy the plugin.
1344
1345         Rename m_snapshot to m_transientPaintingSnapshot.
1346         * WebProcess/Plugins/PluginView.h:
1347         * WebProcess/Plugins/PluginView.cpp:
1348         (WebKit::PluginView::paint):
1349         (WebKit::PluginView::notifyWidget):
1350         (WebKit::PluginView::pluginSnapshotTimerFired):
1351
1352 2012-10-09  Rik Cabanier  <cabanier@adobe.com>
1353
1354         Add missing compile flag for compositing
1355         https://bugs.webkit.org/show_bug.cgi?id=98681
1356
1357         Reviewed by Dirk Schulze.
1358
1359         This flag is needed in case there is a difference in API
1360         when compositing is enabled
1361
1362         * Configurations/FeatureDefines.xcconfig:
1363
1364 2012-10-09  Sheriff Bot  <webkit.review.bot@gmail.com>
1365
1366         Unreviewed, rolling out r130680.
1367         http://trac.webkit.org/changeset/130680
1368         https://bugs.webkit.org/show_bug.cgi?id=98720
1369
1370         this patch has a typo so was ineffective (Requested by
1371         cabanier on #webkit).
1372
1373         * Configurations/FeatureDefines.xcconfig:
1374
1375 2012-10-09  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
1376
1377         [EFL][WK2] Inform the PageProxy about visibility changes when the view is shown/hidden.
1378         https://bugs.webkit.org/show_bug.cgi?id=98757
1379
1380         Reviewed by Kenneth Rohde Christiansen.
1381
1382         SVN r130720 exposed a bug in our code: the PageProxy is not
1383         notified when one calls evas_object_show() or evas_object_hide()
1384         on the view, so the visibility it has when the WebPageProxy is
1385         constructed remained set forever.
1386
1387         This made the ewk_context_vibration_client_callbacks_set unit test
1388         start running forever, because WebPageProxy's constructor now sets
1389         the page's visibility to hidden by the default for us, since it is
1390         called from within ewk_view_smart_add() and before
1391         evas_object_show().
1392
1393         We now listen to the EVAS_CALLBACK_SHOW and EVAS_CALLBACK_HIDE
1394         callbacks and update the WebPageProxy accordingly. Note that we
1395         could not do this from the smart_show and smart_hide functions we
1396         already had, since they are called before the object's actual
1397         visibility is updated.
1398
1399         * UIProcess/API/efl/ewk_view.cpp:
1400         (_ewk_view_on_show):
1401         (_ewk_view_on_hide):
1402         (_ewk_view_smart_add):
1403
1404 2012-10-09  Simon Pena  <spena@igalia.com>
1405
1406         [GTK] Add support for running JavaScript from GResources
1407         https://bugs.webkit.org/show_bug.cgi?id=98488
1408
1409         Reviewed by Carlos Garcia Campos.
1410
1411         GResources allow embedding certain resources, frequently used, in a "bundle"
1412         which can be kept separated or stored in the binary. This patch adds
1413         support for running JavaScript from GResources.
1414
1415         For this, methods run_javascript_from_gresource and
1416         run_javascript_from_gresource_finish are added, which load the resource
1417         asynchronously and, when it is ready, run the JavaScript.
1418
1419         * UIProcess/API/gtk/WebKitWebView.cpp: Include the new methods.
1420         (resourcesStreamReadCallback):
1421         (webkit_web_view_run_javascript_from_gresource):
1422         (webkit_web_view_run_javascript_from_gresource_finish):
1423         * UIProcess/API/gtk/WebKitWebView.h:
1424         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include the new
1425         methods in the documentation.
1426         * UIProcess/API/gtk/tests/GNUmakefile.am: Add the test resources to the
1427         build infrastructure.
1428         * UIProcess/API/gtk/tests/TestMain.cpp: Register the resources in the tests,
1429         so that they can be accessed in all of them.
1430         (register_gresource):
1431         (main):
1432         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Test the
1433         run_javascript_from_gresource method.
1434         (testWebViewRunJavaScript):
1435         * UIProcess/API/gtk/tests/WebViewTest.cpp: Add a method for testing the
1436         new run_javascript_from_gresource method.
1437         (runJavaScriptFromGResourceReadyCallback):
1438         (WebViewTest::runJavaScriptFromGResourceAndWaitUntilFinished):
1439         * UIProcess/API/gtk/tests/WebViewTest.h:
1440         * UIProcess/API/gtk/tests/resources/webkit2gtk-tests.gresource.xml: Added.
1441         Resource bundle containing the resources.
1442         * UIProcess/API/gtk/tests/resources/webkit2gtk-tests.test.js: Added.
1443         Example JavaScript file to test the GResources support.
1444
1445
1446 2012-10-08  Kiran Muppala  <cmuppala@apple.com>
1447
1448         Throttle DOM timers on hidden pages.
1449         https://bugs.webkit.org/show_bug.cgi?id=98474
1450
1451         Reviewed by Maciej Stachowiak.
1452
1453         Add HIDDEN_PAGE_DOM_TIMER_THROTTLING feature define.  Use existing code of
1454         PAGE_VISIBILITY_API to detect changes to page visibility state.
1455
1456         * Configurations/FeatureDefines.xcconfig:
1457         * UIProcess/WebPageProxy.cpp:
1458         (WebKit::WebPageProxy::WebPageProxy):
1459         Check visibility state on construction.
1460         (WebKit::WebPageProxy::initializeWebPage):
1461         Send initial visibility state message if HIDDEN_PAGE_DOM_TIMER_THROTTLING
1462         is enabled or if PAGE_VISIBILITY_API is enabled.
1463         (WebKit::WebPageProxy::viewStateDidChange):
1464         When PAGE_VISIBILITY_API is not enabled, compare new visibility against
1465         WebPageProxy::m_isVisible, to minimize number of messages sent.
1466         Remove unnecessary second call to PageClient::isViewVisible for updating
1467         visibility state.
1468
1469         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1470         (WebKit::InjectedBundle::setPageVisibilityState):
1471         WebKitTestRunner uses this method to implement testRunner.setPageVisibility(),
1472         hence enable it for testing hidden page timer throttling as well.
1473
1474         * WebProcess/WebPage/WebPage.cpp:
1475         (WebKit):
1476         (WebKit::WebPage::setVisibilityState):
1477         Ensure Page::setVisibilityState is called either if PAGE_VISIBILITY_API is
1478         enabled or if HIDDEN_PAGE_DOM_TIMER_THROTTLING is enabled.
1479
1480         * WebProcess/WebPage/WebPage.h:
1481         (WebPage):
1482         * WebProcess/WebPage/WebPage.messages.in:
1483
1484 2012-10-08  Simon Fraser  <simon.fraser@apple.com>
1485
1486         Try to fix Windows build by exporting Frame::layerTreeAsText().
1487
1488         * win/WebKit2.def:
1489
1490 2012-10-08  Rik Cabanier  <cabanier@adobe.com>
1491
1492         Add missing compile flag for compositing
1493         https://bugs.webkit.org/show_bug.cgi?id=98681
1494
1495         Reviewed by Dirk Schulze.
1496
1497         This flag is needed in case there is a difference in API
1498         when compositing is enabled
1499
1500         * Configurations/FeatureDefines.xcconfig:
1501
1502 2012-10-08  Christophe Dumez  <christophe.dumez@intel.com>
1503
1504         [EFL][WK2] EWK2UnitTestBase.ewk_cookie_manager_accept_policy unit test is failing
1505         https://bugs.webkit.org/show_bug.cgi?id=98663
1506
1507         Reviewed by Laszlo Gombos.
1508
1509         EWK2UnitTestBase.ewk_cookie_manager_accept_policy unit test was
1510         failing because the elements of a list were checked in a given
1511         order but the list was not sorted beforehand.
1512
1513         * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
1514         (sortHostNames):
1515         (TEST_F):
1516
1517 2012-10-08  Jinwoo Song  <jinwoo7.song@samsung.com>
1518
1519         [EFL][WK2] Avoid useless converting to WKPage
1520         https://bugs.webkit.org/show_bug.cgi?id=98516
1521
1522         Reviewed by Eric Seidel.
1523
1524         Use priv->pageProxy->findString() and priv->pageProxy->hideFindUI()
1525         to avoid useless converting to WK.
1526
1527         * UIProcess/API/efl/ewk_view.cpp:
1528         (ewk_view_text_find):
1529         (ewk_view_text_find_highlight_clear):
1530
1531 2012-10-08  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
1532
1533         [WK2][WTR] WebKitTestRunner needs testRunner.dispatchPendingLoadRequests
1534         https://bugs.webkit.org/show_bug.cgi?id=98638
1535
1536         Reviewed by Eric Seidel.
1537
1538         Add implementation for testRunner.dispatchPendingLoadRequests in
1539         WebKitTestRunner.
1540
1541         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
1542         (WKBundleDispatchPendingLoadRequests):
1543         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
1544         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1545         (WebKit::InjectedBundle::dispatchPendingLoadRequests):
1546         (WebKit):
1547         * WebProcess/InjectedBundle/InjectedBundle.h:
1548         (InjectedBundle):
1549
1550 2012-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>
1551
1552         [GTK] Add a setting to enable/disable smooth scrolling to WebKit2 GTK+ API
1553         https://bugs.webkit.org/show_bug.cgi?id=98646
1554
1555         Reviewed by Xan Lopez.
1556
1557         * UIProcess/API/gtk/WebKitSettings.cpp:
1558         (webKitSettingsSetProperty): Implement setter for new property.
1559         (webKitSettingsGetProperty): Implement getter for new property.
1560         (webkit_settings_class_init): Add new property
1561         enable-smooth-scrolling.
1562         (webkit_settings_get_enable_smooth_scrolling):
1563         (webkit_settings_set_enable_smooth_scrolling):
1564         * UIProcess/API/gtk/WebKitSettings.h:
1565         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
1566         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
1567         (testWebKitSettings): Test smooth scrolling setting API.
1568
1569 2012-10-08  Christophe Dumez  <christophe.dumez@intel.com>
1570
1571         [EFL][WK2] Use URL instead of URI in the API
1572         https://bugs.webkit.org/show_bug.cgi?id=98643
1573
1574         Reviewed by Kenneth Rohde Christiansen.
1575
1576         Use URL instead of URI in WebKit2 EFL API. This change
1577         was discussed on the mailing list and aims at making
1578         the API more consistent.
1579
1580         * UIProcess/API/efl/ewk_back_forward_list_item.cpp:
1581         (_Ewk_Back_Forward_List_Item):
1582         (ewk_back_forward_list_item_url_get):
1583         (ewk_back_forward_list_item_original_url_get):
1584         * UIProcess/API/efl/ewk_back_forward_list_item.h:
1585         * UIProcess/API/efl/ewk_context.cpp:
1586         (ewk_context_url_scheme_register):
1587         * UIProcess/API/efl/ewk_context.h:
1588         * UIProcess/API/efl/ewk_context_download_client.cpp:
1589         (decideDestinationWithSuggestedFilename):
1590         * UIProcess/API/efl/ewk_download_job.h:
1591         * UIProcess/API/efl/ewk_resource_private.h:
1592         * UIProcess/API/efl/ewk_view.cpp:
1593         (_Ewk_View_Private_Data):
1594         (ewk_view_url_update):
1595         (ewk_view_url_set):
1596         (ewk_view_url_get):
1597         (ewk_view_reload):
1598         (ewk_view_reload_bypass_cache):
1599         (ewk_view_load_finished):
1600         (ewk_view_load_provisional_redirect):
1601         (ewk_view_load_provisional_started):
1602         (ewk_view_html_string_load):
1603         * UIProcess/API/efl/ewk_view.h:
1604         * UIProcess/API/efl/ewk_view_loader_client.cpp:
1605         (didSameDocumentNavigationForFrame):
1606         * UIProcess/API/efl/ewk_view_private.h:
1607         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
1608         (EWK2UnitTest::EWK2UnitTestBase::loadUrlSync):
1609         (EWK2UnitTest::onURLChanged):
1610         (EWK2UnitTest::timeOutWhileWaitingUntilURLChangedTo):
1611         (EWK2UnitTest::EWK2UnitTestBase::waitUntilURLChangedTo):
1612         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
1613         (EWK2UnitTestBase):
1614         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp:
1615         (EWK2UnitTestServer::EWK2UnitTestServer):
1616         (EWK2UnitTestServer::~EWK2UnitTestServer):
1617         (EWK2UnitTestServer::getURLForPath):
1618         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.h:
1619         (EWK2UnitTestServer):
1620         * UIProcess/API/efl/tests/resources/redirect_url_to_default.html: Renamed from Source/WebKit2/UIProcess/API/efl/tests/resources/redirect_uri_to_default.html.
1621         * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
1622         (checkItem):
1623         (urlFromTitle):
1624         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
1625         (TEST_F):
1626         * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
1627         (TEST_F):
1628         * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
1629         (TEST_F):
1630         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
1631         (TEST_F):
1632         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1633         (TEST_F):
1634
1635 2012-10-08  Zoltan Horvath  <zoltan@webkit.org>
1636
1637         [Qt] r122720 causes performance regression with DirectFB on ARMv7
1638         https://bugs.webkit.org/show_bug.cgi?id=97548
1639
1640         Reviewed by Jocelyn Turcotte.
1641
1642         Revert the rest of r122720. This change modifies the NativeImagePtr from QImage* to QPixmap*.
1643
1644         Covered by existing tests.
1645
1646         * Shared/qt/ShareableBitmapQt.cpp:
1647         (WebKit::ShareableBitmap::createImage):
1648         * UIProcess/qt/QtWebIconDatabaseClient.cpp:
1649         (WebKit::QtWebIconDatabaseClient::iconImageForPageURL):
1650         * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp:
1651         (WebKit::convertQPixmapToShareableBitmap):
1652         (WebKit::WebDragClient::startDrag):
1653         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1654         (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
1655
1656 2012-10-08  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1657
1658         Unreviewed build fix after r130630
1659
1660         Explicit convertion is required from QSizeF to FloatSize.
1661
1662         * UIProcess/API/qt/qquickwebview.cpp:
1663         (QQuickWebViewLegacyPrivate::updateViewportSize):
1664
1665 2012-10-04  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1666
1667         [Qt] Fix the mouse hover events transformation when devicePixelRatio != 1
1668         https://bugs.webkit.org/show_bug.cgi?id=98429
1669
1670         Reviewed by Kenneth Rohde Christiansen.
1671
1672         This prevents the events from being transformed two or three times.
1673         This is only noticeable in desktop mode.
1674
1675         * UIProcess/qt/QtWebPageEventHandler.cpp:
1676         (WebKit::QtWebPageEventHandler::handleHoverLeaveEvent):
1677         (WebKit::QtWebPageEventHandler::handleHoverMoveEvent):
1678
1679 2012-10-04  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1680
1681         [Qt] Apply QQuickWebViewExperimental::devicePixelRatio to the desktop mode as well
1682         https://bugs.webkit.org/show_bug.cgi?id=98428
1683
1684         Reviewed by Kenneth Rohde Christiansen.
1685
1686         This is handled by the PageViewportController when in flickable mode.
1687
1688         * UIProcess/API/qt/qquickwebview.cpp:
1689         (QQuickWebViewLegacyPrivate::updateViewportSize):
1690
1691 2012-10-04  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1692
1693         [Qt] Prevent the PageViewportController from affecting the viewport in desktop mode
1694         https://bugs.webkit.org/show_bug.cgi?id=98427
1695
1696         Reviewed by Kenneth Rohde Christiansen.
1697
1698         QQuickFlickable isn't tightly bound to it anymore, we can avoid creating it
1699         completely in this case.
1700
1701         * UIProcess/API/qt/qquickwebview.cpp:
1702         (QQuickWebViewFlickablePrivate::onComponentComplete):
1703         * UIProcess/API/qt/qquickwebview_p_p.h:
1704         (QQuickWebViewPrivate::onComponentComplete):
1705         (QQuickWebViewPrivate::viewportController):
1706         (QQuickWebViewPrivate):
1707         (QQuickWebViewFlickablePrivate::viewportController):
1708         (QQuickWebViewFlickablePrivate):
1709         * UIProcess/qt/QtPageClient.cpp:
1710         (WebKit::QtPageClient::didRenderFrame):
1711         (WebKit::QtPageClient::didChangeContentsSize):
1712         (WebKit::QtPageClient::pageTransitionViewportReady):
1713         * UIProcess/qt/QtWebPageLoadClient.cpp:
1714         (WebKit::QtWebPageLoadClient::didCommitLoad):
1715
1716 2012-10-04  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1717
1718         [Qt] Fix a QSocketNotifier warning at startup
1719         https://bugs.webkit.org/show_bug.cgi?id=98411
1720
1721         Reviewed by Simon Hausmann.
1722
1723         The actual warning:
1724         QSocketNotifier: socket notifiers cannot be enabled from another thread
1725
1726         The problem was that QSocketNotifier::setEnabled was called on the main thread
1727         after moveToThread was called. This hasn't had any effect since Connection
1728         would dispatch a readyReadHandler call right after which would then call
1729         setEnabled again from the correct thread from ~SocketNotifierResourceGuard.
1730
1731         Replace the call with a queued invoke to shut the warning.
1732
1733         * Platform/qt/WorkQueueQt.cpp:
1734         (WorkQueue::registerSocketEventHandler):
1735
1736 2012-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>
1737
1738         [GTK] Test /webkit2/WebKitWebView/populate-menu asserts in debug bots
1739         https://bugs.webkit.org/show_bug.cgi?id=98507
1740
1741         Reviewed by Martin Robinson.
1742
1743         Make sure we retain the page URL before asking for the icon.
1744
1745         * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
1746         (getIconSurfaceSynchronously): Retain the page URL before asking
1747         for the icon, and release it if we fail to get an icon.
1748         (processPendingIconsForPageURL): Renamed to make it clear it
1749         receives a Sring and not a char* and moved
1750         getIconSurfaceSynchronously() call out of the loop to call it only
1751         once even if there are multiple requests pending.
1752         (iconDataReadyForPageURLCallback): Do not retain the page URL
1753         here.
1754
1755 2012-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>
1756
1757         [GTK] Don't use the C API internally in WebKitWebContext
1758         https://bugs.webkit.org/show_bug.cgi?id=96768
1759
1760         Reviewed by Martin Robinson.
1761
1762         Using the C++ classes directly instead of the C API wrappers we
1763         avoid a lot of toImpl/toAPI casts, string conversions and
1764         allocations. The code is also a lot simpler and easier to read.
1765
1766         * UIProcess/API/gtk/WebKitDownloadClient.cpp:
1767         (didStart):
1768         (didReceiveResponse):
1769         (didReceiveData):
1770         (decideDestinationWithSuggestedFilename):
1771         (didCreateDestination):
1772         (didFail):
1773         (didCancel):
1774         (didFinish):
1775         (attachDownloadClientToContext):
1776         * UIProcess/API/gtk/WebKitRequestManagerClient.cpp:
1777         (attachRequestManagerClientToContext):
1778         * UIProcess/API/gtk/WebKitSecurityManager.cpp:
1779         (registerSecurityPolicyForURIScheme):
1780         * UIProcess/API/gtk/WebKitWebContext.cpp:
1781         (_WebKitWebContextPrivate):
1782         (createDefaultWebContext):
1783         (webkit_web_context_set_cache_model):
1784         (webkit_web_context_get_cache_model):
1785         (webkit_web_context_clear_cache):
1786         (webkit_web_context_download_uri):
1787         (webkit_web_context_get_cookie_manager):
1788         (webkit_web_context_get_favicon_database_directory):
1789         (webkit_web_context_get_favicon_database):
1790         (webkit_web_context_set_additional_plugins_directory):
1791         (webkitWebContextGetPluginThread):
1792         (webkit_web_context_register_uri_scheme):
1793         (webkitWebContextGetOrCreateDownload):
1794         (webkitWebContextRemoveDownload):
1795         (webkitWebContextGetContext):
1796         (webkitWebContextGetRequestManager):
1797         * UIProcess/API/gtk/WebKitWebContextPrivate.h:
1798         * UIProcess/API/gtk/WebKitWebView.cpp:
1799         (webkitWebViewConstructed):
1800
1801 2012-10-07  Kangil Han  <kangil.han@samsung.com>
1802
1803         [EFL][WK2] Fix unused parameter compile warning.
1804         https://bugs.webkit.org/show_bug.cgi?id=98610
1805
1806         Reviewed by Laszlo Gombos.
1807
1808         Fixed unused parameter compile warning by removing initiatingPageRef parameter name.
1809
1810         * UIProcess/API/efl/ewk_context_request_manager_client.cpp:
1811         (didReceiveURIRequest):
1812
1813 2012-10-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1814
1815         Rename first/second to key/value in HashMap iterators
1816         https://bugs.webkit.org/show_bug.cgi?id=82784
1817
1818         Reviewed by Eric Seidel.
1819
1820         * Platform/CoreIPC/ArgumentCoders.h:
1821         * Platform/CoreIPC/Connection.cpp:
1822         (CoreIPC::Connection::SyncMessageState::getOrCreate):
1823         (CoreIPC::Connection::waitForMessage):
1824         (CoreIPC::Connection::processIncomingMessage):
1825         * Platform/gtk/WorkQueueGtk.cpp:
1826         (WorkQueue::registerEventSourceHandler):
1827         (WorkQueue::unregisterEventSourceHandler):
1828         * Platform/mac/WorkQueueMac.cpp:
1829         (WorkQueue::unregisterMachPortEventHandler):
1830         * Shared/Plugins/NPRemoteObjectMap.cpp:
1831         (WebKit::NPRemoteObjectMap::pluginDestroyed):
1832         * Shared/UserMessageCoders.h:
1833         (WebKit::UserMessageEncoder::baseEncode):
1834         * Shared/WebPreferencesStore.cpp:
1835         (WebKit::valueForKey):
1836         (WebKit::WebPreferencesStore::getBoolValueForKey):
1837         * Shared/mac/WebCoreArgumentCodersMac.mm:
1838         (CoreIPC::::decode):
1839         * Shared/qt/ArgumentCodersQt.cpp:
1840         (CoreIPC::::decode):
1841         * Shared/soup/WebCoreArgumentCodersSoup.cpp:
1842         (CoreIPC::::decode):
1843         * UIProcess/API/efl/ewk_back_forward_list.cpp:
1844         (_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List):
1845         * UIProcess/API/efl/ewk_context.cpp:
1846         (_Ewk_Context::~_Ewk_Context):
1847         * UIProcess/API/efl/ewk_view.cpp:
1848         (_ewk_view_priv_loading_resources_clear):
1849         * UIProcess/API/gtk/WebKitWebView.cpp:
1850         (webkit_web_view_get_subresources):
1851         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1852         (webkitWebViewBaseContainerForall):
1853         * UIProcess/API/mac/WKPrintingView.mm:
1854         (-[WKPrintingView _expectedPreviewCallbackForRect:]):
1855         (pageDidDrawToPDF):
1856         (-[WKPrintingView _drawPreview:]):
1857         * UIProcess/API/mac/WKView.mm:
1858         (commandNameForSelector):
1859         (-[WKView validateUserInterfaceItem:]):
1860         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
1861         (WebKit::CoordinatedBackingStore::updateTile):
1862         (WebKit::CoordinatedBackingStore::texture):
1863         (WebKit::CoordinatedBackingStore::paintToTextureMapper):
1864         (WebKit::CoordinatedBackingStore::commitTileOperations):
1865         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
1866         (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
1867         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1868         (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
1869         (WebKit::LayerTreeRenderer::syncCanvas):
1870         (WebKit::LayerTreeRenderer::setLayerChildren):
1871         (WebKit::LayerTreeRenderer::setLayerFilters):
1872         (WebKit::LayerTreeRenderer::setLayerState):
1873         (WebKit::LayerTreeRenderer::assignImageToLayer):
1874         * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
1875         (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
1876         * UIProcess/InspectorServer/WebInspectorServer.cpp:
1877         (WebKit::WebInspectorServer::~WebInspectorServer):
1878         (WebKit::WebInspectorServer::registerPage):
1879         * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
1880         (WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
1881         * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
1882         (WebKit::WebInspectorServer::buildPageList):
1883         * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
1884         (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
1885         * UIProcess/Plugins/PluginProcessProxy.cpp:
1886         (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
1887         * UIProcess/WebContext.cpp:
1888         (WebKit::createDictionaryFromHashMap):
1889         * UIProcess/WebIconDatabase.cpp:
1890         (WebKit::WebIconDatabase::didFinishURLImport):
1891         * UIProcess/WebIntentData.cpp:
1892         (WebKit::WebIntentData::extras):
1893         * UIProcess/WebProcessProxy.cpp:
1894         (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
1895         (WebKit::WebProcessProxy::addBackForwardItem):
1896         (WebKit::WebProcessProxy::frameCountInPage):
1897         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
1898         (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
1899         (WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
1900         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1901         (WebKit::InjectedBundleNodeHandle::getOrCreate):
1902         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
1903         (WebKit::InjectedBundleRangeHandle::getOrCreate):
1904         * WebProcess/InjectedBundle/InjectedBundleIntent.cpp:
1905         (WebKit::InjectedBundleIntent::extras):
1906         * WebProcess/Notifications/WebNotificationManager.cpp:
1907         (WebKit::WebNotificationManager::policyForOrigin):
1908         (WebKit::WebNotificationManager::show):
1909         (WebKit::WebNotificationManager::clearNotifications):
1910         (WebKit::WebNotificationManager::removeNotificationFromContextMap):
1911         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1912         (WebKit::NPRuntimeObjectMap::invalidate):
1913         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1914         (WebKit::NetscapePlugin::destroyStream):
1915         (WebKit::NetscapePlugin::frameDidFinishLoading):
1916         (WebKit::NetscapePlugin::frameDidFail):
1917         * WebProcess/Plugins/PluginView.cpp:
1918         (WebKit::buildHTTPHeaders):
1919         (WebKit::PluginView::~PluginView):
1920         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1921         (WebCore::CoordinatedGraphicsLayer::layerByID):
1922         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1923         (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
1924         (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
1925         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
1926         (WebKit::WebBackForwardListProxy::removeItem):
1927         * WebProcess/WebPage/mac/WebPageMac.mm:
1928         (WebKit::commandNameForSelectorName):
1929         * WebProcess/WebProcess.cpp:
1930         (WebKit::WebProcess::visitedLinkStateChanged):
1931         (WebKit::WebProcess::allVisitedLinkStateChanged):
1932         (WebKit::WebProcess::focusedWebPage):
1933         (WebKit::WebProcess::createWebPage):
1934         (WebKit::WebProcess::webPageGroup):
1935         (WebKit::fromCountedSetToHashMap):
1936         (WebKit::WebProcess::setTextCheckerState):
1937
1938 2012-10-07  Dan Bernstein  <mitz@apple.com>
1939
1940         Web process XPC services don't have correct version information in their Info.plist files
1941         https://bugs.webkit.org/show_bug.cgi?id=98619
1942
1943         Reviewed by Anders Carlsson.
1944
1945         * WebProcessService/Info.plist: Added CFBundleGetInfoString, and changed
1946         CFBundleShortVersionString and CFBundleVersion to report the source version.
1947         * WebProcessServiceForWebKitDevelopment/Info.plist: Ditto.
1948
1949 2012-10-06  Dan Bernstein  <mitz@apple.com>
1950
1951         WebKit2 part of <rdar://problem/12446507> [mac] WebKit clients cannot change the behavior of text-rendering: auto
1952         https://bugs.webkit.org/show_bug.cgi?id=98601
1953
1954         Reviewed by Darin Adler.
1955
1956         * Shared/WebProcessCreationParameters.cpp:
1957         (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Added initializer for
1958         to shouldEnableKerningAndLigaturesByDefault. The initial value is false.
1959         (WebKit::WebProcessCreationParameters::encode): Added encoding of
1960         shouldEnableKerningAndLigaturesByDefault.
1961         (WebKit::WebProcessCreationParameters::decode): Added decoding of
1962         shouldEnableKerningAndLigaturesByDefault.
1963         * Shared/WebProcessCreationParameters.h:
1964         (WebProcessCreationParameters): Added shouldEnableKerningAndLigaturesByDefault boolean
1965         member variable.
1966         * UIProcess/mac/WebContextMac.mm:
1967         (WebKit::WebContext::platformInitializeWebProcess): Changed to set
1968         shouldEnableKerningAndLigaturesByDefault in the process creation parameters according to
1969         the value of the WebKitKerningAndLigaturesEnabledByDefault user defaults key.
1970         * WebProcess/mac/WebProcessMac.mm:
1971         (WebKit::WebProcess::platformInitializeWebProcess): Added a call to
1972         Font::setDefaultTypesettingFeatures() to enable kerning and ligatures if requested in the
1973         process creation parameters.
1974
1975 2012-10-05  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
1976
1977         [WK2][WTR] WebKitTestRunner needs testRunner.setSerializeHTTPLoads
1978         https://bugs.webkit.org/show_bug.cgi?id=98524
1979
1980         Reviewed by Alexey Proskuryakov.
1981
1982         Add implementation for testRunner.setSerializeHTTPLoads in
1983         WebKitTestRunner.
1984
1985         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
1986         (WKBundleSetSerialLoadingEnabled):
1987         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
1988         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1989         (WebKit::InjectedBundle::setSerialLoadingEnabled):
1990         (WebKit):
1991         * WebProcess/InjectedBundle/InjectedBundle.h:
1992         (InjectedBundle):
1993
1994 2012-10-05  Sheriff Bot  <webkit.review.bot@gmail.com>
1995
1996         Unreviewed, rolling out r130556 and r130564.
1997         http://trac.webkit.org/changeset/130556
1998         http://trac.webkit.org/changeset/130564
1999         https://bugs.webkit.org/show_bug.cgi?id=98572
2000
2001         The patch wasn't reviewed by a reviewer and it is breaking
2002         Chromium Windows (Requested by jchaffraix on #webkit).
2003
2004         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2005         (InitWebCoreSystemInterface):
2006
2007 2012-10-05  Sam Weinig  <sam@webkit.org>
2008
2009         Set the current working directory to TMPDIR when entering the sandbox in the plug-in process.
2010         Based on a patch by Ivan Krstić.
2011
2012         Reviewed by Anders Carlsson.
2013
2014         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
2015         (enterSandbox):
2016
2017 2012-10-05  Tim Horton  <timothy_horton@apple.com>
2018
2019         [cg] GraphicsContextCG should ask CG whether the shadow offset workaround is required
2020         https://bugs.webkit.org/show_bug.cgi?id=98565
2021         <rdar://problem/12436468>
2022
2023         Reviewed by Simon Fraser.
2024
2025         Add wkCGContextDrawsWithCorrectShadowOffsets.
2026
2027         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2028         (InitWebCoreSystemInterface):
2029
2030 2012-10-04  Eric Carlson  <eric.carlson@apple.com>
2031
2032         Allow ports to override text track rendering style
2033         https://bugs.webkit.org/show_bug.cgi?id=97800
2034         <rdar://problem/12044964>
2035
2036         Reviewed by Silvia Pfeiffer.
2037
2038         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2039         (InitWebCoreSystemInterface): Initialize new WKSI function pointers.
2040
2041 2012-10-05  José Dapena Paz  <jdapena@igalia.com>
2042
2043         [GTK] Add support for creating EGL contexts
2044         https://bugs.webkit.org/show_bug.cgi?id=77921
2045
2046         Reviewed by Martin Robinson.
2047
2048         This patch adds support for EGL, using OpenGL and OpenGL ES 2. Both
2049         options are set up on compile time, with the configure options
2050         --enable-egl and --enable-gles2.
2051
2052         The implementation only adds support for EGL on top of X11, to
2053         isolate the changes to the minimum. More changes should come
2054         later to enable EGL for other targets (as Wayland).
2055
2056         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
2057
2058 2012-10-04  Jon Lee  <jonlee@apple.com>
2059
2060         Add a setting to enable plugin snapshotting
2061         https://bugs.webkit.org/show_bug.cgi?id=98319
2062         <rdar://problem/12426480>
2063
2064         Reviewed by Brady Eidson.
2065
2066         Expose plugInSnapshottingEnabled preference to WebKit clients.
2067
2068         * Shared/WebPreferencesStore.h:
2069         (WebKit):
2070         * UIProcess/API/C/WKPreferences.cpp:
2071         (WKPreferencesSetPlugInSnapshottingEnabled):
2072         (WKPreferencesGetPlugInSnapshottingEnabled):
2073         * UIProcess/API/C/WKPreferences.h:
2074         * WebProcess/WebPage/WebPage.cpp:
2075         (WebKit::WebPage::updatePreferences): Update preference based on store.
2076
2077 2012-10-05  Balazs Kelemen  <kbalazs@webkit.org>
2078
2079         [Qt][WK2] Plugins are completely broken with a custom device pixel ratio
2080         https://bugs.webkit.org/show_bug.cgi?id=98518
2081
2082         Reviewed by Kenneth Rohde Christiansen.
2083
2084         Implement painting with scale factor in ShareableBitmap.
2085         The backing store of the plugin are still overscaled in MiniBrowser
2086         with this patch but this is only the effect of the fake device scale
2087         factor defined in qml (1.5). We should probably remove it on desktop.
2088
2089         * Shared/qt/ShareableBitmapQt.cpp:
2090         (WebKit::ShareableBitmap::paint):
2091
2092 2012-10-05  Christophe Dumez  <christophe.dumez@intel.com>
2093
2094         [EFL] Unskip fullscreen unit tests for EwkView
2095         https://bugs.webkit.org/show_bug.cgi?id=98509
2096
2097         Reviewed by Kenneth Rohde Christiansen.
2098
2099         Update 2 fullscreen unit tests for EwkView so that
2100         they don't require a call to ecore_evas_fullscreen_set()
2101         to succeed. ecore_evas_fullscreen_set() does not
2102         seem to work in Xvfb and causes the tests to hang.
2103         With this update, we can now run those tests again.
2104
2105         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2106         (TEST_F):
2107
2108 2012-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
2109
2110         [GTK] Test /webkit2/WebKitPrintOperation/print-errors gives runtime critical warnings
2111         https://bugs.webkit.org/show_bug.cgi?id=98497
2112
2113         Reviewed by Martin Robinson.
2114
2115         The problem is that GTK+ tries to write in the IO channel that has
2116         already been closed.
2117
2118         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
2119         (WebKit::WebPrintOperationGtk::print): Finish the surface when
2120         printing fails because printing data is invalid.
2121
2122 2012-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
2123
2124         [GTK] Test /webkit2/WebKitWebResource/response fails
2125         https://bugs.webkit.org/show_bug.cgi?id=98511
2126
2127         Reviewed by Martin Robinson.
2128
2129         Do not consider the favicon as a resource for the web resources
2130         unit tests.
2131
2132         * UIProcess/API/gtk/tests/TestResources.cpp:
2133
2134 2012-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
2135
2136         REGRESSION (r129989 - r130019): [WK2] TestResources test is failing
2137         https://bugs.webkit.org/show_bug.cgi?id=98342
2138
2139         Reviewed by Martin Robinson.
2140
2141         Return 404 error in unit tests using a HTTP server for paths not
2142         handled by the test. This way all tests should return now a 404
2143         for /favicon.ico.
2144
2145         * UIProcess/API/gtk/tests/TestBackForwardList.cpp:
2146         (serverCallback):
2147         * UIProcess/API/gtk/tests/TestCookieManager.cpp:
2148         (serverCallback):
2149         * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
2150         (serverCallback):
2151         * UIProcess/API/gtk/tests/TestResources.cpp:
2152         (serverCallback):
2153         * UIProcess/API/gtk/tests/TestSSL.cpp:
2154         (serverCallback):
2155         * UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp:
2156         (serverCallback):
2157         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
2158         (serverCallback):
2159         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
2160         (serverCallback):
2161
2162 2012-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
2163
2164         [WK2][SOUP] Assertion hit in WebKit::DownloadManager::downloadFinished() when download fails
2165         https://bugs.webkit.org/show_bug.cgi?id=97565
2166
2167         Reviewed by Gustavo Noronha Silva.
2168
2169         Make sure to notify the downlaod client that the response has been
2170         received when the newly created download has already been added to
2171         the DownloadManager downloads map.
2172
2173         * WebProcess/Downloads/soup/DownloadSoup.cpp:
2174         (WebKit::DownloadClient::DownloadClient): Initialize
2175         m_handleResponseLaterID.
2176         (WebKit::DownloadClient::~DownloadClient): Remove the source for
2177         the delayed response notification if it hasn't been triggered.
2178         (WebKit::DownloadClient::didReceiveData): If response hasn't been
2179         handled yet, remove the source for the delayed response
2180         notification and handle the resource before start writing the data
2181         received to the output stream.
2182         (WebKit::DownloadClient::handleResponse): Call
2183         didReceiveResponse() with the delayed response.
2184         (WebKit::DownloadClient::handleResponseLaterCallback): Call
2185         handleResponse().
2186         (WebKit::DownloadClient::handleResponseLater): Schedule an idle
2187         callback to handle the response later, to make sure the download
2188         has been added to the downloads map.
2189         (WebKit::Download::startWithHandle): Call handleResponseLater()
2190         with the given response to handle the response when the download
2191         has been added to the downloads map.
2192
2193 2012-10-05  Jongseok Yang  <js45.yang@samsung.com>
2194
2195         [EFL][WK2] Remove "web" word from ewk_web_error APIs
2196         https://bugs.webkit.org/show_bug.cgi?id=97886
2197
2198         Reviewed by Gyuyoung Kim.
2199
2200         Remove "web" word from ewk_web_error APIs.
2201         "web" word was redundant because "ewk" means "EFL WebKit" and WK APIs for error does not have "web" word.
2202
2203         * PlatformEfl.cmake:
2204         * UIProcess/API/efl/EWebKit2.h:
2205         * UIProcess/API/efl/ewk_context_download_client.cpp:
2206         (didFail):
2207         * UIProcess/API/efl/ewk_cookie_manager.cpp:
2208         (getAcceptPolicyCallback):
2209         (getHostnamesWithCookiesCallback):
2210         * UIProcess/API/efl/ewk_cookie_manager.h:
2211         * UIProcess/API/efl/ewk_download_job_private.h:
2212         * UIProcess/API/efl/ewk_error.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_error.cpp.
2213         (_Ewk_Error):
2214         (_Ewk_Error::_Ewk_Error):
2215         (_Ewk_Error::~_Ewk_Error):
2216         (ewk_error_free):
2217         (ewk_error_type_get):
2218         (ewk_error_url_get):
2219         (ewk_error_code_get):
2220         (ewk_error_description_get):
2221         (ewk_error_cancellation_get):
2222         (ewk_error_new):
2223         * UIProcess/API/efl/ewk_error.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_error.h.
2224         * UIProcess/API/efl/ewk_error_private.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_error_private.h.
2225         * UIProcess/API/efl/ewk_view.cpp:
2226         (ewk_view_resource_load_failed):
2227         (ewk_view_download_job_failed):
2228         (ewk_view_load_error):
2229         (ewk_view_load_provisional_failed):
2230         * UIProcess/API/efl/ewk_view.h:
2231         * UIProcess/API/efl/ewk_view_loader_client.cpp:
2232         (didFailLoadWithErrorForFrame):
2233         (didFailProvisionalLoadWithErrorForFrame):
2234         * UIProcess/API/efl/ewk_view_private.h:
2235         * UIProcess/API/efl/ewk_view_resource_load_client.cpp:
2236         (didFailLoadForResource):
2237         * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
2238         (getAcceptPolicyCallback):
2239         (getHostnamesWithCookiesCallback):
2240         * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
2241         (on_download_failed):
2242
2243 2012-10-05  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
2244
2245         [WK2][GTK] WebPageAccessibilityObject leaking
2246         https://bugs.webkit.org/show_bug.cgi?id=98502
2247
2248         Reviewed by Carlos Garcia Campos.
2249
2250         Use GRefPtr on the accessibility object to fix the leak.
2251
2252         * WebProcess/WebPage/WebPage.h:
2253         (WebPage):
2254         * WebProcess/WebPage/gtk/WebPageGtk.cpp:
2255         (WebKit::WebPage::platformInitialize):
2256         (WebKit::WebPage::updateAccessibilityTree):
2257
2258 2012-10-05  Jinwoo Song  <jinwoo7.song@samsung.com>
2259
2260         [EFL][WK2] Add API to count the matching text
2261         https://bugs.webkit.org/show_bug.cgi?id=97873
2262
2263         Reviewed by Gyuyoung Kim.
2264
2265         Add an API, ewk_view_text_matches_count(), to count the matched text in the document.
2266         This API does not highlight the matched text in the document unlike ewk_view_text_find().
2267
2268         ewk_view_text_find() finds the matching text and but also update the UI view,
2269         but some applications may not want to affect the view, and just want to know the count.
2270
2271         * UIProcess/API/efl/ewk_view.cpp:
2272         (ewk_view_text_matches_count):
2273         * UIProcess/API/efl/ewk_view.h:
2274         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2275         (TEST_F):
2276
2277 2012-10-05  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
2278
2279         [WK2][GTK][EFL] standard_output returned by g_spawn_sync must be freed
2280         https://bugs.webkit.org/show_bug.cgi?id=98384
2281
2282         Reviewed by Gyuyoung Kim.
2283
2284         Free the standard_output returned by g_spawn_sync() to avoid
2285         a memory leak.
2286
2287         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
2288         (WebKit::PluginProcessProxy::scanPlugin):
2289
2290 2012-10-05  Jongseok Yang  <js45.yang@samsung.com>
2291
2292         [EFL][WK2] Remove "web" word from ewk_resource APIs
2293         https://bugs.webkit.org/show_bug.cgi?id=97887
2294
2295         Reviewed by Gyuyoung Kim.
2296
2297         Remove "web" word from ewk_web_resource APIs.
2298         "web" word was redundant because "ewk" means "EFL WebKit" and enough to understand the meaning with ewk_resource_XXX.
2299
2300         * PlatformEfl.cmake:
2301         * UIProcess/API/efl/EWebKit2.h:
2302         * UIProcess/API/efl/ewk_resource.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_resource.cpp.
2303         (_Ewk_Resource):
2304         (_Ewk_Resource::_Ewk_Resource):
2305         (_Ewk_Resource::~_Ewk_Resource):
2306         (ewk_resource_ref):
2307         (ewk_resource_unref):
2308         (ewk_resource_url_get):
2309         (ewk_resource_new):
2310         (ewk_resource_main_resource_get):
2311         * UIProcess/API/efl/ewk_resource.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_resource.h.
2312         * UIProcess/API/efl/ewk_resource_private.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_resource_private.h.
2313         * UIProcess/API/efl/ewk_view.cpp:
2314         (_ewk_view_priv_loading_resources_clear):
2315         (ewk_view_resource_load_initiated):
2316         (ewk_view_resource_load_response):
2317         (ewk_view_resource_load_failed):
2318         (ewk_view_resource_load_finished):
2319         (ewk_view_resource_request_sent):
2320         * UIProcess/API/efl/ewk_view.h:
2321         * UIProcess/API/efl/ewk_view_private.h:
2322         * UIProcess/API/efl/ewk_view_resource_load_client.cpp:
2323         (didInitiateLoadForResource):
2324
2325 2012-10-04  Ryuan Choi  <ryuan.choi@samsung.com>
2326
2327         [EFL][WK2] ewk_web_error_free is not a public API
2328         https://bugs.webkit.org/show_bug.cgi?id=98482
2329
2330         Reviewed by Gyuyoung Kim.
2331
2332         Because Ewk_Web_Error is just passed as a parameter of callback function
2333         and maintained internally, ewk_web_error_free should not be a public API.
2334
2335         This patch moves ewk_web_error_free from public header to private header.
2336
2337         * UIProcess/API/efl/ewk_context_download_client.cpp:
2338         * UIProcess/API/efl/ewk_view_loader_client.cpp:
2339         * UIProcess/API/efl/ewk_view_resource_load_client.cpp:
2340         * UIProcess/API/efl/ewk_web_error.cpp:
2341         * UIProcess/API/efl/ewk_web_error.h:
2342         * UIProcess/API/efl/ewk_web_error_private.h:
2343
2344 2012-10-04  Christophe Dumez  <christophe.dumez@intel.com>
2345
2346         [EFL][WK2] Implement window frame callbacks in UIClient
2347         https://bugs.webkit.org/show_bug.cgi?id=98280
2348
2349         Reviewed by Kenneth Rohde Christiansen.
2350
2351         Implement callbacks to set and query window geometry
2352         in EwkView's UIClient.
2353
2354         * UIProcess/API/efl/ewk_view_ui_client.cpp:
2355         (getWindowFrame):
2356         (setWindowFrame):
2357         (ewk_view_ui_client_attach):
2358         * UIProcess/API/efl/tests/resources/window_move_resize.html: Added.
2359         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2360         (windowMoveResizeTimedOut):
2361         (TEST_F): Add corresponding unit test.
2362
2363 2012-10-04  Rik Cabanier  <cabanier@adobe.com>
2364
2365         Turn Compositing on by default in WebKit build
2366         https://bugs.webkit.org/show_bug.cgi?id=98315
2367
2368         Reviewed by Simon Fraser.
2369
2370         enable -webkit-blend-mode on trunk.
2371
2372         * Configurations/FeatureDefines.xcconfig:
2373
2374 2012-10-04  Simon Fraser  <simon.fraser@apple.com>
2375
2376         Fix the Qt build by removing an errant paste at the top of the file.
2377
2378         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2379
2380 2012-10-04  Ryuan Choi  <ryuan.choi@samsung.com>
2381
2382         [EFL][WK2] Add APIs to get/set the frame flattening.
2383         https://bugs.webkit.org/show_bug.cgi?id=95982
2384
2385         Reviewed by Gyuyoung Kim.
2386
2387         Added new APIs and test case to support frame flattening.
2388
2389         * UIProcess/API/efl/ewk_settings.cpp:
2390         (ewk_settings_enable_frame_flattening_set):
2391         (ewk_settings_enable_frame_flattening_get):
2392         * UIProcess/API/efl/ewk_settings.h:
2393         * UIProcess/API/efl/tests/resources/frame_flattening_test.html: Added.
2394         * UIProcess/API/efl/tests/resources/frame_flattening_test_subframe.html: Added.
2395         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
2396         (TEST_F):
2397
2398 2012-10-04  Simon Fraser  <simon.fraser@apple.com>
2399
2400         TiledCoreAnimationDrawingArea.mm should not include RenderLayerCompositor.h
2401         https://bugs.webkit.org/show_bug.cgi?id=98471
2402
2403         Reviewed by Dean Jackson.
2404
2405         Remove #import of <WebCore/RenderLayerCompositor.h> from this file.
2406         It is not required.
2407
2408         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2409
2410 2012-10-04  Simon Fraser  <simon.fraser@apple.com>
2411
2412         Final part of "sync" to "flush" renaming
2413         https://bugs.webkit.org/show_bug.cgi?id=98430
2414
2415         Reviewed by Tim Horton.
2416
2417         Change method names on GraphicsLayer and GraphicsLayerClient that
2418         refer to "sync" to use the term "flush" instead, to be consistent
2419         with the rest of the code.
2420
2421         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2422         (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
2423         (WebKit::LayerTreeRenderer::flushLayerChanges):
2424         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2425         (WebKit::LayerTreeRenderer::notifyFlushRequired):
2426         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2427         (WebCore::CoordinatedGraphicsLayer::didChangeLayerState):
2428         (WebCore::CoordinatedGraphicsLayer::didChangeAnimatedProperties):
2429         (WebCore::CoordinatedGraphicsLayer::didChangeChildren):
2430         (WebCore::CoordinatedGraphicsLayer::didChangeFilters):
2431         (WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
2432         (WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
2433         (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
2434         (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
2435         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2436         (CoordinatedGraphicsLayer):
2437         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2438         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
2439         (WebKit::LayerTreeCoordinator::notifyFlushRequired):
2440         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
2441         (LayerTreeCoordinator):
2442         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
2443         (WebKit::LayerTreeHostCA::notifyFlushRequired):
2444         (WebKit::LayerTreeHostCA::flushPendingLayerChanges):
2445         * WebProcess/WebPage/ca/LayerTreeHostCA.h:
2446         (LayerTreeHostCA):
2447         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
2448         (WebKit::LayerTreeHostGtk::notifyFlushRequired):
2449         (WebKit::LayerTreeHostGtk::flushPendingLayerChanges):
2450         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
2451         (LayerTreeHostGtk):
2452         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2453         (TiledCoreAnimationDrawingArea):
2454         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2455         (WebKit::TiledCoreAnimationDrawingArea::notifyFlushRequired):
2456         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
2457
2458 2012-10-04  Christophe Dumez  <christophe.dumez@intel.com>
2459
2460         [EFL][WK2] Implement PageClientImpl::isViewVisible()
2461         https://bugs.webkit.org/show_bug.cgi?id=98249
2462
2463         Reviewed by Kenneth Rohde Christiansen.
2464
2465         Implement PageClientImpl::isViewVisible() for EFL port
2466         by calling evas_object_visible_get() on the view.
2467
2468         * UIProcess/API/efl/PageClientImpl.cpp:
2469         (WebKit::PageClientImpl::isViewVisible):
2470
2471 2012-10-04  Alexey Proskuryakov  <ap@apple.com>
2472
2473         Improve initial empty process tracking
2474         https://bugs.webkit.org/show_bug.cgi?id=98458
2475
2476         Reviewed by Sam Weinig.
2477
2478         * UIProcess/WebContext.cpp: (WebKit::WebContext::disconnectProcess):
2479         Unset m_haveInitialEmptyProcess if we no longer do.
2480
2481 2012-10-03  Benjamin Poulain  <bpoulain@apple.com>
2482
2483         [WK2] Support all attributes of GeolocationPosition
2484         https://bugs.webkit.org/show_bug.cgi?id=98212
2485
2486         Reviewed by Sam Weinig.
2487
2488         Add complete support for GeolocationPosition.
2489
2490         * Shared/WebGeolocationPosition.cpp:
2491         (WebKit::WebGeolocationPosition::WebGeolocationPosition):
2492         (WebKit::WebGeolocationPosition::Data::encode):
2493         (WebKit::WebGeolocationPosition::Data::decode):
2494         * Shared/WebGeolocationPosition.h:
2495         (Data):
2496         (WebKit::WebGeolocationPosition::create):
2497         (WebKit::WebGeolocationPosition::canProvideAltitude):
2498         (WebKit::WebGeolocationPosition::altitude):
2499         (WebGeolocationPosition):
2500         (WebKit::WebGeolocationPosition::canProvideAltitudeAccuracy):
2501         (WebKit::WebGeolocationPosition::altitudeAccuracy):
2502         (WebKit::WebGeolocationPosition::canProvideHeading):
2503         (WebKit::WebGeolocationPosition::heading):
2504         (WebKit::WebGeolocationPosition::canProvideSpeed):
2505         (WebKit::WebGeolocationPosition::speed):
2506         WebGeolocationPosition mirror the attributes of WebCore::GeolocationPosition.
2507
2508         * UIProcess/API/C/WKGeolocationPosition.cpp:
2509         (WKGeolocationPositionCreate):
2510         (WKGeolocationPositionCreate_b):
2511         Add a new API exposing all the arguments.
2512
2513         * UIProcess/API/C/WKGeolocationPosition.h:
2514         * WebProcess/Geolocation/WebGeolocationManager.cpp:
2515         (WebKit::WebGeolocationManager::didChangePosition):
2516
2517 2012-10-04  Simon Fraser  <simon.fraser@apple.com>
2518
2519         Standardize on "flush" terminology for compositing layer flushing/syncing
2520         https://bugs.webkit.org/show_bug.cgi?id=98321
2521
2522         Reviewed by Simon Fraser.
2523
2524         Rename compositing-related methods that refer to "syncing" to instead
2525         refer to "flushing".
2526
2527         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2528         (WebKit::WebChromeClient::scheduleCompositingLayerFlush):
2529         * WebProcess/WebCoreSupport/WebChromeClient.h:
2530         (WebChromeClient):
2531         * WebProcess/WebPage/DrawingArea.h:
2532         (DrawingArea):
2533         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2534         (WebKit::DrawingAreaImpl::scheduleCompositingLayerFlush):
2535         * WebProcess/WebPage/DrawingAreaImpl.h:
2536         (DrawingAreaImpl):
2537         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
2538         (WebKit::LayerTreeHostCA::flushPendingLayerChanges):
2539         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2540         (TiledCoreAnimationDrawingArea):
2541         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2542         (WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerFlush):
2543         (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
2544         (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
2545         (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
2546         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
2547
2548 2012-10-04  Christophe Dumez  <christophe.dumez@intel.com>
2549
2550         [EFL][WK2] Add setting to allow file access from file:// URLs
2551         https://bugs.webkit.org/show_bug.cgi?id=98121
2552
2553         Reviewed by Laszlo Gombos.
2554
2555         Add Ewk setting to set / query permission to access
2556         files from file:// URLs.
2557
2558         * UIProcess/API/efl/ewk_settings.cpp:
2559         (ewk_settings_file_access_from_file_urls_allowed_set):
2560         (ewk_settings_file_access_from_file_urls_allowed_get):
2561         * UIProcess/API/efl/ewk_settings.h:
2562         * UIProcess/API/efl/tests/resources/local_file_access.html: Added.
2563         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
2564         (TEST_F): Add unit tests for new ewk setting.
2565
2566 2012-10-04  Christophe Dumez  <christophe.dumez@intel.com>
2567
2568         [EFL] Run unit tests with Xvfb
2569         https://bugs.webkit.org/show_bug.cgi?id=98389
2570
2571         Reviewed by Laszlo Gombos.
2572
2573         * UIProcess/API/efl/ewk_main.cpp:
2574         (ewk_init): Call ecore_evas_shutdown() instead of
2575         edje_shutdown() when ecore_x_init() fails.
2576         (ewk_shutdown): Remove extra call to edje_shutdown().
2577         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2578         (TEST_F): Temporarily disable fullscreen unit tests
2579         until we get them working with Xvfb.
2580
2581 2012-10-04  Balazs Kelemen  <kbalazs@webkit.org>
2582
2583         Don't allow compositing to be disabled in forced compositing mode
2584         https://bugs.webkit.org/show_bug.cgi?id=98048
2585
2586         Reviewed by Jocelyn Turcotte.
2587
2588         Export Settings::setAcceleratedCompositingEnabled because it has been deinlined.
2589
2590         * win/WebKit2.def:
2591         * win/WebKit2CFLite.def:
2592
2593 2012-10-04  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
2594
2595         [Qt] Fix the tst_QQuickWebView::scrollRequest auto test
2596         https://bugs.webkit.org/show_bug.cgi?id=98045
2597
2598         Reviewed by Simon Hausmann.
2599
2600         Relying on QQuickWebViewPrivate::setNeedsDisplay can cause a false positive
2601         emission of the loadVisuallyCommitted signal since this method is also
2602         called when a layer is deleted or when the root layer changes.
2603
2604         Move the signal emission to QQuickWebViewPrivate::didRenderFrame which
2605         is called only after a DidRenderFrame message has been received from the
2606         web process.
2607
2608         * UIProcess/API/qt/qquickwebview.cpp:
2609         (QQuickWebViewPrivate::setNeedsDisplay):
2610         (QQuickWebViewPrivate::didRenderFrame):
2611         * UIProcess/API/qt/qquickwebview_p_p.h:
2612         (QQuickWebViewPrivate):
2613         * UIProcess/qt/QtPageClient.cpp:
2614         (WebKit::QtPageClient::didRenderFrame):
2615
2616 2012-10-04  Christophe Dumez  <christophe.dumez@intel.com>
2617
2618         Regression(r130363): Broke unit tests
2619         https://bugs.webkit.org/show_bug.cgi?id=98341
2620
2621         Reviewed by Gyuyoung Kim.
2622
2623         Fix WebKit2 EFL to use X11 as well.
2624
2625         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
2626         (EWK2UnitTest::EWK2UnitTestBase::SetUp):
2627         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
2628         (EWK2UnitTest::EWK2UnitTestEnvironment::EWK2UnitTestEnvironment):
2629         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
2630         (EWK2UnitTestEnvironment):
2631         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestMain.cpp:
2632         (main):
2633         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2634         (checkFullScreenProperty):
2635
2636 2012-10-03  Christophe Dumez  <christophe.dumez@intel.com>
2637
2638         [EFL] Enable use of X11 in DumpRenderTree / WebKitTestRunner
2639         https://bugs.webkit.org/show_bug.cgi?id=98231
2640
2641         Reviewed by Gyuyoung Kim.
2642
2643         Initialize ecore_x library in ewk_main instead of
2644         WebKitTestRunner since WebKit is using ecore_x
2645         not WebKitTestRunner itself.
2646
2647         * UIProcess/API/efl/ewk_main.cpp:
2648         (ewk_init):
2649         (ewk_shutdown):
2650
2651 2012-10-03  Kangil Han  <kangil.han@samsung.com>
2652
2653         Fix unused parameter compile warnings.
2654         https://bugs.webkit.org/show_bug.cgi?id=98243
2655
2656         Reviewed by Alexey Proskuryakov.
2657
2658         Fixed unused parameter compile warnings by removing parameter names, adding UNUSED_PARAM usage and commenting out.
2659
2660         * PluginProcess/WebProcessConnection.cpp:
2661         (WebKit::WebProcessConnection::createPluginInternal):
2662         * PluginProcess/unix/PluginProcessUnix.cpp:
2663         (WebKit::PluginProcess::platformInitialize):
2664         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2665         (WebKit::JSNPObject::getOwnPropertyNames):
2666         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2667         (WebKit::NPN_RequestRead):
2668         (WebKit::NPN_NewStream):
2669         (WebKit::NPN_Write):
2670         (WebKit::NPN_MemFlush):
2671         (WebKit::NPN_ReloadPlugins):
2672         (WebKit::NPN_GetJavaPeer):
2673         (WebKit::NPN_InvalidateRegion):
2674         (WebKit::NPN_ForceRedraw):
2675         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2676         (WebKit::NetscapePlugin::contentsScaleFactorChanged):
2677         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
2678         (WebKit::NetscapePlugin::platformPostInitializeWindowed):
2679         * WebProcess/Plugins/PluginProxy.cpp:
2680         (WebKit::PluginProxy::contentsScaleFactorChanged):
2681
2682 2012-10-03  Anders Carlsson  <andersca@apple.com>
2683
2684         Plugins are killed after 45 seconds if showing keychain "Allow/Deny" dialog
2685         https://bugs.webkit.org/show_bug.cgi?id=85138
2686         <rdar://problem/11406430>
2687
2688         Reviewed by Andreas Kling.
2689
2690         Remove the watchdog that would kill a plug-in if we've been waiting for a sync reply from it for more than 45 seconds.
2691         It's unlikely that someone is going to wait 45 seconds for Safari to recover from a plug-in hang, and the timeout is
2692         causing problems with plug-ins (see the bugzilla bug for more information).
2693
2694         * Platform/CoreIPC/Connection.cpp:
2695         (CoreIPC::Connection::Connection):
2696         (CoreIPC::Connection::waitForSyncReply):
2697         * Platform/CoreIPC/Connection.h:
2698         (Client):
2699         (Connection):
2700         * PluginProcess/PluginProcess.cpp:
2701         * PluginProcess/PluginProcess.h:
2702         (PluginProcess):
2703         * PluginProcess/WebProcessConnection.cpp:
2704         * PluginProcess/WebProcessConnection.h:
2705         (WebProcessConnection):
2706         * Shared/WebProcessCreationParameters.cpp:
2707         (WebKit::WebProcessCreationParameters::encode):
2708         (WebKit::WebProcessCreationParameters::decode):
2709         * Shared/WebProcessCreationParameters.h:
2710         (WebProcessCreationParameters):
2711         * UIProcess/Plugins/PluginProcessManager.cpp:
2712         * UIProcess/Plugins/PluginProcessManager.h:
2713         (PluginProcessManager):
2714         * UIProcess/Plugins/PluginProcessProxy.cpp:
2715         * UIProcess/Plugins/PluginProcessProxy.h:
2716         (PluginProcessProxy):
2717         * UIProcess/WebConnectionToWebProcess.cpp:
2718         * UIProcess/WebConnectionToWebProcess.h:
2719         (WebConnectionToWebProcess):
2720         * UIProcess/WebProcessProxy.cpp:
2721         * UIProcess/WebProcessProxy.h:
2722         (WebProcessProxy):
2723         * UIProcess/WebProcessProxy.messages.in:
2724         * UIProcess/mac/WebContextMac.mm:
2725         (WebKit::WebContext::platformInitializeWebProcess):
2726         * WebProcess/Plugins/PluginProcessConnection.cpp:
2727         (WebKit::PluginProcessConnection::PluginProcessConnection):
2728         * WebProcess/Plugins/PluginProcessConnection.h:
2729         (PluginProcessConnection):
2730         * WebProcess/WebConnectionToUIProcess.cpp:
2731         * WebProcess/WebConnectionToUIProcess.h:
2732         (WebConnectionToUIProcess):
2733         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2734         (WebKit::WebChromeClient::runJavaScriptAlert):
2735         (WebKit::WebChromeClient::runJavaScriptConfirm):
2736         (WebKit::WebChromeClient::runJavaScriptPrompt):
2737         * WebProcess/WebProcess.cpp:
2738         (WebKit::WebProcess::WebProcess):
2739         (WebKit::WebProcess::initializeWebProcess):
2740         * WebProcess/WebProcess.h:
2741         (WebProcess):
2742
2743 2012-10-03  Hugo Parente Lima  <hugo.lima@openbossa.org>
2744
2745         [WK2] PageViewportController.cpp is supposed to be a generic WebKit2 file but only works with Qt port.
2746         https://bugs.webkit.org/show_bug.cgi?id=98186
2747
2748         Reviewed by Noam Rosenthal.
2749
2750         Remove the dependece of WebCore::FloatSize to QSize implicit conversion.
2751
2752         * UIProcess/API/qt/qquickwebpage.cpp:
2753         (QQuickWebPagePrivate::updateSize):
2754         * UIProcess/API/qt/qquickwebview.cpp:
2755         (QQuickWebViewLegacyPrivate::updateViewportSize):
2756         (QQuickWebViewFlickablePrivate::updateViewportSize):
2757         * UIProcess/PageViewportController.cpp:
2758         (WebKit::PageViewportController::didRenderFrame):
2759         (WebKit::PageViewportController::pageDidRequestScroll):
2760         (WebKit::PageViewportController::syncVisibleContents):
2761         (WebKit::PageViewportController::viewportSizeInContentsCoordinates):
2762         (WebKit):
2763         * UIProcess/PageViewportController.h:
2764         (PageViewportController):
2765
2766 2012-10-03  Anders Carlsson  <andersca@apple.com>
2767
2768         Try to fix the Qt WebKit2 failures.
2769
2770         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2771         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
2772         Always force compositing if USE(COORDINATED_GRAPHICS) is true.
2773
2774 2012-10-03  Anders Carlsson  <andersca@apple.com>
2775
2776         Use the XPC service by default on newer systems
2777         https://bugs.webkit.org/show_bug.cgi?id=98297
2778         <rdar://problem/12424641>
2779
2780         Reviewed by Sam Weinig.
2781
2782         * UIProcess/mac/WebProcessProxyMac.mm:
2783         (WebKit::shouldUseXPC):
2784         Return false for older systems.
2785
2786         (WebKit::WebProcessProxy::platformConnect):
2787         Call shouldUseXPC().
2788
2789 2012-10-02  Andy Estes  <aestes@apple.com>
2790
2791         [WebKit2] Add the ability to send messages to the WebPageGroupProxy
2792         https://bugs.webkit.org/show_bug.cgi?id=98233
2793
2794         Reviewed by Anders Carlsson.
2795
2796         Add a WebPageGroupProxy.messages.in, implement a stub message receiver
2797         in WebPageGroupProxy, and teach WebProcess how to route messages to the
2798         appropriate WebPageGroupProxy.
2799
2800         * CMakeLists.txt: Tell a build system about added files.
2801         * DerivedSources.make: Ditto.
2802         * DerivedSources.pri: Ditto.
2803         * GNUmakefile.list.am: Ditto.
2804         * WebKit2.xcodeproj/project.pbxproj: Ditto.
2805         * win/WebKit2.vcproj: Ditto.
2806         * Platform/CoreIPC/MessageID.h: Add MessageClassWebPageGroupProxy.
2807         * WebProcess/WebPage/WebPageGroupProxy.cpp:
2808         (WebKit::WebPageGroupProxy::didReceiveMessage): Stub out the method
2809         that will receive messages.
2810         (WebKit::WebPageGroupProxy::didReceiveWebPageGroupProxyMessage): Stub
2811         out a method that will exist in WebPageGroupProxyMessageReceiver.cpp
2812         once WebPageGroupProxy.messages.in contains messages.
2813         * WebProcess/WebPage/WebPageGroupProxy.h:
2814         * WebProcess/WebPage/WebPageGroupProxy.messages.in: Added.
2815         * WebProcess/WebProcess.cpp:
2816         (WebKit::WebProcess::didReceiveMessage): Route messages to the
2817         WebPageGroupProxy matching destinationID if the message is of class
2818         MessageClassWebPageGroupProxy.
2819
2820 2012-10-02  Anders Carlsson  <andersca@apple.com>
2821
2822         Change most GraphicsLayer::create calls to use the version that takes a GraphicsLayerFactory
2823         https://bugs.webkit.org/show_bug.cgi?id=98217
2824
2825         Reviewed by Andreas Kling.
2826
2827         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2828         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
2829         (WebKit::LayerTreeCoordinator::createPageOverlayLayer):
2830         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
2831         (WebKit::LayerTreeHostCA::initialize):
2832         (WebKit::LayerTreeHostCA::createPageOverlayLayer):
2833         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
2834         (WebKit::LayerTreeHostGtk::initialize):
2835         (WebKit::LayerTreeHostGtk::createPageOverlayLayer):
2836         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2837         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
2838
2839 2012-10-03  Alberto Garcia  <agarcia@igalia.com>
2840
2841         [GTK] [WK2] Unused variable in webkitWebViewLoadChanged
2842         https://bugs.webkit.org/show_bug.cgi?id=98271
2843
2844         Reviewed by Martin Robinson.
2845
2846         Use the priv variable to directly access private attributes
2847         instead of dereferencing webView->priv all the time.
2848         Fixes -Wunused-variable.
2849
2850         * UIProcess/API/gtk/WebKitWebView.cpp:
2851         (webkitWebViewLoadChanged):
2852
2853 2012-10-03  Christophe Dumez  <christophe.dumez@intel.com>
2854
2855         [EFL][WK2] Implement focus/unfocus in UIClient
2856         https://bugs.webkit.org/show_bug.cgi?id=98253
2857
2858         Reviewed by Gyuyoung Kim.
2859
2860         Implement focus-related functionality in
2861         WebKitEFL's UIClient.
2862
2863         * UIProcess/API/efl/ewk_view_ui_client.cpp:
2864         (focus):
2865         (unfocus):
2866         (takeFocus):
2867         (ewk_view_ui_client_attach):
2868
2869 2012-10-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2870
2871         [GTK] WebKitWebView doesn't emit notify:favicon when it changes in some cases in WebKit2
2872         https://bugs.webkit.org/show_bug.cgi?id=98153
2873
2874         Reviewed by Martin Robinson.
2875
2876         The main problem is that it relies on icon-ready signal to be
2877         emitted by the favicon database, but that signal is only emitted
2878         when the icon is loaded from the network or imported from the
2879         database, but not when the icon is already in memory. The way to
2880         detect if a web page doesn't have a favicon or it's unknown it's
2881         also incorrectly done and the wrong error is returned for pages
2882         not having a favicon.
2883
2884         * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
2885         (GetFaviconSurfaceAsyncData): Add a GError field.
2886         (getIconSurfaceSynchronously): Add a GError parameter and fill it
2887         accordingly. Use imageForPageURL() instead of
2888         nativeImageForPageURL() because the latter always returns NULL for
2889         empty images, so it's not possible to know whether it's an empty
2890         image or not. If the image is empty is because the web page is
2891         known by the database and it doesn't have a favicon.
2892         (processPendingIconsForURI): Pass the data error to
2893         getIconSurfaceSynchronously(). Don't set the icon if the request
2894         has been cancelled.
2895         (webkitFaviconDatabaseGetFavicon): Pass NULL as error to
2896         getIconSurfaceSynchronously().
2897         (setErrorForAsyncResult): Fill also error for
2898         WEBKIT_FAVICON_DATABASE_ERROR_FAVICON_UNKNOWN.
2899         (webkit_favicon_database_get_favicon): If we get NULL as icon in
2900         the first place, check the error code returned by
2901         getIconSurfaceSynchronously() and return early if the page doesn't
2902         have a favicon. Remove the cancelled signal to avoid race
2903         conditions.
2904         (webkit_favicon_database_get_favicon_finish): Errors are processed
2905         before now, so simply propagate the error if any or return the
2906         favicon.
2907         * UIProcess/API/gtk/WebKitWebView.cpp:
2908         (_WebKitWebViewPrivate): Keep a reference of the favicon.
2909         (webkitWebViewCancelFaviconRequest): Cancel any async operation to
2910         get the favicon.
2911         (webkitWebViewUpdateFavicon): Check if favicon has changed and
2912         save it emitting also notify::favicon signal.
2913         (iconReadyCallback): Only update the favicon if we don't have one
2914         already.
2915         (webkitWebViewFinalize): Call webkitWebViewCancelFaviconRequest().
2916         (getFaviconReadyCallback): Update the favicon.
2917         (webkitWebViewRequestFavicon): Request a new favicon.
2918         (webkitWebViewLoadChanged): Try to get the favicon when the load
2919         has been committed and the URI is the final one.
2920         (webkit_web_view_get_favicon): Return the cached favicon.
2921         * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
2922         (serverCallback):
2923         (testSetDirectory):
2924         (testGetFavicon):
2925         (testWebViewFavicon):
2926
2927 2012-10-02  Carlos Garcia Campos  <cgarcia@igalia.com>
2928
2929         [GTK] Add API to get the web view that initiated a custom URI request to WebKit2 GTK+
2930         https://bugs.webkit.org/show_bug.cgi?id=97895
2931
2932         Reviewed by Martin Robinson.
2933
2934         The message DidReceiveURIRequest is now sent to the page that
2935         initiated the request that forwards the mesassage to the
2936         WebSoupRequestManagerProxy.
2937
2938         * UIProcess/API/C/soup/WKSoupRequestManager.h: Update
2939         didReceiveURIRequest callback to receive the initiating page ID.
2940         * UIProcess/API/efl/ewk_context_request_manager_client.cpp:
2941         (didReceiveURIRequest): Update the callback API change.
2942         * UIProcess/API/gtk/WebKitRequestManagerClient.cpp:
2943         (didReceiveURIRequest): Pass the initiating page to the
2944         WebKitURISchemeRequest constructor.
2945         * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
2946         (_WebKitURISchemeRequestPrivate): Keep a reference to the
2947         WebPageProxy that initiatesd the request.
2948         (webkitURISchemeRequestCreate): Save the initiating page.
2949         (webkit_uri_scheme_request_get_web_view): Return the view widget
2950         of the initiating WebPageProxy.
2951         * UIProcess/API/gtk/WebKitURISchemeRequest.h:
2952         * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
2953         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
2954         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
2955         * UIProcess/WebPageProxy.cpp:
2956         (WebKit::WebPageProxy::didReceiveURIRequest): Forward the request
2957         to the soup request manager proxy.
2958         * UIProcess/WebPageProxy.h:
2959         (WebPageProxy): Add didReceiveURIRequest().
2960         * UIProcess/WebPageProxy.messages.in: Add DidReceiveURIRequest
2961         message.
2962         * UIProcess/soup/WebSoupRequestManagerClient.cpp:
2963         (WebKit::WebSoupRequestManagerClient::didReceiveURIRequest):
2964         Pass the inititing page to the client callback.
2965         * UIProcess/soup/WebSoupRequestManagerClient.h:
2966         (WebSoupRequestManagerClient):
2967         * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
2968         (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest): Pass
2969         the inititing page to the client.
2970         * UIProcess/soup/WebSoupRequestManagerProxy.h:
2971         (WebSoupRequestManagerProxy):
2972         * UIProcess/soup/WebSoupRequestManagerProxy.messages.in: Remove
2973         DidReceiveURIRequest message.
2974         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
2975         (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
2976         Save the pageID of the WebFrame.
2977         (WebKit::WebFrameNetworkingContext::initiatingPageID): Return the
2978         inititing page ID.
2979         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
2980         * WebProcess/soup/WebSoupRequestManager.cpp:
2981         (WebKit::WebSoupRequestManager::send): Send DidReceiveURIRequest
2982         message to the WebPage that initiated the request.
2983
2984 2012-10-02  Zan Dobersek  <zandobersek@gmail.com>
2985
2986         Unreviewed build fix for the GTK port after r130207.
2987         Use proper file separators for new entries.
2988
2989         * GNUmakefile.list.am:
2990
2991 2012-10-02  Joone Hur  <joone.hur@intel.com>
2992
2993         Unreviewed, GTK+,Efl debug build fix after r130225.
2994
2995         This patch allows to include the static xErrorString variable when LOG_DISABLED is 0.
2996
2997         * PluginProcess/unix/PluginProcessMainUnix.cpp:
2998         (WebKit):
2999
3000 2012-10-02  Sam Weinig  <sam@webkit.org>
3001
3002         Fix a typo and add some \n's to make Mark happy.
3003
3004         Rubber-stamped by Mark "logging must be fast" Rowe.
3005
3006         * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
3007         (WebKit::InjectedBundle::load):
3008
3009 2012-10-02  Sam Weinig  <sam@webkit.org>
3010
3011         Add Objective-C API for the InjectedBundle
3012         https://bugs.webkit.org/show_bug.cgi?id=98222
3013
3014         Reviewed by Anders Carlsson.
3015
3016         Add skeleton of the Objective-C API for the InjectedBundle.
3017
3018         * WebKit2.xcodeproj/project.pbxproj:
3019         Add new API files.
3020
3021         * WebProcess/InjectedBundle/API/mac: Added.
3022         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h: Added.
3023         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: Added.
3024         (-[WKWebProcessPlugIn _initWithPrincipalClassInstance:injectedBundle:]):
3025         Initialization method for the WKWebProcessPlugIn object. This object will act as the WKBundleRef
3026         object does in the C-SPI.
3027         (+[WKWebProcessPlugIn _shared]):
3028         Access the shared instance.
3029         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h: Added.
3030
3031         * WebProcess/InjectedBundle/InjectedBundle.h:
3032         Store an NSBundle rather than a CFBundleRef as the platform bundle.
3033
3034         * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: Removed.
3035         * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm: Copied from Source/WebKit2/WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp.
3036         (WebKit::InjectedBundle::load):
3037         If a principal class is provided and no WKBundleInitialize function is present in the bundle, use the principal class
3038         as the initialization point. The principal class must conform to the WKWebProcessPlugIn protocol and if a
3039         webProcessPlugInInitialize: method is present, it is called. 
3040
3041 2012-10-02  Dan Bernstein  <mitz@apple.com>
3042
3043         Fixed a crash when the localization option is not passed to the web process.
3044
3045         Reviewed by Sam Weinig.
3046
3047         * PluginProcess/mac/PluginProcessMainMac.mm:
3048         (WebKit::PluginProcessMain): Changed to not call WKSetDefaultLocalization
3049         with the empty string.
3050         * WebProcess/mac/WebProcessMainMac.mm:
3051         (WebKit::WebProcessMain): Ditto.
3052
3053 == Rolled over to ChangeLog-2012-10-02 ==