a1db76809c1866b28692711cbe8f9a383e4a50ee
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-12-15  Anders Carlsson  <andersca@apple.com>
2
3         Add a DownloadProxyMap object to the NetworkProcessProxy object
4         https://bugs.webkit.org/show_bug.cgi?id=105112
5
6         Reviewed by Sam Weinig.
7
8         * UIProcess/Network/NetworkProcessProxy.cpp:
9         (WebKit::NetworkProcessProxy::createDownloadProxy):
10         (WebKit::NetworkProcessProxy::didClose):
11         * UIProcess/Network/NetworkProcessProxy.h:
12         * UIProcess/WebContext.cpp:
13         (WebKit::WebContext::createDownloadProxy):
14         * UIProcess/WebProcessProxy.cpp:
15         * UIProcess/WebProcessProxy.h:
16
17 2012-12-15  Anders Carlsson  <andersca@apple.com>
18
19         Move the download proxy map from the web context to the web process proxy
20         https://bugs.webkit.org/show_bug.cgi?id=105109
21
22         Reviewed by Andreas Kling.
23
24         More progress towards making downloads work with the networking process. Since downloads are handled by the
25         web process when not using a networking process, it makes sense for the download proxy map to live in the
26         web process proxy object.
27
28         * UIProcess/WebContext.cpp:
29         (WebKit::WebContext::WebContext):
30         (WebKit::WebContext::shouldTerminate):
31         (WebKit::WebContext::disconnectProcess):
32         (WebKit::WebContext::download):
33         (WebKit::WebContext::createDownloadProxy):
34         * UIProcess/WebContext.h:
35         (WebContext):
36         * UIProcess/WebProcessProxy.cpp:
37         (WebKit::WebProcessProxy::disconnect):
38         (WebKit::WebProcessProxy::shouldTerminate):
39         (WebKit):
40         (WebKit::WebProcessProxy::createDownloadProxy):
41         * UIProcess/WebProcessProxy.h:
42         (WebProcessProxy):
43
44 2012-12-15  Anders Carlsson  <andersca@apple.com>
45
46         DownloadProxy should keep a strong reference to its associated web context
47         https://bugs.webkit.org/show_bug.cgi?id=105107
48
49         Reviewed by Alexey Proskuryakov.
50
51         While this does create a ref-cycle, it's broken when the download completes, fails, is canceled or
52         if the process that's doing the download crashes.
53
54         * UIProcess/Downloads/DownloadProxy.cpp:
55         (WebKit::DownloadProxy::processDidClose):
56         (WebKit::DownloadProxy::didStart):
57         (WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
58         (WebKit::DownloadProxy::didReceiveResponse):
59         (WebKit::DownloadProxy::didReceiveData):
60         (WebKit::DownloadProxy::shouldDecodeSourceDataOfMIMEType):
61         (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
62         (WebKit::DownloadProxy::didCreateDestination):
63         (WebKit::DownloadProxy::didFinish):
64         (WebKit::DownloadProxy::didFail):
65         (WebKit::DownloadProxy::didCancel):
66         * UIProcess/Downloads/DownloadProxy.h:
67         (DownloadProxy):
68
69 2012-12-15  Anders Carlsson  <andersca@apple.com>
70
71         Remove WebContext::downloadFinished
72         https://bugs.webkit.org/show_bug.cgi?id=105105
73
74         Reviewed by Sam Weinig.
75
76         Have DownloadProxyMap manage the message receiver map and remove WebContext::downloadFinished.
77
78         * UIProcess/Downloads/DownloadProxy.cpp:
79         (WebKit::DownloadProxy::didFinish):
80         (WebKit::DownloadProxy::didFail):
81         (WebKit::DownloadProxy::didCancel):
82         * UIProcess/Downloads/DownloadProxyMap.cpp:
83         (WebKit::DownloadProxyMap::DownloadProxyMap):
84         (WebKit::DownloadProxyMap::createDownloadProxy):
85         (WebKit::DownloadProxyMap::downloadFinished):
86         * UIProcess/Downloads/DownloadProxyMap.h:
87         (DownloadProxyMap):
88         * UIProcess/WebContext.cpp:
89         (WebKit::WebContext::WebContext):
90         (WebKit::WebContext::createDownloadProxy):
91         * UIProcess/WebContext.h:
92
93 2012-12-15  Sam Weinig  <sam@webkit.org>
94
95         Make the NetworkProcess be managed by the WebContext, rather than a singleton NetworkProcessMananger
96         https://bugs.webkit.org/show_bug.cgi?id=105104
97
98         Reviewed by Alexey Proskuryakov.
99
100         Move to having the WebContext own and manage the NetworkProcessProxy.
101
102         * UIProcess/Network/NetworkProcessManager.cpp: Removed.
103         * UIProcess/Network/NetworkProcessManager.h: Removed.
104         * UIProcess/Network/NetworkProcessProxy.cpp:
105         (WebKit::NetworkProcessProxy::create):
106         (WebKit::NetworkProcessProxy::NetworkProcessProxy):
107         (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
108         * UIProcess/Network/NetworkProcessProxy.h:
109         (WebKit):
110         (NetworkProcessProxy):
111         * UIProcess/Network/mac/NetworkProcessManagerMac.mm: Removed.
112         * UIProcess/WebContext.cpp:
113         (WebKit::WebContext::ensureNetworkProcess):
114         (WebKit::WebContext::removeNetworkProcessProxy):
115         (WebKit::WebContext::getNetworkProcessConnection):
116         (WebKit::WebContext::willStartUsingPrivateBrowsing):
117         (WebKit::WebContext::willStopUsingPrivateBrowsing):
118         (WebKit::WebContext::createNewWebProcess):
119         * UIProcess/WebContext.h:
120         (WebKit):
121         (WebContext):
122         (WebKit::WebContext::networkProcess):
123         * UIProcess/WebProcessProxy.cpp:
124         (WebKit::WebProcessProxy::getNetworkProcessConnection):
125         * UIProcess/mac/WebContextMac.mm:
126         (WebKit::WebContext::applicationBecameVisible):
127         (WebKit::WebContext::applicationBecameOccluded):
128         * WebKit2.xcodeproj/project.pbxproj:
129
130 2012-12-15  Anders Carlsson  <andersca@apple.com>
131
132         DownloadProxy objects should know which DownloadProxyMap they belong to
133         https://bugs.webkit.org/show_bug.cgi?id=105102
134
135         Reviewed by Andy Estes.
136
137         * UIProcess/Downloads/DownloadProxy.cpp:
138         (WebKit::DownloadProxy::create):
139         (WebKit::DownloadProxy::DownloadProxy):
140         * UIProcess/Downloads/DownloadProxy.h:
141         (WebKit):
142         (DownloadProxy):
143         * UIProcess/Downloads/DownloadProxyMap.cpp:
144         (WebKit::DownloadProxyMap::createDownloadProxy):
145
146 2012-12-15  Andy Estes  <aestes@apple.com>
147
148         [WebKit2] Move CustomProtocolManager to Shared/
149         https://bugs.webkit.org/show_bug.cgi?id=105103
150
151         Reviewed by Sam Weinig.
152
153         CustomProtocolManager can be instantiated either in the NetworkProcess or the WebProcess, so it should live in Shared/.
154
155         * DerivedSources.make: Update the path where CustomProtocolManager.messages.in can be found.
156         * Shared/Network/CustomProtocols/CustomProtocolManager.h: Renamed from Source/WebKit2/WebProcess/Network/CustomProtocols/CustomProtocolManager.h.
157         * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in: Renamed from Source/WebKit2/WebProcess/Network/CustomProtocols/CustomProtocolManager.messages.in.
158         * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Renamed from Source/WebKit2/WebProcess/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm.
159         * WebKit2.xcodeproj/project.pbxproj:
160
161 2012-12-15  Sam Weinig  <sam@webkit.org>
162
163         Try to fix the Qt build.
164
165         * Target.pri:
166
167 2012-12-15  Anders Carlsson  <andersca@apple.com>
168
169         Get rid of DownloadProxyMap::downloads()
170         https://bugs.webkit.org/show_bug.cgi?id=105100
171
172         Reviewed by Sam Weinig.
173
174         Add the needed member functions to DownloadProxyMap and remove the downloads() member function.
175
176         * UIProcess/Downloads/DownloadProxyMap.cpp:
177         (WebKit::DownloadProxyMap::downloadFinished):
178         (WebKit::DownloadProxyMap::processDidClose):
179         (WebKit):
180         * UIProcess/Downloads/DownloadProxyMap.h:
181         (WebKit::DownloadProxyMap::isEmpty):
182         (DownloadProxyMap):
183         * UIProcess/WebContext.cpp:
184         (WebKit::WebContext::shouldTerminate):
185         (WebKit::WebContext::disconnectProcess):
186         (WebKit::WebContext::downloadFinished):
187
188 2012-12-15  Sam Weinig  <sam@webkit.org>
189
190         Move calculation of caches sizes based on the cache model to CacheModel.h/cpp
191         https://bugs.webkit.org/show_bug.cgi?id=105098
192
193         Reviewed by Anders Carlsson.
194
195         Move calculation of caches sizes based on the cache model to CacheModel.h/cpp so
196         that it can be used by more than just the WebProcess.
197
198         * CMakeLists.txt:
199         * GNUmakefile.list.am:
200         * Shared/CacheModel.cpp: Added.
201         (WebKit):
202         (WebKit::calculateCacheSizes):
203         * Shared/CacheModel.h:
204         * Target.pri:
205         * WebKit2.xcodeproj/project.pbxproj:
206         * WebProcess/WebProcess.cpp:
207         * WebProcess/WebProcess.h:
208         (WebProcess):
209         * win/WebKit2.vcproj:
210
211 2012-12-15  Anders Carlsson  <andersca@apple.com>
212
213         DownloadProxyMap shouldn't be a singleton after all
214         https://bugs.webkit.org/show_bug.cgi?id=105099
215
216         Reviewed by Sam Weinig.
217
218         Make the DownloadProxyMap be per context instead, and get rid of the m_downloads hash map from WebContext.
219
220         * UIProcess/Downloads/DownloadProxy.cpp:
221         (WebKit::DownloadProxy::didFinish):
222         (WebKit::DownloadProxy::didFail):
223         (WebKit::DownloadProxy::didCancel):
224         * UIProcess/Downloads/DownloadProxyMap.cpp:
225         (WebKit::DownloadProxyMap::~DownloadProxyMap):
226         * UIProcess/Downloads/DownloadProxyMap.h:
227         (DownloadProxyMap):
228         (WebKit::DownloadProxyMap::downloads):
229         * UIProcess/WebContext.cpp:
230         (WebKit::WebContext::shouldTerminate):
231         (WebKit::WebContext::disconnectProcess):
232         (WebKit::WebContext::createDownloadProxy):
233         (WebKit::WebContext::downloadFinished):
234         * UIProcess/WebContext.h:
235         (WebContext):
236
237 2012-12-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
238
239         Disambiguate "background color" and "contents as solid color" on GraphicsLayer
240         https://bugs.webkit.org/show_bug.cgi?id=104842
241
242         Reviewed by Simon Fraser.
243
244         Rename overloads in coordinated graphics to account for the rename in GraphicsLayer.
245
246         * Shared/CoordinatedGraphics/CoordinatedLayerInfo.h:
247         (CoordinatedLayerInfo):
248         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
249         (WebKit::LayerTreeRenderer::setLayerState):
250         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
251         (WebCore::CoordinatedGraphicsLayer::setContentsToSolidColor):
252         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
253         (CoordinatedGraphicsLayer):
254
255 2012-12-15  Christophe Dumez  <christophe.dumez@intel.com>
256
257         [GTK][WK2] Memory leak in ChunkedUpdateDrawingArea::paintIntoUpdateChunk()
258         https://bugs.webkit.org/show_bug.cgi?id=105095
259
260         Reviewed by Martin Robinson.
261
262         Adopt the pointer returned by cairo_create() in
263         ChunkedUpdateDrawingArea::paintIntoUpdateChunk() to avoid leaking
264         memory.
265
266         * WebProcess/WebPage/gtk/ChunkedUpdateDrawingAreaGtk.cpp:
267         (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
268
269 2012-12-15  Mark Lam  <mark.lam@apple.com>
270
271         Added #if ENABLE(SQL_DATABASE) around WebPlatformStrategies::getDatabaseServer().
272         https://bugs.webkit.org/show_bug.cgi?id=104934..
273
274         Not reviewed.
275
276         Greening the Qt Linux Release Minimal bot.
277
278         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
279         (WebKit):
280         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
281         (WebPlatformStrategies):
282
283 2012-12-15  Mark Lam  <mark.lam@apple.com>
284
285         Re-landing patch for "Introducing the DatabaseStrategy and database servers".
286         https://bugs.webkit.org/show_bug.cgi?id=104934.
287
288         Not reviewed.
289
290         Merged from r137767. Previously reviewed by Sam Weinig.
291
292         * CMakeLists.txt:
293         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
294         (WebKit::WebPlatformStrategies::createDatabaseStrategy):
295         (WebKit):
296         (WebKit::WebPlatformStrategies::getDatabaseServer):
297         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
298         (WebPlatformStrategies):
299
300 2012-12-14  Anders Carlsson  <andersca@apple.com>
301
302         DownloadProxy objects should be message receivers
303         https://bugs.webkit.org/show_bug.cgi?id=105068
304
305         Reviewed by Andreas Kling.
306
307         This simplifies the WebContext message dispatch code somewhat.
308
309         * UIProcess/Downloads/DownloadProxy.cpp:
310         (WebKit::DownloadProxy::didReceiveMessage):
311         (WebKit::DownloadProxy::didReceiveSyncMessage):
312         * UIProcess/Downloads/DownloadProxy.h:
313         (DownloadProxy):
314         * UIProcess/WebContext.cpp:
315         (WebKit::WebContext::createDownloadProxy):
316         (WebKit::WebContext::didReceiveMessage):
317         (WebKit::WebContext::didReceiveSyncMessage):
318
319 2012-12-14  Sheriff Bot  <webkit.review.bot@gmail.com>
320
321         Unreviewed, rolling out r137767.
322         http://trac.webkit.org/changeset/137767
323         https://bugs.webkit.org/show_bug.cgi?id=105062
324
325         Broke Mac builds. (Requested by mlam on #webkit).
326
327         * CMakeLists.txt:
328         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
329         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
330         (WebPlatformStrategies):
331
332 2012-12-14  Alexey Proskuryakov  <ap@apple.com>
333
334         <rdar://problem/12874760> NetworkProcess loads may get stuck when WebProcess quits
335         https://bugs.webkit.org/show_bug.cgi?id=105056
336
337         Reviewed by Anders Carlsson.
338
339         Make response maps per-connection.
340
341         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
342         (WebKit::NetworkConnectionToWebProcess::didClose): Cancel waiting for responses
343         from WebProcess, they will never arrive.
344
345         * NetworkProcess/NetworkConnectionToWebProcess.h:
346         (WebKit::NetworkConnectionToWebProcess::willSendRequestResponseMap):
347         (WebKit::NetworkConnectionToWebProcess::canAuthenticateAgainstProtectionSpaceResponseMap):
348         Maps now live here.
349
350         * NetworkProcess/NetworkResourceLoader.cpp:
351         (WebKit::NetworkResourceLoader::connectionToWebProcessDidClose): Added a FIXME.
352
353         (WebKit::NetworkResourceLoader::willSendRequest):
354         (WebKit::NetworkResourceLoader::willSendRequestHandled):
355         (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace):
356         (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceHandled):
357         Handle the cases where we can't send a request, or can't expect a response any more.
358
359         * Shared/BlockingResponseMap.h:
360         (BlockingResponseMap):
361         (BlockingResponseMap::BlockingResponseMap):
362         (BlockingResponseMap::~BlockingResponseMap):
363         (BlockingResponseMap::waitForResponse):
364         (BlockingResponseMap::didReceiveResponse):
365         (BlockingResponseMap::cancel):
366         (BlockingBoolResponseMap):
367         (BlockingBoolResponseMap::BlockingBoolResponseMap):
368         (BlockingBoolResponseMap::~BlockingBoolResponseMap):
369         (BlockingBoolResponseMap::waitForResponse):
370         (BlockingBoolResponseMap::didReceiveResponse):
371         (BlockingBoolResponseMap::cancel):
372         Added an ability to cancel, and slightly beefed up overall.
373
374 2012-12-14  Anders Carlsson  <andersca@apple.com>
375
376         DownloadProxyMap should keep track of outstanding DownloadProxy objects
377         https://bugs.webkit.org/show_bug.cgi?id=105053
378
379         Reviewed by Andreas Kling.
380
381         This is more work towards removing the m_downloads map from every WebContext object.
382
383         * UIProcess/Downloads/DownloadProxy.cpp:
384         (WebKit::DownloadProxy::didFinish):
385         (WebKit::DownloadProxy::didFail):
386         (WebKit::DownloadProxy::didCancel):
387         * UIProcess/Downloads/DownloadProxyMap.cpp:
388         (WebKit::DownloadProxyMap::createDownloadProxy):
389         (WebKit):
390         (WebKit::DownloadProxyMap::downloadFinished):
391         * UIProcess/Downloads/DownloadProxyMap.h:
392         (DownloadProxyMap):
393         * UIProcess/WebContext.cpp:
394         (WebKit::WebContext::createDownloadProxy):
395
396 2012-12-14  Mark Lam  <mark.lam@apple.com>
397
398         Introducing the DatabaseStrategy and database servers.
399         https://bugs.webkit.org/show_bug.cgi?id=104934.
400
401         Reviewed by Sam Weinig.
402
403         The database server is currently a placeholder that does nothing.
404
405         * CMakeLists.txt:
406         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
407         (WebKit::WebPlatformStrategies::createDatabaseStrategy):
408         (WebKit):
409         (WebKit::WebPlatformStrategies::getDatabaseServer):
410         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
411         (WebPlatformStrategies):
412
413 2012-12-14  Alexey Proskuryakov  <ap@apple.com>
414
415         Resource loads sometimes stall
416         https://bugs.webkit.org/show_bug.cgi?id=104976
417
418         Apply the same quick an dirty fix to BlockingBoolResponseMap.
419
420         * Shared/BlockingResponseMap.h:
421         (BlockingBoolResponseMap::didReceiveResponse):
422
423 2012-12-14  Anders Carlsson  <andersca@apple.com>
424
425         Add a DownloadsProxyMap class in preparation for moving the downloads map away from WebContext
426         https://bugs.webkit.org/show_bug.cgi?id=104980
427
428         Reviewed by Andreas Kling.
429
430         Currently the DownloadProxyMap doesn't really do anything; this initial change is to make sure that
431         adding the new files won't break any builds.
432
433         * CMakeLists.txt:
434         * GNUmakefile.list.am:
435         * Target.pri:
436         * UIProcess/Downloads/DownloadProxyMap.cpp: Added.
437         (WebKit):
438         (WebKit::DownloadProxyMap::shared):
439         (WebKit::DownloadProxyMap::DownloadProxyMap):
440         (WebKit::DownloadProxyMap::~DownloadProxyMap):
441         (WebKit::DownloadProxyMap::createDownloadProxy):
442         * UIProcess/Downloads/DownloadProxyMap.h: Added.
443         (WebKit):
444         (DownloadProxyMap):
445         * UIProcess/WebContext.cpp:
446         (WebKit::WebContext::createDownloadProxy):
447         * WebKit2.xcodeproj/project.pbxproj:
448         * win/WebKit2.vcproj:
449
450 2012-12-14  Anders Carlsson  <andersca@apple.com>
451
452         Fix assertion failure when the network process is enabled
453         https://bugs.webkit.org/show_bug.cgi?id=105040
454         <rdar://problem/12883632>
455
456         Reviewed by Alexey Proskuryakov.
457
458         Make sure that we don't call into the download manager when running with a network process.
459
460         * WebProcess/WebProcess.cpp:
461         (WebKit::WebProcess::shouldTerminate):
462
463 2012-12-14  Michelangelo De Simone  <michelangelo@webkit.org>
464
465         [CSS Shaders] Remove code for the other mesh box types (border-box | padding-box | content-box)
466         https://bugs.webkit.org/show_bug.cgi?id=103776
467
468         Reviewed by Dean Jackson.
469
470         The MeshBoxType has been removed and the code has been refactored. The specs will be updated shortly
471         and therefore this feature - even though it was not fully implemented yet - shall not be used anymore.
472
473         In this patch we remove everything but the parsing code, which shall be addressed in a different patch
474         (see: https://bugs.webkit.org/show_bug.cgi?id=103778).
475
476         Specification to be updated: http://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#ltboxgt
477
478         Existing tests have been updated and new parsing legacy cases have been added.
479
480         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
481         (CoreIPC::::encode):
482         (CoreIPC::::decode):
483         * Shared/CoordinatedGraphics/WebCustomFilterOperation.h:
484         (WebCore::WebCustomFilterOperation::create):
485         (WebCore::WebCustomFilterOperation::WebCustomFilterOperation):
486
487 2012-12-14  Alexey Proskuryakov  <ap@apple.com>
488
489         <rdar://problem/12880750> RGRESSION: Crash when emptying cookie jar
490         https://bugs.webkit.org/show_bug.cgi?id=105038
491
492         Reviewed by Jessie Berlin.
493
494         Handle null context, which is used for cookie management functions.
495
496         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
497         (WebKit::WebPlatformStrategies::cookiesForDOM):
498         (WebKit::WebPlatformStrategies::setCookiesFromDOM):
499         (WebKit::WebPlatformStrategies::cookiesEnabled):
500         (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
501         (WebKit::WebPlatformStrategies::getRawCookies):
502         (WebKit::WebPlatformStrategies::deleteCookie):
503         (WebKit::WebPlatformStrategies::getHostnamesWithCookies):
504         (WebKit::WebPlatformStrategies::deleteCookiesForHostname):
505         (WebKit::WebPlatformStrategies::deleteAllCookies):
506
507 2012-12-14  Alberto Garcia  <agarcia@igalia.com>
508
509         [GTK] When in private mode WebKitGTK+ should not save HTTP authentication credentials to the persistent storage
510         https://bugs.webkit.org/show_bug.cgi?id=104910
511
512         Reviewed by Martin Robinson.
513
514         * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp:
515         (WebKit::WebKit2GtkAuthenticationDialog::WebKit2GtkAuthenticationDialog):
516         * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h:
517         (WebKit2GtkAuthenticationDialog):
518         GtkAuthenticationDialog has a new credential storage mode
519         parameter, so add it here too.
520
521         * UIProcess/API/gtk/WebKitWebView.cpp:
522         (webkitWebViewHandleAuthenticationChallenge):
523         When creating the GtkAuthenticationDialog, set the credential
524         storage mode using the private browsing setting from the current
525         page.
526
527 2012-12-14  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
528
529         [EFL][WK2] Fix EFL build after r137718
530         https://bugs.webkit.org/show_bug.cgi?id=105018
531
532         Unreviewed build fix.
533
534         The problem was that UNUSED_PARAM(size) was left in the code
535         for non-existent variable 'size'.
536
537         * UIProcess/efl/PageClientDefaultImpl.cpp:
538         (WebKit::PageClientDefaultImpl::updateViewportSize):
539         * UIProcess/efl/PageClientLegacyImpl.cpp:
540         (WebKit::PageClientLegacyImpl::updateViewportSize):
541
542 2012-12-13  Kenneth Rohde Christiansen  <kenneth@webkit.org>
543
544         [EFL][WK2] Do not pass size to updateViewportSize
545         https://bugs.webkit.org/show_bug.cgi?id=104994
546
547         Reviewed by Gyuyoung Kim.
548
549         There is no need to pass size to updateViewportSize as we
550         have direct access to it. This makes the code differ less
551         from Qt.
552
553         * UIProcess/API/efl/ewk_view.cpp:
554         (_ewk_view_smart_calculate):
555         * UIProcess/PageViewportController.cpp:
556         (WebKit::PageViewportController::pageDidRequestScroll):
557         * UIProcess/efl/PageClientBase.h:
558         (PageClientBase):
559         * UIProcess/efl/PageClientDefaultImpl.cpp:
560         (WebKit::PageClientDefaultImpl::updateViewportSize):
561         * UIProcess/efl/PageClientDefaultImpl.h:
562         (PageClientDefaultImpl):
563         * UIProcess/efl/PageClientLegacyImpl.cpp:
564         (WebKit::PageClientLegacyImpl::updateViewportSize):
565         * UIProcess/efl/PageClientLegacyImpl.h:
566         (PageClientLegacyImpl):
567         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
568         (WebKit::PageViewportControllerClientEfl::updateViewportSize):
569         * UIProcess/efl/PageViewportControllerClientEfl.h:
570         (PageViewportControllerClientEfl):
571
572 2012-12-13  Sanghyup Lee  <sh53.lee@samsung.com>
573
574         Fix build warning
575         https://bugs.webkit.org/show_bug.cgi?id=104978
576
577         Reviewed by Kentaro Hara.
578
579         Initialize parameter 'downloadID' to fix 'unused parameter' build warning.
580
581         * WebProcess/Downloads/Download.cpp:
582         (WebKit::Download::Download):
583
584 2012-12-13  Alexey Proskuryakov  <ap@apple.com>
585
586         Resource loads sometimes stall
587         https://bugs.webkit.org/show_bug.cgi?id=104976
588
589         Reviewed by Anders Carlsson.
590
591         Quick and dirty partial fix.
592
593         * Shared/BlockingResponseMap.h: (BlockingResponseMap::didReceiveResponse):
594         Wake up all threads, so that non-sequential responses don't break us. This is still
595         horribly inefficient,but should improve behavior quite a bit.
596
597 2012-12-13  Seokju Kwon  <seokju.kwon@gmail.com>
598
599         Fix unused parameter compile warnings
600         https://bugs.webkit.org/show_bug.cgi?id=104907
601
602         Reviewed by Kentaro Hara.
603
604         Use UNUSED_PARAM macro to fix build warning -Wunused-parameter
605         when ENABLE_INSPECTOR is disabled.
606
607         * UIProcess/API/C/WKInspector.cpp:
608         (WKInspectorGetPage):
609         (WKInspectorIsVisible):
610         (WKInspectorIsFront):
611         (WKInspectorShow):
612         (WKInspectorClose):
613         (WKInspectorShowConsole):
614         (WKInspectorShowResources):
615         (WKInspectorShowMainResourceForFrame):
616         (WKInspectorIsAttached):
617         (WKInspectorAttach):
618         (WKInspectorDetach):
619         (WKInspectorIsDebuggingJavaScript):
620         (WKInspectorToggleJavaScriptDebugging):
621         (WKInspectorIsProfilingJavaScript):
622         (WKInspectorToggleJavaScriptProfiling):
623         (WKInspectorIsProfilingPage):
624         (WKInspectorTogglePageProfiling):
625         * UIProcess/API/C/WKPage.cpp:
626         (WKPageGetInspector):
627
628 2012-12-13  Seokju Kwon  <seokju.kwon@gmail.com>
629
630         [QT][GTK][EFL] Add guard for WebInspectorServer
631         https://bugs.webkit.org/show_bug.cgi?id=104889
632
633         Reviewed by Kenneth Rohde Christiansen.
634
635         Add ENABLE(INSPECTOR_SERVER) guard around platform-specific implementation for WebInspectorServer.
636
637         * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
638         * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
639         * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
640
641 2012-12-13  Huang Dongsung  <luxtella@company100.net>
642
643         Coordinated Graphics: Reorder messages to CoordinatedLayerTreeHostProxy
644         https://bugs.webkit.org/show_bug.cgi?id=103843
645
646         Reviewed by Noam Rosenthal.
647
648         Clarify LayerTreeRenderer::setRootLayerID() can be called only once during its
649         lifecycle. LayerTreeRenderer, CoordinatedLayerTreeHost and CoordinatedLayerTreeHostProxy
650         have the same lifecycle to WebPage and the root layer is reused even if loading
651         new page, so it is impossible to call LayerTreeRenderer::setRootLayerID() more
652         than twice.
653
654         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
655         (WebKit::LayerTreeRenderer::setRootLayerID):
656
657 2012-12-13  Alexey Proskuryakov  <ap@apple.com>
658
659         <rdar://problem/12838354> DOM cookie access functions should respect private browsing
660         https://bugs.webkit.org/show_bug.cgi?id=104691
661
662         Reviewed by Anders Carlsson.
663
664         Remove obsolete FIXMEs, and fix one function that I overlooked.
665
666         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
667         (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
668         (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
669         (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
670         (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
671         (WebKit::NetworkConnectionToWebProcess::getRawCookies):
672         (WebKit::NetworkConnectionToWebProcess::deleteCookie):
673         (WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies):
674         (WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname):
675         (WebKit::NetworkConnectionToWebProcess::deleteAllCookies):
676
677 2012-12-13  Anders Carlsson  <andersca@apple.com>
678
679         DownloadManager shouldn't call the web process directly
680         https://bugs.webkit.org/show_bug.cgi?id=104946
681
682         Reviewed by Antti Koivisto.
683
684         Introduce the needed DownloadManager::Client member functions and have Download call them instead of calling the web process directly.
685
686         * WebProcess/Downloads/Download.cpp:
687         (WebKit::Download::Download):
688         (WebKit::Download::~Download):
689         (WebKit::Download::connection):
690         * WebProcess/Downloads/DownloadManager.cpp:
691         (WebKit::DownloadManager::DownloadManager):
692         (WebKit::DownloadManager::didCreateDownload):
693         (WebKit::DownloadManager::didDestroyDownload):
694         (WebKit::DownloadManager::connection):
695         * WebProcess/Downloads/DownloadManager.h:
696         * WebProcess/WebProcess.cpp:
697         (WebKit::WebProcess::didCreateDownload):
698         (WebKit::WebProcess::didDestroyDownload):
699         * WebProcess/WebProcess.h:
700
701 2012-12-13  Alexey Proskuryakov  <ap@apple.com>
702
703         <rdar://problem/12838354> Per-Tab WebProcess: DOM cookie access functions should respect private browsing
704         https://bugs.webkit.org/show_bug.cgi?id=104691
705
706         Reviewed by Sam Weinig.
707
708         Pass private browsing state from local context to remote one.
709
710         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
711         (WebKit::networkingContext):
712         (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
713         (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
714         (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
715         (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
716         (WebKit::NetworkConnectionToWebProcess::getRawCookies):
717         (WebKit::NetworkConnectionToWebProcess::deleteCookie):
718         (WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies):
719         (WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname):
720         (WebKit::NetworkConnectionToWebProcess::deleteAllCookies):
721         * NetworkProcess/NetworkConnectionToWebProcess.h:
722         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
723         * NetworkProcess/mac/RemoteNetworkingContext.h:
724         * NetworkProcess/mac/RemoteNetworkingContext.mm:
725         (WebKit::RemoteNetworkingContext::inPrivateBrowsingMode):
726         (WebKit::RemoteNetworkingContext::storageSession):
727         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
728         (WebKit::WebPlatformStrategies::cookiesForDOM):
729         (WebKit::WebPlatformStrategies::setCookiesFromDOM):
730         (WebKit::WebPlatformStrategies::cookiesEnabled):
731         (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
732         (WebKit::WebPlatformStrategies::getRawCookies):
733         (WebKit::WebPlatformStrategies::deleteCookie):
734         (WebKit::WebPlatformStrategies::getHostnamesWithCookies):
735         (WebKit::WebPlatformStrategies::deleteCookiesForHostname):
736         (WebKit::WebPlatformStrategies::deleteAllCookies):
737         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
738         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
739         (WebKit::WebFrameNetworkingContext::inPrivateBrowsingMode):
740         (WebKit::WebFrameNetworkingContext::storageSession):
741         * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
742         (WebFrameNetworkingContext::inPrivateBrowsingMode):
743
744 2012-12-13  Anders Carlsson  <andersca@apple.com>
745
746         Get rid of DownloadManager::shared
747         https://bugs.webkit.org/show_bug.cgi?id=104939
748
749         Reviewed by Andreas Kling.
750
751         Move the DownloadManager singleton to WebProcess and stub out a DownloadManager::Client class.
752
753         * WebProcess/Downloads/DownloadManager.cpp:
754         (WebKit::DownloadManager::DownloadManager):
755         * WebProcess/Downloads/DownloadManager.h:
756         (Client):
757         (WebKit::DownloadManager::Client::~Client):
758         (DownloadManager):
759         * WebProcess/WebPage/WebFrame.cpp:
760         (WebKit::WebFrame::startDownload):
761         (WebKit::WebFrame::convertHandleToDownload):
762         * WebProcess/WebProcess.cpp:
763         (WebKit::WebProcess::downloadManager):
764         (WebKit):
765         (WebKit::WebProcess::shouldTerminate):
766         (WebKit::WebProcess::downloadRequest):
767         (WebKit::WebProcess::cancelDownload):
768         (WebKit::WebProcess::startTransfer):
769         * WebProcess/WebProcess.h:
770         (WebProcess):
771
772 2012-12-12  Andy Estes  <aestes@apple.com>
773
774         [WebKit2] Only register NSNotificationCenter observers once per WebContext
775         https://bugs.webkit.org/show_bug.cgi?id=104879
776
777         Reviewed by Alexey Proskuryakov.
778
779         WebContext was mistakenly registering NSNotificationCenter observers
780         every time a new web process was created. In a multi-WebProcess world,
781         this caused duplicate observers to be needlessly registered. Fix this
782         by registering observers at WebContext creation time (and fix a related
783         bug where two of the observers were never unregistered).
784
785         * UIProcess/WebContext.h:
786         * UIProcess/mac/WebContextMac.mm:
787         (WebKit::WebContext::platformInitialize): Register observers when initializing the context.
788         (WebKit::WebContext::platformInitializeWebProcess): Don't register observers here.
789         (WebKit::WebContext::platformInvalidateContext): Unregister observers when invalidating the context.
790         (WebKit::WebContext::registerNotificationObservers):
791         (WebKit::WebContext::unregisterNotificationObservers):
792
793 2012-12-13  Anders Carlsson  <andersca@apple.com>
794
795         Download objects should keep track of their associated DownloadManager object
796         https://bugs.webkit.org/show_bug.cgi?id=104936
797
798         Reviewed by Andreas Kling.
799
800         This is the first step towards eliminating DownloadManager::shared.
801
802         * WebProcess/Downloads/Download.cpp:
803         (WebKit::Download::create):
804         (WebKit::Download::Download):
805         (WebKit::Download::didFinish):
806         (WebKit::Download::didFail):
807         (WebKit::Download::didCancel):
808         * WebProcess/Downloads/Download.h:
809         * WebProcess/Downloads/DownloadManager.cpp:
810         (WebKit::DownloadManager::startDownload):
811         (WebKit::DownloadManager::convertHandleToDownload):
812
813 2012-12-13  Anders Carlsson  <andersca@apple.com>
814
815         Remove unused initiatingPage parameter from download objects
816         https://bugs.webkit.org/show_bug.cgi?id=104933
817
818         Reviewed by Alexey Proskuryakov.
819
820         * WebProcess/Downloads/Download.h:
821         (Download):
822         * WebProcess/Downloads/DownloadManager.cpp:
823         (WebKit::DownloadManager::startDownload):
824         (WebKit::DownloadManager::convertHandleToDownload):
825         * WebProcess/Downloads/DownloadManager.h:
826         (DownloadManager):
827         * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
828         (WebKit::Download::start):
829         (WebKit::Download::startWithHandle):
830         * WebProcess/Downloads/curl/DownloadCurl.cpp:
831         (WebKit::Download::start):
832         (WebKit::Download::startWithHandle):
833         * WebProcess/Downloads/mac/DownloadMac.mm:
834         (WebKit::Download::start):
835         (WebKit::Download::startWithHandle):
836         * WebProcess/Downloads/qt/DownloadQt.cpp:
837         (WebKit::Download::start):
838         (WebKit::Download::startWithHandle):
839         * WebProcess/Downloads/soup/DownloadSoup.cpp:
840         (WebKit::Download::start):
841         (WebKit::Download::startWithHandle):
842         * WebProcess/WebPage/WebFrame.cpp:
843         (WebKit::WebFrame::startDownload):
844         (WebKit::WebFrame::convertHandleToDownload):
845         * WebProcess/WebProcess.cpp:
846         (WebKit::WebProcess::downloadRequest):
847
848 2012-12-13  Alexey Proskuryakov  <ap@apple.com>
849
850         <rdar://problem/12870065> Frequent NetworkProcess crashes due to null connection when closing tabs
851         https://bugs.webkit.org/show_bug.cgi?id=104922
852
853         Reviewed by Anders Carlsson.
854
855         Don't zero out connection pointers when a connection closes. There doesn't appear
856         to be any reason to do this.
857
858         Tested by hitting breakpoints in all relevant objects destructors to confirm that
859         this doesn't introduce leaks.
860
861         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
862         (WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess):
863         (WebKit::NetworkConnectionToWebProcess::didClose):
864         * NetworkProcess/NetworkResourceLoader.cpp:
865         (WebKit::NetworkResourceLoader::connectionToWebProcessDidClose):
866
867 2012-12-13  Thiago Marcos P. Santos  <thiago.santos@intel.com>
868
869         [EFL] Update the way we set the cookies policy
870         https://bugs.webkit.org/show_bug.cgi?id=104915
871
872         Reviewed by Kenneth Rohde Christiansen.
873
874         We are mistakenly assigning the cookie policy to the persistent storage
875         type which is not correct. This was caused by r137432 and is making
876         the unit tests fail.
877
878         * UIProcess/efl/WebContextEfl.cpp:
879         (WebKit::WebContext::platformInitializeWebProcess):
880
881 2012-12-13  Andras Becsi  <andras.becsi@digia.com>
882
883         [Qt][WK2] Fix painting on Mac with retina display
884         https://bugs.webkit.org/show_bug.cgi?id=104574
885
886         Unreviewed, removing leftover API test.
887
888         This hunk somehow did not make it into the final patch.
889
890         * UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml: Removed.
891
892 2012-12-13  Andras Becsi  <andras.becsi@digia.com>
893
894         [Qt][WK2] Fix painting on Mac with retina display
895         https://bugs.webkit.org/show_bug.cgi?id=104574
896
897         Reviewed by Kenneth Rohde Christiansen.
898
899         Since HiDPI support has been added and enabled in Qt we ended up
900         painting incorrectly scaled content on high-resolution screens.
901         Because the intrinsic device pixel ratio is always taken into
902         account by Qt when painting to high-resolution screens we should
903         automatically obtain the scale ratio from the window in which the
904         item is rendered instead of setting it in QML.
905
906         Qt does not make it possible to override the device pixel ratio
907         of the native window, therefore our experimental QML API for setting
908         a custom value is of no use any more and should be removed.
909
910         This patch fixes the scaling issue on Mac retina display by querying
911         the underlying window for the device scale factor and applying it to
912         the backing store and the scene-graph rendering of the content node.
913         Additionally removes the experimental API and related API tests.
914
915         * UIProcess/API/qt/qquickwebpage.cpp:
916         (QQuickWebPage::updatePaintNode):
917         * UIProcess/API/qt/qquickwebview.cpp:
918         (QQuickWebViewPrivate::QQuickWebViewPrivate):
919         (QQuickWebViewLegacyPrivate::updateViewportSize):
920         (QQuickWebViewFlickablePrivate::onComponentComplete):
921         * UIProcess/API/qt/qquickwebview_p.h:
922         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
923         (tst_QQuickWebView::newWebView):
924         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
925         (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
926         (WebKit::CoordinatedLayerTreeHostProxy::deviceScaleFactor):
927         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
928         (CoordinatedLayerTreeHostProxy):
929         * UIProcess/qt/QtWebPageSGNode.cpp:
930         (WebKit::ContentsSGNode::ContentsSGNode):
931         (WebKit::ContentsSGNode::render):
932         (WebKit::ContentsSGNode::clipRect):
933         (ContentsSGNode):
934         (WebKit::QtWebPageSGNode::QtWebPageSGNode):
935         (WebKit::QtWebPageSGNode::devicePixelRatio):
936         (WebKit):
937         (WebKit::QtWebPageSGNode::setRenderer):
938         * UIProcess/qt/QtWebPageSGNode.h:
939         (QtWebPageSGNode):
940
941 2012-12-13  Thiago Marcos P. Santos  <thiago.santos@intel.com>
942
943         [EFL] API tests failing because Vibration API is using unsigned as duration since r137410
944         https://bugs.webkit.org/show_bug.cgi?id=104914
945
946         Reviewed by Kenneth Rohde Christiansen.
947
948         Update the tests to reflect the data type coming from WebCore.
949
950         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
951         (VibrationCbData):
952         (onVibrate):
953
954 2012-12-13  Kenneth Rohde Christiansen  <kenneth@webkit.org>
955
956         [EFL][WK2] Device pixel ratio lost upon relaunch of the web process
957         https://bugs.webkit.org/show_bug.cgi?id=104913
958
959         Reviewed by Simon Hausmann.
960
961         Use setIntrinsicDeviceScaleFactor instead of setCustomDeviceScaleFactor
962         when setting the device pixel ratio to make the setting permanent and
963         make sure it is set as part of the web process creation parameters.
964
965         * UIProcess/API/efl/ewk_view.cpp:
966         (ewk_view_device_pixel_ratio_set):
967
968 2012-12-13  Jerome Pasion  <jerome.pasion@digia.com>
969
970         [Qt] Doc: Fixing Qt WebKit reference documentation.
971
972         Reviewed by Simon Hausmann.
973
974         Fixes:
975         -added \module for C++ classes and \qmlmodule for QML types
976         -added links to the Qt WebKit Examples pages
977         -fixed the qhp settings for Qt Creator
978
979         Task-number: QTBUG-28583
980         Task-number: QTBUG-28418
981         Task-number: QTBUG-27646
982
983         * UIProcess/API/qt/qquickwebview.cpp:
984
985 2012-12-13  Jussi Kukkonen  <jussi.kukkonen@intel.com>
986
987         [EFL][GTK] Don't call deprecated g_type_init when glib => 2.35
988         https://bugs.webkit.org/show_bug.cgi?id=103209
989
990         Reviewed by Kenneth Rohde Christiansen.
991
992         g_type_init() is deprecated from 2.35.0 onwards. Don't call it
993         in that case to avoid warnings and/or build failure.
994
995         Also, remove a call to g_type_init() from WebProcessMainGtk():
996         It is not needed if gtk_init() is called.
997
998         * UIProcess/API/efl/ewk_main.cpp:
999         (ewk_init):
1000         * WebProcess/efl/WebProcessMainEfl.cpp:
1001         (WebKit::WebProcessMainEfl):
1002         * WebProcess/gtk/WebProcessMainGtk.cpp:
1003         (WebKit::WebProcessMainGtk):
1004
1005 2012-12-13  Joaquim Rocha  <jrocha@igalia.com>
1006
1007         REGRESSION (r137432): The /webkit2/WebKitCookieManager/accept-policy unit test is failing
1008         https://bugs.webkit.org/show_bug.cgi?id=104790
1009
1010         Reviewed by Carlos Garcia Campos.
1011
1012         The cookies accept policy and the cookies persistent storage type
1013         were not being correctly assigned.
1014
1015         * UIProcess/WebContext.cpp: Set the default value of the cookie
1016         accept policy.
1017         (WebKit::WebContext::WebContext):
1018         * UIProcess/gtk/WebContextGtk.cpp: Fix setting the cookies persistent
1019         storage type (it was mistakenly assigning the policy instead) and
1020         set the accept policy which was missing.
1021         (WebKit::WebContext::platformInitializeWebProcess):
1022
1023 2012-12-13  Jon Lee  <jonlee@apple.com>
1024
1025         plugin snapshotting accepts bad snapshot after 5 seconds
1026         https://bugs.webkit.org/show_bug.cgi?id=104886
1027         <rdar://problem/12838753>
1028
1029         Reviewed by Maciej Stachowiak.
1030
1031         * WebProcess/Plugins/PluginView.cpp: Increase to 60 tries, equating to a little over 60 seconds total.
1032
1033 2012-12-12  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1034
1035         NetworkInfoController needs to support destructor
1036         https://bugs.webkit.org/show_bug.cgi?id=104642
1037
1038         Reviewed by Kentaro Hara.
1039
1040         Though NetworkInfoController can be referenced by each port in order to update network status change,
1041         there is no virtual interface to destroy it. Beside each port client also needs to be destroyed when
1042         controller is destroyed.
1043
1044         * UIProcess/efl/NetworkInfoProvider.cpp:
1045         (NetworkInfoProvider::networkInfoControllerDestroyed):
1046         * UIProcess/efl/NetworkInfoProvider.h:
1047         (NetworkInfoProvider):
1048         * WebProcess/WebCoreSupport/WebNetworkInfoClient.cpp:
1049         (WebKit::WebNetworkInfoClient::networkInfoControllerDestroyed):
1050         (WebKit):
1051         * WebProcess/WebCoreSupport/WebNetworkInfoClient.h:
1052         (WebNetworkInfoClient):
1053
1054 2012-12-12  Andy Estes  <aestes@apple.com>
1055
1056         Rename currentMousePosition() to lastKnownMousePosition() and mark it as OVERRIDE.
1057
1058         * WebProcess/Plugins/PDF/PDFPlugin.h:
1059
1060 2012-12-12  Seokju Kwon  <seokju.kwon@gmail.com>
1061
1062         [EFL] Refactor duplicate code into EflInspectorUtilities
1063         https://bugs.webkit.org/show_bug.cgi?id=104329
1064
1065         Reviewed by Kenneth Rohde Christiansen.
1066
1067         Remove duplicated work to get the resource path for inspector.
1068         And use WebCore::inspectorResourcePath().
1069
1070         * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
1071         (WebKit::WebInspectorServer::platformResourceForPath):
1072         * UIProcess/efl/WebInspectorProxyEfl.cpp:
1073         (WebKit::WebInspectorProxy::inspectorBaseURL):
1074
1075 2012-12-12  Mark Lam  <mark.lam@apple.com>
1076
1077         Encapsulate externally used webdatabase APIs in DatabaseManager.
1078         https://bugs.webkit.org/show_bug.cgi?id=104741.
1079
1080         Reviewed by Sam Weinig.
1081
1082         Use DatabaseManager instead of accessing DatabaseTracker, AbstractDatabase,
1083         and DatabaseContext directly. This is to prepare for upcoming webkit2
1084         refactoring.
1085
1086         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1087         (WebKit::WebChromeClient::exceededDatabaseQuota):
1088         * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
1089         (WebKit::WebDatabaseManager::initialize):
1090         (WebKit::WebDatabaseManager::WebDatabaseManager):
1091         (WebKit::WebDatabaseManager::getDatabasesByOrigin):
1092         (WebKit::WebDatabaseManager::getDatabaseOrigins):
1093         (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
1094         (WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
1095         (WebKit::WebDatabaseManager::deleteAllDatabases):
1096         (WebKit::WebDatabaseManager::setQuotaForOrigin):
1097         * WebProcess/WebCoreSupport/WebDatabaseManager.h:
1098         (WebDatabaseManager):
1099         * WebProcess/WebPage/WebPage.cpp:
1100         (WebKit::WebPage::updatePreferences):
1101
1102 2012-12-12  Alexey Proskuryakov  <ap@apple.com>
1103
1104         <rdar://problem/12862512> Crashes in NetworkResourceLoadScheduler::receivedRedirect
1105         https://bugs.webkit.org/show_bug.cgi?id=104844
1106
1107         Reviewed by Sam Weinig.
1108
1109         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
1110         (WebKit::NetworkResourceLoadScheduler::receivedRedirect): The load may be already
1111         canceled.
1112
1113         * WebProcess/Network/WebResourceLoader.cpp:
1114         (WebKit::WebResourceLoader::didReceiveResponse): Expanded logging a little.
1115
1116 2012-12-12  Andras Becsi  <andras.becsi@digia.com>
1117
1118         [Qt][WK2] Fix the build on Mac
1119
1120         Unreviewed build fix.
1121
1122         Add missing virtual destructor with empty
1123         definition to fix missing vtable error
1124         in test util's LoadStartedCatcher.
1125
1126         * UIProcess/API/qt/tests/util.h:
1127         (LoadStartedCatcher::~LoadStartedCatcher):
1128
1129 2012-12-12  Alexey Proskuryakov  <ap@apple.com>
1130
1131         Make LOG() work in WebProcess and NetworkProcess
1132         https://bugs.webkit.org/show_bug.cgi?id=104718
1133
1134         Reviewed by Tim Horton.
1135
1136         * NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::initializeNetworkProcess):
1137         Initialize WebCore and WebKit2 logging.
1138
1139         * Platform/Logging.cpp: (WebKit::initializeLogChannelsIfNecessary):
1140         Added Network and NetworkScheduling. Re-ordered to match declaration order,
1141         alphabetical clearly doesn't help here.
1142
1143         * WebProcess/WebProcess.cpp: (WebKit::WebProcess::WebProcess): Initialize WebKit2
1144         logging in addition to WebCore.
1145
1146         * UIProcess/WebContext.cpp: (WebKit::WebContext::WebContext): Initialize WebKit2
1147         logging in addition to WebCore.
1148
1149 2012-12-12  Simon Pena  <spena@igalia.com>
1150
1151         [GTK] Add sections documentation to WebKit2 GTK+ API
1152         https://bugs.webkit.org/show_bug.cgi?id=104484
1153
1154         Reviewed by Martin Robinson.
1155
1156         Many of the sections in the WebKit2 GTK+ API documentation were
1157         missing. This commit adds new documentation, in some cases
1158         adapting it from WebKitGtk+ and in others writing it from the
1159         scratch.
1160
1161         It also removes the WebKitWebViewBase class from the documentation
1162         index, since it is not really relevant.
1163
1164         * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
1165         * UIProcess/API/gtk/WebKitContextMenu.cpp:
1166         * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
1167         * UIProcess/API/gtk/WebKitCookieManager.cpp:
1168         * UIProcess/API/gtk/WebKitDownload.cpp:
1169         * UIProcess/API/gtk/WebKitError.cpp:
1170         * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
1171         * UIProcess/API/gtk/WebKitFindController.cpp:
1172         * UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
1173         * UIProcess/API/gtk/WebKitPlugin.cpp:
1174         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
1175         * UIProcess/API/gtk/WebKitSecurityManager.cpp:
1176         * UIProcess/API/gtk/WebKitURIRequest.cpp:
1177         * UIProcess/API/gtk/WebKitURIResponse.cpp:
1178         * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
1179         * UIProcess/API/gtk/WebKitVersion.cpp:
1180         * UIProcess/API/gtk/WebKitWebContext.cpp:
1181         * UIProcess/API/gtk/WebKitWebInspector.cpp:
1182         * UIProcess/API/gtk/WebKitWebResource.cpp:
1183         (webkit_web_resource_class_init):
1184         * UIProcess/API/gtk/WebKitWebView.cpp:
1185         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
1186
1187 2012-12-12  Kondapally Kalyan  <kalyan.kondapally@intel.com>
1188
1189         [EFL [WebGL] [Wk2] Resizing the canvas breaks WebGL.
1190         https://bugs.webkit.org/show_bug.cgi?id=104535.
1191
1192         Reviewed by Kenneth Rohde Christiansen.
1193
1194         GraphicsContext3DEfl does not re-create the surface on canvas resize, this
1195         conflicted with the logic in coordinated graphics Layer.
1196         CoordinatedGraphicsLayer checks for GraphicsSurfaceToken to decide if the surface
1197         in UI-Process should be recreated or not. With this
1198         patch we also check for size of the platform Layer.
1199
1200         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1201         (WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
1202         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
1203         (CoordinatedGraphicsLayer):
1204
1205 2012-12-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1206
1207         Unreviewed, rolling out r137438.
1208         http://trac.webkit.org/changeset/137438
1209         https://bugs.webkit.org/show_bug.cgi?id=104798
1210
1211         assertion reached when removing tile (Requested by tmpsantos
1212         on #webkit).
1213
1214         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1215         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
1216         (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
1217         (WebCore::CoordinatedGraphicsLayer::setVisibleContentRectTrajectoryVector):
1218         (WebCore::CoordinatedGraphicsLayer::setContentsScale):
1219         (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
1220         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
1221         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
1222         (WebCore::CoordinatedGraphicsLayer::createTile):
1223         (WebCore::CoordinatedGraphicsLayer::updateTile):
1224         (WebCore::CoordinatedGraphicsLayer::removeTile):
1225         (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
1226         (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
1227         (WebCore::CoordinatedGraphicsLayer::adjustVisibleRect):
1228         (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
1229         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
1230         (CoordinatedGraphicsLayerClient):
1231         (CoordinatedGraphicsLayer):
1232         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1233         (WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
1234         (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
1235         (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
1236         (WebKit::CoordinatedLayerTreeHost::layerTreeTileUpdatesAllowed):
1237         (WebKit):
1238         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
1239         (CoordinatedLayerTreeHost):
1240
1241 2012-12-12  Mario Sanchez Prada  <mario@webkit.org>
1242
1243         [GTK][WK2] New API to detect display/execution of insecure content
1244         https://bugs.webkit.org/show_bug.cgi?id=104578
1245
1246         Reviewed by Martin Robinson.
1247
1248         Added new API and documentation for detecting insecure content.
1249
1250         Implemented needed functions from C API's WKPageLoaderClient
1251
1252         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
1253         (didDisplayInsecureContentForFrame): Implemented.
1254         (didRunInsecureContentForFrame): Ditto.
1255         (attachLoaderClientToView): Added newly implemented functions.
1256
1257         Added new 'insecure-content-detected' signal to API.
1258
1259         * UIProcess/API/gtk/WebKitWebView.cpp:
1260         (webkit_web_view_class_init): Installed new signal.
1261         (webkitWebViewInsecureContentDetected): Helper function aded to
1262         private API to emit the new signal from the page loader client.
1263         * UIProcess/API/gtk/WebKitWebView.h:
1264         (_WebKitWebViewClass): Added new signal.
1265
1266         * UIProcess/API/gtk/WebKitWebViewPrivate.h: Added prototype of the
1267         new helper function webkitWebViewInsecureContentDetected().
1268
1269         Added new unit tests.
1270
1271         * UIProcess/API/gtk/tests/TestSSL.cpp:
1272         (testSSL): Updated to the new variable name for the https server.
1273         (testInsecureContent): New unit test.
1274         (httpsServerCallback): Renamed from serverCallback() and updated
1275         to return HTML content linking to external resources in an
1276         insecure (plain http) server, to be used by the new test.
1277         (httpServerCallback): New callback for a new http server, that
1278         will serve a script and an image when requested.
1279         (beforeAll): Run the new http server, besides the https one.
1280         (afterAll): Delete both the http and the https server.
1281
1282         Updated documentation with new API.
1283
1284         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added references
1285         to the new WebKitInsecureContentEvent enum type.
1286
1287 2012-12-12  Huang Dongsung  <luxtella@company100.net>
1288
1289         Coordinated Graphics: Refactor TiledBackingStore code in CoordinatedGraphicsLayer.
1290         https://bugs.webkit.org/show_bug.cgi?id=103959
1291
1292         Reviewed by Kenneth Rohde Christiansen.
1293
1294         Currently, CoordinatedGraphicsLayer has complex code related to TiledBackingStore.
1295         It has two problem.
1296         1. CoordinatedGraphicsLayer hacks TiledBackingStore to prevent
1297         TiledBackingStore from asynchronously sending UpdateTile message to UI
1298         Process.
1299         2. CreateTile and RemoveTile message can be sent to UI Process at any time.
1300
1301         This patch makes CoordinatedGraphicsLayer use TiledBackingStore more explicitly.
1302         It means only during flushing layer states, CoordinatedGraphicsLayer
1303         calls methods of TiledBackingStore, which indirectly call createTile(),
1304         updateTile() and removeTile().
1305
1306         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1307         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
1308         (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
1309         (WebCore::CoordinatedGraphicsLayer::setVisibleContentRectTrajectoryVector):
1310         (WebCore::CoordinatedGraphicsLayer::setContentsScale):
1311         (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
1312         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreHasPendingTileCreation):
1313         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
1314         (WebCore::CoordinatedGraphicsLayer::createTile):
1315         (WebCore::CoordinatedGraphicsLayer::updateTile):
1316         (WebCore::CoordinatedGraphicsLayer::removeTile):
1317         (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
1318         (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
1319         (WebCore::CoordinatedGraphicsLayer::setNeedsVisibleRectAdjustment):
1320         (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
1321         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
1322         (CoordinatedGraphicsLayerClient):
1323         (CoordinatedGraphicsLayer):
1324         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1325         (WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
1326         (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
1327         (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
1328         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
1329         (CoordinatedLayerTreeHost):
1330
1331 2012-12-12  Joaquim Rocha  <jrocha@igalia.com>
1332
1333         [GTK] Cookies' storage path and policy are not set when the WebProcess is killed and relaunched
1334         https://bugs.webkit.org/show_bug.cgi?id=104370
1335
1336         Reviewed by Carlos Garcia Campos.
1337
1338         This issue happens on ports that use Soup and causes problems like not finding the stored cookies
1339         nor their policy when the WebProcess is relaunched. As an example of a problem caused by this,
1340         a previously logged in user will not be logged in again when the process is relaunched and the
1341         policy used is always the same one.
1342
1343         * Shared/WebProcessCreationParameters.cpp:
1344         (WebKit::WebProcessCreationParameters::encode): Encode cookies' persistent storage path,
1345         storage type and acceptance policy.
1346         (WebKit::WebProcessCreationParameters::decode): Decode cookies' persistent storage path,
1347         storage type and acceptance policy.
1348         * Shared/WebProcessCreationParameters.h: Create 3 variables to hold the values mentioned above.
1349         (WebProcessCreationParameters):
1350         * UIProcess/WebCookieManagerProxy.cpp:
1351         (WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
1352         (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy): Call WebCookieManagerProxySoup::setCookieAcceptPolicy.
1353         * UIProcess/WebCookieManagerProxy.h: Declare new Soup's methods setCookieAcceptPolicy, cookieAcceptPolicy and
1354         cookiePersistentStorage as well as the variables m_cookieAcceptPolicy and m_cookiePersistentStorage.
1355         (WebCookieManagerProxy):
1356         * UIProcess/efl/WebContextEfl.cpp: Assign the parameters' cookiePersistentStoragePath and
1357         cookiePersistentStorageType with the respective values.
1358         (WebKit::WebContext::platformInitializeWebProcess):
1359         * UIProcess/gtk/WebContextGtk.cpp: Assign the parameters' cookiePersistentStoragePath and
1360         cookiePersistentStorageType with the respective values.
1361         (WebKit::WebContext::platformInitializeWebProcess):
1362         * UIProcess/soup/WebCookieManagerProxySoup.cpp:
1363         (WebKit::WebCookieManagerProxy::setCookiePersistentStorage): Assign the m_cookiePersistentStorage pair
1364         with the method's parameters.
1365         (WebKit):
1366         (WebKit::WebCookieManagerProxy::getCookiePersistentStorage): Implement this getter.
1367         * WebProcess/Cookies/WebCookieManager.h: Declare setCookiePersistentStorage.
1368         (WebCookieManager):
1369         * WebProcess/soup/WebProcessSoup.cpp:
1370         (WebKit::WebProcess::platformInitializeWebProcess): Set the cookies' persistent storage and policy
1371         using the WebCookieManager's methods.
1372
1373 2012-12-11  Jinwoo Song  <jinwoo7.song@samsung.com>
1374
1375         [EFL][WK2] Duplicated WebPageGroup initialization
1376         https://bugs.webkit.org/show_bug.cgi?id=103229
1377
1378         Reviewed by Kenneth Rohde Christiansen.
1379
1380         WebPageGroup does not need to be created in creating EwkView when the pageGroupRef is 0
1381         because the default WebPageGroup(m_defaultPageGroup) is created in WebContext constructor.
1382
1383         As a side effect on the duplicated initialization, pageGroupID increases even when the EwkView
1384         is created with default context.
1385
1386         * UIProcess/API/efl/ewk_view.cpp:
1387         (createEwkView):
1388
1389 2012-12-11  Sam Weinig  <sam@webkit.org>
1390
1391         Add API to set the maximum number of processes allowed in a WKContext
1392         https://bugs.webkit.org/show_bug.cgi?id=104769
1393
1394         Reviewed by Dan Bernstein.
1395
1396         Switch from using NSUserDefaults to a WKContext API to set the maximum number of processes
1397         for a context.
1398
1399         * UIProcess/API/C/WKContext.cpp:
1400         (WKContextSetMaximumNumberOfProcesses):
1401         (WKContextGetMaximumNumberOfProcesses):
1402         * UIProcess/API/C/WKContext.h:
1403         * UIProcess/WebContext.cpp:
1404         (WebKit::WebContext::setMaximumNumberOfProcesses):
1405         (WebKit):
1406         * UIProcess/WebContext.h:
1407         (WebContext):
1408         (WebKit::WebContext::maximumNumberOfProcesses):
1409         * UIProcess/mac/WebContextMac.mm:
1410         (WebKit::registerUserDefaultsIfNeeded):
1411         (WebKit::WebContext::platformInitialize):
1412
1413 2012-12-11  Kihong Kwon  <kihong.kwon@samsung.com>
1414
1415         Vibration API: IDL type doesn't match implementation type
1416         https://bugs.webkit.org/show_bug.cgi?id=103899
1417
1418         Reviewed by Kentaro Hara.
1419
1420         According to WebIDL, "unsigned long" corresponds to "unsigned" in the platform.
1421         Therefore unsigned long need to be changed to unsigned for the Vibration API.
1422         - Change a parameter type of vibrate function from uint64_t to uint_32_t.
1423
1424         * UIProcess/API/C/WKVibration.h:
1425         * UIProcess/API/efl/EwkViewCallbacks.h:
1426         * UIProcess/WebVibrationProvider.cpp:
1427         (WebKit::WebVibrationProvider::vibrate):
1428         * UIProcess/WebVibrationProvider.h:
1429         (WebVibrationProvider):
1430         * UIProcess/WebVibrationProxy.cpp:
1431         (WebKit::WebVibrationProxy::vibrate):
1432         * UIProcess/WebVibrationProxy.h:
1433         (WebVibrationProxy):
1434         * UIProcess/WebVibrationProxy.messages.in:
1435         * UIProcess/efl/VibrationClientEfl.cpp:
1436         (VibrationClientEfl::vibrateCallback):
1437         * UIProcess/efl/VibrationClientEfl.h:
1438         (VibrationClientEfl):
1439         * WebProcess/WebCoreSupport/WebVibrationClient.cpp:
1440         (WebKit::WebVibrationClient::vibrate):
1441         * WebProcess/WebCoreSupport/WebVibrationClient.h:
1442         (WebVibrationClient):
1443
1444 2012-12-11  Alexey Proskuryakov  <ap@apple.com>
1445
1446         <rdar://problem/12857870> [WK2 NetworkProcess] Cannot load HTTPS sites
1447         https://bugs.webkit.org/show_bug.cgi?id=104732
1448
1449         Reviewed by Anders Carlsson.
1450
1451         * Shared/BlockingResponseMap.h: (BlockingBoolResponseMap::waitForResponse):
1452         Fixed to make sense.
1453
1454 2012-12-11  Xianzhu Wang  <wangxianzhu@chromium.org>
1455
1456         Add window.internals.mainThreadScrollReasonsAsText for testing slow scrolling
1457         https://bugs.webkit.org/show_bug.cgi?id=104714
1458
1459         Reviewed by Eric Seidel.
1460
1461         Export symbol Page::mainThreadScrollingReasonsAsText().
1462
1463         * win/WebKit2.def.in:
1464
1465 2012-12-11  Gwang Yoon Hwang  <ryumiel@company100.net>
1466
1467         Coordinated Graphics: Rename LayerTreeCoordinator to CoordinatedLayerTreeHost
1468         https://bugs.webkit.org/show_bug.cgi?id=104641
1469
1470         Reviewed by Noam Rosenthal.
1471
1472         The name of LayerTreeCoordinator does not match LayerTreeHost.  This
1473         patch renames it to CoordinatedLayerTreeHost. And make a getter for
1474         CoordinatedLayerTreeHostProxy in QQuickWebPagePrivate to make a cleaner code.
1475
1476         No new tests - just a refactoring.
1477
1478         * CMakeLists.txt:
1479         * DerivedSources.pri:
1480         * Platform/CoreIPC/MessageID.h:
1481         * Target.pri:
1482         * UIProcess/API/efl/EwkViewImpl.cpp:
1483         (EwkViewImpl::layerTreeRenderer):
1484         * UIProcess/API/qt/qquickwebpage.cpp:
1485         (QQuickWebPagePrivate::paint):
1486         (QQuickWebPagePrivate::coordinatedLayerTreeHostProxy):
1487         (QQuickWebPage::updatePaintNode):
1488         (QQuickWebPagePrivate::updateSize):
1489         * UIProcess/API/qt/qquickwebpage_p_p.h:
1490         (WebKit):
1491         (QQuickWebPagePrivate):
1492         * UIProcess/API/qt/raw/qrawwebview.cpp:
1493         (QRawWebView::setSize):
1494         (QRawWebView::layerTreeRenderer):
1495         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp.
1496         (WebKit):
1497         (WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
1498         (WebKit::CoordinatedLayerTreeHostProxy::~CoordinatedLayerTreeHostProxy):
1499         (WebKit::CoordinatedLayerTreeHostProxy::updateViewport):
1500         (WebKit::CoordinatedLayerTreeHostProxy::dispatchUpdate):
1501         (WebKit::CoordinatedLayerTreeHostProxy::createTileForLayer):
1502         (WebKit::CoordinatedLayerTreeHostProxy::updateTileForLayer):
1503         (WebKit::CoordinatedLayerTreeHostProxy::removeTileForLayer):
1504         (WebKit::CoordinatedLayerTreeHostProxy::createUpdateAtlas):
1505         (WebKit::CoordinatedLayerTreeHostProxy::removeUpdateAtlas):
1506         (WebKit::CoordinatedLayerTreeHostProxy::deleteCompositingLayer):
1507         (WebKit::CoordinatedLayerTreeHostProxy::setRootCompositingLayer):
1508         (WebKit::CoordinatedLayerTreeHostProxy::setCompositingLayerState):
1509         (WebKit::CoordinatedLayerTreeHostProxy::setCompositingLayerChildren):
1510         (WebKit::CoordinatedLayerTreeHostProxy::setCompositingLayerFilters):
1511         (WebKit::CoordinatedLayerTreeHostProxy::removeCustomFilterProgram):
1512         (WebKit::CoordinatedLayerTreeHostProxy::createCustomFilterProgram):
1513         (WebKit::CoordinatedLayerTreeHostProxy::didRenderFrame):
1514         (WebKit::CoordinatedLayerTreeHostProxy::createImageBacking):
1515         (WebKit::CoordinatedLayerTreeHostProxy::updateImageBacking):
1516         (WebKit::CoordinatedLayerTreeHostProxy::clearImageBackingContents):
1517         (WebKit::CoordinatedLayerTreeHostProxy::removeImageBacking):
1518         (WebKit::CoordinatedLayerTreeHostProxy::setContentsSize):
1519         (WebKit::CoordinatedLayerTreeHostProxy::setLayerAnimations):
1520         (WebKit::CoordinatedLayerTreeHostProxy::setAnimationsLocked):
1521         (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
1522         (WebKit::CoordinatedLayerTreeHostProxy::renderNextFrame):
1523         (WebKit::CoordinatedLayerTreeHostProxy::requestAnimationFrame):
1524         (WebKit::CoordinatedLayerTreeHostProxy::animationFrameReady):
1525         (WebKit::CoordinatedLayerTreeHostProxy::didChangeScrollPosition):
1526         (WebKit::CoordinatedLayerTreeHostProxy::createCanvas):
1527         (WebKit::CoordinatedLayerTreeHostProxy::syncCanvas):
1528         (WebKit::CoordinatedLayerTreeHostProxy::destroyCanvas):
1529         (WebKit::CoordinatedLayerTreeHostProxy::purgeBackingStores):
1530         (WebKit::CoordinatedLayerTreeHostProxy::setBackgroundColor):
1531         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h.
1532         (WebKit):
1533         (CoordinatedLayerTreeHostProxy):
1534         (WebKit::CoordinatedLayerTreeHostProxy::layerTreeRenderer):
1535         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in.
1536         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1537         (WebKit::LayerTreeRenderer::LayerTreeRenderer):
1538         (WebKit::LayerTreeRenderer::animationFrameReady):
1539         (WebKit::LayerTreeRenderer::updateViewport):
1540         (WebKit::LayerTreeRenderer::renderNextFrame):
1541         (WebKit::LayerTreeRenderer::purgeBackingStores):
1542         (WebKit::LayerTreeRenderer::detach):
1543         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
1544         (WebKit):
1545         (LayerTreeRenderer):
1546         * UIProcess/DrawingAreaProxy.cpp:
1547         (WebKit::DrawingAreaProxy::didReceiveCoordinatedLayerTreeHostProxyMessage):
1548         * UIProcess/DrawingAreaProxy.h:
1549         (WebKit):
1550         (WebKit::DrawingAreaProxy::coordinatedLayerTreeHostProxy):
1551         (DrawingAreaProxy):
1552         * UIProcess/DrawingAreaProxyImpl.cpp:
1553         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
1554         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
1555         (WebKit::DrawingAreaProxyImpl::didReceiveCoordinatedLayerTreeHostProxyMessage):
1556         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
1557         * UIProcess/DrawingAreaProxyImpl.h:
1558         (WebKit):
1559         * UIProcess/WebPageProxy.cpp:
1560         (WebKit::WebPageProxy::didReceiveMessage):
1561         * UIProcess/efl/PageClientBase.cpp:
1562         * UIProcess/efl/PageClientLegacyImpl.cpp:
1563         (WebKit::PageClientLegacyImpl::didChangeContentsSize):
1564         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
1565         (WebKit::PageViewportControllerClientEfl::setRendererActive):
1566         (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
1567         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1568         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp.
1569         (WebKit):
1570         (WebKit::CoordinatedLayerTreeHost::create):
1571         (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
1572         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
1573         (WebKit::CoordinatedLayerTreeHost::setLayerFlushSchedulingEnabled):
1574         (WebKit::CoordinatedLayerTreeHost::scheduleLayerFlush):
1575         (WebKit::CoordinatedLayerTreeHost::cancelPendingLayerFlush):
1576         (WebKit::CoordinatedLayerTreeHost::setShouldNotifyAfterNextScheduledLayerFlush):
1577         (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
1578         (WebKit::CoordinatedLayerTreeHost::invalidate):
1579         (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplay):
1580         (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
1581         (WebKit::CoordinatedLayerTreeHost::forceRepaint):
1582         (WebKit::CoordinatedLayerTreeHost::forceRepaintAsync):
1583         (WebKit::CoordinatedLayerTreeHost::sizeDidChange):
1584         (WebKit::CoordinatedLayerTreeHost::didInstallPageOverlay):
1585         (WebKit::CoordinatedLayerTreeHost::didUninstallPageOverlay):
1586         (WebKit::CoordinatedLayerTreeHost::setPageOverlayNeedsDisplay):
1587         (WebKit::CoordinatedLayerTreeHost::setPageOverlayOpacity):
1588         (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
1589         (WebKit::CoordinatedLayerTreeHost::initializeRootCompositingLayerIfNeeded):
1590         (WebKit::CoordinatedLayerTreeHost::syncLayerState):
1591         (WebKit::CoordinatedLayerTreeHost::syncLayerChildren):
1592         (WebKit::CoordinatedLayerTreeHost::createCanvas):
1593         (WebKit::CoordinatedLayerTreeHost::syncCanvas):
1594         (WebKit::CoordinatedLayerTreeHost::destroyCanvas):
1595         (WebKit::CoordinatedLayerTreeHost::syncLayerFilters):
1596         (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
1597         (WebKit::CoordinatedLayerTreeHost::removeCustomFilterProgramProxy):
1598         (WebKit::CoordinatedLayerTreeHost::disconnectCustomFilterPrograms):
1599         (WebKit::CoordinatedLayerTreeHost::detachLayer):
1600         (WebKit::updateOffsetFromViewportForSelf):
1601         (WebKit::updateOffsetFromViewportForLayer):
1602         (WebKit::CoordinatedLayerTreeHost::syncFixedLayers):
1603         (WebKit::CoordinatedLayerTreeHost::lockAnimations):
1604         (WebKit::CoordinatedLayerTreeHost::unlockAnimations):
1605         (WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush):
1606         (WebKit::CoordinatedLayerTreeHost::syncDisplayState):
1607         (WebKit::CoordinatedLayerTreeHost::didPerformScheduledLayerFlush):
1608         (WebKit::CoordinatedLayerTreeHost::layerFlushTimerFired):
1609         (WebKit::CoordinatedLayerTreeHost::createPageOverlayLayer):
1610         (WebKit::CoordinatedLayerTreeHost::destroyPageOverlayLayer):
1611         (WebKit::CoordinatedLayerTreeHost::createImageBackingIfNeeded):
1612         (WebKit::CoordinatedLayerTreeHost::createImageBacking):
1613         (WebKit::CoordinatedLayerTreeHost::updateImageBacking):
1614         (WebKit::CoordinatedLayerTreeHost::clearImageBackingContents):
1615         (WebKit::CoordinatedLayerTreeHost::removeImageBacking):
1616         (WebKit::CoordinatedLayerTreeHost::flushPendingImageBackingChanges):
1617         (WebKit::CoordinatedLayerTreeHost::notifyAnimationStarted):
1618         (WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
1619         (WebKit::CoordinatedLayerTreeHost::paintContents):
1620         (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
1621         (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
1622         (WebKit::CoordinatedLayerTreeHost::createTile):
1623         (WebKit::CoordinatedLayerTreeHost::updateTile):
1624         (WebKit::CoordinatedLayerTreeHost::removeTile):
1625         (WebKit::CoordinatedLayerTreeHost::createUpdateAtlas):
1626         (WebKit::CoordinatedLayerTreeHost::removeUpdateAtlas):
1627         (WebKit::CoordinatedLayerTreeHost::visibleContentsRect):
1628         (WebKit::CoordinatedLayerTreeHost::setLayerAnimations):
1629         (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
1630         (WebKit::CoordinatedLayerTreeHost::graphicsLayerFactory):
1631         (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
1632         (WebKit::CoordinatedLayerTreeHost::animationFrameReady):
1633         (WebKit::CoordinatedLayerTreeHost::renderNextFrame):
1634         (WebKit::CoordinatedLayerTreeHost::layerTreeTileUpdatesAllowed):
1635         (WebKit::CoordinatedLayerTreeHost::purgeBackingStores):
1636         (WebKit::CoordinatedLayerTreeHost::beginContentUpdate):
1637         (WebKit::CoordinatedLayerTreeHost::scheduleReleaseInactiveAtlases):
1638         (WebKit::CoordinatedLayerTreeHost::releaseInactiveAtlasesTimerFired):
1639         (WebKit::CoordinatedLayerTreeHost::setBackgroundColor):
1640         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h.
1641         (WebKit):
1642         (CoordinatedLayerTreeHost):
1643         (WebKit::CoordinatedLayerTreeHost::layerTreeContext):
1644         (WebKit::CoordinatedLayerTreeHost::pageOverlayShouldApplyFadeWhenPainting):
1645         (WebKit::CoordinatedLayerTreeHost::pauseRendering):
1646         (WebKit::CoordinatedLayerTreeHost::resumeRendering):
1647         (WebKit::CoordinatedLayerTreeHost::deviceScaleFactorDidChange):
1648         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.messages.in.
1649         * WebProcess/WebPage/DrawingArea.h:
1650         (DrawingArea):
1651         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1652         (WebKit::DrawingAreaImpl::didReceiveCoordinatedLayerTreeHostMessage):
1653         * WebProcess/WebPage/DrawingAreaImpl.h:
1654         (DrawingAreaImpl):
1655         * WebProcess/WebPage/LayerTreeHost.cpp:
1656         (WebKit::LayerTreeHost::create):
1657         * WebProcess/WebPage/LayerTreeHost.h:
1658         (LayerTreeHost):
1659         * WebProcess/WebPage/WebPage.cpp:
1660         (WebKit::WebPage::WebPage):
1661         (WebKit::WebPage::~WebPage):
1662         (WebKit::WebPage::didReceiveMessage):
1663
1664 2012-12-11  Alexey Proskuryakov  <ap@apple.com>
1665
1666         <rdar://problem/12857080> Per-Tab WebProcess: Blue lines between menu tabs at apple.com
1667         https://bugs.webkit.org/show_bug.cgi?id=104709
1668
1669         Reviewed by Sam Weinig.
1670
1671         Data URLs were broken. Removing a no longer valid optimization for now.
1672
1673         * WebProcess/Network/WebResourceLoadScheduler.cpp:
1674         (WebKit::WebResourceLoadScheduler::scheduleLoad):
1675
1676 2012-12-11  Michael Pruett  <michael@68k.org>
1677
1678         [JSC] Add tests for explicit serialization values
1679         https://bugs.webkit.org/show_bug.cgi?id=104423
1680
1681         Reviewed by Oliver Hunt.
1682
1683         Add tests for serialization and deserialization mechanisms of
1684         the JSC implementation of SerializedScriptValue. Similar tests
1685         already exist for the V8 implementation.
1686
1687         * win/WebKit2.def.in:
1688
1689 2012-12-11  Jon Lee  <jonlee@apple.com>
1690
1691         Initialize new web processes with list of auto-start origins for plug-ins
1692         https://bugs.webkit.org/show_bug.cgi?id=103219
1693         <rdar://problem/12747219>
1694
1695         Reviewed by Anders Carlsson.
1696
1697         Serialize the set of hashes into a vector as a parameter in web process creation.
1698
1699         * Shared/WebProcessCreationParameters.h: Add a parameter for the origin hashes.
1700
1701         * Shared/WebProcessCreationParameters.cpp: Encode/decode that parameter.
1702         (WebKit::WebProcessCreationParameters::encode):
1703         (WebKit::WebProcessCreationParameters::decode):
1704
1705         * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
1706         (WebKit::PlugInAutoStartProvider::autoStartOriginsCopy): Return a vector copy with contents from the
1707         hash set.
1708         * UIProcess/Plugins/PlugInAutoStartProvider.h:
1709         (PlugInAutoStartProvider):
1710
1711         * UIProcess/WebContext.cpp:
1712         (WebKit::WebContext::createNewWebProcess): Populate the parameter with the contents of the set.
1713         * WebProcess/WebProcess.cpp:
1714         (WebKit::WebProcess::initializeWebProcess): Add the items in the vector to the web process' copy of the set.
1715
1716 2012-12-11  Andreas Kling  <akling@apple.com>
1717
1718         CoreIPC: ArgumentEncoder should have an inline buffer.
1719         <http://webkit.org/b/104622>
1720
1721         Reviewed by Anders Carlsson.
1722
1723         Add a 4K inline buffer to CoreIPC::ArgumentEncoder to avoid malloc/free churn.
1724         It was dominating the transient allocations graph in Instruments.
1725
1726         * Platform/CoreIPC/ArgumentEncoder.cpp:
1727         (CoreIPC::ArgumentEncoder::ArgumentEncoder):
1728         (CoreIPC::ArgumentEncoder::grow):
1729         * Platform/CoreIPC/ArgumentEncoder.h:
1730         (CoreIPC::ArgumentEncoder::buffer):
1731         (ArgumentEncoder):
1732         (CoreIPC::ArgumentEncoder::usesInlineBuffer):
1733
1734 2012-12-11  Mike West  <mkwst@chromium.org>
1735
1736         Web Inspector: ConsoleTypes should not expose MessageType - it should be private to inspector.
1737         https://bugs.webkit.org/show_bug.cgi?id=66371
1738
1739         Reviewed by Pavel Feldman.
1740
1741         Drops WebCore::MessageLevel from the addMessageToConsole method.
1742
1743         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1744         (WebKit::WebChromeClient::addMessageToConsole):
1745         * WebProcess/WebCoreSupport/WebChromeClient.h:
1746         (WebChromeClient):
1747
1748 2012-12-11  Thiago Marcos P. Santos  <thiago.santos@intel.com>
1749
1750         [EFL] Increase the timeout of the API unit tests
1751         https://bugs.webkit.org/show_bug.cgi?id=104666
1752
1753         Reviewed by Kenneth Rohde Christiansen.
1754
1755         Palliative fix until we find out why the tests are taking so long.
1756
1757         * PlatformEfl.cmake:
1758
1759 2012-12-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1760
1761         [Qt][EFL][WK2] Resizing the window doesn't always result in right content position
1762         https://bugs.webkit.org/show_bug.cgi?id=104416
1763
1764         Reviewed by Simon Hausmann.
1765
1766         Make sure the client is notified about position and scale changed done by us.
1767         Rename the m_*IsLocked to m_pending*Change as that makes the code more obvious.
1768
1769         Patch verified with both Qt and EFL.
1770
1771         * UIProcess/PageViewportController.cpp:
1772         (WebKit::PageViewportController::PageViewportController):
1773         (WebKit::PageViewportController::didRenderFrame): Notify client and pixel align.
1774         (WebKit::PageViewportController::didChangeContentsVisibility):
1775         (WebKit::PageViewportController::didChangeViewportAttributes):
1776         (WebKit::PageViewportController::applyScaleAfterRenderingContents):
1777         (WebKit::PageViewportController::applyPositionAfterRenderingContents):
1778         * UIProcess/PageViewportController.h:
1779         (PageViewportController):
1780
1781 2012-12-11  Christophe Dumez  <christophe.dumez@intel.com>
1782
1783         [CoordinatedGraphics] Use unsigned integers for UpdateAtlas IDs
1784         https://bugs.webkit.org/show_bug.cgi?id=104654
1785
1786         Reviewed by Kenneth Rohde Christiansen.
1787
1788         UpdateAtlas currently uses *signed* integer type for its identifier.
1789         Due to the way we generate those IDs, it is safer to use *unsigned*
1790         integers. This is because the generated ID will overflow at some
1791         point and the C and C++ language standards say that overflow of a
1792         signed value is undefined behaviour.
1793
1794         This patch switches to unsigned integer type for UpdateAtlas IDs
1795         since unsigned integers are guaranteed to wrap around on overflow.
1796
1797         * Shared/SurfaceUpdateInfo.h:
1798         (SurfaceUpdateInfo):
1799         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
1800         (WebKit::LayerTreeCoordinatorProxy::createUpdateAtlas):
1801         (WebKit::LayerTreeCoordinatorProxy::removeUpdateAtlas):
1802         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
1803         (LayerTreeCoordinatorProxy):
1804         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
1805         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1806         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
1807         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
1808         (CoordinatedGraphicsLayerClient):
1809         (CoordinatedGraphicsLayer):
1810         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
1811         (CoordinatedTileClient):
1812         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1813         (WebKit::LayerTreeCoordinator::createUpdateAtlas):
1814         (WebKit::LayerTreeCoordinator::removeUpdateAtlas):
1815         (WebKit::LayerTreeCoordinator::beginContentUpdate):
1816         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
1817         (LayerTreeCoordinator):
1818         * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp:
1819         (WebKit::UpdateAtlas::UpdateAtlas):
1820         (WebKit::UpdateAtlas::~UpdateAtlas):
1821         (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
1822         * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h:
1823         (UpdateAtlasClient):
1824         (UpdateAtlas):
1825
1826 2012-12-11  Jinwoo Song  <jinwoo7.song@samsung.com>
1827
1828         [EFL][WK2] Create a ewk view object with new context for API tests
1829         https://bugs.webkit.org/show_bug.cgi?id=103692
1830
1831         Reviewed by Gyuyoung Kim. 
1832
1833         Bug 103229 fixes the issue which PageGroupID increased even though
1834         the EwkView was created with default context. If the Bug 103229 is
1835         resolved, the EwkViews with same context will have same setting preferences.
1836
1837         Currently, WebKit2/EFL API test is creating the ewk view object
1838         with the default context so the setting values set previously may
1839         influence the following tests. So this patch created a ewk view object
1840         with a new context instead of default one.
1841
1842         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
1843         (EWK2UnitTest::EWK2UnitTestBase::SetUp):
1844
1845 2012-12-10  Dan Winship  <danw@gnome.org>
1846
1847         [Soup] Fix spelling of "initiating" in API.
1848
1849         Reviewed by Martin Robinson.
1850
1851         * WebProcess/soup/WebSoupRequestManager.cpp:
1852         (WebKit::WebSoupRequestManager::send):
1853
1854 2012-12-10  Alexey Proskuryakov  <ap@apple.com>
1855
1856         [WK2] Add a user default to limit the number of web processes
1857         https://bugs.webkit.org/show_bug.cgi?id=104606
1858
1859         Reviewed by Sam Weinig.
1860
1861         When the limit is reached, we'll reuse an existing process with fewest pages.
1862
1863         * UIProcess/WebContext.cpp:
1864         (WebKit::WebContext::WebContext): Initialize m_webProcessCountLimit.
1865         (WebKit::WebContext::platformInitialize): Added a hook for reading the preference,
1866         empty implementation on most platforms.
1867         (WebKit::WebContext::createNewWebProcess): Changed to return a raw pointer. The new
1868         process is put into a vector anyway, so there is no ownership transfer.
1869         (WebKit::WebContext::warmInitialProcess): Don't create a new process if that would
1870         exceed the limit.
1871         (WebKit::WebContext::createNewWebProcessRespectingProcessCountLimit): Added a new
1872         function that wither creates a new process, or picks an existing one.
1873         (WebKit::WebContext::createWebPage): Call the above new function instead of
1874         unconditionally creating a process.
1875
1876         * UIProcess/WebContext.h: createNewWebProcess is no private. All clients should
1877         respect the process count limit.
1878
1879         * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::reattachToWebProcess):
1880         Respect the process count limit.
1881
1882         * UIProcess/mac/WebContextMac.mm:
1883         (WebKit::registerUserDefaultsIfNeeded): Register the new default.
1884         (WebKit::WebContext::platformInitialize): Read the default into a WebContext
1885         member variable.
1886         (WebKit::WebContext::platformInitializeWebProcess): Moved registerUserDefaultsIfNeeded()
1887         from here to platformInitialize(), as that's a better place for it. Also added a
1888         FIXME for an unrelated issue.
1889
1890 2012-12-10  Jon Lee  <jonlee@apple.com>
1891
1892         Build fix.
1893
1894         * WebProcess/WebCoreSupport/WebPlugInClient.cpp:
1895         (WebKit::WebPlugInClient::WebPlugInClient): Remove unneeded m_page variable.
1896         * WebProcess/WebCoreSupport/WebPlugInClient.h:
1897         (WebPlugInClient):
1898
1899 2012-12-10  Jon Lee  <jonlee@apple.com>
1900
1901         Keep track of plug-in snapshots clicked by user
1902         https://bugs.webkit.org/show_bug.cgi?id=103206
1903         <rdar://problem/12746483>
1904
1905         Reviewed by Anders Carlsson.
1906
1907         Create a new provider class for the web context that maintains a mapping of the plug-in origins
1908         allowed to auto-start for a specific page origin.
1909
1910         * WebProcess/WebPage/WebPage.cpp:
1911         (WebKit::WebPage::WebPage): Create and set WebPlugInClient.
1912
1913         Implement WebCore::PlugInClient.
1914         * WebProcess/WebCoreSupport/WebPlugInClient.cpp: Added.
1915         (WebKit::WebPlugInClient::WebPlugInClient):
1916         (WebKit::WebPlugInClient::~WebPlugInClient):
1917         (WebKit::WebPlugInClient::pageDestroyed):
1918         (WebKit::WebPlugInClient::isAutoStartOrigin): Forward to WebProcess.
1919         (WebKit::WebPlugInClient::addAutoStartOrigin): Forward to WebProcess.
1920         * WebProcess/WebCoreSupport/WebPlugInClient.h: Added.
1921
1922         * WebProcess/WebProcess.cpp: Maintains a copy of the hash set.
1923         (WebKit::WebProcess::isPlugInAutoStartOrigin): Look for the hash in the set.
1924         (WebKit::WebProcess::addPlugInAutoStartOrigin): Tell the UI process to add the hash for the page.
1925         (WebKit::WebProcess::didAddPlugInAutoStartOrigin): Add the hash to the cached set.
1926         * WebProcess/WebProcess.h:
1927         * WebProcess/WebProcess.messages.in: Add DidAddPlugInAutoStartOrigin.
1928
1929         Add the auto-start provider.
1930         * UIProcess/WebContext.cpp:
1931         (WebKit::WebContext::WebContext): Initialize the provider.
1932         (WebKit::WebContext::addPlugInAutoStartOriginHash): Forward to the provider.
1933         * UIProcess/WebContext.h:
1934         * UIProcess/WebContext.messages.in: Add AddPlugInAutoStartOriginHash.
1935
1936         The provider class maintains a map of page domains to hashes, and a set of all the hashes.
1937         The latter will be used to initialize new web processes without having to crawl through the
1938         whole map.
1939         * UIProcess/Plugins/PlugInAutoStartProvider.cpp: Added.
1940         (WebKit::PlugInAutoStartProvider::PlugInAutoStartProvider):
1941         (WebKit::PlugInAutoStartProvider::addAutoStartOrigin): Add the origin to the map and set. Tell
1942         all processes to add the origin to their local copies.
1943         * UIProcess/Plugins/PlugInAutoStartProvider.h: Added.
1944
1945         Add PlugInAutoStartProvider and WebPlugInClient.
1946         * CMakeLists.txt:
1947         * GNUmakefile.list.am:
1948         * Target.pri:
1949         * WebKit2.xcodeproj/project.pbxproj:
1950         * win/WebKit2.vcproj:
1951
1952 2012-12-10  Anders Carlsson  <andersca@apple.com>
1953
1954         Add WKPageSetInvalidMessageFunction stub
1955         https://bugs.webkit.org/show_bug.cgi?id=104614
1956         <rdar://problem/12841671>
1957
1958         Reviewed by Mark Rowe.
1959
1960         * UIProcess/API/C/WKPage.cpp:
1961         (WKPageSetInvalidMessageFunction):
1962         * UIProcess/API/C/WKPagePrivate.h:
1963
1964 2012-12-09  Antti Koivisto  <antti@apple.com>
1965
1966         Factor node traversal into standalone functions
1967         https://bugs.webkit.org/show_bug.cgi?id=104507
1968
1969         Reviewed by Eric Seidel.
1970
1971         * WebProcess/WebPage/WebFrame.cpp:
1972         (WebKit::WebFrame::containsAnyFormElements):
1973
1974 2012-12-10  Eduardo Lima Mitev  <elima@igalia.com>
1975
1976         [GTK] Expose HitTestResult::scrollbar() condition in API
1977         https://bugs.webkit.org/show_bug.cgi?id=104369
1978
1979         Reviewed by Carlos Garcia Campos.
1980
1981         This patch populates WebCore::HitTestResult::scrollbar() condition
1982         in WebKitHitTestResult public API, and includes a corresponding unit
1983         test.
1984
1985         * Shared/WebHitTestResult.cpp: Adds new isScrollbar member to
1986         encoding and decoding methods to carry the scrollbar condition
1987         from Web process to UI process.
1988         (WebKit::WebHitTestResult::Data::encode):
1989         (WebKit::WebHitTestResult::Data::decode):
1990         * Shared/WebHitTestResult.h:
1991         (Data): Adds new bool member isScrollbar.
1992         (WebKit::WebHitTestResult::Data::Data): Initializes isScrollbar from
1993         WebCore::HitTestResult::scrollbar().
1994         (WebKit::WebHitTestResult::isScrollbar): Method that returns value
1995         of isScrollbar member.
1996         (WebHitTestResult):
1997         * UIProcess/API/gtk/WebKitHitTestResult.cpp:
1998         (webkitHitTestResultCreate): Adds scrollbar condition to context upon
1999         initialization.
2000         (webkitHitTestResultCompare): Adds comparison of scrollbar condition.
2001         (webkit_hit_test_result_context_is_scrollbar): Public accessor for
2002         scrollbar presence in context.
2003         * UIProcess/API/gtk/WebKitHitTestResult.h: Adds new flag
2004         WEBKIT_HIT_TEST_RESULT_CONTEXT_SCROLLBAR to
2005         WebKitHitTestResultContext enum.
2006         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Adds new API symbol
2007         to the corresponding documentation sections.
2008         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
2009         (testWebViewMouseTarget): Updates mouse-target
2010         test to include assertions for hitting scrollbar condition, and
2011         an new HTML to privide a positive case.
2012
2013 2012-12-10  Alexis Menard  <alexis@webkit.org>
2014
2015         [CSS3 Backgrounds and Borders] Remove CSS3_BACKGROUND feature flag.
2016         https://bugs.webkit.org/show_bug.cgi?id=104539
2017
2018         Reviewed by Antonio Gomes.
2019
2020         As discussed on webkit-dev it is not needed to keep this feature flag 
2021         as support for <position> type is a small feature that is already 
2022         implemented by three other UAs. It was useful while landing this 
2023         feature as partial bits were landed one after one.
2024
2025         * Configurations/FeatureDefines.xcconfig:
2026
2027 2012-12-10  Alberto Garcia  <agarcia@igalia.com>
2028
2029         WebKitWebViewBase produces a warning if compiled with gcc
2030         https://bugs.webkit.org/show_bug.cgi?id=104561
2031
2032         Reviewed by Carlos Garcia Campos.
2033
2034         * UIProcess/API/gtk/WebKitWebViewBase.h:
2035         since this file can be included from C code, use void to
2036         explicitly specify that webkit_web_view_base_get_type() doesn't
2037         have parameters. Otherwise we get "warning: function declaration
2038         isn't a prototype" with -Wstrict-prototypes.
2039
2040 2012-12-10  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2041
2042         [WK2] TiledBackingStore: remove unneeded 'treatAsInitialValue' parameter from PageViewportControllerClient::setContentsScale
2043         https://bugs.webkit.org/show_bug.cgi?id=104544
2044
2045         Reviewed by Kenneth Rohde Christiansen.
2046
2047         Removed 'treatAsInitialValue' parameter from PageViewportControllerClient::setContentsScale()
2048         as it was not used by anyone.
2049
2050         * UIProcess/PageViewportController.cpp:
2051         (WebKit::PageViewportController::didRenderFrame):
2052         * UIProcess/PageViewportControllerClient.h:
2053         (PageViewportControllerClient):
2054         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
2055         (WebKit::PageViewportControllerClientEfl::setContentsScale):
2056         * UIProcess/efl/PageViewportControllerClientEfl.h:
2057         (PageViewportControllerClientEfl):
2058         * UIProcess/qt/PageViewportControllerClientQt.cpp:
2059         (WebKit::PageViewportControllerClientQt::setContentsScale):
2060         * UIProcess/qt/PageViewportControllerClientQt.h:
2061         (PageViewportControllerClientQt):
2062
2063 2012-12-10  Zoltan Nyul  <zoltan.nyul@intel.com>
2064
2065         Implement testRunner.setViewModeMediaFeature() in WebKitTestRunner
2066         https://bugs.webkit.org/show_bug.cgi?id=103886
2067
2068         Reviewed by Kenneth Rohde Christiansen.
2069
2070         Add support for TestRunner::setViewModeMediaFeature().
2071         This functionality is needed by the following LayoutTests:
2072         fast/media/media-query-list-02.html
2073         fast/media/media-query-list-03.html
2074         fast/media/media-query-list-04.html
2075         fast/media/media-query-list-05.html
2076         fast/media/media-query-list-06.html
2077         fast/media/media-query-list-07.html
2078         fast/media/view-mode-media-feature.html
2079
2080         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2081         (WKBundlePageSetViewMode):
2082         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
2083         * WebProcess/WebPage/WebPage.cpp:
2084         (WebKit::WebPage::setViewMode):
2085         (WebKit):
2086         * WebProcess/WebPage/WebPage.h:
2087         (WebPage):
2088
2089 2012-12-10  Simon Hausmann  <simon.hausmann@digia.com>
2090
2091         [Qt] Fix QtWebProcess discovery on Windows
2092         https://bugs.webkit.org/show_bug.cgi?id=104552
2093
2094         Reviewed by Jocelyn Turcotte.
2095
2096         Make sure to look for QtWebProcess.exe on Windows instead of QtWebProcess.
2097
2098         * Shared/qt/ProcessExecutablePathQt.cpp:
2099         (WebKit::executablePath):
2100
2101 2012-12-10  Martin Robinson  <mrobinson@igalia.com>
2102
2103         [GTK] Bring Harfbuzz-ng support to Gtk
2104         https://bugs.webkit.org/show_bug.cgi?id=92098
2105
2106         Reviewed by Gustavo Noronha Silva.
2107
2108         Add a HarfBuzz dependency.
2109
2110         * GNUmakefile.am: Add FreeType/HarfBuzz CFLAGS/LIBS to the libraries.
2111
2112 2012-12-10  Simon Hausmann  <simon.hausmann@digia.com>
2113
2114         [Qt] Use QLibraryInfo::LibraryExecutablesPath unconditionally
2115         https://bugs.webkit.org/show_bug.cgi?id=104541
2116
2117         Reviewed by Jocelyn Turcotte.
2118
2119         We now depend on a Qt 5 version that is guaranteed to have this API, so we
2120         can remove the configure checks for it.
2121
2122         * PluginProcess.pro:
2123         * Shared/qt/ProcessExecutablePathQt.cpp:
2124         (WebKit::executablePath):
2125         * WebProcess.pro:
2126
2127 2012-12-10  Simon Hausmann  <simon.hausmann@digia.com>
2128
2129         [Qt] Fix build without QtQuick 2
2130
2131         Unreviewed trivial build fix.
2132
2133         This function is defined in QtWebContext, which is only used when QtQuick2 is available.
2134
2135         * UIProcess/qt/WebContextQt.cpp:
2136         (WebKit::WebContext::platformInvalidateContext):
2137
2138 2012-12-10  Huang Dongsung  <luxtella@company100.net>
2139
2140         Coordinated Graphics: Remove the dependency of ShareableSurface from Coordinated Graphics.
2141         https://bugs.webkit.org/show_bug.cgi?id=100819
2142
2143         Reviewed by Kenneth Rohde Christiansen.
2144
2145         It is a follow-up patch of r137117.
2146
2147         There are two changes
2148         1. Add a const qualifier to supportsAlpha().
2149         2. Use << instead of encode() when using ArgumentEncoder.
2150
2151         * Shared/CoordinatedGraphics/CoordinatedSurface.h:
2152         (WebKit::CoordinatedSurface::supportsAlpha):
2153         * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
2154         (WebKit::WebCoordinatedSurface::Handle::encode):
2155         (WebKit::WebCoordinatedSurface::copyToTexture):
2156
2157 2012-12-10  Huang Dongsung  <luxtella@company100.net>
2158
2159         Coordinated Graphics: Remove the dependency of ShareableSurface from Coordinated Graphics.
2160         https://bugs.webkit.org/show_bug.cgi?id=100819
2161
2162         Reviewed by Kenneth Rohde Christiansen.
2163
2164         WebCoordinatedSurface::copyToTexture should return early if the backend
2165         is GraphicsSurface.
2166
2167         * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
2168         (WebKit::WebCoordinatedSurface::copyToTexture):
2169
2170 2012-12-10  Huang Dongsung  <luxtella@company100.net>
2171
2172         Coordinated Graphics: Add CoordinatedSurface to remove the dependency of ShareableSurface from Coordinated Graphics.
2173         https://bugs.webkit.org/show_bug.cgi?id=100819
2174
2175         Reviewed by Noam Rosenthal.
2176
2177         Internal Review by Gwang Yoon Hwang and Jae Hyun Park.
2178
2179         It is a preparation patch for Threaded Coordinated Graphics on WK1.
2180
2181         Create a CoordinatedSurface class that can be the base class both for
2182         the current IPC-based ShareableSurface, renamed here to
2183         WebCoordinatedSurface, and to a future thread-based surface
2184         implementation.
2185
2186         * CMakeLists.txt:
2187         * Shared/CoordinatedGraphics/CoordinatedSurface.h: Added.
2188         (WebCore):
2189         (WebKit):
2190         (CoordinatedSurface):
2191         (WebKit::CoordinatedSurface::~CoordinatedSurface):
2192         (WebKit::CoordinatedSurface::supportsAlpha):
2193         * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp: Renamed from Source/WebKit2/Shared/ShareableSurface.cpp.
2194           Extends CoordinatedSurface.
2195         (WebKit):
2196         (WebKit::WebCoordinatedSurface::Handle::Handle):
2197         (WebKit::WebCoordinatedSurface::Handle::encode):
2198         (WebKit::WebCoordinatedSurface::Handle::decode):
2199         (WebKit::CoordinatedSurface::create):
2200         (WebKit::WebCoordinatedSurface::create):
2201         (WebKit::WebCoordinatedSurface::createWithSurface):
2202         (WebKit::WebCoordinatedSurface::createGraphicsContext):
2203         (WebKit::WebCoordinatedSurface::WebCoordinatedSurface):
2204         (WebKit::WebCoordinatedSurface::~WebCoordinatedSurface):
2205         (WebKit::WebCoordinatedSurface::createHandle):
2206         (WebKit::WebCoordinatedSurface::copyToTexture):
2207         * Shared/CoordinatedGraphics/WebCoordinatedSurface.h: Renamed from Source/WebKit2/Shared/ShareableSurface.h.
2208         (WebCore):
2209         (WebKit):
2210         (WebCoordinatedSurface):
2211         (Handle):
2212         (WebKit::WebCoordinatedSurface::Handle::graphicsSurfaceToken):
2213         (WebKit::WebCoordinatedSurface::isBackedByGraphicsSurface):
2214         * Target.pri:
2215         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
2216         (WebKit::CoordinatedBackingStoreTile::swapBuffers):
2217         (WebKit::CoordinatedBackingStoreTile::setBackBuffer):
2218         (WebKit::CoordinatedBackingStore::updateTile):
2219         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
2220         (WebKit):
2221         (CoordinatedBackingStoreTile):
2222         (CoordinatedBackingStore):
2223         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
2224         (WebKit::LayerTreeCoordinatorProxy::createUpdateAtlas):
2225         (WebKit::LayerTreeCoordinatorProxy::updateImageBacking):
2226         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
2227         (LayerTreeCoordinatorProxy):
2228         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
2229         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2230         (WebKit::LayerTreeRenderer::updateImageBacking):
2231         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2232         (TileUpdate):
2233         (WebKit::LayerTreeRenderer::TileUpdate::TileUpdate):
2234         (LayerTreeRenderer):
2235         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2236         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
2237         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2238         (CoordinatedGraphicsLayerClient):
2239         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp:
2240         (WebKit::CoordinatedImageBacking::update):
2241         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:
2242         (Coordinator):
2243         (CoordinatedImageBacking):
2244         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2245         (WebKit::LayerTreeCoordinator::updateImageBacking):
2246         (WebKit::LayerTreeCoordinator::createUpdateAtlas):
2247         (WebKit::LayerTreeCoordinator::beginContentUpdate):
2248         (WebKit::LayerTreeCoordinator::releaseInactiveAtlasesTimerFired):
2249         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
2250         (LayerTreeCoordinator):
2251         * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp:
2252         (WebKit::UpdateAtlas::UpdateAtlas):
2253         (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
2254         * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h:
2255         (UpdateAtlasClient):
2256         (UpdateAtlas):
2257         (WebKit::UpdateAtlas::supportsAlpha):
2258
2259 2012-12-09  Huang Dongsung  <luxtella@company100.net>
2260
2261         Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
2262         https://bugs.webkit.org/show_bug.cgi?id=103843
2263
2264         Reviewed by Noam Rosenthal.
2265
2266         Send SetRootCompositingLayer message to the UI process before
2267         flushing compositing states of layer tree.
2268
2269         This is in preparation for refactoring TextureMapper to work in an actor
2270         model (http://webkit.org/b/103854).
2271
2272         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2273         (WebKit::LayerTreeRenderer::setLayerState):
2274         (WebKit::LayerTreeRenderer::setRootLayerID):
2275         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2276         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
2277         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
2278         (WebKit::LayerTreeCoordinator::initializeRootCompositingLayerIfNeeded):
2279         (WebKit):
2280         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
2281         (LayerTreeCoordinator):
2282
2283 2012-12-09  Jon Lee  <jonlee@apple.com>
2284
2285         [WK2] Move button image to injected bundle
2286         https://bugs.webkit.org/show_bug.cgi?id=104107
2287         <rdar://problem/12813842>
2288
2289         Reviewed by Simon Fraser.
2290
2291         Rely on the injected bundle to create the image used for the button in snapshotted plug-ins.
2292
2293         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2294         (WebKit::WebChromeClient::plugInStartLabelImage): Forward the call to the injected bundle UI client.
2295         * WebProcess/WebCoreSupport/WebChromeClient.h: Implement plugInStartLabelImage().
2296
2297         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
2298         (WebKit::InjectedBundlePageUIClient::plugInStartLabelImage): Convert the WebCore enums to WK API enums.
2299         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
2300
2301         * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Expose a new callback to generate the button image.
2302
2303         * Shared/API/c/cg/WKImageCG.cpp:
2304         (WKImageCreateFromCGImage): Refactor to use GraphicsContext methods so that the image is flipped appropriately.
2305
2306 2012-12-09  Kangil Han  <kangil.han@samsung.com>
2307
2308         Fix unused parameter compile warnings
2309         https://bugs.webkit.org/show_bug.cgi?id=104463
2310
2311         Reviewed by Kentaro Hara.
2312
2313         Remove compile warning messages by omitting parameter name.
2314
2315         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2316         (WebKit::LayerTreeRenderer::createCanvas):
2317
2318 2012-12-08  Seokju Kwon  <seokju.kwon@gmail.com>
2319
2320         [EFL][WK2] Add Remote Web Inspector
2321         https://bugs.webkit.org/show_bug.cgi?id=98705
2322
2323         Reviewed by Gyuyoung Kim.
2324
2325         Add Remote Web Inspector to EFL port.
2326         The WebInspectorSever will be started during WebKit context initialization.
2327         The IP address and port number for the server can be set in WEBKIT_INSPECTOR_SERVER.
2328
2329         * CMakeLists.txt:
2330         * PlatformEfl.cmake:
2331         * UIProcess/InspectorServer/WebInspectorServer.h:
2332         (WebInspectorServer):
2333         * UIProcess/InspectorServer/WebSocketServer.h:
2334         (WebSocketServer):
2335         * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp: Added.
2336         (WebKit):
2337         (WebKit::inspectorResourcePath):
2338         (WebKit::WebInspectorServer::platformResourceForPath):
2339         (WebKit::WebInspectorServer::buildPageList):
2340         * UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp:
2341         (WebKit::connectionCallback):
2342         * UIProcess/efl/WebContextEfl.cpp:
2343         (WebKit::initializeInspectorServer):
2344         (WebKit):
2345         (WebKit::WebContext::platformInitializeWebProcess):
2346         * config.h:
2347
2348 2012-12-08  Gustavo Noronha Silva  <gns@gnome.org>
2349
2350         Unreviewed. Make building the WebKit2 GIR file conditional on building the WebKit2 library.
2351
2352         * GNUmakefile.am:
2353
2354 2012-12-08  Seokju Kwon  <seokju.kwon@gmail.com>
2355
2356         Remove unused headers
2357         https://bugs.webkit.org/show_bug.cgi?id=104428
2358
2359         Reviewed by Kentaro Hara.
2360
2361         Header inclusion cleanup.
2362         Remove <WebCore/NotImplement.h>.
2363
2364         * Platform/qt/WorkQueueQt.cpp:
2365         * Platform/win/WorkQueueWin.cpp:
2366         * Shared/qt/ShareableBitmapQt.cpp:
2367         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
2368         * UIProcess/win/TextCheckerWin.cpp:
2369         * UIProcess/win/WebContextMenuProxyWin.cpp:
2370         * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
2371
2372 2012-12-07  Jinwoo Song  <jinwoo7.song@samsung.com>
2373
2374         [EFL][WK2] Remove unused source file from PlatformEfl.cmake
2375         https://bugs.webkit.org/show_bug.cgi?id=104430
2376
2377         Reviewed by Kentaro Hara.
2378
2379         Shared/API/c/gtk/WKGraphicsContextGtk.cpp is not used for building WebKit2/EFL.
2380
2381         * PlatformEfl.cmake:
2382
2383 2012-12-07  Jer Noble  <jer.noble@apple.com>
2384
2385         Allow the WebProcess access to the CoreMedia preferences file.
2386         https://bugs.webkit.org/show_bug.cgi?id=104320
2387         <rdar://problem/10904519>
2388
2389         Reviewed by Alexey Proskuryakov.
2390
2391         Allow read access to ~/Library/Preferences/com.apple.coremedia.plist and com.apple.avfoundation.plist
2392         by the WebProcess. The QuickTime.plugin uses CoreMedia for playback, so allow PluginProcess
2393         to access those preferences as well.
2394
2395         * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in:
2396         * WebProcess/com.apple.WebProcess.sb.in:
2397
2398 2012-12-07  Tim Horton  <timothy_horton@apple.com>
2399
2400         [wk2] WebProcessServiceForWebKitDevelopment should forward stdout and stderr to the UIProcess
2401         https://bugs.webkit.org/show_bug.cgi?id=104418
2402
2403         Reviewed by Simon Fraser.
2404
2405         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
2406         (WebKit::connectToWebProcessServiceForWebKitDevelopment): Send stdout and stderr file descriptors to the WebProcess.
2407         * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
2408         (WebProcessServiceForWebKitDevelopmentEventHandler): Replace the WebProcess' stdout and stderr with those from the UIProcess.
2409
2410 2012-12-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2411
2412         Unreviewed, rolling out r136993.
2413         http://trac.webkit.org/changeset/136993
2414         https://bugs.webkit.org/show_bug.cgi?id=104415
2415
2416         This patch breaks the mac build (Requested by cabanier on
2417         #webkit).
2418
2419         * win/WebKit2.def.in:
2420
2421 2012-12-07  Alexey Proskuryakov  <ap@apple.com>
2422
2423         There is no need to change cached resource storage policy through ResourceHandleClient
2424         https://bugs.webkit.org/show_bug.cgi?id=104413
2425
2426         Reviewed by Brady Eidson.
2427
2428         * NetworkProcess/NetworkResourceLoader.cpp:
2429         * NetworkProcess/NetworkResourceLoader.h:
2430         Deleted overrides of the removed willCacheResponse.
2431
2432 2012-12-07  Alexey Proskuryakov  <ap@apple.com>
2433
2434         Network process should use a correct storage session in private browsing mode
2435         <rdar://problem/12838490>
2436         https://bugs.webkit.org/show_bug.cgi?id=104401
2437
2438         Reviewed by Brady Eidson.
2439
2440         Notify NetworkProcess when it needs to create or destroy a private browsing session,
2441         and add a NetworkResourceLoadParameters member telling if the particular resource
2442         should be requested using it.
2443
2444         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2445         (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
2446         (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
2447         (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
2448         (WebKit::NetworkConnectionToWebProcess::getRawCookies):
2449         (WebKit::NetworkConnectionToWebProcess::deleteCookie):
2450         (WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies):
2451         (WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname):
2452         (WebKit::NetworkConnectionToWebProcess::deleteAllCookies):
2453         Added another dummy argument to dummy networking context.
2454
2455         * NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::initializeNetworkProcess):
2456         Ensure private browsing session if it's needed due to a persistent preference, not
2457         an API call at runtime (which is handled below as ensure/destroy).
2458
2459         * NetworkProcess/NetworkResourceLoader.cpp:
2460         (WebKit::NetworkResourceLoader::start): Pass private browsing state to RemoteNetworkingContext
2461         used for loading.
2462         (WebKit::NetworkResourceLoader::willCacheResponse): Added an implemntation that
2463         matches WebCore, but may be not needed.
2464
2465         * NetworkProcess/mac/RemoteNetworkingContext.h: (WebKit::RemoteNetworkingContext::create):
2466         Store privateBrowsingEnabled flag.
2467
2468         * NetworkProcess/mac/RemoteNetworkingContext.mm: (WebKit::RemoteNetworkingContext::storageSession):
2469         Return a private session when it's in use.
2470
2471         * Shared/Network/NetworkProcessCreationParameters.cpp:
2472         (WebKit::NetworkProcessCreationParameters::encode):
2473         (WebKit::NetworkProcessCreationParameters::decode):
2474         * Shared/Network/NetworkProcessCreationParameters.h:
2475         Pass privateBrowsingEnabled flag to the new process.
2476
2477         * Shared/Network/NetworkResourceLoadParameters.cpp:
2478         (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
2479         (WebKit::NetworkResourceLoadParameters::encode):
2480         (WebKit::NetworkResourceLoadParameters::decode):
2481         * Shared/Network/NetworkResourceLoadParameters.h:
2482         (WebKit::NetworkResourceLoadParameters::inPrivateBrowsingMode):
2483         Pass inPrivateBrowsingMode flag for the request.
2484
2485         * UIProcess/Network/NetworkProcessManager.h: (WebKit::NetworkProcessManager::process):
2486         Exposed, so that we can send messages without going through NetworkProcessManager.
2487
2488         * UIProcess/WebContext.cpp:
2489         (WebKit::WebContext::usesNetworkProcess):
2490         (WebKit::anyContextUsesNetworkProcess):
2491         (WebKit::WebContext::willStartUsingPrivateBrowsing):
2492         (WebKit::WebContext::willStopUsingPrivateBrowsing):
2493         Notify NetworkProcess when entering or exiting private browsing.
2494
2495         * UIProcess/WebContext.h: Exposed usesNetworkProcess() for the new static function
2496         anyContextUsesNetworkProcess to use.
2497
2498         * WebProcess/Network/WebResourceLoadScheduler.cpp: (WebKit::WebResourceLoadScheduler::scheduleLoad):
2499         Put current private browsing state over in NetworkResourceLoadParameters.
2500
2501 2012-12-07  Helder Correia  <helder.correia@nokia.com>
2502
2503         [CoordGfx] Variable name starts with upper case character
2504         https://bugs.webkit.org/show_bug.cgi?id=104327
2505
2506         Reviewed by Noam Rosenthal.
2507
2508         Just fixing a typo.
2509
2510         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2511         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
2512
2513 2012-12-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2514
2515         [WK2][EFL][Qt] Pixel alignment is wrong in some cases involving a non-integral content scale
2516         https://webkit.org/b/103519
2517
2518         Reviewed by Noam Rosenthal.
2519
2520         This patch removes the blurriness by pixel aligning the layers. It
2521         does not fully remove the shaking, only minimizes it.
2522
2523         * UIProcess/API/efl/EwkViewImpl.cpp:
2524         (EwkViewImpl::transformFromScene):
2525         (EwkViewImpl::displayTimerFired):
2526         * UIProcess/API/efl/EwkViewImpl.h:
2527         (EwkViewImpl::pagePosition):
2528
2529             As the pixel alignment of the main layer is moved to the
2530             PageViewportController, rename discretePagePosition to just
2531             pagePosition. It now returns a FloatPoint but the positions
2532             should still be discrete.
2533
2534         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
2535         (WebKit::LayerTreeCoordinatorProxy::setVisibleContentsRect):
2536         (WebKit::LayerTreeCoordinatorProxy::didChangeScrollPosition):
2537         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
2538         (LayerTreeCoordinatorProxy):
2539         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
2540         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2541         (WebKit::LayerTreeRenderer::didChangeScrollPosition):
2542         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2543         (LayerTreeRenderer):
2544         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2545         (WebKit::LayerTreeCoordinator::visibleContentsRect):
2546         (WebKit::LayerTreeCoordinator::setVisibleContentsRect):
2547         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
2548         (LayerTreeCoordinator):
2549         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.messages.in:
2550         * WebProcess/WebPage/LayerTreeHost.h:
2551         (WebCore):
2552         (WebKit::LayerTreeHost::setVisibleContentsRect):
2553
2554             Change the internal scroll position/visible contents rect
2555             to be represented as float positions. The rounding to integer
2556             values not happens just before setFixesVisibleContentsRect.
2557             This makes it possible to know our exact positions and
2558             calculate proper scroll deltas.
2559
2560         (WebKit::LayerTreeRenderer::setLayerState):
2561
2562             Group anchor point, position and size together.
2563
2564         * UIProcess/PageViewportController.h:
2565         (PageViewportController):
2566         * UIProcess/PageViewportController.cpp:
2567         (WebKit::PageViewportController::PageViewportController):
2568         (WebKit::PageViewportController::boundContentsPosition):
2569         (WebKit::PageViewportController::boundContentsPositionAtScale):
2570         (WebKit::PageViewportController::didRenderFrame):
2571         (WebKit::PageViewportController::pageDidRequestScroll):
2572         (WebKit::PageViewportController::didChangeContentsVisibility):
2573         (WebKit::PageViewportController::syncVisibleContents):
2574         (WebKit::PageViewportController::visibleContentsSize):
2575         (WebKit::PageViewportController::applyPositionAfterRenderingContents):
2576         * UIProcess/qt/PageViewportControllerClientQt.cpp:
2577         (WebKit::PageViewportControllerClientQt::focusEditableArea):
2578         (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
2579         (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
2580
2581             Some renaming as what was called viewportPos was actually the
2582             contents position. Rename clampViewportToContents to
2583             boundContentsPosition and remove scale argument which is has
2584             direct access to.
2585
2586             Make the boundContentsPosition allow one extra pixel in each
2587             orientation to allow for pixel alignment of fixed position layers
2588
2589         (WebKit::isIntegral):
2590         (WebKit):
2591         (WebKit::PageViewportController::pixelAlignedFloatPoint):
2592
2593             Introduce way to pixel align the main contents layer. Only in
2594             use for EFL so far.
2595
2596         * UIProcess/efl/PageClientLegacyImpl.cpp:
2597         (WebKit::PageClientLegacyImpl::updateViewportSize):
2598         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
2599         (WebKit::PageViewportControllerClientEfl::setViewportPosition):
2600         * UIProcess/efl/PageViewportControllerClientEfl.h:
2601         (WebKit::PageViewportControllerClientEfl::contentPosition):
2602         (PageViewportControllerClientEfl):
2603
2604             Store the contents position as a FloatPoint.
2605
2606         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2607         (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
2608         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
2609         (WebCore::CoordinatedGraphicsLayer::syncLayerState):
2610         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
2611         (WebCore::isIntegral):
2612         (WebCore):
2613         (WebCore::CoordinatedGraphicsLayer::computePositionRelativeToBase):
2614         (WebCore::CoordinatedGraphicsLayer::computePixelAlignment):
2615         (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
2616         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2617         (CoordinatedGraphicsLayerClient):
2618         (CoordinatedGraphicsLayer):
2619
2620             Pixel align layers when the effective scale is not an integer
2621             value. This code is based on code from GraphicsLayerCA.
2622
2623 2012-12-07  Alexey Proskuryakov  <ap@apple.com>
2624
2625         REGRESSION (r136770): Assertion failure in sendMessage() whenever WebProcess crashes
2626         https://bugs.webkit.org/show_bug.cgi?id=104392
2627
2628         Reviewed by Anders Carlsson.
2629
2630         * Shared/ChildProcessProxy.cpp: (WebKit::ChildProcessProxy::sendMessage): Changed
2631         back to using m_conection where it can be null.
2632
2633 2012-12-07  Jaehun Lim  <ljaehun.lim@samsung.com>
2634
2635         [EFL][WK2] Add ewk_settings APIs for text autosizing
2636         https://bugs.webkit.org/show_bug.cgi?id=103342
2637
2638         Reviewed by Kenneth Rohde Christiansen.
2639
2640         Add ewk_settings_text_autosizing_enabled_get / set() functions.
2641         Text autosizing is disabled by default.
2642
2643         * UIProcess/API/efl/ewk_settings.cpp:
2644         (ewk_settings_text_autosizing_enabled_set):
2645         (ewk_settings_text_autosizing_enabled_get):
2646         * UIProcess/API/efl/ewk_settings.h:
2647         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
2648         (TEST_F):
2649
2650 2012-12-06  Rick Byers  <rbyers@chromium.org>
2651
2652         CSS cursor property should support webkit-image-set
2653         https://bugs.webkit.org/show_bug.cgi?id=99493
2654
2655         Reviewed by Beth Dakin.
2656
2657         Add ENABLE_MOUSE_CURSOR_SCALE - disabled by default.
2658
2659         * Configurations/FeatureDefines.xcconfig:
2660
2661 2012-12-06  Jae Hyun Park  <jae.park@company100.net>
2662
2663         Coordinated Graphics: Rename WebLayerTreeInfo to CoordinatedLayerInfo
2664         https://bugs.webkit.org/show_bug.cgi?id=103983
2665
2666         Reviewed by Noam Rosenthal.
2667
2668         This patch refactors WebLayerTreeInfo in 2 areas.
2669
2670         1. WebLayerTreeInfo is only used by Coordinated Graphics. So, the file
2671         should be located in WebKit2/Shared/CoordinatedGraphics instead of
2672         WebKit2/Shared.
2673
2674         2. The name of WebLayerTreeInfo is incorrect. Currently,
2675         WebLayerTreeInfo only has WebLayerInfo struct. Also, it is hard to know
2676         what WebLayer is since we don't use that name anymore. More appropriate
2677         name for WebLayerInfo would be CoordinatedLayerInfo.
2678
2679         No new test, because no behavioral change.
2680
2681         * CMakeLists.txt:
2682         * Scripts/webkit2/messages.py:
2683         (headers_for_type):
2684         * Shared/CoordinatedGraphics/CoordinatedLayerInfo.cpp: Renamed from Source/WebKit2/Shared/WebLayerTreeInfo.cpp.
2685         (WebKit):
2686         (WebKit::CoordinatedLayerInfo::encode):
2687         (WebKit::CoordinatedLayerInfo::decode):
2688         * Shared/CoordinatedGraphics/CoordinatedLayerInfo.h: Renamed from Source/WebKit2/Shared/WebLayerTreeInfo.h.
2689         (WebKit):
2690         (WebKit::CoordinatedLayerInfo::CoordinatedLayerInfo):
2691         (CoordinatedLayerInfo):
2692         * Shared/LayerTreeContext.h:
2693         (LayerTreeContext):
2694         * Shared/efl/LayerTreeContextEfl.cpp:
2695         (WebKit::LayerTreeContext::LayerTreeContext):
2696         (WebKit::LayerTreeContext::encode):
2697         (WebKit::LayerTreeContext::decode):
2698         (WebKit::LayerTreeContext::isEmpty):
2699         (WebKit::operator==):
2700         * Shared/qt/LayerTreeContextQt.cpp:
2701         (WebKit::LayerTreeContext::LayerTreeContext):
2702         (WebKit::LayerTreeContext::encode):
2703         (WebKit::LayerTreeContext::decode):
2704         (WebKit::LayerTreeContext::isEmpty):
2705         (WebKit::operator==):
2706         * Target.pri:
2707         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
2708         (WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
2709         (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
2710         (WebKit::LayerTreeCoordinatorProxy::removeTileForLayer):
2711         (WebKit::LayerTreeCoordinatorProxy::deleteCompositingLayer):
2712         (WebKit::LayerTreeCoordinatorProxy::setRootCompositingLayer):
2713         (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerState):
2714         (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerChildren):
2715         (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerFilters):
2716         (WebKit::LayerTreeCoordinatorProxy::setLayerAnimations):
2717         (WebKit::LayerTreeCoordinatorProxy::createCanvas):
2718         (WebKit::LayerTreeCoordinatorProxy::syncCanvas):
2719         (WebKit::LayerTreeCoordinatorProxy::destroyCanvas):
2720         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
2721         (WebKit):
2722         (LayerTreeCoordinatorProxy):
2723         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
2724         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2725         (WebKit::LayerTreeRenderer::LayerTreeRenderer):
2726         (WebKit::LayerTreeRenderer::createLayer):
2727         (WebKit::LayerTreeRenderer::createCanvas):
2728         (WebKit::LayerTreeRenderer::syncCanvas):
2729         (WebKit::LayerTreeRenderer::destroyCanvas):
2730         (WebKit::LayerTreeRenderer::setLayerChildren):
2731         (WebKit::LayerTreeRenderer::setLayerFilters):
2732         (WebKit::LayerTreeRenderer::setLayerState):
2733         (WebKit::LayerTreeRenderer::deleteLayer):
2734         (WebKit::LayerTreeRenderer::ensureLayer):
2735         (WebKit::LayerTreeRenderer::setRootLayerID):
2736         (WebKit::LayerTreeRenderer::createTile):
2737         (WebKit::LayerTreeRenderer::removeTile):
2738         (WebKit::LayerTreeRenderer::updateTile):
2739         (WebKit::LayerTreeRenderer::ensureRootLayer):
2740         (WebKit::LayerTreeRenderer::purgeGLResources):
2741         (WebKit::LayerTreeRenderer::setLayerAnimations):
2742         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2743         (WebKit):
2744         (LayerTreeRenderer):
2745         (WebKit::LayerTreeRenderer::layerByID):
2746         * UIProcess/DrawingAreaProxy.h:
2747         (WebKit):
2748         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2749         (WebCore::layerByIDMap):
2750         (WebCore::toCoordinatedLayerID):
2751         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
2752         (WebCore::CoordinatedGraphicsLayer::id):
2753         (WebCore::CoordinatedGraphicsLayer::syncChildren):
2754         (WebCore::CoordinatedGraphicsLayer::syncLayerState):
2755         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2756         (CoordinatedGraphicsLayerClient):
2757         (CoordinatedGraphicsLayer):
2758         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:
2759         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2760         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
2761         (WebKit::LayerTreeCoordinator::syncLayerState):
2762         (WebKit::LayerTreeCoordinator::syncLayerChildren):
2763         (WebKit::LayerTreeCoordinator::createCanvas):
2764         (WebKit::LayerTreeCoordinator::syncCanvas):
2765         (WebKit::LayerTreeCoordinator::destroyCanvas):
2766         (WebKit::LayerTreeCoordinator::syncLayerFilters):
2767         (WebKit::LayerTreeCoordinator::createTile):
2768         (WebKit::LayerTreeCoordinator::updateTile):
2769         (WebKit::LayerTreeCoordinator::removeTile):
2770         (WebKit::LayerTreeCoordinator::setLayerAnimations):
2771         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
2772         (LayerTreeCoordinator):
2773
2774 2012-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2775
2776         Unreviewed, rolling out r136900.
2777         http://trac.webkit.org/changeset/136900
2778         https://bugs.webkit.org/show_bug.cgi?id=104318
2779
2780         Unreviewed build for Windows port. (Requested by rfong on
2781         #webkit).
2782
2783         * win/WebKit2.def.in:
2784
2785 2012-12-06  Jon Lee  <jonlee@apple.com>
2786
2787         Retry snapshots if they are too empty
2788         https://bugs.webkit.org/show_bug.cgi?id=104174
2789         <rdar://problem/12820146>
2790
2791         Reviewed by Simon Fraser.
2792
2793         * WebProcess/Plugins/PluginView.h: Add a new variable that keeps track of the number of times we've
2794         retried to come up with a snapshot.
2795         * WebProcess/Plugins/PluginView.cpp:
2796         (WebKit::PluginView::PluginView): Initialize the count to 0.
2797         (WebKit::isAlmostSolidColor): Figure out if the image is almost a solid color by overlaying
2798         a grid of dots, and calculate the differences among them. If the average color difference is greater than
2799         a threshold, we consider it to have meaningful content. For now we expect a minimum size and a specific
2800         bitmap image format, otherwise we return early.
2801         (WebKit::PluginView::pluginSnapshotTimerFired): If we have a snapshot image to look at, and if it is
2802         evaluated to be too empty, then try again.
2803
2804 2012-12-06  Tony Chang  <tony@chromium.org>
2805
2806         Unreviewed, Apple Win Debug build fix.
2807
2808         * win/WebKit2.def.in: Add 2 symbols that are needed by the debug build.
2809
2810 2012-12-06  Alexey Proskuryakov  <ap@apple.com>
2811
2812         Track private browsing session in network process
2813         https://bugs.webkit.org/show_bug.cgi?id=104281
2814
2815         Reviewed by Jessie Berlin.
2816
2817         Added ensure/destroy messages that match what's done in WebProcess. Also similarly,
2818         ensuring a private session may happen on demand if network process has been restarted
2819         after a crash, or if private browsing is enabled via a persistent preference.
2820
2821         Eventually, we should find a way to share code between WebFrameNetworkingContext
2822         and RemoteNetworkingContext.
2823
2824         * NetworkProcess/NetworkProcess.cpp:
2825         (WebKit::NetworkProcess::initializeNetworkProcess):
2826         (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
2827         (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
2828         * NetworkProcess/NetworkProcess.h:
2829         * NetworkProcess/NetworkProcess.messages.in:
2830         * NetworkProcess/mac/RemoteNetworkingContext.h:
2831         (RemoteNetworkingContext):
2832         * NetworkProcess/mac/RemoteNetworkingContext.mm:
2833         (WebKit::privateBrowsingStorageSessionIdentifierBase):
2834         (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
2835         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
2836         (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession):
2837         * Shared/Network/NetworkProcessCreationParameters.cpp:
2838         (WebKit::NetworkProcessCreationParameters::encode):
2839         (WebKit::NetworkProcessCreationParameters::decode):
2840         * Shared/Network/NetworkProcessCreationParameters.h:
2841         (NetworkProcessCreationParameters):
2842         * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
2843         (WebKit::NetworkProcessProxy::platformInitializeNetworkProcess):
2844         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
2845         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
2846         * WebProcess/WebProcess.cpp:
2847         (WebKit::WebProcess::initializeWebProcess):
2848
2849 2012-12-06  Laszlo Gombos  <l.gombos@samsung.com>
2850
2851         [EFL] Remove ENABLE_GLIB_SUPPORT CMake variable
2852         https://bugs.webkit.org/show_bug.cgi?id=104278
2853
2854         Reviewed by Brent Fulgham.
2855
2856         The guards are not required as it is always set for EFL.
2857
2858         * PlatformEfl.cmake:
2859         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
2860         (WebKit::PluginProcessProxy::scanPlugin):
2861         * WebProcess/efl/WebProcessMainEfl.cpp:
2862         (WebKit::WebProcessMainEfl):
2863
2864 2012-12-06  Tony Chang  <tony@chromium.org>
2865
2866         REGRESSION(r135082): Restore the ability to insert author level style sheets from script
2867         https://bugs.webkit.org/show_bug.cgi?id=104042
2868
2869         Reviewed by Antti Koivisto.
2870
2871         Update exports for Internals.cpp.
2872
2873         * win/WebKit2.def.in:
2874
2875 2012-12-06  Andras Becsi  <andras.becsi@digia.com>
2876
2877         [Qt][WK2] Fix QWebKitTest's notification of device pixel ratio change
2878         https://bugs.webkit.org/show_bug.cgi?id=104269
2879
2880         Unreviewed, trivialy fixing last minute change.
2881
2882         Move signal emission to the correct place.
2883
2884         * UIProcess/API/qt/qquickwebview.cpp:
2885         (QQuickWebViewFlickablePrivate::onComponentComplete):
2886         * UIProcess/qt/PageViewportControllerClientQt.cpp:
2887         (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
2888
2889 2012-12-06  Andras Becsi  <andras.becsi@digia.com>
2890
2891         [Qt][WK2] Fix QWebKitTest's notification of device pixel ratio change
2892         https://bugs.webkit.org/show_bug.cgi?id=104269
2893
2894         Reviewed by Kenneth Rohde Christiansen.
2895
2896         Since the ViewportInfoItem of MiniBrowser is created before the
2897         WebView finishes construction, thus before the viewport controller
2898         has been instantiated, the shown device pixel ratio was incorrect.
2899         Additionally QWebKitTest's notification signal was also not emitted
2900         when the value changed.
2901
2902         * UIProcess/API/qt/qquickwebview.cpp:
2903         (QQuickWebViewPrivate::QQuickWebViewPrivate):
2904         * UIProcess/qt/PageViewportControllerClientQt.cpp:
2905         (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
2906
2907 2012-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2908
2909         Unreviewed, rolling out r136788.
2910         http://trac.webkit.org/changeset/136788
2911         https://bugs.webkit.org/show_bug.cgi?id=104260
2912
2913         Asserts on EFL WebKit2 Debug bot (Requested by yael on
2914         #webkit).
2915
2916         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2917         (WebKit::LayerTreeRenderer::setLayerState):
2918         (WebKit::LayerTreeRenderer::setRootLayerID):
2919         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2920         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
2921         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
2922         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
2923         (LayerTreeCoordinator):
2924
2925 2012-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2926
2927         Unreviewed, rolling out r136795.
2928         http://trac.webkit.org/changeset/136795
2929         https://bugs.webkit.org/show_bug.cgi?id=104257
2930
2931         Asserts on EFL WebKit2 Debug bot (Requested by yael on
2932         #webkit).
2933
2934         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2935         (WebKit::LayerTreeRenderer::setRootLayerID):
2936
2937 2012-12-06  Shinya Kawanaka  <shinyak@chromium.org>
2938
2939         Internals.getElementByIdInShadowRoot is nonsense now.
2940         https://bugs.webkit.org/show_bug.cgi?id=104241
2941
2942         Reviewed by Kent Tamura.
2943
2944         * win/WebKit2.def.in:
2945
2946 2012-12-06  Christophe Dumez  <christophe.dumez@intel.com>
2947
2948         [EFL][WK2] Context clients should unregister themselves when destroyed
2949         https://bugs.webkit.org/show_bug.cgi?id=104113
2950
2951         Reviewed by Kenneth Rohde Christiansen.
2952
2953         Make sure the context clients (History and Download clients)
2954         unregister themselves when destroyed to make sure their
2955         callback functions are never called after the client objects
2956         have been destroyed (i.e. when the parent Ewk_Context has
2957         been destroyed).
2958
2959         This addresses crashing issues after a Ewk_Context object
2960         gets unref'd and destroyed.
2961
2962         * UIProcess/efl/ContextHistoryClientEfl.cpp:
2963         (WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl):
2964         (WebKit):
2965         (WebKit::ContextHistoryClientEfl::~ContextHistoryClientEfl):
2966         * UIProcess/efl/ContextHistoryClientEfl.h:
2967         (ContextHistoryClientEfl):
2968         * UIProcess/efl/DownloadManagerEfl.cpp:
2969         (WebKit::DownloadManagerEfl::~DownloadManagerEfl):
2970         (WebKit):
2971         * UIProcess/efl/DownloadManagerEfl.h:
2972         (DownloadManagerEfl):
2973
2974 2012-12-05  Huang Dongsung  <luxtella@company100.net>
2975
2976         Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
2977         https://bugs.webkit.org/show_bug.cgi?id=103843
2978
2979         Reviewed by Noam Rosenthal.
2980
2981         Clarify LayerTreeRenderer::setRootLayerID() can be called only once during its
2982         lifecycle. LayerTreeRenderer, LayerTreeCoordinator and LayerTreeCoordinatorProxy
2983         have the same lifecycle to WebPage and the root layer is reused even if loading
2984         new page, so it is impossible to call LayerTreeRenderer::setRootLayerID() more
2985         than twice.
2986
2987         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2988         (WebKit::LayerTreeRenderer::setRootLayerID):
2989
2990 2012-12-05  Brent Fulgham  <bfulgham@webkit.org>
2991
2992         [Windows, WinCairo] Regenerate .def files on changes
2993         https://bugs.webkit.org/show_bug.cgi?id=104136
2994
2995         Reviewed by Tim Horton.
2996
2997         The new .def file generator is not regenerating the link
2998         export definitions once it creates the definition file
2999         the first time. You must clean the build directory for
3000         new symbols to be added (or removed).
3001
3002         * win/WebKit2.vcproj: Change the WebKit2.def file reference to
3003           point to the generated version of the file.
3004         * win/WebKit2ExportGenerator.vcproj: Add WebKit2.def.in as a source
3005           file that participates in the build so that Visual Studio knows
3006           to build the project when the file changes.
3007         * win/WebKit2ExportGeneratorBuildCmd.cmd: Added. Refactor build
3008           command into its own shell script.
3009         * win/WebKit2ExportGeneratorPostBuild.cmd: Call new BuildCmd script.
3010         * win/WebKit2ExportGeneratorPreBuild.cmd: Delete the old generator
3011           and definition files to ensure a clean build.
3012
3013 2012-12-05  Halton Huo  <halton.huo@intel.com>
3014
3015         [CMake] Unify coding style for CMake files
3016         https://bugs.webkit.org/show_bug.cgi?id=103605
3017
3018         Reviewed by Laszlo Gombos.
3019
3020         Update cmake files(.cmake, CMakeLists.txt) with following style rules:
3021         1. Indentation
3022         1.1 Use spaces, not tabs.
3023         1.2 Four spaces as indent.
3024         2. Spacing
3025         2.1 Place one space between control statements and their parentheses.
3026             For eg, if (), else (), elseif (), endif (), foreach (),
3027             endforeach (), while (), endwhile (), break ().
3028         2.2 Do not place spaces between function and macro statements and
3029             their parentheses. For eg, macro(), endmacro(), function(),
3030             endfunction().
3031         2.3 Do not place spaces between a command or function or macro and its
3032             parentheses, or between a parenthesis and its content. For eg,
3033             message("testing") not message( "testing") or message ("testing" )
3034         2.4 No space at line ending.
3035         3. Lowercase when call commands macros and functions. For eg,
3036            add_executable() not ADD_EXECUTABLE(), set() not SET().
3037
3038         * CMakeLists.txt:
3039         * PlatformEfl.cmake:
3040         * win/WebKit2ExportGenerator.vcproj:
3041         * win/WebKit2ExportGeneratorCommon.vsprops:
3042
3043 2012-12-05  Huang Dongsung  <luxtella@company100.net>
3044
3045         Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
3046         https://bugs.webkit.org/show_bug.cgi?id=103843
3047
3048         Reviewed by Noam Rosenthal.
3049
3050         Send SetRootCompositingLayer message to the UI process in the
3051         constructor instead of sending it on the first flush.
3052
3053         This is in preparation for refactoring TextureMapper to work in an actor
3054         model (http://webkit.org/b/103854).
3055
3056         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
3057         (WebKit::LayerTreeRenderer::setLayerState):
3058         (WebKit::LayerTreeRenderer::setRootLayerID):
3059         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
3060         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
3061         (WebKit::LayerTreeCoordinator::initializeRootCompositingLayer):
3062         (WebKit):
3063         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
3064         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
3065         (LayerTreeCoordinator):
3066
3067 2012-12-05  Jinwoo Song  <jinwoo7.song@samsung.com>
3068
3069         [EFL][WK2] Don't use the C API internally in ewk_cookie_manager
3070         https://bugs.webkit.org/show_bug.cgi?id=103243
3071
3072         Reviewed by Gyuyoung Kim.
3073
3074         Used the C++ classes directly instead of the C API wrappers
3075         to avoid a lot of toImpl/toAPI casts.
3076
3077         * UIProcess/API/efl/ewk_context.cpp:
3078         (EwkContext::cookieManager):
3079         * UIProcess/API/efl/ewk_cookie_manager.cpp:
3080         (EwkCookieManager::EwkCookieManager):
3081         (EwkCookieManager::~EwkCookieManager):
3082         (EwkCookieManager::setPersistentStorage):
3083         (EwkCookieManager::setHTTPAcceptPolicy):
3084         (EwkCookieManager::clearHostnameCookies):
3085         (EwkCookieManager::clearAllCookies):
3086         (EwkCookieManager::watchChanges):
3087         (EwkCookieManager::getHostNamesWithCookies):
3088         (EwkCookieManager::getHTTPAcceptPolicy):
3089         * UIProcess/API/efl/ewk_cookie_manager_private.h:
3090         (EwkCookieManager::create):
3091         (EwkCookieManager):
3092
3093 2012-12-05  No'am Rosenthal  <noam@webkit.org>
3094
3095         Coordinated Graphics: Enable support for setContentsToBackgroundColor
3096         https://bugs.webkit.org/show_bug.cgi?id=104128
3097
3098         Reviewed by Kenneth Rohde Christiansen.
3099
3100         Enable setContentsToBackgroundColor in CoordinatedGraphicsLayer, and pass it through to the UI process.
3101
3102         * Shared/WebLayerTreeInfo.h:
3103         (WebLayerInfo):
3104         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
3105         (WebKit::LayerTreeRenderer::setLayerState):
3106         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
3107         (WebCore::CoordinatedGraphicsLayer::setContentsToBackgroundColor):
3108         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
3109         (CoordinatedGraphicsLayer):
3110
3111 2012-12-05  Alexey Proskuryakov  <ap@apple.com>
3112
3113         <rdar://problem/12809890> Should allow sandbox lookup of com.apple.tccd
3114
3115         Reviewed by Beth Dakin and Dan Bernstein.
3116
3117         * WebProcess/com.apple.WebProcess.sb.in:
3118
3119 2012-12-05  Alexey Proskuryakov  <ap@apple.com>
3120
3121         [WK2] Would like to queue messages while NetworkProcess is launching
3122         https://bugs.webkit.org/show_bug.cgi?id=104143
3123
3124         Reviewed by Anders Carlsson.
3125
3126         Factored out process launching and message sending code to a ChildProcessProxy class.
3127         Process closing and crashing code should be moved once we better understand common
3128         requirements for the processes.
3129
3130         * CMakeLists.txt:
3131         * GNUmakefile.list.am:
3132         * Target.pri:
3133         * WebKit2.xcodeproj/project.pbxproj:
3134         * win/WebKit2.vcproj:
3135         Added ChildProcessProxy files.
3136
3137         * Shared/ChildProcessProxy.cpp: Added.
3138         (WebKit::ChildProcessProxy::ChildProcessProxy):
3139         (WebKit::ChildProcessProxy::~ChildProcessProxy):
3140         (WebKit::ChildProcessProxy::fromConnection):
3141         (WebKit::ChildProcessProxy::connect):
3142         (WebKit::ChildProcessProxy::terminate):
3143         (WebKit::ChildProcessProxy::sendMessage):
3144         (WebKit::ChildProcessProxy::isLaunching):
3145         (WebKit::ChildProcessProxy::didFinishLaunching):
3146         (WebKit::ChildProcessProxy::clearConnection):
3147         * Shared/ChildProcessProxy.h: Added.
3148         (WebKit::ChildProcessProxy::connection):
3149         (WebKit::ChildProcessProxy::isValid):
3150         (WebKit::ChildProcessProxy::canSendMessage):
3151         (WebKit::ChildProcessProxy::processIdentifier):
3152         (WebKit::ChildProcessProxy::send):
3153         (WebKit::ChildProcessProxy::sendSync):
3154         Moved code from WebProcessProxy. Every ChildProcessProxy is a connection client,
3155         but every one is a connection queue client, so that latter is passed as an argument.
3156
3157         * UIProcess/Network/NetworkProcessProxy.h:
3158         * UIProcess/Network/NetworkProcessProxy.cpp:
3159         Removed unused syncMessageSendTimedOut(), thank you OVERRIDE.
3160
3161         * UIProcess/Network/NetworkProcessProxy.cpp:
3162         (WebKit::NetworkProcessProxy::NetworkProcessProxy):
3163         (WebKit::NetworkProcessProxy::getLaunchOptions):
3164         (WebKit::NetworkProcessProxy::~NetworkProcessProxy):
3165         (WebKit::NetworkProcessProxy::getNetworkProcessConnection):
3166         (WebKit::NetworkProcessProxy::didFinishLaunching):
3167         * UIProcess/Network/NetworkProcessProxy.h:
3168         * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
3169         (WebKit::NetworkProcessProxy::setApplicationIsOccluded):
3170         * UIProcess/WebProcessProxy.cpp:
3171         (WebKit::WebProcessProxy::WebProcessProxy):
3172         (WebKit::WebProcessProxy::~WebProcessProxy):
3173         (WebKit::WebProcessProxy::getLaunchOptions):
3174         (WebKit::WebProcessProxy::disconnect):
3175         (WebKit::WebProcessProxy::didFinishLaunching):
3176         Use shared code.
3177
3178         * UIProcess/WebProcessProxy.h: (WebKit::WebProcessProxy::fromConnection):
3179         NetworkProcess inherits from conneciton client privately, so we need to do most
3180         of the work in ClientProcessProxy, and further upcast here.
3181
3182         * UIProcess/efl/WebProcessProxyEfl.cpp:
3183         (WebKit::WebProcessProxy::platformGetLaunchOptions):
3184         * UIProcess/gtk/WebProcessProxyGtk.cpp:
3185         (WebKit::WebProcessProxy::platformGetLaunchOptions):
3186         * UIProcess/mac/WebProcessProxyMac.mm:
3187         (WebKit::WebProcessProxy::platformGetLaunchOptions):
3188         * UIProcess/qt/WebProcessProxyQt.cpp:
3189         (WebKit::WebProcessProxy::platformGetLaunchOptions):
3190         * UIProcess/win/WebProcessProxyWin.cpp:
3191         (WebKit::WebProcessProxy::platformGetLaunchOptions):
3192         Updated for renaming, platformConnect -> platformGetLaunchOptions().
3193
3194 2012-12-05  Kiran Muppala  <cmuppala@apple.com>
3195
3196         WebKit2 child processes need to initialize timer coalescing policy on Mac.
3197         https://bugs.webkit.org/show_bug.cgi?id=103613
3198
3199         Reviewed by Mark Rowe.
3200
3201         Set timer coalescing policy of WebKit2 child processes to that of visible applications
3202         until they can manage the policy based on UI process visibility.
3203
3204         * Shared/mac/ChildProcessMac.mm:
3205         (WebKit::initializeTimerCoalescingPolicy): Set task_latency and task_throughput QOS tiers as appropriate
3206         for visible applications.
3207         (WebKit::ChildProcess::platformInitialize): Add call to initializeTimerCoalescingPolicy.
3208
3209 2012-12-05  Anders Carlsson  <andersca@apple.com>
3210
3211         Connection::waitForMessage shouldn't use the message ID
3212         https://bugs.webkit.org/show_bug.cgi?id=104157
3213
3214         Reviewed by Andreas Kling.
3215
3216         Pass the message receiver name and message name to waitForMessage and use them for lookups instead of
3217         the message ID.
3218
3219         * Platform/CoreIPC/Connection.cpp:
3220         (CoreIPC::Connection::createSyncMessageEncoder):
3221         (CoreIPC::Connection::waitForMessage):
3222         (CoreIPC::Connection::processIncomingMessage):
3223         * Platform/CoreIPC/Connection.h:
3224         (CoreIPC::Connection::waitForAndDispatchImmediately):
3225
3226 2012-12-05  Jae Hyun Park  <jae.park@company100.net>
3227
3228         Coordinated Graphics: Move AreaAllocator and UpdateAtlas to CoordinatedGraphics
3229         https://bugs.webkit.org/show_bug.cgi?id=103864
3230
3231         Reviewed by Noam Rosenthal.
3232
3233         AreaAllocator and UpdateAtlas are only used for Coordinated Graphics.
3234         So, these should be moved to CoordinatedGraphics to clarify the code.
3235
3236         No new test, because no change of behavior.
3237
3238         * CMakeLists.txt:
3239         * Target.pri:
3240         * WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/AreaAllocator.cpp.
3241         (WebKit):
3242         (WebKit::AreaAllocator::AreaAllocator):
3243         (WebKit::AreaAllocator::~AreaAllocator):
3244         (WebKit::AreaAllocator::expand):
3245         (WebKit::AreaAllocator::expandBy):
3246         (WebKit::AreaAllocator::release):
3247         (WebKit::AreaAllocator::overhead):
3248         (WebKit::AreaAllocator::roundAllocation):
3249         (WebKit::GeneralAreaAllocator::GeneralAreaAllocator):
3250         (WebKit::GeneralAreaAllocator::~GeneralAreaAllocator):
3251         (WebKit::GeneralAreaAllocator::freeNode):
3252         (WebKit::GeneralAreaAllocator::expand):
3253         (WebKit::fitsWithin):
3254         (WebKit::GeneralAreaAllocator::allocate):
3255         (WebKit::GeneralAreaAllocator::allocateFromNode):
3256         (WebKit::GeneralAreaAllocator::splitNode):
3257         (WebKit::GeneralAreaAllocator::updateLargestFree):
3258         (WebKit::GeneralAreaAllocator::release):
3259         (WebKit::GeneralAreaAllocator::overhead):
3260         * WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.h: Renamed from Source/WebKit2/WebProcess/WebPage/AreaAllocator.h.
3261         (WebCore::nextPowerOfTwo):
3262         (WebCore):
3263         (WebKit):
3264         (AreaAllocator):
3265         (WebKit::AreaAllocator::size):
3266         (WebKit::AreaAllocator::minimumAllocation):
3267         (WebKit::AreaAllocator::setMinimumAllocation):
3268         (WebKit::AreaAllocator::margin):
3269         (WebKit::AreaAllocator::setMargin):
3270         (GeneralAreaAllocator):
3271         (Node):
3272         * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/UpdateAtlas.cpp.
3273         (WebKit):
3274         (WebKit::UpdateAtlas::UpdateAtlas):
3275         (WebKit::UpdateAtlas::~UpdateAtlas):
3276         (WebKit::UpdateAtlas::buildLayoutIfNeeded):
3277         (WebKit::UpdateAtlas::didSwapBuffers):
3278         (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
3279         * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h: Renamed from Source/WebKit2/WebProcess/WebPage/UpdateAtlas.h.
3280         (WebCore):
3281         (WebKit):
3282         (UpdateAtlasClient):
3283         (UpdateAtlas):
3284         (WebKit::UpdateAtlas::size):
3285         (WebKit::UpdateAtlas::flags):
3286         (WebKit::UpdateAtlas::addTimeInactive):
3287         (WebKit::UpdateAtlas::isInactive):
3288         (WebKit::UpdateAtlas::isInUse):
3289
3290 2012-12-05  Michael Brüning  <michael.bruning@digia.com>
3291
3292         Fix compilation for Qt5.0.0 stable branch.
3293         https://bugs.webkit.org/show_bug.cgi?id=103870
3294
3295         Reviewed by Simon Hausmann.
3296
3297         QWindow::pos() and QQuickItem::pos() have been renamed to position().
3298         Patch by Lars Knoll <lars.knoll@digia.com>
3299
3300         * UIProcess/qt/PageViewportControllerClientQt.cpp:
3301         (WebKit::PageViewportControllerClientQt::setContentRectVisiblePositionAtScale):
3302         (WebKit::PageViewportControllerClientQt::setViewportPosition):
3303
3304 2012-12-05  Christophe Dumez  <christophe.dumez@intel.com>
3305
3306         [EFL][WK2] EWK2UnitTestBase.ewk_favicon_database_async_icon_get is crashing with new Ewk_Context
3307         https://bugs.webkit.org/show_bug.cgi?id=104110
3308
3309         Reviewed by Laszlo Gombos.
3310
3311         Unregister the WKFaviconDatabase client in EwkFaviconDatabase
3312         destructor to avoid crashing if the callbacks get called
3313         after the EwkFaviconDatabase object has been destroyed (i.e.
3314         the parent EwkContext object was destroyed).
3315
3316         * UIProcess/API/efl/ewk_favicon_database.cpp:
3317         (EwkFaviconDatabase::~EwkFaviconDatabase):
3318
3319 2012-12-05  Andras Becsi  <andras.becsi@digia.com>
3320
3321         [Qt][WK2] REGRESSION(r135399): It made qmltests::DoubleTapToZoom::test_double_zoomInAndBack() API test fail
3322         https://bugs.webkit.org/show_bug.cgi?id=103889
3323
3324         Reviewed by Jocelyn Turcotte.
3325
3326         The client should always be notified in PageViewportController::didChangeViewportAttributes
3327         about the changed attributes not only if the minimum scale changed. This ensures that these
3328         changes are propagated to QWebKitTest and the zoom stack of double-tap-to-zoom is reset correctly.
3329         Also increase precision of scale comparisons since the current value resulted in flakyness in
3330         scale related API tests.
3331
3332         * UIProcess/PageViewportController.cpp:
3333         (WebKit::PageViewportController::didChangeViewportAttributes):
3334         (WebKit::PageViewportController::updateMinimumScaleToFit):
3335
3336 2012-12-05  Christophe Dumez  <christophe.dumez@intel.com>
3337
3338         [CoordinatedGraphics] Use unsigned integers for CoordinatedTile IDs
3339         https://bugs.webkit.org/show_bug.cgi?id=103816
3340
3341         Reviewed by Jocelyn Turcotte.
3342
3343         Use unsigned integer for CoordinatedTile identifier type.
3344         CoordinatedTile was previously using signed integers for
3345         its identifier which is unsafe because the generated ID
3346         will overflow at some point and the C and C++ language
3347         standards say that overflow of a signed value is undefined
3348         behaviour.
3349
3350         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
3351         (WebKit::CoordinatedBackingStore::createTile):
3352         (WebKit::CoordinatedBackingStore::removeTile):
3353         (WebKit::CoordinatedBackingStore::removeAllTiles):
3354         (WebKit::CoordinatedBackingStore::updateTile):
3355         (WebKit::CoordinatedBackingStore::texture):
3356         (WebKit::CoordinatedBackingStore::paintToTextureMapper):
3357         (WebKit::CoordinatedBackingStore::commitTileOperations):
3358         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
3359         (CoordinatedBackingStore):
3360         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
3361         (WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
3362         (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
3363         (WebKit::LayerTreeCoordinatorProxy::removeTileForLayer):
3364         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
3365         (LayerTreeCoordinatorProxy):
3366         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
3367         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
3368         (WebKit::LayerTreeRenderer::createTile):
3369         (WebKit::LayerTreeRenderer::removeTile):
3370         (WebKit::LayerTreeRenderer::updateTile):
3371         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
3372         (LayerTreeRenderer):
3373         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
3374         (WebCore::CoordinatedGraphicsLayer::createTile):
3375         (WebCore::CoordinatedGraphicsLayer::updateTile):
3376         (WebCore::CoordinatedGraphicsLayer::removeTile):
3377         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
3378         (CoordinatedGraphicsLayerClient):
3379         (CoordinatedGraphicsLayer):
3380         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
3381         (WebKit):
3382         (WebKit::CoordinatedTile::CoordinatedTile):
3383         (WebKit::CoordinatedTile::~CoordinatedTile):
3384         (WebKit::CoordinatedTile::updateBackBuffer):
3385         (WebKit::CoordinatedTile::isReadyToPaint):
3386         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
3387         (CoordinatedTile):
3388         (CoordinatedTileClient):
3389         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
3390         (WebKit::LayerTreeCoordinator::createTile):
3391         (WebKit::LayerTreeCoordinator::updateTile):
3392         (WebKit::LayerTreeCoordinator::removeTile):
3393         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
3394         (LayerTreeCoordinator):
3395
3396 2012-12-05  Yuni Jeong  <yhnet.jung@samsung.com>
3397
3398         [EFL][WK2] Add APIs to get/set private browsing.
3399         https://bugs.webkit.org/show_bug.cgi?id=102052
3400
3401         Reviewed by Gyuyoung Kim.
3402
3403         Private Browsing allows a user to browse the Internet without saving any information about which sites and pages a user has visited.
3404
3405         * UIProcess/API/efl/ewk_settings.cpp:
3406         (ewk_settings_private_browsing_enabled_set):
3407         (ewk_settings_private_browsing_enabled_get):
3408         * UIProcess/API/efl/ewk_settings.h:
3409         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
3410         (TEST_F):
3411
3412 2012-12-05  Joaquim Rocha  <jrocha@igalia.com>
3413
3414         URL schemes registered as local, no access, display isolated and as CORS enabled are not registered again after a web process crash
3415         https://bugs.webkit.org/show_bug.cgi?id=104013
3416
3417         Reviewed by Darin Adler.
3418
3419         * WebProcess/WebProcess.cpp:
3420         (WebKit::WebProcess::initializeWebProcess): Iterate through the schemes stored in
3421         urlSchemesRegisteredAsLocal, urlSchemesRegisteredAsNoAccess,
3422         urlSchemesRegisteredAsDisplayIsolated and urlSchemesRegisteredAsCORSEnabled and
3423         call the respective (already existing) methods for registering them.
3424
3425 2012-12-04  Yuni Jeong  <yhnet.jung@samsung.com>
3426
3427         [EFL][WK2] Add APIs to get/set default font size.
3428         https://bugs.webkit.org/show_bug.cgi?id=101921
3429
3430         Reviewed by Gyuyoung Kim.
3431
3432         Add setting APIs for default font size and a unit test.
3433
3434         * UIProcess/API/efl/ewk_settings.cpp:
3435         (ewk_settings_default_font_size_set):
3436         (ewk_settings_default_font_size_get):
3437         * UIProcess/API/efl/ewk_settings.h:
3438         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
3439         (TEST_F):
3440
3441 2012-12-04  Anders Carlsson  <andersca@apple.com>
3442
3443         Remove #ifs that are always true
3444         https://bugs.webkit.org/show_bug.cgi?id=104080
3445
3446         Reviewed by Andreas Kling.
3447
3448         __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070 is always true, so remove all the #ifs.
3449
3450         * PluginProcess/mac/PluginProcessMac.mm:
3451         (WebKit::initializeSandbox):
3452         (WebKit::PluginProcess::platformInitialize):
3453         * Shared/DictionaryPopupInfo.cpp:
3454         (WebKit::DictionaryPopupInfo::encode):
3455         (WebKit::DictionaryPopupInfo::decode):
3456         * Shared/DictionaryPopupInfo.h:
3457         * Shared/mac/WebEventFactory.mm:
3458         (WebKit::phaseForEvent):
3459         (WebKit::momentumPhaseForEvent):
3460         * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
3461         (WebKit::initializeSandbox):
3462         (WebKit::SharedWorkerProcess::platformInitialize):
3463         * UIProcess/API/mac/PDFViewController.mm:
3464         (WebKit::PDFViewScrollView_scrollWheel):
3465         (WebKit::PDFViewController::pdfKitBundle):
3466         * UIProcess/API/mac/PageClientImpl.mm:
3467         (WebKit::PageClientImpl::didPerformDictionaryLookup):
3468         (WebKit::PageClientImpl::dismissDictionaryLookupPanel):
3469         (WebKit::PageClientImpl::recordAutocorrectionResponse):
3470         (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
3471         * UIProcess/API/mac/WKView.mm:
3472         (-[WKView displayIfNeeded]):
3473         (-[WKView draggingUpdated:]):
3474         (-[WKView viewDidMoveToWindow]):
3475         (-[WKView _intrinsicDeviceScaleFactor]):
3476         (-[WKView _cacheWindowBottomCornerRect]):
3477         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
3478         (+[WKView hideWordDefinitionWindow]):
3479         * UIProcess/Launcher/mac/EnvironmentVariables.cpp:
3480         * UIProcess/Launcher/mac/EnvironmentVariables.h:
3481         (EnvironmentVariables):
3482         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
3483         (WebKit::addDYLDEnvironmentAdditions):
3484         (WebKit::createWebProcessServiceForWebKitDevelopment):
3485         (WebKit):
3486         (WebKit::tryPreexistingProcess):
3487         (WebKit::createProcess):
3488         (WebKit::ProcessLauncher::launchProcess):
3489         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
3490         (WebKit::PluginInfoStore::shouldUsePlugin):
3491         (WebKit::PluginInfoStore::reactivateInactivePlugin):
3492         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
3493         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
3494         * UIProcess/WebPageProxy.cpp:
3495         (WebKit::WebPageProxy::didCommitLoadForFrame):
3496         (WebKit::WebPageProxy::pageDidScroll):
3497         (WebKit::WebPageProxy::processDidCrash):
3498         (WebKit::WebPageProxy::recordAutocorrectionResponse):
3499         (WebKit::WebPageProxy::handleAlternativeTextUIResult):
3500         * UIProcess/WebPageProxy.h:
3501         (WebPageProxy):
3502         * UIProcess/WebPageProxy.messages.in:
3503         * UIProcess/mac/TextCheckerMac.mm:
3504         (WebKit::initializeState):
3505         (WebKit::TextChecker::getGuessesForWord):
3506         * UIProcess/mac/WKFullScreenWindowController.mm:
3507         (convertRectToScreen):
3508         * UIProcess/mac/WebContextMac.mm:
3509         (WebKit::WebContext::platformInitializeWebProcess):
3510         * WebKit2Prefix.h:
3511         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
3512         (WebKit::NPN_GetValue):
3513         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
3514         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
3515         (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
3516         * WebProcess/WebCoreSupport/WebEditorClient.h:
3517         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3518         (InitWebCoreSystemInterface):
3519         * WebProcess/WebPage/WebPage.cpp:
3520         (WebKit):
3521         * WebProcess/WebPage/WebPage.h:
3522         (WebPage):
3523         * WebProcess/WebPage/WebPage.messages.in:
3524         * WebProcess/WebPage/mac/WebPageMac.mm:
3525         (WebKit::WebPage::performDictionaryLookupAtLocation):
3526         (WebKit::WebPage::performDictionaryLookupForSelection):
3527         (WebKit::WebPage::performDictionaryLookupForRange):
3528         * WebProcess/mac/SecItemShimMethods.mm:
3529         * WebProcess/mac/WebProcessMac.mm:
3530         (WebKit::WebProcess::secItemResponse):
3531         * WebProcess/mac/WebProcessMainMac.mm:
3532         (WebKit::WebProcessMain):
3533         * WebProcessService/WebProcessServiceMain.mm:
3534         (main):
3535         * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
3536         (WebProcessServiceForWebKitDevelopmentEventHandler):
3537         (main):
3538
3539 2012-12-04  Anders Carlsson  <andersca@apple.com>
3540
3541         Remove more Snow Leopard only code
3542         https://bugs.webkit.org/show_bug.cgi?id=104079
3543
3544         Reviewed by Andreas Kling.
3545
3546         All of the SecKeychainItem code was Snow Leopard only.
3547
3548         * Shared/mac/SecKeychainItemRequestData.cpp: Removed.
3549         * Shared/mac/SecKeychainItemRequestData.h: Removed.
3550         * Shared/mac/SecKeychainItemResponseData.cpp: Removed.
3551         * Shared/mac/SecKeychainItemResponseData.h: Removed.
3552         * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
3553         * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
3554         * UIProcess/WebProcessProxy.h:
3555         (WebProcessProxy):
3556         * UIProcess/WebProcessProxy.messages.in:
3557         * UIProcess/mac/WebProcessProxyMac.mm:
3558         * WebKit2.xcodeproj/project.pbxproj:
3559         * WebProcess/WebProcess.h:
3560         * WebProcess/WebProcess.messages.in:
3561         * WebProcess/mac/KeychainItemShimMethods.h: Removed.
3562         * WebProcess/mac/KeychainItemShimMethods.mm: Removed.
3563         * WebProcess/mac/WebProcessMac.mm:
3564         (WebKit::WebProcess::initializeShim):
3565         * WebProcess/mac/WebProcessShim.mm:
3566
3567 2012-12-04  Anders Carlsson  <andersca@apple.com>
3568
3569         Remove PageClient::didChangeScrollbarsForMainFrame
3570         https://bugs.webkit.org/show_bug.cgi?id=104077
3571
3572         Reviewed by Andreas Kling.
3573
3574         The aforementioned function was only used to implement some Snow Leopard specific behavior that we no longer support.
3575
3576         * UIProcess/API/gtk/PageClientImpl.cpp:
3577         * UIProcess/API/gtk/PageClientImpl.h:
3578         (PageClientImpl):
3579         * UIProcess/API/mac/PageClientImpl.h:
3580         (PageClientImpl):
3581         * UIProcess/API/mac/PageClientImpl.mm:
3582         * UIProcess/API/mac/WKView.mm:
3583         (-[WKView viewWillMoveToWindow:]):
3584         * UIProcess/API/mac/WKViewInternal.h:
3585         * UIProcess/API/qt/raw/qrawwebview_p_p.h:
3586         * UIProcess/PageClient.h:
3587         (PageClient):
3588         * UIProcess/WebPageProxy.cpp:
3589         (WebKit::WebPageProxy::didChangeScrollbarsForMainFrame):
3590         * UIProcess/efl/PageClientBase.cpp:
3591         (WebKit):
3592         * UIProcess/efl/PageClientBase.h:
3593         (PageClientBase):
3594         * UIProcess/qt/QtPageClient.h:
3595         * UIProcess/win/WebView.cpp:
3596         * UIProcess/win/WebView.h:
3597         (WebView):
3598
3599 2012-12-04  Andy Estes  <aestes@apple.com>
3600
3601         [WebKit2] WKWebProcessPlugInBrowserContextControllers should be treated as type WKBrowsingContextControllerType for encoding purposes
3602         https://bugs.webkit.org/show_bug.cgi?id=104063
3603
3604         Reviewed by Sam Weinig.
3605
3606         Objective-C message graphs can include browsing context controller
3607         objects, which are decoded as WKWebProcessPlugInBrowserContextControllers
3608         in the web process plug-in and as WKBrowsingContextControllers in the UI
3609         process. Ensure we correctly encode WKWebProcessPlugInBrowserContextControllers
3610         by treating them as type WKBrowsingContextControllerType.
3611
3612         * Shared/mac/ObjCObjectGraphCoders.mm:
3613         (WebKit::typeFromObject):
3614
3615 2012-12-04  Simon Fraser  <simon.fraser@apple.com>
3616
3617         Show a mini visualizer for the tile cache tiles
3618         https://bugs.webkit.org/show_bug.cgi?id=104053
3619
3620         Reviewed by Beth Dakin.
3621
3622         Plumb through a preference that controls the visibility of a tiled
3623         scrolling indicator, and parent that layer in the TiledCoreAnimationDrawingArea.
3624
3625         * Shared/WebPreferencesStore.h:
3626         * UIProcess/API/C/WKPreferences.cpp:
3627         (WKPreferencesSetTiledScrollingIndicatorVisible):
3628         (WKPreferencesGetTiledScrollingIndicatorVisible):
3629         * UIProcess/API/C/WKPreferencesPrivate.h:
3630         * WebProcess/WebPage/WebPage.cpp:
3631         (WebKit::WebPage::updatePreferences):
3632         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3633         (TiledCoreAnimationDrawingArea):
3634         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3635         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
3636         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
3637         (WebKit::TiledCoreAnimationDrawingArea::mainFrameTiledBacking):
3638         (WebKit::TiledCoreAnimationDrawingArea::updateDebugInfoLayer):
3639
3640 2012-12-04  Anders Carlsson  <andersca@apple.com>
3641
3642         Set the visible process name before entering the sandbox
3643         https://bugs.webkit.org/show_bug.cgi?id=104030
3644         <rdar://problem/12800317>
3645
3646         Reviewed by Sam Weinig.
3647
3648         Pass the UI process name along as a process initialization parameter so we can set it
3649         before entering the sandbox. Remove the UI process name from WebProcessCreationParameters.
3650
3651         * Shared/WebProcessCreationParameters.cpp:
3652         (WebKit::WebProcessCreationParameters::encode):
3653         (WebKit::WebProcessCreationParameters::decode):
3654         * Shared/WebProcessCreationParameters.h:
3655         (WebProcessCreationParameters):
3656         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
3657         (WebKit::connectToWebProcessServiceForWebKitDevelopment):
3658         (WebKit::createWebProcessService):
3659         (WebKit::createProcess):
3660         * UIProcess/mac/WebContextMac.mm:
3661         (WebKit::WebContext::platformInitializeWebProcess):
3662         * WebProcess/mac/WebProcessInitialization.h:
3663         (WebProcessInitializationParameters):
3664         * WebProcess/mac/WebProcessInitialization.mm:
3665         (WebKit::initializeWebProcess):
3666         * WebProcess/mac/WebProcessMac.mm:
3667         (WebKit::WebProcess::platformInitializeWebProcess):
3668         * WebProcess/mac/WebProcessMainMac.mm:
3669         (WebKit::WebProcessMain):
3670         * WebProcess/mac/WebProcessServiceEntryPoints.h:
3671         * WebProcess/mac/WebProcessServiceEntryPoints.mm:
3672         (WebKit::WebProcessServiceEventHandler):
3673         (initializeWebProcessForWebProcessServiceForWebKitDevelopment):
3674         * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
3675         (WebProcessServiceForWebKitDevelopmentEventHandler):
3676
3677 2012-12-03  Alexey Proskuryakov  <ap@apple.com>
3678
3679         [WK2] Track private browsing session explicitly
3680         <rdar://problem/12714532>
3681         https://bugs.webkit.org/show_bug.cgi?id=103953
3682
3683         Reviewed by Jessie Berlin.
3684
3685         * Shared/WebProcessCreationParameters.cpp: (WebKit::WebProcessCreationParameters::encode):
3686         Fixed a confusing ifdef - this code is inside PLATFORM(WIN), so PLATFORM(MAC)
3687         makes no sense.
3688
3689         * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetPrivateBrowsingEnabled):
3690         This is the only place in WK2 where we can learn that private browsing got disabled -
3691         no other functions are called when there are no pages open.
3692
3693         * UIProcess/WebContext.h:
3694         * UIProcess/WebContext.cpp:
3695         (WebKit::WebContext::willStartUsingPrivateBrowsing):
3696         (WebKit::WebContext::willStopUsingPrivateBrowsing):
3697         Count the number of API calls. We only implement a single shared private browsing
3698         session, not one per page group as API implies. When private browsing gets disabled,
3699         we want to destroy its session.
3700
3701         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences):
3702         Ensure a private browsing session if the current page needs it.
3703
3704         * WebProcess/WebProcess.h:
3705         * WebProcess/WebProcess.messages.in:
3706         * WebProcess/WebProcess.cpp:
3707         (WebKit::WebProcess::ensurePrivateBrowsingSession):
3708         (WebKit::WebProcess::destroyPrivateBrowsingSession):
3709         Call through to WebFrameNetworkingContext.
3710
3711 2012-12-04  Yuni Jeong  <yhnet.jung@samsung.com>
3712
3713         [EFL][WK2] Add APIs to toggle plug-ins support.
3714         https://bugs.webkit.org/show_bug.cgi?id=101920
3715
3716         Reviewed by Gyuyoung Kim.
3717
3718         Add setting APIs to toggle plug-ins support and add corresponding API tests.
3719
3720         * UIProcess/API/efl/ewk_settings.cpp:
3721         (ewk_settings_plugins_enabled_set):
3722         (ewk_settings_plugins_enabled_get):
3723         * UIProcess/API/efl/ewk_settings.h:
3724         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
3725         (TEST_F):
3726
3727 2012-12-04  Andras Becsi  <andras.becsi@digia.com>
3728
3729         [Qt][WK2] Do not override previously set flags of QQuickWebView when enabling drag&drop
3730         https://bugs.webkit.org/show_bug.cgi?id=103901
3731
3732         Reviewed by Jocelyn Turcotte.
3733
3734         Setting the specific flag instead of resetting all the flags
3735         when enabling QQuickItem::ItemAcceptsDrops.
3736         This fixes clipping of the contents of QQuickWebView.
3737
3738         * UIProcess/API/qt/qquickwebview.cpp:
3739         (QQuickWebViewPrivate::initialize):
3740
3741 2012-12-04  Carlos Garcia Campos  <cgarcia@igalia.com>
3742
3743         [GTK] Avoid unnecessary heap allocations during drag and drop operations
3744         https://bugs.webkit.org/show_bug.cgi?id=87938
3745
3746         Reviewed by Martin Robinson.
3747
3748         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3749         (webkitWebViewBaseDragDataReceived): Create DragData for the given
3750         DataObjectGtk in the stack.
3751         (webkitWebViewBaseDragMotion): Ditto.
3752         (webkitWebViewBaseDragDrop): Ditto.
3753
3754 2012-12-04  Jaehun Lim  <ljaehun.lim@samsung.com>
3755
3756         [EFL][WK2] Use consistent class names inside Ewk classes
3757         https://bugs.webkit.org/show_bug.cgi?id=103015
3758
3759         Reviewed by Gyuyoung Kim.
3760
3761         WebKit EFL doesn't use '_' in class names.
3762         This patch removes the remaining uses of '_' inside Ewk classes.
3763
3764         * UIProcess/API/efl/EwkViewImpl.cpp:
3765         (EwkViewImpl::EwkViewImpl):
3766         (EwkViewImpl::~EwkViewImpl):
3767         (EwkViewImpl::informIconChange):
3768         (EwkViewImpl::requestColorPicker):
3769         (EwkViewImpl::requestPopupMenu):
3770         * UIProcess/API/efl/ewk_back_forward_list.cpp:
3771         (EwkBackForwardList::nextItem):
3772         (EwkBackForwardList::previousItem):
3773         (EwkBackForwardList::currentItem):
3774         (EwkBackForwardList::itemAt):
3775         (EwkBackForwardList::getFromCacheOrCreate):
3776         (EwkBackForwardList::createEinaList):
3777         * UIProcess/API/efl/ewk_back_forward_list_private.h:
3778         (EwkBackForwardList):
3779         * UIProcess/API/efl/ewk_context.cpp:
3780         (EwkContext::EwkContext):
3781         (EwkContext::cookieManager):
3782         (EwkContext::databaseManager):
3783         (EwkContext::ensureFaviconDatabase):
3784         (EwkContext::faviconDatabase):
3785         (EwkContext::storageManager):
3786         * UIProcess/API/efl/ewk_context_private.h:
3787         (EwkContext):
3788         * UIProcess/API/efl/ewk_cookie_manager.cpp:
3789         (EwkCookieManager::cookiesDidChange):
3790         (getAcceptPolicyCallback):
3791         (getHostnamesWithCookiesCallback):
3792         * UIProcess/API/efl/ewk_cookie_manager_private.h:
3793         (EwkCookieManager::create):
3794         * UIProcess/API/efl/ewk_database_manager.cpp:
3795         (EwkDatabaseManager::createOriginList):
3796         (getDatabaseOriginsCallback):
3797         * UIProcess/API/efl/ewk_database_manager_private.h:
3798         (EwkDatabaseManager):
3799         * UIProcess/API/efl/ewk_favicon_database.cpp:
3800         (EwkFaviconDatabase::didChangeIconForPageURL):
3801         (EwkFaviconDatabase::iconDataReadyForPageURL):
3802         * UIProcess/API/efl/ewk_popup_menu.cpp:
3803         (EwkPopupMenu::EwkPopupMenu):
3804         (EwkPopupMenu::~EwkPopupMenu):
3805         * UIProcess/API/efl/ewk_storage_manager.cpp:
3806         (EwkStorageManager::createOriginList):
3807         (getStorageOriginsCallback):
3808         * UIProcess/API/efl/ewk_storage_manager_private.h:
3809         (EwkStorageManager):
3810
3811 2012-12-03  Huang Dongsung  <luxtella@company100.net>
3812
3813         Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
3814         https://bugs.webkit.org/show_bug.cgi?id=103843
3815
3816         Reviewed by Noam Rosenthal.
3817
3818         Remove updateViewport() in LayerTreeCoordinatorProxy::setRootCompositingLayer()
3819         because LayerTreeCoordinatorProxy::didRenderFrame() is always called after
3820         setting the root layer. There is no behaviour changes because setting the root
3821         layer isn't actually applied to TextureMapperLayer until DidRenderFrame message
3822         is received.
3823
3824         This is in preparation for refactoring TextureMapper to work in an actor
3825         model (http://webkit.org/b/103854).
3826
3827         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
3828         (WebKit::LayerTreeCoordinatorProxy::setRootCompositingLayer):
3829         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
3830         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
3831
3832 2012-12-03  Anders Carlsson  <andersca@apple.com>
3833
3834         Make it easier to add more web process initialization parameters
3835         https://bugs.webkit.org/show_bug.cgi?id=103942
3836
3837         Reviewed by Andreas Kling.
3838
3839         Add a WebProcessInitializationParameters struct to make it easier to add more initialization
3840         parameters in the future. Also, fix naming and spelling errors.
3841
3842         * WebProcess/mac/WebProcessInitialization.h:
3843         (WebProcessInitializationParameters):
3844         (WebKit):
3845         * WebProcess/mac/WebProcessInitialization.mm:
3846         (WebKit::initializeWebProcess):
3847         * WebProcess/mac/WebProcessMainMac.mm:
3848         (WebKit::WebProcessMain):
3849         * WebProcess/mac/WebProcessServiceEntryPoints.h:
3850         * WebProcess/mac/WebProcessServiceEntryPoints.mm:
3851         (WebKit::WebProcessServiceEventHandler):
3852         (webProcessServiceMain):
3853         (initializeWebProcessForWebProcessServiceForWebKitDevelopment):
3854         * WebProcessService/WebProcessServiceMain.mm:
3855         (main):
3856         * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
3857         (WebProcessServiceForWebKitDevelopmentEventHandler):
3858
3859 2012-12-03  Tim Horton  <timothy_horton@apple.com>
3860
3861         PDFPlugin: <embed> and <object> PDFs affect their parent frame's page scale
3862         https://bugs.webkit.org/show_bug.cgi?id=103286
3863         <rdar://problem/12752315>
3864
3865         Reviewed by Dan Bernstein.
3866
3867         Style fixes after http://trac.webkit.org/changeset/136316.
3868
3869         * WebProcess/Plugins/PDF/PDFPlugin.mm:
3870         (WebKit::PDFPlugin::isFullFramePlugin):
3871
3872 2012-12-03  Alexis Menard  <alexis@webkit.org>
3873
3874         [Mac] Enable CSS3 background-position offset by default.
3875         https://bugs.webkit.org/show_bug.cgi?id=103905
3876
3877         Reviewed by Simon Fraser.
3878
3879         Turn the flag on by default.
3880
3881         * Configurations/FeatureDefines.xcconfig:
3882
3883 2012-12-03  Ryuan Choi  <ryuan.choi@samsung.com>
3884
3885         [EFL][WK2] Add contents,size,changed signal to the ewk_view API
3886         https://bugs.webkit.org/show_bug.cgi?id=103094
3887
3888         Reviewed by Kenneth Rohde Christiansen.
3889
3890         This patch emits signal to let applications know contents size.
3891         Applications can use this signal to give some additional behavior such as
3892         minimap, external scroll for quick movement.
3893
3894         * UIProcess/API/efl/EwkViewCallbacks.h: Added contents,size,changed signal.
3895         * UIProcess/API/efl/EwkViewImpl.cpp: Removed dead code.
3896         * UIProcess/API/efl/EwkViewImpl.h: Ditto.
3897         (EwkViewImpl):
3898         * UIProcess/API/efl/ewk_view.h: Added test case.
3899         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3900         (onContentsSizeChanged):
3901         (TEST_F):
3902         * UIProcess/efl/PageClientDefaultImpl.cpp: Emitted contents,size,changed signal.
3903         (WebKit::PageClientDefaultImpl::didChangeContentsSize):
3904         * UIProcess/efl/PageClientLegacyImpl.cpp: Ditto.
3905         (WebKit::PageClientLegacyImpl::didChangeContentsSize):
3906         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3907         (WebKit::WebChromeClient::contentsSizeChanged):
3908         Sended DidChangeContentsSize message although TILED_BACKINGSTORE is disabled.
3909
3910 2012-12-03  Csaba Osztrogonác  <ossy@webkit.org>
3911
3912         Unreviewed fix after r136292 to make GIT-SVN repositories happy.
3913
3914         * win/WebKit2ExportGenerator.vcproj: Added property svn:eol-style.
3915         * win/WebKit2ExportGeneratorCommon.vsprops: Added property svn:eol-style.
3916         * win/WebKit2ExportGeneratorDebug.vsprops: Added property svn:eol-style.
3917         * win/WebKit2ExportGeneratorDebugAll.vsprops: Added property svn:eol-style.
3918         * win/WebKit2ExportGeneratorDebugCairoCFLite.vsprops: Added property svn:eol-style.
3919         * win/WebKit2ExportGeneratorPostBuild.cmd: Added property svn:eol-style.
3920         * win/WebKit2ExportGeneratorPreBuild.cmd: Added property svn:eol-style.
3921         * win/WebKit2ExportGeneratorProduction.vsprops: Added property svn:eol-style.
3922         * win/WebKit2ExportGeneratorRelease.vsprops: Added property svn:eol-style.
3923         * win/WebKit2ExportGeneratorReleaseCairoCFLite.vsprops: Added property svn:eol-style.
3924
3925 2012-12-03  Michael Brüning  <michael.bruning@digia.com>
3926
3927         [Qt][WK2] New resize tests fail
3928         https://bugs.webkit.org/show_bug.cgi?id=103875
3929
3930         Reviewed by Jocelyn Turcotte.
3931
3932         Removes reference to unused viewportSpy, adds clearing the sizeSpy to the init method instead.   
3933
3934         * UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml:
3935
3936 2012-12-03  Joaquim Rocha  <jrocha@igalia.com>
3937
3938         [GTK] Custom URI schemes stop working on Epiphany using WebKit2 after killing the web process
3939         https://bugs.webkit.org/show_bug.cgi?id=103729
3940
3941         Reviewed by Carlos Garcia Campos.
3942
3943         When a URI scheme is registered and the WebProcess is killed,
3944         those schemes would not work anymore after the process is relaunched.
3945
3946         This was observed in Epiphany and possibly affects any port that
3947         uses libsoup.
3948
3949         * Shared/WebProcessCreationParameters.cpp:
3950         (WebKit::WebProcessCreationParameters::encode): Encode the registered URI schemes.
3951         (WebKit::WebProcessCreationParameters::decode): Decode the registered URI schemes.
3952         * Shared/WebProcessCreationParameters.h: Add the urlSchemesRegistered Vector to hold the registered URI schemes.
3953         (WebProcessCreationParameters):
3954         * UIProcess/efl/WebContextEfl.cpp:
3955         (WebKit::WebContext::platformInitializeWebProcess): Assign the parameters.urlSchemesRegistered from the URI schemes
3956         registered in the WebSoupRequestManagerProxy and removed the notImplemented() call.
3957         * UIProcess/gtk/WebContextGtk.cpp:
3958         (WebKit::WebContext::platformInitializeWebProcess): Assign the parameters.urlSchemesRegistered from the URI schemes
3959         registered in the WebSoupRequestManagerProxy.
3960         * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
3961         (WebKit::WebSoupRequestManagerProxy::registerURIScheme): Add the given scheme to the m_registeredURISchemes Vector.
3962         * UIProcess/soup/WebSoupRequestManagerProxy.h:
3963         (WebKit::WebSoupRequestManagerProxy::registeredURISchemes): Return the m_registeredURISchemes.
3964         (WebSoupRequestManagerProxy): Define the m_registeredURISchemes to hold the schemes that are registered.
3965         * WebProcess/soup/WebProcessSoup.cpp:
3966         (WebKit::WebProcess::platformInitializeWebProcess): Call m_soupRequestManager.registerURIScheme for each URI scheme
3967         found in the parameters.
3968         * WebProcess/soup/WebSoupRequestManager.h: Make registerURIScheme public.
3969         (WebSoupRequestManager):
3970
3971 2012-12-03  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3972
3973         CSS Device Adaptation: window.innerWidth returns wrong value if CSS viewport descriptors are applied
3974         https://bugs.webkit.org/show_bug.cgi?id=103737
3975
3976         Reviewed by Kenneth Rohde Christiansen.
3977
3978         ViewportStyleResolver used frame view visibleContentRect size as initial viewport size.
3979         This however caused a problem when page enabled/disabled CSS stylesheets, having viewport
3980         descriptors. Viewport descriptors from new stylesheet were applied to the visibleContentRect
3981         affected already by the viewport descriptors from the previous stylesheet.
3982
3983         New 'initialViewportSize' property (http://dev.w3.org/csswg/css-device-adapt/#initial-viewport)
3984         was added to frame view so that viewport descriptors can always be applied to the reliable
3985         viewport size.
3986
3987         Both newly added 'initialViewportSize' property and 'fixedVisibleContentRect' property
3988         are assigned appropriately now in WebPage::sendViewportAttributesChanged().
3989
3990         * WebProcess/WebPage/WebPage.cpp:
3991         (WebKit::WebPage::sendViewportAttributesChanged):
3992
3993 2012-12-02  Huang Dongsung  <luxtella@company100.net>
3994
3995         Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
3996         https://bugs.webkit.org/show_bug.cgi?id=103843
3997
3998         Reviewed by Noam Rosenthal.
3999
4000         Send messages to the UI process by the tree order.
4001         This is in preparation for refactoring TextureMapper to work in an actor
4002         model (http://webkit.org/b/103854).
4003
4004         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
4005         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
4006
4007 2012-12-02  Ryuan Choi  <ryuan.choi@gmail.com>
4008
4009         [EFL][WK2] Update comments of header files which mentions deprecated API
4010         https://bugs.webkit.org/show_bug.cgi?id=103718
4011
4012         Reviewed by Gyuyoung Kim.
4013
4014         Updated comments which mentions XXX_unref() which was replaced to ewk_object_unref()
4015
4016         * UIProcess/API/efl/ewk_context.h:
4017         * UIProcess/API/efl/ewk_database_manager.h:
4018         * UIProcess/API/efl/ewk_storage_manager.h:
4019
4020 2012-12-02  Huang Dongsung  <luxtella@company100.net>
4021
4022         REGRESSION(r134376): ASSERT(!m_mainBackingStore) hits in CoordinatedGraphicsLayer::syncImageBacking().
4023         https://bugs.webkit.org/show_bug.cgi?id=103845
4024
4025         Reviewed by Noam Rosenthal.
4026
4027         flushCompositingStateForThisLayerOnly() calls syncImageBacking() before calling
4028         updateContentBuffers(). It means there can be the moment that
4029         CoordinatedGraphicsLayer has m_mainBackingStore although
4030         shouldHaveBackingStore() return false.
4031         This patch changes syncImageBacking() to check shouldHaveBackingStore() instead
4032         of m_mainBackingStore.
4033
4034         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
4035         (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
4036         (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
4037         (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
4038         (WebCore::CoordinatedGraphicsLayer::shouldHaveBackingStore):
4039         (WebCore):
4040         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
4041         (CoordinatedGraphicsLayer):
4042
4043 2012-12-02  Seokju Kwon  <seokju.kwon@gmail.com>
4044
4045         Rename WebSocketServerGtk.cpp as WebSocketServerSoup.cpp
4046         https://bugs.webkit.org/show_bug.cgi?id=103743
4047
4048         Reviewed by Gustavo Noronha Silva.
4049
4050         EFL port is using a GSocket based implementation as well.
4051         WebSocketServerSoup can be used together.
4052
4053         * GNUmakefile.list.am:
4054         * UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp: Renamed from Source/WebKit2/UIProcess/InspectorServer/gtk/WebSocketServerGtk.cpp.
4055         (WebKit):
4056         (WebKit::connectionCallback):
4057         (WebKit::WebSocketServer::platformInitialize):
4058         (WebKit::WebSocketServer::platformListen):
4059         (WebKit::WebSocketServer::platformClose):
4060
4061 2012-12-02  Christophe Dumez  <christophe.dumez@intel.com>
4062
4063         [CoordinatedGraphics] LayerTreeRenderer::removeImageBacking() calls HashMap::find() twice
4064         https://bugs.webkit.org/show_bug.cgi?id=103815
4065
4066         Reviewed by Noam Rosenthal.
4067
4068         Call HashMap::take() in LayerTreeRenderer::removeImageBacking()
4069         to avoid calling HashMap::find() twice. find() was called once
4070         explicitly to get an iterator and a second time to remove the
4071         value from the value from the HashMap. We could have used
4072         remove(iterator) instead of remove(key) but using take() results
4073         in simpler code.
4074
4075         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
4076         (WebKit::LayerTreeRenderer::removeImageBacking):
4077
4078 2012-12-02  Huang Dongsung  <luxtella@company100.net>
4079
4080         Coordinated Graphics: Images disappear randomly
4081         https://bugs.webkit.org/show_bug.cgi?id=103522
4082
4083         Reviewed by Kenneth Rohde Christiansen.
4084
4085         Currently, we delete layers before synchronizing layer states of layers. It
4086         causes flash. This patch deletes layers after the synchronization.
4087
4088         In addiation, this patch removes updateViewport() in
4089         LayerTreeCoordinatorProxy::deleteCompositingLayer() because
4090         LayerTreeCoordinatorProxy::didRenderFrame() is always called after
4091         deleting layers.
4092
4093         * UIProcess/CoordinatedGraphics/LayerTreeCo