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