Make it possible to reuse sandbox extensions
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2013-03-08  Alexey Proskuryakov  <ap@apple.com>
2
3         Make it possible to reuse sandbox extensions
4         https://bugs.webkit.org/show_bug.cgi?id=111883
5
6         Reviewed by Anders Carlsson.
7
8         Replaced invalidate() with revoke().
9
10         We now count how many times consume() was called, and keep the extension active
11         for as long as revoke() hasn't been called as many times. Also, we only permanently
12         destroy the extension in destructor.
13
14         This allows for properly keeping extensions in NetworkBlobRegistry for as long as
15         they are needed.
16
17         * NetworkProcess/SchedulableLoader.cpp:
18         (WebKit::SchedulableLoader::invalidateSandboxExtensions):
19         * Shared/Downloads/Download.cpp:
20         (WebKit::Download::didFinish):
21         (WebKit::Download::didFail):
22         (WebKit::Download::didCancel):
23         * Shared/SandboxExtension.h:
24         (SandboxExtension):
25         * Shared/WebMemorySampler.cpp:
26         (WebKit::WebMemorySampler::stop):
27         * Shared/mac/SandboxExtensionMac.mm:
28         (WebKit::SandboxExtension::SandboxExtension):
29         (WebKit::SandboxExtension::revoke):
30         (WebKit::SandboxExtension::consume):
31         * WebProcess/WebPage/WebPage.cpp:
32         (WebKit::WebPage::performDragControllerAction):
33         (WebKit::WebPage::SandboxExtensionTracker::invalidate):
34         (WebKit::WebPage::SandboxExtensionTracker::setPendingProvisionalSandboxExtension):
35         (WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad):
36         (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad):
37
38 2013-03-08  Carlos Garcia Campos  <cgarcia@igalia.com>
39
40         [WK2][GTK] Invalid request returned by webkit_download_get_request if called before download starts
41         https://bugs.webkit.org/show_bug.cgi?id=111574
42
43         Reviewed by Alexey Proskuryakov.
44
45         webkit_download_get_request() creates the WebKitURIRequest object
46         on demand using the ResourceRequest from the DownloadProxy. The
47         ResourceRequest of the DownloadProxy is set in
48         DownloadProxy::didStart(), so if we call
49         webkit_download_get_request() before didStart we return an invalid
50         WebKitURIRequest created from a NULL ResourceRequest. This is not
51         a problem for downloads started in the web process, because we
52         create the WebKitDownload after DownloadProxy::didStart(). For
53         downloads started manually with webkit_web_context_download_uri()
54         we need to create download object with the ResourceRequest passed
55         to the DownloadProxy.
56
57         * UIProcess/API/gtk/WebKitDownload.cpp:
58         (webkitDownloadCreateForRequest): New helper function for
59         downloads started manually to created them with a given
60         ResourceRequest.
61         * UIProcess/API/gtk/WebKitDownloadPrivate.h:
62         * UIProcess/API/gtk/WebKitWebContext.cpp:
63         (webkitWebContextStartDownload): Use
64         webkitDownloadCreateForRequest().
65         * UIProcess/API/gtk/tests/TestDownloads.cpp:
66         (testDownloadLocalFile):
67         (testDownloadLocalFileError):
68         (testDownloadRemoteFile):
69         (testDownloadRemoteFileError):
70         (testPolicyResponseDownload):
71
72 2013-03-07  Alexey Proskuryakov  <ap@apple.com>
73
74         <rdar://problem/13363499> Blobs are not cleaned up when WebProcess terminates
75         https://bugs.webkit.org/show_bug.cgi?id=111803
76
77         Reviewed by Brady Eidson.
78
79         Track which blobs were created for each connection, and unregister them when
80         the connection closes.
81
82         Normally, this happens when a document is destroyed through PublicURLManager
83         in WebProcess. But we don't get there when the web process crashes, or is terminated
84         without waiting for document destruction.
85
86         * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
87         (WebKit::NetworkBlobRegistry::registerBlobURL):
88         (WebKit::NetworkBlobRegistry::unregisterBlobURL):
89         (WebKit::NetworkBlobRegistry::connectionToWebProcessDidClose):
90         * NetworkProcess/FileAPI/NetworkBlobRegistry.h:
91         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
92         (WebKit::NetworkConnectionToWebProcess::didClose):
93         (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
94         (WebKit::NetworkConnectionToWebProcess::registerBlobURLFromURL):
95         (WebKit::NetworkConnectionToWebProcess::unregisterBlobURL):
96
97 2013-03-08  Timothy Hatcher  <timothy@apple.com>
98
99         Make the WebKit2 Web Inspector use tiled drawing and accelerated drawing.
100
101         <rdar://problem/12676223>
102
103         Reviewed by David Kilzer.
104
105         * UIProcess/WebInspectorProxy.cpp:
106         (WebKit::createInspectorPageGroup): Call setAcceleratedDrawingEnabled with true on 10.8+.
107         * UIProcess/mac/WebInspectorProxyMac.mm:
108         (-[WKWebInspectorWKView _shouldUseTiledDrawingArea]): Added. Return YES on 10.8+.
109
110 2013-03-08  Huang Dongsung  <luxtella@company100.net>
111
112         Coordinated Graphics: Handle scrolling correctly.
113         https://bugs.webkit.org/show_bug.cgi?id=111406
114
115         Reviewed by Simon Fraser.
116
117         Coordinated Graphics deals with fast scrolling and slow scrolling in the same
118         routine, so WebChromeClient::invalidateContentsForSlowScroll() should call
119         DrawingArea:scroll().
120
121         When CoordinatedLayerTreeHost::scrollNonCompositedContents() is called, we
122         should call scheduleLayerFlush() to notify to UI Process. In addition, when we
123         don't use fixed layout, we should call setNonCompositedContentsNeedDisplay() to
124         update non composited contents.
125
126         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
127         (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
128         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
129         (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
130
131 2013-03-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
132
133         [WK2][EFL] Remove EwkView::setImageData()
134         https://bugs.webkit.org/show_bug.cgi?id=111849
135
136         Reviewed by Andreas Kling.
137
138         EwkView::setImageData() removed as it is not used at the moment 
139         (it used to be part of eliminated non coord graphics code path). 
140
141         * UIProcess/API/efl/EwkView.cpp:
142         * UIProcess/API/efl/EwkView.h:
143         (EwkView):
144         * UIProcess/cairo/BackingStoreCairo.cpp:
145         (WebKit::BackingStore::incorporateUpdate):
146
147 2013-03-08  Carlos Garcia Campos  <cgarcia@igalia.com>
148
149         [GTK] Memory leak in webkit_web_view_load_request() in WebKit2 API
150         https://bugs.webkit.org/show_bug.cgi?id=111160
151
152         Reviewed by Benjamin Poulain.
153
154         leakRef() is used for the returned PassRefPtr without taking the
155         ownership of the leaked ref.
156
157         * UIProcess/API/gtk/WebKitWebView.cpp:
158         (webkit_web_view_load_request): Use RefPtr local variable.
159
160 2013-03-07  Huang Dongsung  <luxtella@company100.net>
161
162         [EFL] EwkView should keep css position instead of scroll position in device pixel.
163         https://bugs.webkit.org/show_bug.cgi?id=110847
164
165         Reviewed by Kenneth Rohde Christiansen.
166
167         Signed off for WebKit2 by Benjamin Poulain.
168
169         There are bugs that some code expect that EwkView::pagePosition() returns css
170         position while others expect that it returns scroll position in device pixel.
171         In addition, some code call EwkView::setPagePosition() with css position while
172         others call it with scroll position in device pixel.
173
174         This patch makes all code use setPagePosition() and pagePosition() with
175         UI pixels (a.k.a Density Independent Pixel).
176
177         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
178         (WebKit::PageViewportControllerClientEfl::setViewportPosition):
179         * UIProcess/efl/WebView.cpp:
180         (WebKit::WebView::paintToCairoSurface):
181         (WebKit::WebView::updateViewportSize):
182         (WebKit::WebView::transformToScene):
183         (WebKit::WebView::pageDidRequestScroll):
184
185 2013-03-07  Alexey Proskuryakov  <ap@apple.com>
186
187         https://bugs.webkit.org/show_bug.cgi?id=111801
188         https://bugs.webkit.org/show_bug.cgi?id=111801
189
190         Reviewed by Geoff Garen.
191
192         Move unnecessary includes out of headers.
193
194         * NetworkProcess/HostRecord.h:
195         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
196         * NetworkProcess/NetworkProcess.cpp:
197         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
198         * NetworkProcess/NetworkResourceLoadScheduler.h:
199         * NetworkProcess/NetworkResourceLoader.h:
200         * NetworkProcess/SchedulableLoader.cpp:
201         * NetworkProcess/SchedulableLoader.h:
202         * NetworkProcess/SyncNetworkResourceLoader.cpp:
203
204 2013-03-07  Andreas Kling  <akling@apple.com>
205
206         Resizing Cappuccino is very laggy on WebKit since Safari 5.1
207         <http://webkit.org/b/71354>
208         <rdar://problem/10565998>
209
210         Reviewed by Anders Carlsson.
211
212         On Mac, we already cache the window rect through the WindowAndViewFramesChanged
213         message, so simply return that in WebChromeClient::windowRect() instead of
214         sending a synchronous query to the UIProcess.
215
216         If a programmatic resize is requested, we bypass the cache until we've received
217         a new WindowAndViewFramesChanged message. This compromise allows us to return
218         cached rects in the common case, and handles creating a new window and immediately
219         resizing it gracefully.
220
221         Changed WindowAndViewFramesChanged to pass FloatRect/FloatPoint rather than
222         IntRect/IntPoint to match the ChromeClient::windowRect() return type.
223
224         * UIProcess/API/mac/WKView.mm:
225         (-[WKView _updateWindowAndViewFrames]):
226         * UIProcess/WebPageProxy.h:
227         (WebPageProxy):
228         * UIProcess/mac/WebPageProxyMac.mm:
229         (WebKit::WebPageProxy::windowAndViewFramesChanged):
230         * WebProcess/Plugins/PluginView.cpp:
231         (WebKit::PluginView::windowAndViewFramesChanged):
232         * WebProcess/Plugins/PluginView.h:
233         (PluginView):
234         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
235         (WebKit::WebChromeClient::setWindowRect):
236         (WebKit::WebChromeClient::windowRect):
237         * WebProcess/WebPage/WebPage.cpp:
238         (WebKit::WebPage::WebPage):
239         (WebKit::WebPage::sendSetWindowFrame):
240         (WebKit::WebPage::windowAndViewFramesChanged):
241         * WebProcess/WebPage/WebPage.h:
242         (WebPage):
243         (WebKit::WebPage::windowFrameInScreenCoordinates):
244         (WebKit::WebPage::viewFrameInWindowCoordinates):
245         (WebKit::WebPage::hasCachedWindowFrame):
246         (WebKit::WebPage::accessibilityPosition):
247         * WebProcess/WebPage/WebPage.messages.in:
248         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
249         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
250
251 2013-03-07  Alexey Proskuryakov  <ap@apple.com>
252
253         Don't try to create a sandbox extension when path is empty
254         https://bugs.webkit.org/show_bug.cgi?id=111788
255
256         Reviewed by Anders Carlsson.
257
258         * Shared/FileAPI/BlobRegistrationData.cpp:
259         (WebKit::BlobRegistrationData::BlobRegistrationData): Skip File objects with empty
260         paths to avoid logging an error to console.
261
262 2013-03-07  Mark Lam  <mark.lam@apple.com>
263
264         WebPageProxy::exceededDatabaseQuota() needs to be serialized.
265         https://bugs.webkit.org/show_bug.cgi?id=111631.
266
267         Reviewed by Geoffrey Garen.
268
269         Previously, WebPageProxy::exceededDatabaseQuota() is called synchronously
270         with script execution in the WebProcess. Hence, it is never called in a
271         recursive manner.
272
273         In webkit2, we can have multiple WebProcesses concurrently triggering a
274         call to this function. While the function is waiting on feedback from a
275         UI dialog, the wait loop may re-enter the function to service a second
276         request to call this function from another WebProcess. This results in
277         problems where some of the WebProcesses will not get a proper reply, and
278         therefore hangs perpetually waiting for a non-forthcoming reply.
279
280         This changeset changes the function to queue the requests and ensure
281         that we do not recursively callback to the UI client.
282
283         * Platform/CoreIPC/HandleMessage.h:
284         (CoreIPC::callMemberFunction):
285         * UIProcess/WebPageProxy.cpp:
286         (ExceededDatabaseQuotaRecords):
287         (Record):
288         (WebKit::ExceededDatabaseQuotaRecords::areBeingProcessed):
289         (WebKit::ExceededDatabaseQuotaRecords::ExceededDatabaseQuotaRecords):
290         (WebKit::ExceededDatabaseQuotaRecords::~ExceededDatabaseQuotaRecords):
291         (WebKit::ExceededDatabaseQuotaRecords::shared):
292         (WebKit::ExceededDatabaseQuotaRecords::createRecord):
293         (WebKit::ExceededDatabaseQuotaRecords::add):
294         (WebKit::ExceededDatabaseQuotaRecords::next):
295         (WebKit::WebPageProxy::exceededDatabaseQuota):
296         * UIProcess/WebPageProxy.h:
297         * UIProcess/WebPageProxy.messages.in:
298
299 2013-03-07  Jeffrey Pfau  <jpfau@apple.com>
300
301         CFNetwork cache partitioning does not work properly on subdomains
302         https://bugs.webkit.org/show_bug.cgi?id=111772
303
304         Reviewed by David Kilzer.
305
306         Ensure that the CFString is UTF-8 so that WKCFURLCacheCopyAllHostNamesInPersistentStoreForPartition will always work.
307
308         * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
309         (WebKit::partitionName): Create a UTF-8 CFString explicitly
310
311 2013-03-07  Beth Dakin  <bdakin@apple.com>
312
313         Need API to draw custom overhang area
314         https://bugs.webkit.org/show_bug.cgi?id=111679
315         -and corresponding-
316         <rdar://problem/13291415>
317
318         Reviewed by Simon Fraser.
319
320         The new API is WKBundlePageSetTopOverhangImage() and 
321         WKBundlePageSetBottomOverhangImage(). When the API is called, WebPage will get 
322         GraphicsLayers for the appropriate area from FrameView, and then set the image as 
323         the contents of the layer.
324
325         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
326         (WKBundlePageSetTopOverhangImage):
327         (WKBundlePageSetBottomOverhangImage):
328         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
329         * WebProcess/WebPage/WebPage.h:
330         (WebPage):
331         * WebProcess/WebPage/mac/WebPageMac.mm:
332         (WebKit::WebPage::setTopOverhangImage):
333         (WebKit):
334         (WebKit::WebPage::setBottomOverhangImage):
335
336 2013-03-07  Gavin Barraclough  <barraclough@apple.com>
337
338         Reduce page cache size on Mac
339         https://bugs.webkit.org/show_bug.cgi?id=111795
340
341         Rubber stamped by Geoff Garen
342
343         5 entries is unnecessarily large; research show 3 should suffice.
344         On a low memory warning we should clear this completely.
345
346         * Shared/CacheModel.cpp:
347         (WebKit::calculateCacheSizes):
348             - reduce maximum to 3.
349
350 2013-03-07  Anders Carlsson  <andersca@apple.com>
351
352         Add a didFocusTextField callback to the injected bundle form client
353         https://bugs.webkit.org/show_bug.cgi?id=111771
354
355         Reviewed by Andreas Kling.
356
357         Add a new client callback that's invoked whenever a text input field is focused.
358
359         * Shared/APIClientTraits.cpp:
360         (WebKit):
361         * Shared/APIClientTraits.h:
362         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
363         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
364         (WebKit::InjectedBundlePageFormClient::didFocusTextField):
365         (WebKit):
366         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
367         (InjectedBundlePageFormClient):
368         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
369         (WebKit::WebChromeClient::focusedNodeChanged):
370
371 2013-03-07  Tim Horton  <timothy_horton@apple.com>
372
373         Null-check the page overlay before trying to use it.
374
375         Reviewed by Simon Fraser.
376
377         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
378         (WebKit::TiledCoreAnimationDrawingArea::scroll):
379
380 2013-03-07  Zan Dobersek  <zdobersek@igalia.com>
381
382         [GTK] Limit the supported compilers to GCC >= 4.7 and Clang >= 3.0
383         https://bugs.webkit.org/show_bug.cgi?id=109932
384
385         Reviewed by Martin Robinson.
386
387         * GNUmakefile.am: Replace references to SYMBOL_VISIBILITY_INLINES and SYMBOL_VISIBILITY variables with the actual flags.
388         They are now available by default due to the limited set of supported compilers.
389
390 2013-03-05  Gustavo Noronha Silva  <gns@gnome.org>
391
392         [GTK] Enable translations for WebKit2
393         https://bugs.webkit.org/show_bug.cgi?id=111398
394
395         Reviewed by Martin Robinson.
396
397         * GNUmakefile.am: define PACKAGE_LOCALE_DIR when building WebProcess's main module.
398         * WebProcess/gtk/WebProcessMainGtk.cpp:
399         (WebKit::WebProcessMainGtk): register the i18n domain name, and prefer UTF-8, since
400         we're GTK+; at the moment we're just using the same name as WebKitGTK+, pro: the
401         translation module can be reused, con: you can't have different versions of
402         WebKitGTK+ and WebKit2GTK+ installed, because the module would not be fit for reuse
403         in that case.
404         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
405         (WebKit::childSetupFunction): do not set LC_ALL environment variable explicitly,
406         the child process will already inherit the environment of the parent, which should
407         have all the variables set properly.
408
409 2013-03-06  Alexey Proskuryakov  <ap@apple.com>
410
411         SandboxExtension::createHandle raises an uncaught Objective-C exception if path is empty
412         https://bugs.webkit.org/show_bug.cgi?id=111689
413
414         Reviewed by Filip Pizlo.
415
416         * Shared/mac/SandboxExtensionMac.mm: (WebKit::SandboxExtension::createHandle):
417         Use a function from WebCore platform layer instead of Foundation one equivalent.
418         We already do this elsewhere in this file.
419
420 2013-03-06  Tim Horton  <timothy_horton@apple.com>
421
422         [wk2] Page overlays shouldn't dirty the entire layer when flushing if the main frame can't scroll
423         https://bugs.webkit.org/show_bug.cgi?id=111662
424         <rdar://problem/13355808>
425
426         Reviewed by Simon Fraser.
427
428         Instead of setNeedsDisplay()ing the whole page overlay layer every time through
429         TCADA::flushLayers, do it at scroll time instead. Repainting on scroll is
430         necessary to keep things painted in the right place when we scroll (the overlay
431         is fixed to the size of the view), but is quite wasteful in apps that don’t scroll.
432
433         This works with threaded scrolling because overlay installation forces us
434         into main-thread scrolling mode.
435
436         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
437         (WebKit::TiledCoreAnimationDrawingArea::scroll):
438         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
439
440 2013-03-06  Tim Horton  <timothy_horton@apple.com>
441
442         [wk2] Page overlays should use the accelerated drawing setting instead of hardcoding it on
443         https://bugs.webkit.org/show_bug.cgi?id=111654
444         <rdar://problem/13364085>
445
446         Reviewed by Simon Fraser.
447
448         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
449         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
450         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
451
452 2013-03-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
453
454         [EFL][WK2] Enable interactive form validation for email and url input type validation
455         https://bugs.webkit.org/show_bug.cgi?id=111026
456
457         Reviewed by Laszlo Gombos.
458
459         WebKit EFL can check if input value is valid by enabling this feature.
460
461         * UIProcess/API/efl/EwkView.cpp:
462         (EwkView::EwkView):
463
464 2013-03-06  Alexey Proskuryakov  <ap@apple.com>
465
466         [Mac] Synthetic ResourceResponses cannot be sent over IPC without losing most information
467         https://bugs.webkit.org/show_bug.cgi?id=111623
468
469         Reviewed by Brady Eidson.
470
471         * Shared/WebCoreArgumentCoders.cpp:
472         * Shared/WebCoreArgumentCoders.h:
473         (CoreIPC::::encode): Made the decision on whether to serialize WebCore data in
474         ResourceResponse dynamic. If the platform data is out of date, we need both
475         (because some platforms use encodePlatformData() to pass additional information).
476         (CoreIPC::::decode): Decode platform data first, because this overwrites the ResourceResponse.
477
478         * Shared/mac/WebCoreArgumentCodersMac.mm: (CoreIPC::::encodePlatformData): Don't
479         encode NSURLResponse if it's out of date. We may have a bad NSURLResponse with 0
480         status code given to client, but it was almost certainly the same on sending side.
481         WebCore doesn't mutate real responses - it either keeps them as is, or builds
482         entirely synthetic ones.
483
484 2013-03-04  Jer Noble  <jer.noble@apple.com>
485
486         Default mouse cursor behavior should be auto-hide for full screen video with custom controls
487         https://bugs.webkit.org/show_bug.cgi?id=107601
488
489         Reviewed by Beth Dakin.
490
491         Enable the CURSOR_VISIBILITY feature.
492
493         * Configurations/FeatureDefines.xcconfig:
494
495 2013-03-06  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
496
497         [GTK][WK2] Implement WebInspector::localizedStringsURL() to return the file URL of localizedStrings.js
498         https://bugs.webkit.org/show_bug.cgi?id=111448
499
500         Reviewed by Alexey Proskuryakov.
501
502         Implement WebInspector::localizedStringsURL() method to return the
503         file URL of the localizedStrings.js.
504
505         This prevents printing warnings about "Localized string not found" in
506         the console.
507
508         * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
509         (WebKit::WebInspector::localizedStringsURL):
510
511 2013-03-06  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
512
513         [EFL][WK2] REGRESSION(r143582): API test EWK2UnitTestBase.ewk_view_contents_size_changed failing
514         https://bugs.webkit.org/show_bug.cgi?id=110608
515
516         Reviewed by Kenneth Rohde Christiansen.
517
518         Test was expecting ContentsSizeChanged signal from ViewClientEfl, but
519         WebView was not calling client callback if useFixedLayout() is true.
520
521         This patch prevent early return if useFixedLayout() is true and call
522         client callback didChangeContentsSize(), which will emit the signal.
523
524         * UIProcess/efl/ViewClientEfl.cpp:
525         (WebKit::ViewClientEfl::didChangeContentsSize):
526         * UIProcess/efl/WebView.cpp:
527         (WebKit::WebView::didChangeContentsSize):
528
529 2013-03-06  Manuel Rego Casasnovas  <rego@igalia.com>
530
531         [WK2][GTK] Fix unit test WebKit2APITests/WebKitWebView/mouse-target
532         https://bugs.webkit.org/show_bug.cgi?id=82866
533
534         Reviewed by Martin Robinson.
535
536         Test was failing because of new media controls needs more space to be
537         painted than just 10x10 pixels. This is similar to r144070.
538
539         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
540         (testWebViewMouseTarget): Modified HTML in order to give more space to the media controls.
541
542 2013-03-06  Tim Horton  <timothy_horton@apple.com>
543
544         [wk2] Page Overlays: Hook up the layer border/repaint counter setting to the overlay layer
545         https://bugs.webkit.org/show_bug.cgi?id=111547
546         <rdar://problem/13355801>
547
548         Reviewed by Simon Fraser.
549
550         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
551         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
552         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
553         Keep the page overlay layer's debug border and repaint counter settings updated.
554
555 2013-03-06  Geoffrey Garen  <ggaren@apple.com>
556
557         Joing the adoptNS/adoptCF/adoptRef club.
558         https://bugs.webkit.org/show_bug.cgi?id=111467
559
560         Reviewed by Darin Adler.
561
562         Responding to review comments by Darin Adler.
563
564         * NetworkProcess/mac/NetworkProcessMac.mm:
565         (WebKit::NetworkProcess::platformInitializeNetworkProcess):
566         * WebProcess/mac/WebProcessMac.mm:
567         (WebKit::WebProcess::platformInitializeWebProcess): Tighten up this code
568         by reducing extraneous local variables.
569
570 2013-03-05  Alexey Proskuryakov  <ap@apple.com>
571
572         Track sandbox extensions for blobs in NetworkProcess
573         https://bugs.webkit.org/show_bug.cgi?id=111484
574
575         Reviewed by Sam Weinig.
576
577         * WebKit2.xcodeproj/project.pbxproj:
578         * NetworkProcess/FileAPI: Added.
579         * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp: Added.
580         * NetworkProcess/FileAPI/NetworkBlobRegistry.h: Added.
581         Added a registry that wraps normal in-process "BlobRegistryImpl", and also tracks
582         sandbox extensions for blobs. It will also track process connections, so that
583         blobs could be removed when a process crashes.
584
585         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
586         (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
587         (WebKit::NetworkConnectionToWebProcess::registerBlobURLFromURL):
588         (WebKit::NetworkConnectionToWebProcess::unregisterBlobURL):
589         Use NetworkBlobRegistry.
590
591         * NetworkProcess/SchedulableLoader.h:
592         * NetworkProcess/SchedulableLoader.cpp:
593         (WebKit::SchedulableLoader::SchedulableLoader): Add extensions for blobs, both in
594         request URL and in request data.
595         (WebKit::SchedulableLoader::consumeSandboxExtensions): Request may now have multiple
596         extensions.
597         (WebKit::SchedulableLoader::invalidateSandboxExtensions): Ditto.
598
599         * Shared/FileAPI/BlobRegistrationData.cpp: Fixed extension creation - actually
600         store the result.
601
602 2013-03-06  Andras Becsi  <andras.becsi@digia.com>
603
604         [Qt][WK2] Fix the Mac build after r144787
605         https://bugs.webkit.org/show_bug.cgi?id=111569
606
607         Reviewed by Csaba Osztrogonác.
608
609         Use uint_64 explicitly instead of size_t.
610
611         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
612         (CoreIPC::::encode):
613         (CoreIPC::::decode):
614
615 2013-03-05  Kent Tamura  <tkent@chromium.org>
616
617         Rename WebCore/editing/visible_units.* to VisibleUnits.*
618         https://bugs.webkit.org/show_bug.cgi?id=111426
619
620         Reviewed by Alexey Proskuryakov.
621
622         * WebProcess/WebPage/mac/WebPageMac.mm:
623
624 2013-03-06  Zeno Albisser  <zeno@webkit.org>
625
626         DataReference::vector() should be const.
627         https://bugs.webkit.org/show_bug.cgi?id=109928
628
629         Reviewed by Anders Carlsson.
630
631         * Platform/CoreIPC/DataReference.h:
632         (CoreIPC::DataReference::vector):
633
634 2013-03-06  Luiz Agostini  <luiz.agostini@nokia.com>
635
636         Accelerated overflow scrolling for Coordinated Graphics.
637         https://bugs.webkit.org/show_bug.cgi?id=110323
638
639         Reviewed by Noam Rosenthal.
640         Signed off for WebKit2 by Simon Fraser.
641
642         A scroll offset is applied to individual layers on UI process and the
643         web process is notified assynchronously.
644         The new API WKCoordinatedScene may be used to scroll layers in the UI process.
645
646         * CMakeLists.txt:
647
648         Encoding and decoding the new members of CoordinatedGraphicsLayerState.
649
650         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
651         (CoreIPC::::encode):
652         (CoreIPC::::decode):
653
654         Adding acceleratedCompositingForOverflowScrollEnabled to WebPreferencesStore.
655
656         * Shared/WebPreferencesStore.h:
657         * WebProcess/WebPage/WebPage.cpp:
658         (WebKit::WebPage::updatePreferences):
659
660         New API WKCoordinatedScene is used to scroll layers on UI side.
661
662         * UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.cpp:
663         * UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.h:
664         * UIProcess/CoordinatedGraphics/WKCoordinatedSceneAPICast.h:
665
666         A new message is used to send scroll commit messages to web process.
667
668         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
669         (WebKit::CoordinatedLayerTreeHostProxy::commitScrollOffset):
670         (WebKit):
671         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
672         (CoordinatedLayerTreeHostProxy):
673         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
674         (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
675         (WebKit::CoordinatedLayerTreeHost::detachLayer):
676         (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
677         (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
678         (WebKit::CoordinatedLayerTreeHost::purgeBackingStores):
679         (WebKit::CoordinatedLayerTreeHost::commitScrollOffset):
680         (WebKit):
681         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
682         (CoordinatedLayerTreeHost):
683         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in:
684
685 2013-03-06  Huang Dongsung  <luxtella@company100.net>
686
687         [EFL][WK2] Convert from device view size to UI view size only in EwkView.
688         https://bugs.webkit.org/show_bug.cgi?id=110197
689
690         Reviewed by Kenneth Rohde Christiansen.
691
692         Signed off for WebKit2 by Benjamin Poulain.
693
694         Device scale factor is a property of the physical display, so only EwkView
695         should deal with converting device view size to UI (a.k.a Density Independent Pixel)
696         view size. It increases readability because we can regard a view size in
697         other classes (e.g. WebView, PageViewportController, WebPage) except for
698         EwkView as UI size.
699
700         * UIProcess/API/efl/EwkView.cpp:
701         (EwkView::setDeviceScaleFactor):
702         (EwkView::setDeviceSize):
703         (EwkView::size):
704         (EwkView::deviceSize):
705         (EwkView::scheduleUpdateDisplay):
706         (EwkView::createGLSurface):
707         (EwkView::handleEvasObjectCalculate):
708         * UIProcess/API/efl/EwkView.h:
709         (EwkView):
710         * UIProcess/efl/WebView.cpp:
711         (WebKit::WebView::paintToCurrentGLContext):
712         (WebKit::WebView::updateViewportSize):
713
714 2013-03-06  Christophe Dumez  <ch.dumez@sisa.samsung.com>
715
716         [EFL][WK2] Use Vector::reserveInitialCapacity() in WebEventFactory::createWebTouchEvent()
717         https://bugs.webkit.org/show_bug.cgi?id=111530
718
719         Reviewed by Benjamin Poulain.
720
721         In WebEventFactory::createWebTouchEvent(), when constructing the vector of touch points,
722         we already know in advance the total number of touch points. Therefore, we should
723         leverage WTF::Vector::reserveInitialCapacity() and WTF::Vector::uncheckedAppend() to save
724         some capacity checks.
725
726         * Shared/efl/WebEventFactory.cpp:
727         (WebKit::WebEventFactory::createWebTouchEvent):
728
729 2013-03-05  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
730
731         [WK2][EFL] Enable asynchronous spell checking by default
732         https://bugs.webkit.org/show_bug.cgi?id=111295
733
734         Reviewed by Benjamin Poulain.
735
736         Asynchronous spell checking feature is disabled by default for wk2 platforms.
737         It means all requests of spell checking are sent synchronously.
738
739         WebKit-EFL implements requestCheckingOfString method which allows
740         to check spelling asynchronously.
741
742         * UIProcess/API/efl/EwkView.cpp:
743         (EwkView::EwkView):
744
745 2013-03-05  Kondapally Kalyan  <kalyan.kondapally@intel.com>
746
747         [EFL] Ensure right format is used in SnapshotImageGL.
748         https://bugs.webkit.org/show_bug.cgi?id=111333
749
750         Reviewed by Benjamin Poulain.
751
752         GL_BGRA format is not standard for glReadPixels with GLES.
753         This patch ensures that GL_RGBA is used in SnapshotImageGL
754         while using GLES.
755
756         * UIProcess/API/efl/SnapshotImageGL.cpp:
757         (getImageSurfaceFromFrameBuffer):
758
759 2013-03-05  Geoffrey Garen  <ggaren@apple.com>
760
761         Each web process truncates the disk cache to zero on launch
762         https://bugs.webkit.org/show_bug.cgi?id=111467
763
764         Reviewed by Darin Adler.
765
766         Let's not do that.
767
768         * WebProcess/mac/WebProcessMac.mm:
769         (WebKit::WebProcess::platformInitializeWebProcess):
770
771 2013-03-05  Anders Carlsson  <andersca@apple.com>
772
773         Reset the values if there is a quota error
774         https://bugs.webkit.org/show_bug.cgi?id=111500
775
776         Reviewed by Beth Dakin.
777
778         * WebProcess/Storage/StorageAreaProxy.cpp:
779         (WebKit::StorageAreaProxy::didSetItem):
780         (WebKit::StorageAreaProxy::resetValues):
781         (WebKit):
782         * WebProcess/Storage/StorageAreaProxy.h:
783         (StorageAreaProxy):
784
785 2013-03-05  Anders Carlsson  <andersca@apple.com>
786
787         Keep track of pending value changes in StorageAreaProxy
788         https://bugs.webkit.org/show_bug.cgi?id=111496
789
790         Reviewed by Beth Dakin.
791
792         Add a HashCountedSet to keep track of the number of pending value
793         changes for a given key. If we get incoming storage events from other
794         processes while we have pending value changes, ignore the events.
795
796         * WebProcess/Storage/StorageAreaProxy.cpp:
797         (WebKit::StorageAreaProxy::setItem):
798         (WebKit::StorageAreaProxy::didSetItem):
799         (WebKit::StorageAreaProxy::dispatchStorageEvent):
800         (WebKit::StorageAreaProxy::shouldApplyChangesForKey):
801         (WebKit):
802         * WebProcess/Storage/StorageAreaProxy.h:
803         (StorageAreaProxy):
804
805 2013-03-05  Ryuan Choi  <ryuan.choi@samsung.com>
806
807         [EFL] Build break with latest EFL libraries
808         https://bugs.webkit.org/show_bug.cgi?id=111028
809
810         Reviewed by Dirk Pranke.
811
812         * PlatformEfl.cmake: Added ECORE_XXX_INCLUDE_DIRS.
813
814 2013-03-05  Anders Carlsson  <andersca@apple.com>
815
816         Use a named parameter for whether a quota error ocurred or not
817         https://bugs.webkit.org/show_bug.cgi?id=111490
818
819         Reviewed by Beth Dakin.
820
821         This is clearer than setItem returning true on error.
822         Also, actually set the item in the storage map.
823
824         * UIProcess/Storage/StorageManager.cpp:
825         (StorageManager::StorageArea):
826         (WebKit::StorageManager::StorageArea::setItem):
827         (WebKit::StorageManager::setItem):
828
829 2013-03-05  Kiran Muppala  <cmuppala@apple.com>
830
831         Use new assertion API for process suppression on Mac
832         https://bugs.webkit.org/show_bug.cgi?id=111387
833
834         Reviewed by Alexey Proskuryakov.
835
836         * Shared/ChildProcess.h:
837         (WebKit::ChildProcess::processSuppressionEnabled): Rename
838         m_processVisibleAssertion to m_processSuppressionAssertion.
839         * Shared/mac/ChildProcessMac.mm:
840         (WebKit::ChildProcess::setProcessSuppressionEnabled): Ditto. And,
841         replace calls to WKNSProcessInfoProcessAssertionWithTypes() with call to
842         -[NSProcessInfo beginSuspensionOfSystemBehaviors:].
843
844 2013-03-05  Anders Carlsson  <andersca@apple.com>
845
846         Move storageType() to StorageAreaProxy
847         https://bugs.webkit.org/show_bug.cgi?id=111488
848
849         Reviewed by Andreas Kling.
850
851         * WebProcess/Storage/StorageAreaProxy.cpp:
852         (WebKit::StorageAreaProxy::StorageAreaProxy):
853         (WebKit::StorageAreaProxy::storageType):
854         (WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
855         * WebProcess/Storage/StorageAreaProxy.h:
856         (StorageAreaProxy):
857         * WebProcess/Storage/StorageNamespaceProxy.cpp:
858         * WebProcess/Storage/StorageNamespaceProxy.h:
859
860 2013-03-05  Jeffrey Pfau  <jpfau@apple.com>
861
862         Clear associated cache partitions when deleting origins' cache
863         https://bugs.webkit.org/show_bug.cgi?id=111383
864
865         Reviewed by Maciej Stachowiak.
866
867         Clear the cache partitions associated with the origin being cleared.
868
869         * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
870         (WebKit):
871         (WebKit::partitionName):
872         (WebKit::WebResourceCacheManager::clearCFURLCacheForHostNames):
873
874 2013-03-05  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
875
876         [WK2][EFL] WebPageProxy::setThemePath() should check that the page is valid
877         https://bugs.webkit.org/show_bug.cgi?id=109917
878
879         Reviewed by Alexey Proskuryakov.
880
881         WebPageProxy::setThemePath() should check that the page is valid before
882         sending IPC message.
883
884         * UIProcess/efl/WebPageProxyEfl.cpp:
885         (WebKit::WebPageProxy::setThemePath):
886
887 2013-03-05  Alexey Proskuryakov  <ap@apple.com>
888
889         <rdar://problem/13269245> Crashes creating WebKit processes in WKSandboxExtensionConsume
890         https://bugs.webkit.org/show_bug.cgi?id=111456
891
892         Reviewed by Anders Carlsson.
893
894         It's too late to be draconian about this condition here, crashing doesn't help
895         diagnose what went wrong when creating a sandbox extension.
896
897         Other SandboxExtension functions already have null checks for WKSandboxExtensionRef,
898         and so should consumePermanently().
899
900         * Shared/mac/SandboxExtensionMac.mm:
901         (WebKit::SandboxExtension::createHandle): For now, added logging when extension
902         creation fails. If that proves insufficiently helpful in practice, we can change
903         to a CRASH() later.
904         (WebKit::SandboxExtension::createHandleForTemporaryFile): Ditto.
905         (WebKit::SandboxExtension::consumePermanently): Gracefully fail if there is no extension
906         to consume.
907
908 2013-03-05  Gwang Yoon Hwang  <ryumiel@company100.net>
909
910         Coordinated Graphics: CoordinatedGraphicsLayer makes CoordinatedGraphicsScene perform via CoordinatedGraphicsState.
911         https://bugs.webkit.org/show_bug.cgi?id=108294
912
913         Reviewed by Anders Carlsson.
914
915         There are two changes in WK2.
916         1. Change CoordinatedLayerTreeHostProxy to use CoordinatedGraphicsState.
917         2. Add encode/decode of CoordinatedGraphicsState in CoordinatedGraphicsArgumentCoders.
918
919         This patch is based on Dongsung Huang, and Noam's work in
920         https://bugs.webkit.org/show_bug.cgi?id=108294
921
922         No new tests, covered by existing tests.
923
924         * Scripts/webkit2/messages.py:
925         (headers_for_type):
926         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
927         (CoreIPC::::encode):
928             Encoding UpdateImageBacking and CreateUpdateAtlas can fail when
929             encoding WebCoordinatedSurface::Handle fails, but we don't
930             recover in the case.
931         (CoreIPC::::decode):
932         (CoreIPC):
933         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
934         (WebCore):
935         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
936         (WebKit::CoordinatedLayerTreeHostProxy::commitCoordinatedGraphicsState):
937         (WebKit):
938         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
939         (WebCore):
940         (CoordinatedLayerTreeHostProxy):
941         (WebKit::CoordinatedLayerTreeHostProxy::coordinatedGraphicsScene):
942         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
943         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
944         (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
945         (WebKit::CoordinatedLayerTreeHost::initializeRootCompositingLayerIfNeeded):
946         (WebKit::CoordinatedLayerTreeHost::syncLayerState):
947         (WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesIfNeeded):
948         (WebKit):
949         (WebKit::CoordinatedLayerTreeHost::updateImageBacking):
950         (WebKit::CoordinatedLayerTreeHost::setBackgroundColor):
951         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
952         (CoordinatedLayerTreeHost):
953
954 2013-03-05  Sam Weinig  <sam@webkit.org>
955
956         Follow up to https://bugs.webkit.org/show_bug.cgi?id=111453, forgot to mark the files as Private.
957
958         * WebKit2.xcodeproj/project.pbxproj:
959
960 2013-03-05  Sam Weinig  <sam@webkit.org>
961
962         Elevate accessors of C-SPI API variants to Objective-C SPI
963         https://bugs.webkit.org/show_bug.cgi?id=111453
964         <rdar://problem/13340357>
965
966         Reviewed by Alexey Proskuryakov.
967
968         * Shared/mac/ObjCObjectGraphCoders.mm:
969         * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
970         * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
971         * UIProcess/API/mac/WKBrowsingContextGroup.mm:
972         * UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Renamed from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupInternal.h.
973         * UIProcess/API/mac/WKProcessGroup.mm:
974         * UIProcess/API/mac/WKProcessGroupPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h.
975         * UIProcess/API/mac/WKView.mm:
976         * WebKit2.xcodeproj/project.pbxproj:
977         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
978         (-[WKWebProcessPlugInController _bundleRef]):
979         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInPrivate.h: Renamed from Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h.
980         Add access to C-SPI WebKit types as Objective-C SPI.
981
982 2013-03-04  Alexey Proskuryakov  <ap@apple.com>
983
984         Make AsyncFileReader work without ScriptExecutionContext
985         https://bugs.webkit.org/show_bug.cgi?id=111376
986
987         Reviewed by Anders Carlsson.
988
989         * NetworkProcess/NetworkResourceLoader.cpp:
990         * NetworkProcess/NetworkResourceLoader.h:
991         Removed a dummy implementation of createAsyncFileStream, which is no longer needed.
992
993 2013-03-05  Alexey Proskuryakov  <ap@apple.com>
994
995         <rdar://problem/13345116> REGRESSION: Child processes get access to user cache
996         and temporary directories instead of private ones
997
998         Reviewed by Sam Weinig.
999
1000         * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::initializeSandbox):
1001         Restore the correct order of calls, so sandbox parameters respect WebKit pseudo
1002         containers.
1003
1004 2013-03-05  David Kilzer  <ddkilzer@apple.com>
1005
1006         BUILD FIX (r144698): Only enable SPEECH_SYNTHESIS for Mac
1007         <http://webkit.org/b/106742>
1008
1009         Fixes the following build failures:
1010
1011             Undefined symbols for architecture i386:
1012               "__ZTVN7WebCore25PlatformSpeechSynthesizerE", referenced from:
1013                   __ZN7WebCore25PlatformSpeechSynthesizerC2EPNS_31PlatformSpeechSynthesizerClientE in PlatformSpeechSynthesizer.o
1014               NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
1015               "__ZN7WebCore25PlatformSpeechSynthesizer19initializeVoiceListEv", referenced from:
1016                   __ZN7WebCore25PlatformSpeechSynthesizerC2EPNS_31PlatformSpeechSynthesizerClientE in PlatformSpeechSynthesizer.o
1017             ld: symbol(s) not found for architecture i386
1018
1019         * Configurations/FeatureDefines.xcconfig:
1020         - Only set ENABLE_SPEECH_SYNTHESIS for the macosx platform.
1021
1022 2013-03-05  Tim Horton  <timothy_horton@apple.com>, Grzegorz Czajkowski  <g.czajkowski@samsung.com>
1023
1024         [WK2] WTR needs an implementation of setAsynchronousSpellCheckingEnabled
1025         https://bugs.webkit.org/show_bug.cgi?id=81042
1026
1027         Reviewed by Enrica Casucci.
1028
1029         Expose WK2 setting to enable/disabled asynchronous spell checking.
1030         It's used by WebKitTestRunner to reset the setting at the beginning
1031         of the test.
1032         WebKit2 ports might be interested in this setting if they are going
1033         to enable this feature.
1034
1035         * Shared/WebPreferencesStore.h:
1036         * UIProcess/API/C/WKPreferences.cpp:
1037         (WKPreferencesSetAsynchronousSpellCheckingEnabled):
1038         (WKPreferencesGetAsynchronousSpellCheckingEnabled):
1039         * UIProcess/API/C/WKPreferences.h:
1040         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
1041         (WKBundleSetAsynchronousSpellCheckingEnabled):
1042         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
1043         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1044         (WebKit::InjectedBundle::setAsynchronousSpellCheckingEnabled):
1045         * WebProcess/InjectedBundle/InjectedBundle.h:
1046         * WebProcess/WebPage/WebPage.cpp:
1047         (WebKit::WebPage::updatePreferences):
1048
1049 2013-03-03  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
1050
1051         [WK2][EFL] Add requestCheckingOfString implementation.
1052         https://bugs.webkit.org/show_bug.cgi?id=108172
1053
1054         Reviewed by Hajime Morrita.
1055
1056         Provide implementation of 'requestCheckingOfString' for WK2-EFL.
1057         It uses the unified text checker feature.
1058
1059         * UIProcess/efl/TextCheckerEfl.cpp:
1060         (WebKit::TextChecker::requestCheckingOfString):
1061
1062 2013-03-04  Chris Fleizach  <cfleizach@apple.com>
1063
1064         Support WebSpeech - Speech Synthesis
1065         https://bugs.webkit.org/show_bug.cgi?id=106742
1066
1067         Reviewed by Simon Fraser.
1068
1069         Enable speech synthesis for the Mac.
1070
1071         * Configurations/FeatureDefines.xcconfig:
1072
1073 2013-03-04  Anders Carlsson  <andersca@apple.com>
1074
1075         UI process storage areas should hold on to storage maps
1076         https://bugs.webkit.org/show_bug.cgi?id=111374
1077
1078         Reviewed by Beth Dakin.
1079
1080         Pass the session storage quota size through to the storage area constructor and
1081         create a StorageMap with the given quota size.
1082
1083         * UIProcess/Storage/StorageManager.cpp:
1084         (StorageManager::StorageArea):
1085         (WebKit::StorageManager::StorageArea::create):
1086         (WebKit::StorageManager::StorageArea::StorageArea):
1087         (StorageManager::SessionStorageNamespace):
1088         (WebKit::StorageManager::SessionStorageNamespace::create):
1089         (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
1090         (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
1091         (WebKit::StorageManager::createSessionStorageNamespace):
1092         (WebKit::StorageManager::createSessionStorageNamespaceInternal):
1093         * UIProcess/Storage/StorageManager.h:
1094         (StorageManager):
1095         * UIProcess/WebPageProxy.cpp:
1096         (WebKit::WebPageProxy::WebPageProxy):
1097
1098 2013-03-04  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
1099
1100         Unreviewed build fix after r144675.
1101
1102         Work around picky/old C++ compilers by separating the '>>' in
1103         nested templates with a space.
1104
1105         * UIProcess/Storage/StorageManager.cpp:
1106         (StorageManager::StorageArea):
1107
1108 2013-03-04  Anders Carlsson  <andersca@apple.com>
1109
1110         More work on UI side storage
1111         https://bugs.webkit.org/show_bug.cgi?id=111370
1112
1113         Reviewed by Andreas Kling.
1114
1115         Add a DispatchStorageEvent message and begin hooking it up.
1116
1117         * UIProcess/Storage/StorageManager.cpp:
1118         (StorageManager::StorageArea):
1119         (WebKit::StorageManager::StorageArea::setItem):
1120         (WebKit):
1121         (WebKit::StorageManager::StorageArea::dispatchEvents):
1122         (WebKit::StorageManager::setItem):
1123         (WebKit::StorageManager::findStorageArea):
1124         * UIProcess/Storage/StorageManager.h:
1125         (StorageManager):
1126         * UIProcess/Storage/StorageManager.messages.in:
1127         * WebProcess/Storage/StorageAreaProxy.cpp:
1128         (WebKit::StorageAreaProxy::setItem):
1129         (WebKit::StorageAreaProxy::dispatchStorageEvent):
1130         (WebKit):
1131         * WebProcess/Storage/StorageAreaProxy.h:
1132         (StorageAreaProxy):
1133         * WebProcess/Storage/StorageAreaProxy.messages.in:
1134
1135 2013-03-04  Jer Noble  <jer.noble@apple.com>
1136
1137         Unreviewed build fix: wrap references to PluginInfoStore with 
1138         guards for platforms which do not enable NETSCAPE_PLUGIN_AP.
1139
1140         * UIProcess/WebContext.cpp:
1141         (WebKit::WebContext::WebContext):
1142         (WebKit::WebContext::~WebContext):
1143         * UIProcess/WebContext.h:
1144
1145 2013-03-04  Anders Carlsson  <andersca@apple.com>
1146
1147         Create and destroy storage areas in the UI process
1148         https://bugs.webkit.org/show_bug.cgi?id=111361
1149
1150         Reviewed by Sam Weinig.
1151
1152         * UIProcess/Storage/StorageManager.cpp:
1153         (StorageManager::StorageArea):
1154         Keep track of listener connection and storage area ID pairs.
1155         
1156         (WebKit::StorageManager::StorageArea::~StorageArea):
1157         Assert that we don't have any listeners left.
1158
1159         (WebKit::StorageManager::StorageArea::addListener):
1160         Add the pair to the set of listeners.
1161         
1162         (WebKit::StorageManager::StorageArea::removeListener):
1163         Remove the pair from the set of listeners.
1164         
1165         (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
1166         Given an origin, look up or create the storage area.
1167
1168         (WebKit::StorageManager::createStorageArea):
1169         Create the storage area if it doesn't already exist.
1170
1171         (WebKit::StorageManager::destroyStorageArea):
1172         Look up the storage area and destroy it.
1173
1174         * UIProcess/Storage/StorageManager.h:
1175         Add a map of open storage areas.
1176
1177 2013-03-04  Jer Noble  <jer.noble@apple.com>
1178
1179         Add API to allow WK2 clients to query the list of installed plug-ins.
1180         https://bugs.webkit.org/show_bug.cgi?id=111245
1181
1182         Reviewed by Alexey Proskuryakov.
1183
1184         Add API in WKContext, implemented by WebContext, that allows callers to register a callback 
1185         retrieve an array containing installed plugin information. This API is exposed through WebContext 
1186         because it owns the PluginInfoStore used to fulfill the request.
1187
1188         Bump the WKContextClient API by 1:
1189         * Shared/APIClientTraits.cpp:
1190         * Shared/APIClientTraits.h:
1191         * UIProcess/API/C/WKContext.h:
1192
1193         Add a client protocol to PluginInfoStore to notify the client when plugIn information has been
1194         successfully loaded:
1195         * UIProcess/Plugins/PluginInfoStore.cpp:
1196         (WebKit::PluginInfoStore::PluginInfoStore): Initialize m_client to 0.
1197         (WebKit::PluginInfoStore::loadPluginsIfNecessary): If the client is present, notify after loading the plugin store.
1198         * UIProcess/Plugins/PluginInfoStore.h:
1199         (WebKit::PluginInfoStoreClient::~PluginInfoStoreClient): Default destructor.
1200         (WebKit::PluginInfoStoreClient::PluginInfoStoreClient): Default constructor.
1201         (WebKit::PluginInfoStore::setClient): Simple setter.
1202         (WebKit::PluginInfoStore::client): Simple getter.
1203
1204         * UIProcess/WebContext.cpp:
1205         (WebKit::WebContext::WebContext): Set self as the client of PluginInfoStore.
1206         (WebKit::WebContext::~WebContext): Clear the client of PluginInfoStore.
1207         (WebKit::WebContext::pluginInfoStoreDidLoadPlugins): Pass the callback to own client.
1208         * UIProcess/WebContext.h:
1209         * UIProcess/WebContextClient.cpp:
1210         (WebKit::WebContextClient::plugInInformationBecameAvailable): Pass the callback to the registered WK callback, if present.
1211         * UIProcess/WebContextClient.h:
1212
1213 2013-03-04  Tim Horton  <timothy_horton@apple.com>
1214
1215         PDFPlugin: Hook up Services
1216         https://bugs.webkit.org/show_bug.cgi?id=111246
1217         <rdar://problem/13062672>
1218
1219         Reviewed by Alexey Proskuryakov.
1220
1221         Make the Application->Services menu work when the focused selection is a PDFPlugin.
1222
1223         * Shared/EditorState.cpp:
1224         (WebKit::EditorState::encode):
1225         (WebKit::EditorState::decode):
1226         * Shared/EditorState.h:
1227         (WebKit::EditorState::EditorState):
1228         (EditorState):
1229         Add isInPlugin property to EditorState.
1230
1231         * UIProcess/API/mac/WKView.mm:
1232         (-[WKView validRequestorForSendType:returnType:]):
1233         If the selection is currently in a Plugin, we only currently have the ability
1234         to retrieve the selection as a plain-text string, so restrict sendType to NSStringPboardType.
1235
1236         * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
1237         * WebProcess/Plugins/Plugin.h:
1238         * WebProcess/Plugins/PluginView.h:
1239         * WebProcess/Plugins/PluginProxy.h:
1240         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1241         Add getStringSelection.
1242
1243         * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
1244         Add pdfLayerController:didChangeSelection: delegate method.
1245
1246         * WebProcess/Plugins/PDF/PDFPlugin.h:
1247         (PDFPlugin):
1248         Add getStringSelection and notifySelectionChanged.
1249
1250         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1251         (-[WKPDFLayerControllerDelegate pdfLayerController:didChangeSelection:]):
1252         Forward selection change notifications to our PDFPlugin.
1253
1254         (WebKit::PDFPlugin::notifySelectionChanged):
1255         Forward selection change notifications to our WebPage.
1256
1257         (WebKit::PDFPlugin::getStringSelection):
1258         Retrieve PDFLayerController's selection as a plain text string.
1259         
1260         * WebProcess/Plugins/PluginView.cpp:
1261         (WebKit::PluginView::countFindMatches):
1262         (WebKit::PluginView::findString):
1263         Drive-bys, check for existance and initialization of the plugin before using it.
1264
1265         (WebKit::PluginView::getStringSelection): Added.
1266
1267         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1268         (WebKit::WebEditorClient::respondToChangedSelection):
1269         Use didChangeSelection instead of sending the EditorStateChanged message directly.
1270
1271         * WebProcess/WebPage/WebPage.cpp:
1272         (WebKit::WebPage::editorState):
1273         If a plugin is focused and has a selection, return a EditorState that reflects that.
1274         Since PDFs aren't editable (when editing annotations, the plugin doesn't have focus),
1275         I'm not adding support for the editing-related properties when a plugin has focus.
1276
1277         (WebKit::WebPage::focusedPluginViewForFrame):
1278         (WebKit::WebPage::pluginViewForFrame):
1279         Make these class methods instead of static functions so we can use them from
1280         WebPageMac too, instead of duplicating code there.
1281
1282         (WebKit::WebPage::didChangeSelection): Added.
1283
1284         * WebProcess/WebPage/WebPage.h:
1285         Add didChangeSelection and [focused]PluginViewForFrame.
1286
1287         * WebProcess/WebPage/mac/WebPageMac.mm:
1288         (WebKit::WebPage::getStringSelectionForPasteboard):
1289         Defer to the focused plugin (if it exists) when retrieving the plain-text selection.
1290
1291 2013-03-04  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1292
1293         [WK2][EFL] Add callbacks to the WKViewClient to handle Web Process crash and relaunch
1294         https://bugs.webkit.org/show_bug.cgi?id=109828
1295
1296         Reviewed by Kenneth Rohde Christiansen.
1297
1298         Providing WKViewClient with Web Process crash and Web Process relaunch
1299         callbacks brings better design as WebView should not be aware of
1300         EFL-specific code handling the corresponding events.
1301
1302         The implementation of the mentioned Web Process callbacks was also added.
1303
1304         * UIProcess/API/C/efl/WKView.cpp:
1305         (WKViewSetThemePath):
1306         * UIProcess/API/C/efl/WKView.h:
1307         * UIProcess/efl/ViewClientEfl.cpp:
1308         (WebKit::ViewClientEfl::webProcessCrashed):
1309         (WebKit):
1310         (WebKit::ViewClientEfl::webProcessDidRelaunch):
1311         (WebKit::ViewClientEfl::ViewClientEfl):
1312         * UIProcess/efl/ViewClientEfl.h:
1313         (ViewClientEfl):
1314         * UIProcess/efl/WebView.cpp:
1315         (WebKit::WebView::setThemePath):
1316
1317             Accepts WTF::String instead of WKStringRef as it is
1318             more appropriate for C++ API implementation class.
1319
1320         (WebKit::WebView::processDidCrash):
1321         (WebKit::WebView::didRelaunchProcess):
1322         * UIProcess/efl/WebView.h:
1323         (WebView):
1324         * UIProcess/efl/WebViewClient.cpp:
1325         (WebKit::WebViewClient::webProcessCrashed):
1326         (WebKit):
1327         (WebKit::WebViewClient::webProcessDidRelaunch):
1328         * UIProcess/efl/WebViewClient.h:
1329
1330 2013-03-04  Anders Carlsson  <andersca@apple.com>
1331
1332         Complete the plug-in URL string before sending it to the UI process
1333         https://bugs.webkit.org/show_bug.cgi?id=111355
1334         <rdar://problem/13326713>
1335
1336         Reviewed by Andreas Kling.
1337
1338         If the URL is not absolute, we won't be able to find it by path extension in the plug-in info store.
1339
1340         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1341         (WebKit::WebChromeClient::unavailablePluginButtonClicked):
1342
1343 2013-03-04  Carlos Garcia Campos  <cgarcia@igalia.com>
1344
1345         [GTK] Some WebKit2 GTK+ unit tests are failing in 32 bits bot
1346         https://bugs.webkit.org/show_bug.cgi?id=111346
1347
1348         Reviewed by Martin Robinson.
1349
1350         The problem is the use of a temporary CString object in the macro
1351         g_assert_cmpstr. It's a common mistake because we usually forget
1352         that g_assert_cmpstr is not a function but a macro, that expands
1353         to multiple lines. This patch adds a new macro ASSERT_CMP_CSTRING
1354         with the same implementation that g_assert_cmpstr, but using
1355         CStrings instead of const char*. It fixes all the cases where a
1356         temporary CString was used in g_assert_cmpstr, and uses the new
1357         macro also for the cases where we were caching the CString just
1358         for g_assert_cmpstr.
1359
1360         * UIProcess/API/gtk/tests/TestDownloads.cpp:
1361         (testDownloadRemoteFile):
1362         * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
1363         (testInspectorServerPageList):
1364         * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
1365         * UIProcess/API/gtk/tests/TestMain.h:
1366         * UIProcess/API/gtk/tests/TestResources.cpp:
1367         * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
1368         (testGetFaviconURI):
1369         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
1370         (assertThatUserAgentIsSentInHeaders):
1371         (testWebKitSettingsUserAgent):
1372
1373 2013-03-04  Kunihiko Sakamoto  <ksakamoto@chromium.org>
1374
1375         Add build flag for FontLoader
1376         https://bugs.webkit.org/show_bug.cgi?id=111289
1377
1378         Reviewed by Benjamin Poulain.
1379
1380         Add ENABLE_FONT_LOAD_EVENTS build flag (disabled by default).
1381
1382         * Configurations/FeatureDefines.xcconfig:
1383
1384 2013-03-03  Tim Horton  <timothy_horton@apple.com>
1385
1386         PDFPlugin: Rename delegate method from openWithPreview to openWithNativeApplication
1387         https://bugs.webkit.org/show_bug.cgi?id=111258
1388
1389         Reviewed by Alexey Proskuryakov.
1390
1391         * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
1392         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1393         (-[WKPDFLayerControllerDelegate openWithNativeApplication]):
1394         Rename from openWithPreview to openWithNativeApplication to match PDFKit.
1395
1396 2013-03-03  Huang Dongsung  <luxtella@company100.net>
1397
1398         [EFL][QT][WK2] Turn on ApplyDeviceScaleFactorInCompositor always.
1399         https://bugs.webkit.org/show_bug.cgi?id=110298
1400
1401         Reviewed by Kenneth Rohde Christiansen.
1402
1403         Currently, EFL and Qt turn on ApplyDeviceScaleFactorInCompositor when using
1404         fixed layout, but ApplyDeviceScaleFactorInCompositor is not related to fixed
1405         layout. It is confusing that a platform WebView deals with device view size or
1406         DIP view size case by case. So this patch always turns on
1407         ApplyDeviceScaleFactorInCompositor.
1408
1409         In addition, move the code that turns on ScrollingCoordinatorEnabled to
1410         CoordinatedLayerTreeHost.
1411
1412         * UIProcess/API/efl/EwkView.cpp:
1413         (EwkView::setDeviceScaleFactor):
1414             We should make WebPage know new DIP size.
1415         (EwkView::setSize):
1416             When we set ApplyDeviceScaleFactorInCompositor to true, make WebPage
1417             know the DIP size as a view size.
1418         * UIProcess/efl/WebView.cpp:
1419         (WebKit::WebView::updateViewportSize):
1420         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1421         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
1422         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1423         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
1424         * WebProcess/WebPage/WebPage.cpp:
1425         (WebKit::WebPage::setUseFixedLayout):
1426             WebPage sends the DIP size to Web Process even when we don't use fixed layout.
1427
1428 2013-03-03  Sam Weinig  <sam@webkit.org>
1429
1430         Shared Web Workers have an incorrect visible process name
1431         https://bugs.webkit.org/show_bug.cgi?id=111277
1432
1433         Reviewed by Dan Bernstein.
1434
1435         * SharedWorkerProcess/SharedWorkerProcess.cpp:
1436         (WebKit::SharedWorkerProcess::initializeSharedWorkerProcess):
1437         * SharedWorkerProcess/SharedWorkerProcess.h:
1438         (SharedWorkerProcess):
1439         * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
1440         (WebKit::SharedWorkerProcess::initializeProcessName):
1441         The SharedWorkerProcess is not an internet plug-in!
1442
1443 2013-03-03  Adam Barth  <abarth@webkit.org>
1444
1445         Unreviewed attempted build fix. Adds back some includes removed in
1446         http://trac.webkit.org/changeset/144565.
1447
1448         * Shared/WebRenderLayer.cpp:
1449         * Shared/WebRenderObject.cpp:
1450         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
1451         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1452         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1453         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1454         * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
1455         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1456         * WebProcess/Plugins/PluginView.cpp:
1457         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1458         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1459         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1460         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1461         * WebProcess/WebPage/mac/WebPageMac.mm:
1462         * WebProcess/WebProcess.cpp:
1463         * WebProcess/soup/WebProcessSoup.cpp:
1464
1465 2013-03-03  Adam Barth  <abarth@webkit.org>
1466
1467         Unreviewed rollout of http://trac.webkit.org/r144530
1468         As described in https://bugs.webkit.org/show_bug.cgi?id=111167 and
1469         https://bugs.webkit.org/show_bug.cgi?id=111035, this patch caused a
1470         large number of ASSERTs in chromium-win.
1471
1472         * NetworkProcess/HostRecord.h:
1473         * NetworkProcess/NetworkResourceLoadScheduler.h:
1474         * NetworkProcess/NetworkResourceLoader.h:
1475         (WebCore):
1476         * Shared/WebRenderLayer.cpp:
1477         * Shared/WebRenderObject.cpp:
1478         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
1479         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1480         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1481         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1482         * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
1483         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1484         * WebProcess/Plugins/PluginView.cpp:
1485         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1486         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1487         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1488         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1489         * WebProcess/WebPage/mac/WebPageMac.mm:
1490         * WebProcess/WebProcess.cpp:
1491         * WebProcess/soup/WebProcessSoup.cpp:
1492
1493 2013-03-02  Sam Weinig  <sam@webkit.org>
1494
1495         WebKit2 is missing the setShowsURLsInToolTips preference
1496         https://bugs.webkit.org/show_bug.cgi?id=111259
1497         <rdar://problem/12991891>
1498
1499         Reviewed by Maciej Stachowiak.
1500
1501         * Shared/WebPreferencesStore.h:
1502         * UIProcess/API/C/WKPreferences.cpp:
1503         (WKPreferencesSetShowsURLsInToolTipsEnabled):
1504         (WKPreferencesGetShowsURLsInToolTipsEnabled):
1505         * UIProcess/API/C/WKPreferencesPrivate.h:
1506         * WebProcess/WebPage/WebPage.cpp:
1507         (WebKit::WebPage::updatePreferences):
1508         Pipe it through.
1509
1510 2013-03-02  Benjamin Poulain  <bpoulain@apple.com>
1511
1512         Move computedStyleIncludingVisitedInfo from TestRunner to Internals
1513         https://bugs.webkit.org/show_bug.cgi?id=109772
1514
1515         Reviewed by Andreas Kling.
1516
1517         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1518         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
1519         * WebProcess/WebPage/WebFrame.cpp:
1520         * WebProcess/WebPage/WebFrame.h:
1521         (WebFrame):
1522
1523 2013-03-01  Kiran Muppala  <cmuppala@apple.com>
1524
1525         Remove call to set task priority of WebKit2 processes on Mac
1526         https://bugs.webkit.org/show_bug.cgi?id=111239
1527
1528         Reviewed by Darin Adler.
1529
1530         Remove call to set task prioirty of WebKit2 processes on Mac as it
1531         is no longer necessary.
1532
1533         * Shared/mac/ChildProcessMac.mm:
1534         (WebKit::ChildProcess::platformInitialize): Remove call to setpriority().
1535
1536 2013-02-28  Alexey Proskuryakov  <ap@apple.com>
1537
1538         Reduce amount of rebuilding when touching networking headers
1539         https://bugs.webkit.org/show_bug.cgi?id=111035
1540
1541         Reviewed by Eric Seidel.
1542
1543         Adding includes that are now necessary because WebCore headers don't have them
1544         any more.
1545
1546         * NetworkProcess/HostRecord.h:
1547         * NetworkProcess/NetworkResourceLoadScheduler.h:
1548         * NetworkProcess/NetworkResourceLoader.h:
1549         * Shared/WebRenderLayer.cpp:
1550         * Shared/WebRenderObject.cpp:
1551         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
1552         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1553         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1554         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1555         * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
1556         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1557         * WebProcess/Plugins/PluginView.cpp:
1558         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1559         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1560         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1561         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1562         * WebProcess/WebPage/mac/WebPageMac.mm:
1563         * WebProcess/WebProcess.cpp:
1564         * WebProcess/soup/WebProcessSoup.cpp:
1565
1566 2013-02-28  Alexey Proskuryakov  <ap@apple.com>
1567
1568         Make in-memory blobs work in NetworkProcess
1569         https://bugs.webkit.org/show_bug.cgi?id=111132
1570
1571         Reviewed by Sam Weinig.
1572
1573         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
1574         (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
1575         (WebKit::NetworkConnectionToWebProcess::registerBlobURLFromURL):
1576         (WebKit::NetworkConnectionToWebProcess::unregisterBlobURL):
1577         * NetworkProcess/NetworkConnectionToWebProcess.h:
1578         Implement BlobRegistry interface by using BlobRegistryImpl (same one as used in
1579         WebProcess in non-PPT mode).
1580
1581         * NetworkProcess/NetworkConnectionToWebProcess.messages.in: Added three messages
1582         needed for BlobRegistry.
1583
1584         * NetworkProcess/NetworkProcess.cpp:
1585         * NetworkProcess/NetworkProcessPlatformStrategies.cpp: Added.
1586         * NetworkProcess/NetworkProcessPlatformStrategies.h: Added.
1587         Added a mostly empty platform strategy, just for FormData to talk to BlobRegistry.
1588         Perhaps we'll find a way to avoid this WebCore code path in NetworkProcess, because
1589         we obviously know which registry implementation is in use in this process.
1590
1591         * Shared/FileAPI: Added.
1592         * Shared/FileAPI/BlobRegistrationData.cpp: Added.
1593         * Shared/FileAPI/BlobRegistrationData.h: Added.
1594         Added a class for passing BlobData and extension handles over IPC.
1595         This uses a trick with mutable a member to avoid copying decoded BlobStorageData.
1596
1597         * WebKit2.xcodeproj/project.pbxproj:
1598         * WebProcess/FileAPI: Added.
1599         * WebProcess/FileAPI/BlobRegistryProxy.cpp: Added.
1600         * WebProcess/FileAPI/BlobRegistryProxy.h: Added.
1601         A proxy implementation of BlobRegistry that just sends requests over IPC. We only
1602         need async ones.
1603
1604         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1605         (WebKit::WebPlatformStrategies::createBlobRegistry):
1606         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
1607         Create an appropriate BlobRegistry.
1608
1609 2013-03-01  Zan Dobersek  <zdobersek@igalia.com>
1610
1611         Uncomment ENABLE_SVG guards to avoid having WebKitPluginProcess link
1612         against libWebCoreSVG.la when SVG is disabled.
1613
1614         Rubber-stamped by Gustavo Noronha.
1615
1616         * GNUmakefile.am:
1617
1618 2013-02-28  Sam Weinig  <sam@webkit.org>
1619
1620         Add SPI for marking a WebView as doing things on behalf of another process
1621         https://bugs.webkit.org/show_bug.cgi?id=111125
1622
1623         Reviewed by Alexey Proskuryakov.
1624
1625         * NetworkProcess/mac/RemoteNetworkingContext.h:
1626         * NetworkProcess/mac/RemoteNetworkingContext.mm:
1627         (WebKit::RemoteNetworkingContext::sourceApplicationAuditData):
1628         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
1629         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1630         (WebKit::WebFrameNetworkingContext::sourceApplicationAuditData):
1631         Stub out sourceApplicationAuditData() client function.
1632
1633 2013-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1634
1635         Unreviewed, rolling out r144422 and r144424.
1636         http://trac.webkit.org/changeset/144422
1637         http://trac.webkit.org/changeset/144424
1638         https://bugs.webkit.org/show_bug.cgi?id=111167
1639
1640         Caused over 20 tests to fail assertion on Chromium Win port as
1641         ASSERTION FAILED: m_platformRequestUpdated (Requested by
1642         toyoshim on #webkit).
1643
1644         * NetworkProcess/HostRecord.h:
1645         * NetworkProcess/NetworkResourceLoadScheduler.h:
1646         * NetworkProcess/NetworkResourceLoader.h:
1647         (WebCore):
1648         * Shared/WebRenderLayer.cpp:
1649         * Shared/WebRenderObject.cpp:
1650         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
1651         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1652         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1653         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1654         * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
1655         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1656         * WebProcess/Plugins/PluginView.cpp:
1657         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1658         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1659         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1660         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1661         * WebProcess/WebPage/mac/WebPageMac.mm:
1662         * WebProcess/WebProcess.cpp:
1663         * WebProcess/soup/WebProcessSoup.cpp:
1664
1665 2013-03-01  Andras Becsi  <andras.becsi@digia.com>
1666
1667         [Qt][WK2] Fix failing API tests after r143935
1668         https://bugs.webkit.org/show_bug.cgi?id=111086
1669
1670         Reviewed by Jocelyn Turcotte.
1671
1672         Convert a leftorver resume call to the new resumeAndUpdateContent() call
1673         in PageViewportControllerClientQt so that the notifications about zoom
1674         animation state changes reach the API tests.
1675
1676         * UIProcess/qt/PageViewportControllerClientQt.cpp:
1677         (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
1678
1679 2013-03-01  Grzegorz Czajkowski  <g.czajkowski@samsung.com>, Mariusz Grzegorczyk <mariusz.g@samsung.com>
1680
1681         [WK2] Asynchronous spell checking implementation
1682         https://bugs.webkit.org/show_bug.cgi?id=109577
1683
1684         Reviewed by Enrica Casucci.
1685
1686         Associate the abstract 'WebCore::TextCheckingRequest' object with the unique identifier
1687         on WebProcess side. The request data from the 'TextCheckingRequest' are retrieved and
1688         passed to the UIProcess. The WK2 client (TextChecker{Gtk/Mac/Efl/Qt}.cpp) gets
1689         the 'TextCheckerCompletion' object with the request data and possibility to notify
1690         the WebProcess about the spelling results.
1691         Finally, the WebPage object calls on the proper 'TextCheckingRequest' object
1692         didSuccess/didCancel method to notify the WebCore about the spelling result.
1693
1694         * CMakeLists.txt:
1695         * GNUmakefile.list.am:
1696         Add 'TextCheckerCompletion.{h/cpp}' to the WebKit2 cmake based and
1697         WK2-Gtk+ builds.
1698
1699         * Scripts/webkit2/messages.py:
1700         (headers_for_type):
1701         Add exception for 'TextCheckingRequestData' class to properly find header
1702         file for it.
1703
1704         * Shared/WebCoreArgumentCoders.cpp:
1705         * Shared/WebCoreArgumentCoders.h:
1706         Teach 'ArgumentCoder' how to encode/decode 'TextCheckingRequestData' class.
1707
1708         * Target.pri:
1709         Add 'TextCheckerCompletion.{h/cpp}' to the WK2-Qt build.
1710
1711         * UIProcess/TextChecker.h:
1712         Add 'requestCheckingOfString' method to the TextChecker's interface.
1713
1714         * UIProcess/TextCheckerCompletion.cpp: Added.
1715         (WebKit::TextCheckerCompletion::create):
1716         (WebKit::TextCheckerCompletion::TextCheckerCompletion):
1717
1718         (WebKit::TextCheckerCompletion::spellDocumentTag):
1719         Return the WebPageProxy's spellDocumentTag as the client might be
1720         interested in from which page the request came.
1721
1722         (WebKit::TextCheckerCompletion::textCheckingRequestData):
1723         Allow to retrieve 'TextCheckingRequestData' object.
1724
1725         (WebKit::TextCheckerCompletion::didFinishCheckingText):
1726         (WebKit::TextCheckerCompletion::didCancelCheckingText):
1727         Notify the 'WebPageProxy' object that the given request has been
1728         handled or canceled.
1729
1730         * UIProcess/TextCheckerCompletion.h: Added.
1731         Introduce a new class for WK2 to retrieve the request data and
1732         call didFinishCheckingText/didCancelCheckingText.
1733
1734         * UIProcess/WebPageProxy.cpp:
1735         (WebKit::WebPageProxy::requestCheckingOfString):
1736         Create 'TextCheckerCompletion' object and pass it
1737         to the 'TextChecker::requestCheckingOfString' method.
1738
1739         (WebKit::WebPageProxy::didFinishCheckingText):
1740         (WebKit::WebPageProxy::didCancelCheckingText):
1741         Send the messages to WebProcess that the given request has been
1742         handled or canceled.
1743
1744         * UIProcess/WebPageProxy.h:
1745         (WebPageProxy):
1746         Add public declarations for 'didFinishCheckingText', 'didCancelCheckingText'.
1747         Add private declarations for 'requestCheckingOfString'.
1748         Move the 'spellDocumentTag()' method to to the public section to be
1749         accessible from 'TextCheckerCompletion' class.
1750
1751         * UIProcess/WebPageProxy.messages.in:
1752         A new entry for 'RequestCheckingOfString'.
1753
1754         * UIProcess/efl/TextCheckerEfl.cpp:
1755         (WebKit::TextChecker::requestCheckingOfString):
1756         (WebKit):
1757         * UIProcess/gtk/TextCheckerGtk.cpp:
1758         (WebKit::TextChecker::requestCheckingOfString):
1759         (WebKit):
1760         * UIProcess/mac/TextCheckerMac.mm:
1761         (WebKit::TextChecker::requestCheckingOfString):
1762         (WebKit):
1763         * UIProcess/qt/TextCheckerQt.cpp:
1764         (WebKit::TextChecker::requestCheckingOfString):
1765         (WebKit):
1766         Add dummy implementations for 'requestCheckingOfString'.
1767
1768         * WebKit2.xcodeproj/project.pbxproj:
1769         Add 'TextCheckerCompletion.{h/cpp} to Mac build.
1770
1771         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1772         (WebKit::generateTextCheckingRequestID):
1773         Helper function to generate the unique identifier for the abstract
1774         'TextCheckingRequest' object.
1775
1776         (WebKit::WebEditorClient::requestCheckingOfString):
1777         Associate 'TextCheckingRequest' with the unique identifier and add them
1778         to the map object.
1779         Get the request data and send it to the UIProcess.
1780
1781         * WebProcess/WebPage/WebPage.cpp:
1782         (WebKit::WebPage::addTextCheckingRequest):
1783         Add the identifier and the request to the map object.
1784
1785         (WebKit::WebPage::didFinishCheckingText):
1786         (WebKit::WebPage::didCancelCheckingText):
1787         Call didSucceed/didCancel on the 'TextCheckingRequest' to notify the WebCore
1788         about spellcheking results.
1789         Remove the request from the map object.
1790
1791         * WebProcess/WebPage/WebPage.h:
1792         Add declarations for 'addTextCheckingRequest', 'didFinishCheckingText' and
1793         'didCancelCheckingText.'
1794
1795         * WebProcess/WebPage/WebPage.messages.in:
1796         Add a new entry for DidFinishCheckingText, DidCancelCheckingText.
1797
1798 2013-02-28  Alexey Proskuryakov  <ap@apple.com>
1799
1800         Reduce amount of rebuilding when touching networking headers
1801         https://bugs.webkit.org/show_bug.cgi?id=111035
1802
1803         Reviewed by Eric Seidel.
1804
1805         Adding includes that are now necessary because WebCore headers don't have them
1806         any more.
1807
1808         * NetworkProcess/HostRecord.h:
1809         * NetworkProcess/NetworkResourceLoadScheduler.h:
1810         * NetworkProcess/NetworkResourceLoader.h:
1811         * Shared/WebRenderLayer.cpp:
1812         * Shared/WebRenderObject.cpp:
1813         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
1814         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1815         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1816         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1817         * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
1818         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1819         * WebProcess/Plugins/PluginView.cpp:
1820         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1821         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1822         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1823         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1824         * WebProcess/WebPage/mac/WebPageMac.mm:
1825         * WebProcess/WebProcess.cpp:
1826         * WebProcess/soup/WebProcessSoup.cpp:
1827
1828 2013-02-28  Seokju Kwon  <seokju.kwon@gmail.com>
1829
1830         [WK2] Refactoring : Fix indentation and braces in WebInspectorClient.h|cpp
1831         https://bugs.webkit.org/show_bug.cgi?id=109925
1832
1833         Reviewed by Benjamin Poulain.
1834
1835         The contents of an outermost namespace block should not be indented.
1836         And One-line control clauses should not use braces.
1837
1838         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1839         (WebKit::WebInspectorClient::closeInspectorFrontend):
1840         * WebProcess/WebCoreSupport/WebInspectorClient.h:
1841         (WebCore):
1842
1843 2013-02-28  Kiran Muppala  <cmuppala@apple.com>
1844
1845         Add a pre-bootstrap message for NetworkProcess XPC service
1846         https://bugs.webkit.org/show_bug.cgi?id=111127
1847
1848         Reviewed by Sam Weinig.
1849
1850         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
1851         (WebKit::XPCServiceEventHandler): Hold on to the pre-bootstrap message.
1852         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
1853         (WebKit::XPCServiceEventHandler): Ditto.
1854         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1855         (WebKit::connectToService): Send a pre-bootstrap message for NetworkProcess
1856         XPC service.
1857
1858 2013-02-28  Conrad Shultz  <conrad_shultz@apple.com>
1859
1860         Need API to control page underlay color
1861         https://bugs.webkit.org/show_bug.cgi?id=110918
1862
1863         Reviewed by Simon Fraser.
1864
1865         * Shared/WebPageCreationParameters.cpp:
1866         (WebKit::WebPageCreationParameters::encode):
1867         Encode underlayColor.
1868         (WebKit::WebPageCreationParameters::decode):
1869         Decode underlayColor.
1870
1871         * Shared/WebPageCreationParameters.h:
1872         (WebPageCreationParameters):
1873         Add underlayColor member.
1874
1875         * UIProcess/API/mac/WKView.mm:
1876         (-[WKView underlayColor]):
1877         Accessor; retrieves the WebCore::Color from the WebPageProxy and converts it to an NSColor.
1878         (-[WKView setUnderlayColor:]):
1879         Mutator; converts the NSColor to a WebCore::Color and passes it to the WebPageProxy.
1880
1881         * UIProcess/API/mac/WKViewPrivate.h:
1882         Add underlayColor @property.
1883
1884         * UIProcess/WebPageProxy.cpp:
1885         (WebKit::WebPageProxy::setUnderlayColor):
1886         Mutator; dispatches SetUnderlayColor to WebPage.
1887         (WebKit::WebPageProxy::creationParameters):
1888         Set the parameters' underlayColor member appropriately.
1889
1890         * UIProcess/WebPageProxy.h:
1891         Declare new member functions and variable.
1892         (WebKit::WebPageProxy::underlayColor):
1893         Accessor.
1894
1895         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1896         (WebKit::WebChromeClient::underlayColor):
1897         Return the associated WebPage's underlayColor.
1898
1899         * WebProcess/WebCoreSupport/WebChromeClient.h:
1900         (WebChromeClient):
1901         Declare underlayColor().
1902
1903         * WebProcess/WebPage/WebPage.cpp:
1904         (WebKit::WebPage::WebPage):
1905         Apply any underlayColor that was supplied as part of the WebPageCreationParameters.
1906
1907         * WebProcess/WebPage/WebPage.h:
1908         Declare new member functions and variable.
1909         (WebKit::WebPage::underlayColor):
1910         Accessor.
1911
1912         * WebProcess/WebPage/WebPage.messages.in:
1913         Add SetUnderlayColor message.
1914
1915 2013-02-28  Anders Carlsson  <andersca@apple.com>
1916
1917         Add the notion of an allowed connection to SessionStorageNamespace
1918         https://bugs.webkit.org/show_bug.cgi?id=111122
1919
1920         Reviewed by Sam Weinig.
1921
1922         Group together each session storage namespace with an allowed connection.
1923         This will help ensure that rouge web processes will not be able to access session storage
1924         from pages in other processes.
1925         
1926         * UIProcess/Storage/StorageManager.cpp:
1927         (StorageManager::SessionStorageNamespace):
1928         (WebKit::StorageManager::SessionStorageNamespace::allowedConnection):
1929         (WebKit::StorageManager::SessionStorageNamespace::create):
1930         (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
1931         (WebKit::StorageManager::SessionStorageNamespace::setAllowedConnection):
1932         Add an m_allowedConnection member variable, as well as setters and getters.
1933
1934         (WebKit::StorageManager::createSessionStorageNamespace):
1935         Take an optional allowed connection. (It can be null if the process has not finished launching).
1936
1937         (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
1938         New function to set the allowed connection for a session storage namespace.
1939
1940         (WebKit::StorageManager::createStorageArea):
1941         Add another FIXME.
1942
1943         (WebKit::StorageManager::createSessionStorageNamespaceInternal):
1944         Pass the connection to the SessionStorageNamespace constructor.
1945
1946         (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal):
1947         Set the allowed connection.
1948
1949         * UIProcess/WebPageProxy.cpp:
1950         (WebKit::WebPageProxy::WebPageProxy):
1951         Pass the connection to createSessionStorageNamespace.
1952
1953         (WebKit::WebPageProxy::connectionWillOpen):
1954         Call setAllowedSessionStorageNamespaceConnection.
1955         
1956         (WebKit::WebPageProxy::connectionWillClose):
1957         Call setAllowedSessionStorageNamespaceConnection with a null connection.
1958
1959         * UIProcess/WebProcessProxy.cpp:
1960         (WebKit::WebProcessProxy::connectionWillOpen):
1961         Call connectionWillOpen on all pages.
1962
1963         (WebKit::WebProcessProxy::connectionWillClose):
1964         Call connectionWillClose on all pages.
1965
1966 2013-02-28  Kiran Muppala  <cmuppala@apple.com>
1967
1968         Add private API to disable WKView window occlusion detection
1969         https://bugs.webkit.org/show_bug.cgi?id=111107
1970
1971         Reviewed by Simon Fraser.
1972
1973         * UIProcess/API/mac/WKView.mm:
1974         (-[WKView _enableWindowOcclusionNotifications]): Check if occlusion
1975         detection is enabled before enabling notifications.
1976         (windowBecameOccluded): Ditto before changing window occlusion state.
1977         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
1978         Initialize occlusion detection enabled flag to "YES".
1979         (-[WKView windowOcclusionDetectionEnabled]):
1980         (-[WKView setWindowOcclusionDetectionEnabled:]):
1981         * UIProcess/API/mac/WKViewPrivate.h:
1982
1983 2013-02-28  Anders Carlsson  <andersca@apple.com>
1984
1985         Add the notion of an allowed connection to SessionStorageNamespace
1986         https://bugs.webkit.org/show_bug.cgi?id=111122
1987
1988         Reviewed by Sam Weinig.
1989
1990         Group together each session storage namespace with an allowed connection.
1991         This will help ensure that rouge web processes will not be able to access session storage
1992         from pages in other processes.
1993         
1994         * UIProcess/Storage/StorageManager.cpp:
1995         (StorageManager::SessionStorageNamespace):
1996         (WebKit::StorageManager::SessionStorageNamespace::allowedConnection):
1997         (WebKit::StorageManager::SessionStorageNamespace::create):
1998         (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
1999         (WebKit::StorageManager::SessionStorageNamespace::setAllowedConnection):
2000         Add an m_allowedConnection member variable, as well as setters and getters.
2001
2002         (WebKit::StorageManager::createSessionStorageNamespace):
2003         Take an optional allowed connection. (It can be null if the process has not finished launching).
2004
2005         (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
2006         New function to set the allowed connection for a session storage namespace.
2007
2008         (WebKit::StorageManager::createStorageArea):
2009         Add another FIXME.
2010
2011         (WebKit::StorageManager::createSessionStorageNamespaceInternal):
2012         Pass the connection to the SessionStorageNamespace constructor.
2013
2014         (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal):
2015         Set the allowed connection.
2016
2017         * UIProcess/WebPageProxy.cpp:
2018         (WebKit::WebPageProxy::WebPageProxy):
2019         Pass the connection to createSessionStorageNamespace.
2020
2021         (WebKit::WebPageProxy::connectionWillOpen):
2022         Call setAllowedSessionStorageNamespaceConnection.
2023         
2024         (WebKit::WebPageProxy::connectionWillClose):
2025         Call setAllowedSessionStorageNamespaceConnection with a null connection.
2026
2027         * UIProcess/WebProcessProxy.cpp:
2028         (WebKit::WebProcessProxy::connectionWillOpen):
2029         Call connectionWillOpen on all pages.
2030
2031         (WebKit::WebProcessProxy::connectionWillClose):
2032         Call connectionWillClose on all pages.
2033
2034 2013-02-28  Anders Carlsson  <andersca@apple.com>
2035
2036         Implement more StorageAreaProxy member functions
2037         https://bugs.webkit.org/show_bug.cgi?id=111103
2038
2039         Reviewed by Sam Weinig.
2040
2041         * Shared/SecurityOriginData.cpp:
2042         (WebKit::SecurityOriginData::securityOrigin):
2043         * Shared/SecurityOriginData.h:
2044         Add helper to create a WebCore::SecurityOrigin from a SecurityOriginData object.
2045
2046         * WebProcess/Storage/StorageAreaProxy.cpp:
2047         (WebKit::StorageAreaProxy::key):
2048         Fill the storage map and call through to StorageMap::key.
2049
2050         (WebKit::StorageAreaProxy::contains):
2051         Fill the storage map and call through to StorageMap::contains.
2052
2053         (WebKit::StorageAreaProxy::memoryBytesUsedByCache):
2054         Return 0; this matches StorageAreaImpl.
2055
2056 2013-02-28  Tim Horton  <timothy_horton@apple.com>
2057
2058         PDFPlugin: PDF orientation isn't respected when printing or print-previewing
2059         https://bugs.webkit.org/show_bug.cgi?id=110925
2060         <rdar://problem/13008621>
2061
2062         Reviewed by Alexey Proskuryakov.
2063
2064         * WebProcess/WebPage/mac/WebPageMac.mm:
2065         (WebKit::drawPDFPage): Teach drawPDFPage about PDFPage's rotation property, and use it
2066         to swap the PDF's cropbox. Painting now matches PDFViewController's historical behavior.
2067
2068 2013-02-28  Sam Weinig  <sam@webkit.org>
2069
2070         Don't install unused XPCServices on Lion
2071         <rdar://problem/13264712>
2072
2073         Rubber-stamped by Anders Carlsson
2074
2075         * Configurations/BaseXPCService.xcconfig:
2076
2077 2013-02-28  David Kilzer  <ddkilzer@apple.com>
2078
2079         BUILD FIX (r144221): SetSmartInsertDeleteEnabled should be wrapped in PLATFORM(MAC)
2080
2081         * WebProcess/WebPage/WebPage.messages.in: Move
2082         SetSmartInsertDeleteEnabled from USE(APPKIT) to PLATFORM(MAC).
2083
2084 2013-02-27  Csaba Osztrogonác  <ossy@webkit.org>
2085
2086         [WK2] One more unreviewed buildfix for EFL, GTK and Qt after r144218.
2087
2088         * CMakeLists.txt:
2089         * GNUmakefile.list.am:
2090         * Target.pri:
2091         * WebProcess/Storage/StorageNamespaceProxy.cpp:
2092         (WebKit::StorageNamespaceProxy::copy):
2093
2094 2013-02-27  Zan Dobersek  <zdobersek@igalia.com>
2095
2096         Unreviewed (speculative) build fixes for EFL, GTK and Qt after r144218.
2097
2098         * CMakeLists.txt:
2099         * DerivedSources.pri:
2100         * GNUmakefile.list.am:
2101         * Target.pri:
2102
2103 2013-02-27  John Bauman  <jbauman@chromium.org>
2104
2105         Plugin in iframe may not display
2106         https://bugs.webkit.org/show_bug.cgi?id=109879
2107
2108         Reviewed by Simon Fraser.
2109
2110         Update geometry when cliprect changes.
2111
2112         * WebProcess/Plugins/PluginView.cpp:
2113         (WebKit::PluginView::clipRectChanged):
2114         * WebProcess/Plugins/PluginView.h:
2115
2116 2013-02-27  Jer Noble  <jer.noble@apple.com>
2117
2118         REGRESSION (48533): Full-frame plugins stopped working (download instead of loading the plugin)
2119         https://bugs.webkit.org/show_bug.cgi?id=111003
2120
2121         Reviewed by Anders Carlsson.
2122
2123         Also query the Page's pluginData when determining whether a given MIME type can be shown.
2124
2125         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2126         (WKBundlePageCanShowMIMEType):
2127         * WebProcess/WebPage/WebPage.cpp:
2128         (WebKit::WebPage::canShowMIMEType):
2129         * WebProcess/WebPage/WebPage.h:
2130
2131 2013-02-27  Manuel Rego Casasnovas  <rego@igalia.com>
2132
2133         Add smartInsertDeleteEnabled setting to WebCore::Page
2134         https://bugs.webkit.org/show_bug.cgi?id=107840
2135
2136         Reviewed by Ryosuke Niwa.
2137
2138         * Shared/WebPageCreationParameters.cpp:
2139         (WebKit::WebPageCreationParameters::encode):
2140         (WebKit::WebPageCreationParameters::decode): Remove code related to
2141         isSmartInsertDeleteEnabled.
2142         * Shared/WebPageCreationParameters.h:
2143         (WebPageCreationParameters): Remove isSmartInsertDeleteEnabled.
2144         * Shared/WebPreferencesStore.h:
2145         (WebKit): Add macro for smartInsertDeleteEnabled setting.
2146         * UIProcess/API/C/WKPreferences.cpp:
2147         (WKPreferencesSetSmartInsertDeleteEnabled):
2148         (WKPreferencesGetSmartInsertDeleteEnabled): Implement methods using the
2149         new setting.
2150         * UIProcess/API/C/WKPreferencesPrivate.h: Add new methods headers.
2151         * UIProcess/WebPageProxy.cpp:
2152         (WebKit::WebPageProxy::initializeWebPage): Set smartInsertDeleteEnabled
2153         setting using m_isSmartInsertDeleteEnabled to keep initial value on Mac.
2154         (WebKit::WebPageProxy::creationParameters): Remove usage of
2155         parameters.isSmartInsertDeleteEnabled.
2156         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2157         (WebKit::WebEditorClient::smartInsertDeleteEnabled): Enable method for
2158         all platforms.
2159         * WebProcess/WebPage/WebPage.cpp:
2160         (WebKit::WebPage::WebPage): Remove m_isSmartInsertDeleteEnabled
2161         initialization.
2162         (WebKit::WebPage::updatePreferences): Set smartInsertDeleteEnabled
2163         setting.
2164         (WebKit::WebPage::isSmartInsertDeleteEnabled): Implement method using
2165         settings.
2166         (WebKit):
2167         (WebKit::WebPage::setSmartInsertDeleteEnabled): Implement method using
2168         settings.
2169         * WebProcess/WebPage/WebPage.h:
2170         (WebPage): Enable methods dealing with smartInsertDeleteEnabled for all
2171         platforms and remove m_isSmartInsertDeleteEnabled as it will be a
2172         setting.
2173
2174
2175 2013-02-27  Anders Carlsson  <andersca@apple.com>
2176
2177         More storage scaffolding
2178         https://bugs.webkit.org/show_bug.cgi?id=110997
2179
2180         Reviewed by Andreas Kling.
2181
2182         * DerivedSources.make:
2183         Add StorageAreaProxy.
2184         
2185         * UIProcess/Storage/StorageManager.cpp:
2186         (WebKit::StorageManager::setItem):
2187         Send back a DidSetItem message.
2188         
2189         * WebKit2.xcodeproj/project.pbxproj:
2190         Add generated files.
2191
2192         * WebProcess/Storage/StorageAreaProxy.cpp:
2193         (WebKit::StorageAreaProxy::StorageAreaProxy):
2194         Add the message receiver.
2195         
2196         (WebKit::StorageAreaProxy::~StorageAreaProxy):
2197         Remove the message receiver.
2198         
2199         (WebKit::StorageAreaProxy::didSetItem):
2200         add stub.
2201
2202         * WebProcess/Storage/StorageAreaProxy.h:
2203         (StorageAreaProxy):
2204         * WebProcess/Storage/StorageAreaProxy.messages.in: Added.
2205
2206 2013-02-27  Sam Weinig  <sam@webkit.org>
2207
2208         REGRESSION: Loading flash switches to discrete graphics, 100 MB on membuster
2209         <rdar://problem/13229828>
2210
2211         Reviewed by Dan Bernstein.
2212
2213         Due the change in CFBundleIdentifier, the WebProcess and PluginProcess were
2214         unnecessarily muxing (they used to be whitelisted by OpenGL) to the discrete
2215         GPU.
2216
2217         * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
2218         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
2219         * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
2220         * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
2221         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
2222         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
2223         Add NSSupportsAutomaticGraphicsSwitching YES.
2224
2225         * WebKit2.xcodeproj/project.pbxproj:
2226         Re-add the PluginService.32-64.Info.plist plist to the project file.
2227
2228 2013-02-26  Alexey Proskuryakov  <ap@apple.com>
2229
2230         Don't add a body to platform request until necessary
2231         https://bugs.webkit.org/show_bug.cgi?id=110900
2232
2233         Reviewed by Brady Eidson.
2234
2235         * NetworkProcess/NetworkResourceLoader.cpp:
2236         (WebKit::NetworkResourceLoader::willSendRequest): Restore body after IPC. There
2237         is no way for the client to change it.
2238
2239         * Shared/Downloads/mac/DownloadMac.mm:
2240         (WebKit::Download::start):
2241         (WebKit::Download::startWithHandle):
2242         Pass UpdateHTTPBody when passing a request to NSURLConnection.
2243
2244         * Shared/mac/WebCoreArgumentCodersMac.mm: (CoreIPC::::encodePlatformData):
2245         Never serialize the request body. It's slow, and sometimes impossible, so just
2246         keeping things consistent.
2247
2248         * Shared/mac/WebURLRequestMac.mm: (WebKit::WebURLRequest::platformRequest):
2249         Pass DoNotUpdateHTTPBody, as we can't update it outside NetworkProcess.
2250
2251         * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
2252         (WebKit::CustomProtocolManagerProxy::startLoading): Ditto.
2253
2254         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
2255         (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
2256         Restore existing body after a client call..
2257
2258         * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::platformCanHandleRequest):
2259         Pass DoNotUpdateHTTPBody, as we can't update it outside NetworkProcess.
2260
2261 2013-02-27  Glenn Adams  <glenn@skynav.com>
2262
2263         Add ENABLE_CSS3_TEXT_LINE_BREAK flag.
2264         https://bugs.webkit.org/show_bug.cgi?id=110944
2265
2266         Reviewed by Dean Jackson.
2267
2268         * Configurations/FeatureDefines.xcconfig:
2269
2270 2013-02-27  Michael Brüning  <michael.bruning@digia.com>
2271
2272         [Qt][WK2] Replace use of WebPreferences with use of WKPrefences C API
2273         https://bugs.webkit.org/show_bug.cgi?id=108952
2274
2275         Reviewed by Simon Hausmann.
2276
2277         Signed off for WebKit2 by Benjamin Poulain.
2278
2279         This patch moves the view classes and preferences in the Qt API
2280         to use the C API for accessing and manipulating preferences as
2281         part of the cleanup and move towards using the C API as base for
2282         the Qt WebKit2 API.
2283
2284         Adds the function WebKit::adoptToQString for convenience when
2285         dealing with QString and copied String objects.
2286
2287         Removes the ScrollAnimatorEnabled options from QWebPreferences.
2288
2289         * UIProcess/API/cpp/qt/WKStringQt.cpp:
2290         (WebKit::adoptToQString):
2291         * UIProcess/API/cpp/qt/WKStringQt.h:
2292         (WebKit):
2293         * UIProcess/API/qt/qquickwebview.cpp:
2294         (QQuickWebViewPrivate::initialize):
2295         * UIProcess/API/qt/qwebpreferences.cpp:
2296         (QWebPreferencesPrivate::testAttribute):
2297         (QWebPreferencesPrivate::setAttribute):
2298         (QWebPreferencesPrivate::setFontFamily):
2299         (QWebPreferencesPrivate::fontFamily):
2300         (QWebPreferencesPrivate::setFontSize):
2301         (QWebPreferencesPrivate::fontSize):
2302         * UIProcess/API/qt/qwebpreferences_p.h:
2303         * UIProcess/API/qt/qwebpreferences_p_p.h:
2304
2305 2013-02-26  Anders Carlsson  <andersca@apple.com>
2306
2307         Implement StorageAreaProxy::getItem and StorageAreaProxy::setItem
2308         https://bugs.webkit.org/show_bug.cgi?id=110927
2309
2310         Reviewed by Sam Weinig.
2311
2312         * UIProcess/Storage/StorageManager.cpp:
2313         (WebKit::StorageManager::setItem):
2314         * UIProcess/Storage/StorageManager.h:
2315         Add empty stub.
2316         
2317         * UIProcess/Storage/StorageManager.messages.in:
2318         Add SetItem message.
2319
2320         * WebProcess/Storage/StorageAreaProxy.cpp:
2321         (WebKit::StorageAreaProxy::getItem):
2322         Fill the storage map and get the item from it.
2323
2324         (WebKit::StorageAreaProxy::setItem):
2325         Update the storage map and send a SetItem message to the UI process.
2326
2327 2013-02-26  Anders Carlsson  <andersca@apple.com>
2328
2329         StorageAreaProxy should hold on to a StorageMap and not a HashMap
2330         https://bugs.webkit.org/show_bug.cgi?id=110919
2331
2332         Reviewed by Jessie Berlin.
2333
2334         Create a storage map instead of a hash map.
2335
2336         * WebProcess/Storage/StorageAreaProxy.cpp:
2337         (WebKit::StorageAreaProxy::length):
2338         (WebKit::StorageAreaProxy::loadValuesIfNeeded):
2339         * WebProcess/Storage/StorageAreaProxy.h:
2340         (WebCore):
2341         (StorageAreaProxy):
2342
2343 2013-02-26  Anders Carlsson  <andersca@apple.com>
2344
2345         Fix a copy/paste error in WebLoaderClient::didBlockInsecurePluginVersion
2346         https://bugs.webkit.org/show_bug.cgi?id=110914
2347         <rdar://problem/13297581>
2348
2349         Reviewed by Beth Dakin.
2350
2351         Pass kWKErrorCodeInsecurePlugInVersion to the pluginDidFail callback.
2352
2353         * UIProcess/WebLoaderClient.cpp:
2354         (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
2355
2356 2013-02-26  Jer Noble  <jer.noble@apple.com>
2357
2358         Unreviewed build fix; use correct macro for platform name in FeatureDefines.xcconfig.
2359
2360         * Configurations/FeatureDefines.xcconfig:
2361
2362 2013-02-26  Manuel Rego Casasnovas  <rego@igalia.com>
2363
2364         [WK2][GTK] REGRESSION (r143463): unit test failure in WebKit2APITests/TestContextMenu
2365         https://bugs.webkit.org/show_bug.cgi?id=110869
2366
2367         Reviewed by Martin Robinson.
2368
2369         Test was failing because of new media controls needs more space to be
2370         painted than just 10x10 pixels.
2371
2372         * UIProcess/API/gtk/tests/TestContextMenu.cpp:
2373         (testContextMenuDefaultMenu): Modified test in order to give more space
2374         to the media controls.
2375
2376 2013-02-26  Dean Jackson  <dino@apple.com>
2377
2378         Draw intermediate snapshots if possible
2379         https://bugs.webkit.org/show_bug.cgi?id=110811
2380
2381         Reviewed by Simon Fraser.
2382
2383         After http://webkit.org/b/110495 we delayed snapshotting until we've
2384         received a nice image, but this made the page look like it is broken.
2385         We should draw any intermediate snapshots that we find, which might
2386         include content such as progress bars/spinners.
2387
2388         * WebProcess/Plugins/PluginView.cpp:
2389         (WebKit): Reinstate 60 attempts at snapshots before giving up.
2390         (WebKit::PluginView::isAcceleratedCompositingEnabled): We do not
2391         want accelerated compositing enabled when we are trying to capture
2392         snapshots.
2393
2394 2013-02-26  Andras Becsi  <andras.becsi@digia.com>
2395
2396         Remove nonexistent StringPairVector.h from Target.pri after r142839
2397
2398         Unreviewed gardening.
2399
2400         * Target.pri:
2401
2402 2013-02-26  Simon Hausmann  <simon.hausmann@digia.com>
2403
2404         Unreviewed trivial !ENABLE(NETSCAPE_PLUGIN_API) build fix
2405
2406         Add an intermediate pluginName string variable instead of
2407         accessing plugin.info outside the feature #ifdef.
2408
2409         * UIProcess/WebPageProxy.cpp:
2410         (WebKit::WebPageProxy::unavailablePluginButtonClicked):
2411
2412 2013-02-25  Huang Dongsung  <luxtella@company100.net>
2413
2414         Coordinated Graphics: remove redundant update of non compositing layer.
2415         https://bugs.webkit.org/show_bug.cgi?id=110444
2416
2417         Reviewed by Noam Rosenthal.
2418
2419         Currently, we update non compositing layer when the page scrolled. However, it
2420         is not needed, because TiledBackingStore can scroll without tile update.
2421
2422         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2423         (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
2424         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2425         (CoordinatedLayerTreeHost):
2426
2427 2013-02-25  Jer Noble  <jer.noble@apple.com>
2428
2429         REGRESSION(r143981): Crash in WebFrameLoaderClient::dispatchDidStartProvisionalLoad()
2430         https://bugs.webkit.org/show_bug.cgi?id=110848
2431
2432         Reviewed by Ryosuke Niwa.
2433
2434         NULL-check the result of document->documentElement().
2435
2436         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2437         (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
2438
2439 2013-02-25  Anders Carlsson  <andersca@apple.com>
2440
2441         Add a new unavailablePluginButtonClicked callback that takes a WKDictionary of plug-in information
2442         https://bugs.webkit.org/show_bug.cgi?id=110821
2443
2444         Reviewed by Beth Dakin.
2445
2446         * UIProcess/API/C/WKPage.cpp:
2447         (WKPageGetPluginInformationPluginspageAttributeURLKey):
2448         (WKPageGetPluginInformationPluginURLKey):
2449         Add two new API key getters.
2450         
2451         * UIProcess/API/C/WKPage.h:
2452         Add a new callback and deprecate the old callback.
2453         
2454         * UIProcess/WebLoaderClient.cpp:
2455         (WebKit::WebLoaderClient::didFailToInitializePlugin):
2456         (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
2457         (WebKit::WebLoaderClient::pluginLoadPolicy):
2458         Make the pluginInformationDictionary a static member function of WebPageProxy so it
2459         can be called from WebUIClient as well.
2460         
2461         * UIProcess/WebPageProxy.cpp:
2462         (WebKit::WebPageProxy::getPluginPath):
2463         Pass the bundle version as well.
2464
2465         (WebKit::WebPageProxy::pluginInformationPluginspageAttributeURLKey):
2466         (WebKit::WebPageProxy::pluginInformationPluginURLKey):
2467         Add two new keys.
2468
2469         (WebKit::WebPageProxy::pluginInformationDictionary):
2470         Handle more keys.
2471
2472         (WebKit::WebPageProxy::unavailablePluginButtonClicked):
2473         Get the plug-in bundle identifier and version.
2474
2475         * UIProcess/WebPageProxy.messages.in:
2476         Pass along more information; the frame and page URLs.
2477
2478         * UIProcess/WebUIClient.cpp:
2479         (WebKit::WebUIClient::unavailablePluginButtonClicked):
2480         Call the new callback if it's supported.
2481
2482         * UIProcess/WebUIClient.h:
2483         (WebUIClient):
2484         * UIProcess/mac/WebInspectorProxyMac.mm:
2485         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2486         Update for API changes.
2487
2488         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2489         (WebKit::WebChromeClient::unavailablePluginButtonClicked):
2490         Ensure that the pluginspage attribute is a valid URL.
2491
2492 2013-02-21  Jeffrey Pfau  <jpfau@apple.com>
2493
2494         Optionally partition cache to prevent using cache for tracking
2495         https://bugs.webkit.org/show_bug.cgi?id=110269
2496
2497         Reviewed by Maciej Stachowiak.
2498
2499         Update WKSI bindings and add feature defines.
2500
2501         * Configurations/FeatureDefines.xcconfig: Add defines for cache partitioning and public suffix list usage
2502         * WebCoreSupport/WebSystemInterface.mm:
2503         (InitWebCoreSystemInterface):
2504
2505 2013-02-25  Jer Noble  <jer.noble@apple.com>
2506
2507         Normalize ENABLE_ENCRYPTED_MEDIA definitions across all FeatureDefines files.
2508         https://bugs.webkit.org/show_bug.cgi?id=110806
2509
2510         Ensure both ENCRYPTED_MEDIA and ENCRYPTED_MEDIA_V2 are enabled on macosx_1090.
2511
2512         Reviewed by Alexey Proskuryakov.
2513
2514         * Configurations/FeatureDefines.xcconfig:
2515
2516 2013-02-25  Jer Noble  <jer.noble@apple.com>
2517
2518         Full screen mode should not exit when application resigns active state.
2519         https://bugs.webkit.org/show_bug.cgi?id=106129
2520
2521         Reviewed by Darin Adler.
2522
2523         Now that full screen windows get their own full screen space, there is no reason to exit full
2524         screen mode when the application resigns active state. Instead, the windowserver will bring the
2525         space containing the newly active application to the foreground. The user can then swipe back
2526         to the full screen space (or use Mission Control) to get back to the full screen window.
2527
2528         * UIProcess/mac/WKFullScreenWindowController.mm:
2529         (-[WKFullScreenWindowController windowDidLoad]): Remove the applicationDidResignActive: notification from WKFullScreenWindowController.
2530
2531 2013-02-25  Jer Noble  <jer.noble@apple.com>
2532
2533         Safari shows empty window and paints webpage in full-screen background
2534         https://bugs.webkit.org/show_bug.cgi?id=103712
2535
2536         Reviewed by Darin Adler.
2537
2538         When canceling full screen mode due to a provisional load, exit normally instead of closing the
2539         full screen window controller. Additionally, to ensure full screen is cancelled when the enclosing
2540         frame around a full screen iframe is navigated, check to see if the navigating document contains
2541         a full screen element, rather than checking whether the document itself is full screen.
2542
2543         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2544         (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
2545
2546 2013-02-25  Anders Carlsson  <andersca@apple.com>
2547
2548         Fix build.
2549
2550         * UIProcess/WebPageProxy.cpp:
2551         (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
2552
2553 2013-02-25  Anders Carlsson  <andersca@apple.com>
2554
2555         Add a new pluginDidFail callback that takes a WKDictionary of plug-in information
2556         https://bugs.webkit.org/show_bug.cgi?id=110793
2557         <rdar://problem/13265303>
2558
2559         Reviewed by Sam Weinig.
2560
2561         Add a new pluginDidFail callback that takes a WKDictionaryRef and also pass in the
2562         frame and page URLs.
2563
2564         * UIProcess/API/C/WKPage.h:
2565         * UIProcess/WebLoaderClient.cpp:
2566         (WebKit::pluginInformationDictionary):
2567         (WebKit::WebLoaderClient::didFailToInitializePlugin):
2568         (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
2569         (WebKit::WebLoaderClient::pluginLoadPolicy):
2570         * UIProcess/WebLoaderClient.h:
2571         * UIProcess/WebPageProxy.cpp:
2572         (WebKit::WebPageProxy::didFailToInitializePlugin):
2573         (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
2574         * UIProcess/WebPageProxy.h:
2575         * UIProcess/WebPageProxy.messages.in:
2576         * WebProcess/Plugins/PluginView.cpp:
2577         (WebKit::PluginView::didFailToInitializePlugin):
2578         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2579         (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
2580         * WebProcess/WebPage/WebPage.cpp:
2581         (WebKit::WebPage::createPlugin):
2582
2583 2013-02-25  Tim Horton  <timothy_horton@apple.com>
2584
2585         PDFPlugin: Tab between text annotations
2586         https://bugs.webkit.org/show_bug.cgi?id=106539
2587         <rdar://problem/12751789>
2588
2589         Reviewed by Darin Adler.
2590
2591         Use [PDFLayerController activateNextAnnotation:] to advance focus when the tab key is hit while inside a PDF form.
2592
2593         Also, a drive-by fix to make the lifetime of PDFPluginAnnotationEventListener's m_annotation pointer more explicit.
2594
2595         * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add activateNextAnnotation: SPI.
2596         * WebProcess/Plugins/PDF/PDFPlugin.h:
2597         (PDFPlugin): Add focus(Next|Previous)Annotation.
2598         * WebProcess/Plugins/PDF/PDFPlugin.mm:
2599         (WebKit::PDFPlugin::focusNextAnnotation): Ask PDFLayerController to focus the next annotation.
2600         (WebKit::PDFPlugin::focusPreviousAnnotation): Ask PDFLayerController to focus the next annotation.
2601         * WebProcess/Plugins/PDF/PDFPluginAnnotation.h: Drive-by, initialize m_parent to 0.
2602         (WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::setAnnotation): Added.
2603         * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
2604         (WebKit::PDFPluginAnnotation::attach): Use eventNames() instead of string literals.
2605         (WebKit::PDFPluginAnnotation::~PDFPluginAnnotation): Clear the event listener's reference to its annotation.
2606         (WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::handleEvent): Null-check the event listener's annotation.
2607         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:
2608         (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotation): Create our PDFPluginTextAnnotationEventListener.
2609         (PDFPluginTextAnnotationEventListener): Added an event listener (for keydown events in form fields).
2610         (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::create):
2611         (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::setTextAnnotation):
2612         (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::PDFPluginTextAnnotationEventListener):
2613         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
2614         (WebKit::PDFPluginTextAnnotation::~PDFPluginTextAnnotation): Unregister our keydown event listener.
2615         (WebKit::PDFPluginTextAnnotation::createAnnotationElement): Register our keydown event listener.
2616         (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::handleEvent): Ask PDFPlugin to focus
2617         the next/previous annotation when the tab key is pressed (Shift-Tab goes backwards).
2618
2619 2013-02-25  Alexey Proskuryakov  <ap@apple.com>
2620
2621         <rdar://problem/12976385> Remove rule to silence attempts to create the ~/Library/Caches/com.apple.WebKit2.WebProcessService directory
2622
2623         Reviewed by Anders Carlsson.
2624
2625         * WebProcess/com.apple.WebProcess.sb.in: Remove the obsolete rule. We no longer
2626         have a "WebProcessService".
2627
2628 2013-02-25  Andras Becsi  <andras.becsi@digia.com>
2629
2630         [Qt][WK2] Remove unneeded method didResumeContent from PageViewportController clients
2631         https://bugs.webkit.org/show_bug.cgi?id=110751
2632
2633         Reviewed by Jocelyn Turcotte.
2634
2635         This is a clean-up in the PageViewportController clients that removes leftover
2636         code from previous design that is partially unused and unnecessary, to simplify
2637         the interaction between PageViewportController and clients.
2638
2639         * UIProcess/PageViewportController.cpp:
2640         (WebKit::PageViewportController::resumeContent):
2641         * UIProcess/PageViewportControllerClient.h:
2642         (PageViewportControllerClient):
2643         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
2644         * UIProcess/efl/PageViewportControllerClientEfl.h:
2645         (PageViewportControllerClientEfl):
2646         * UIProcess/qt/PageViewportControllerClientQt.cpp:
2647         (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
2648         (WebKit::PageViewportControllerClientQt::flickMoveEnded):
2649         (WebKit::PageViewportControllerClientQt::resumeAndUpdateContent):
2650         (WebKit::PageViewportControllerClientQt::pinchGestureCancelled):
2651         * UIProcess/qt/PageViewportControllerClientQt.h:
2652         (PageViewportControllerClientQt):
2653
2654 2013-02-25  Andreas Kling  <akling@apple.com>
2655
2656         Reduce amount of code that includes StylePropertySet.h
2657         <http://webkit.org/b/101149>
2658
2659         Reviewed by Antti Koivisto.
2660
2661         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2662
2663 2013-02-24  Andreas Kling  <akling@apple.com>
2664
2665         Reduce include graph of JSDOMBinding.h
2666         <http://webkit.org/b/110709>
2667
2668         Reviewed by Antti Koivisto.
2669
2670         * Shared/WebRenderObject.cpp:
2671         (WebKit::WebRenderObject::WebRenderObject):
2672         * WebProcess/Storage/StorageAreaProxy.cpp:
2673
2674 2013-02-22  Sam Weinig  <sam@webkit.org>
2675
2676         Add temporary work around for 32-bit plugins not working in production builds as XPCServices
2677         https://bugs.webkit.org/show_bug.cgi?id=110680
2678         <rdar://problem/13236883>
2679
2680         Reviewed by Anders Carlsson.
2681
2682         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2683         (WebKit::shouldUseXPC):
2684         Temporarily don't use XPC for plug-ins for Safari while we figure out why the
2685         32-bit XPCService is being built universal.
2686
2687 2013-02-22  Tim Horton  <timothy_horton@apple.com>
2688
2689         [WK2] The root and page overlay layers should be the size of the view, not the content
2690         https://bugs.webkit.org/show_bug.cgi?id=110660
2691         <rdar://problem/13096456>
2692
2693         Reviewed by Simon Fraser.
2694
2695         Use the view size for the size of the root and page overlay layers.
2696         For one, we never update these layers' sizes when the content size changes, causing size mismatches.
2697         In addition, there's no reason an overlay shouldn't be able to draw outside of the bounds of the content.
2698
2699         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2700         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
2701         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
2702
2703 2013-02-22  Anders Carlsson  <andersca@apple.com>
2704
2705         pluginLoadStrategy should take a WKDictionaryRef for extensibility
2706         https://bugs.webkit.org/show_bug.cgi?id=110656
2707         <rdar://problem/13265303>
2708
2709         Reviewed by Jessie Berlin.
2710
2711         Change pluginLoadStrategy to take a WKDictionaryRef instead of a number of parameters;
2712         this lets us add more plug-in information if needed. Also add the page URL and rename documentURL to frameURL.
2713
2714         * UIProcess/API/C/WKPage.cpp:
2715         (WKPageGetPluginInformationBundleIdentifierKey):
2716         (WKPageGetPluginInformationBundleVersionKey):
2717         (WKPageGetPluginInformationDisplayNameKey):
2718         (WKPageGetPluginInformationFrameURLKey):
2719         (WKPageGetPluginInformationMIMETypeKey):
2720         (WKPageGetPluginInformationPageURLKey):
2721         * UIProcess/API/C/WKPage.h:
2722         * UIProcess/WebLoaderClient.cpp:
2723         (WebKit):
2724         (WebKit::WebLoaderClient::pluginLoadPolicy):
2725         * UIProcess/WebLoaderClient.h:
2726         (WebLoaderClient):
2727         * UIProcess/WebPageProxy.cpp:
2728         (WebKit::WebPageProxy::getPluginPath):
2729         (WebKit::WebPageProxy::pluginInformationBundleIdentifierKey):
2730         (WebKit):
2731         (WebKit::WebPageProxy::pluginInformationBundleVersionKey):
2732         (WebKit::WebPageProxy::pluginInformationDisplayNameKey):
2733         (WebKit::WebPageProxy::pluginInformationFrameURLKey):
2734         (WebKit::WebPageProxy::pluginInformationMIMETypeKey):
2735         (WebKit::WebPageProxy::pluginInformationPageURLKey):
2736         * UIProcess/WebPageProxy.h:
2737         (WebPageProxy):
2738         * UIProcess/WebPageProxy.messages.in:
2739         * WebProcess/WebPage/WebPage.cpp:
2740         (WebKit::WebPage::createPlugin):
2741         (WebKit::WebPage::canPluginHandleResponse):
2742
2743 2013-02-22  Anders Carlsson  <andersca@apple.com>
2744
2745         Move pluginLoadPolicy to the page loader client
2746         https://bugs.webkit.org/show_bug.cgi?id=110635
2747         <rdar://problem/13265303>
2748         
2749         Reviewed by Sam Weinig.
2750
2751         Move the pluginLoadPolicy callback to the page loader client where it belongs.
2752
2753         * UIProcess/API/C/WKPage.h:
2754         * UIProcess/WebLoaderClient.cpp:
2755         (WebKit::toWKPluginLoadPolicy):
2756         (WebKit):
2757         (WebKit::toPluginModuleLoadPolicy):
2758         (WebKit::WebLoaderClient::pluginLoadPolicy):
2759         * UIProcess/WebLoaderClient.h:
2760         (WebLoaderClient):
2761         * UIProcess/WebPageProxy.cpp:
2762         (WebKit::WebPageProxy::getPluginPath):
2763         * UIProcess/WebUIClient.cpp:
2764         (WebKit):
2765         * UIProcess/WebUIClient.h:
2766         (WebUIClient):
2767         * UIProcess/mac/WebInspectorProxyMac.mm:
2768         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2769
2770 2013-02-21  Jer Noble  <jer.noble@apple.com>
2771
2772         Two video contollers appear after exiting the fullscreen video when using menubar to exit.
2773         https://bugs.webkit.org/show_bug.cgi?id=110506
2774
2775         Reviewed by Eric Carlson.
2776
2777         When we are notified that the fullscreen window is about to exit fullscreen mode unrequested,
2778         call requestExitFullScreen(), as that will result in Document::webkitExitFullScreen() correctly
2779         tearing down the fullscreen state.
2780
2781         * UIProcess/mac/WKFullScreenWindowController.mm:
2782         (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
2783
2784 2013-02-22  Balazs Kelemen  <kbalazs@webkit.org>
2785
2786         Yet another unreviewed buildfix after r143714.
2787
2788         * UIProcess/efl/WebView.cpp:
2789         (WebKit::WebView::paintToCairoSurface):
2790
2791 2013-02-22  Balazs Kelemen  <kbalazs@webkit.org>
2792
2793         Unreviewed preventive buildfix after my last commit.
2794
2795         * UIProcess/API/efl/EwkView.cpp:
2796         * UIProcess/efl/WebView.cpp:
2797
2798 2013-02-22  Balazs Kelemen  <kbalazs@webkit.org>
2799
2800         [CoordGfx] Minor cleanup in CoordinatedGraphicsScene::paintToGraphicsContext
2801         https://bugs.webkit.org/show_bug.cgi?id=109824
2802
2803         Reviewed by Andreas Kling.
2804
2805         Avoid ugly ifdefs by using PlatformGraphicsContext.
2806
2807         * UIProcess/API/efl/EwkView.cpp:
2808         (EwkView::displayTimerFired):
2809
2810 2013-02-22  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2811
2812         [WK2][EFL] Remove declaration of non-existent functions from EwkView
2813         https://bugs.webkit.org/show_bug.cgi?id=110572
2814
2815         Reviewed by Kenneth Rohde Christiansen.
2816
2817         Removed declarations of non-existent EwkView::paintToCurrentGLContext() and
2818         EwkView::paintToCairoSurface(cairo_surface_t*) that were accidentally
2819         left at r143699.
2820
2821         * UIProcess/API/efl/EwkView.h:
2822         (EwkView):
2823
2824 2013-02-22  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2825
2826         [WK2][EFL] Clean up PageViewportControllerClientEfl class
2827         https://bugs.webkit.org/show_bug.cgi?id=110438
2828
2829         Reviewed by Andreas Kling.
2830
2831         Cleaned up PageViewportControllerClientEfl class from unused methods
2832         and class members, eliminated access to WK2 internals from this class.
2833
2834         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
2835         (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
2836         * UIProcess/efl/PageViewportControllerClientEfl.h:
2837         (WebKit::PageViewportControllerClientEfl::~PageViewportControllerClientEfl):
2838         (PageViewportControllerClientEfl):
2839         * UIProcess/efl/WebView.cpp:
2840         (WebKit::WebView::WebView):
2841         (WebKit::WebView::updateViewportSize):
2842
2843 2013-02-22  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
2844
2845         [WK2][EFL][GTK][Qt] Add context menu item tags for C API
2846         https://bugs.webkit.org/show_bug.cgi?id=109815
2847
2848         Reviewed by Anders Carlsson.
2849
2850         This patch adds context menu item tags used by EFL, GTK and Qt ports, defined in
2851         WebCore to WK2 C API.
2852
2853         * Shared/API/c/WKContextMenuItemTypes.h:
2854         * Shared/API/c/WKSharedAPICast.h:
2855         (WebKit::toAPI):
2856         (WebKit::toImpl):
2857
2858 2013-02-22  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2859
2860         [WK2][EFL] Move AC code from EwkView to WebView
2861         https://bugs.webkit.org/show_bug.cgi?id=110216
2862
2863         Reviewed by Anders Carlsson.
2864
2865         Accelerated compositing code is moved from EwkView to WebView.
2866         Added new WKView API to be used from EwkView instead of direct accessing
2867         to coordinated graphics scene.
2868
2869         * UIProcess/API/C/efl/WKView.cpp:
2870         (WKViewSetUserViewportTranslation):
2871         (WKViewUserViewportToContents):
2872         (WKViewPaintToCurrentGLContext):
2873         (WKViewPaintToCairoSurface):
2874         * UIProcess/API/C/efl/WKView.h:
2875
2876             Added WKView API functions.
2877
2878         * UIProcess/API/efl/EwkView.cpp:
2879         (EwkView::EwkView):
2880         (EwkView::displayTimerFired):
2881         (EwkView::feedTouchEvent):
2882         (EwkView::createGLSurface):
2883         (EwkView::handleEvasObjectCalculate):
2884         (EwkView::handleEwkViewMouseWheel):
2885         (EwkView::handleEwkViewMouseDown):
2886         (EwkView::handleEwkViewMouseUp):
2887         (EwkView::handleEwkViewMouseMove):
2888         * UIProcess/API/efl/EwkView.h:
2889         (EwkView):
2890
2891             Using new WKView API.
2892
2893         * UIProcess/efl/WebView.cpp:
2894         (WebKit::WebView::initialize):
2895         (WebKit):
2896         (WebKit::WebView::paintToCurrentGLContext):
2897         (WebKit::WebView::paintToCairoSurface):
2898         (WebKit::WebView::userViewportToContents):
2899         (WebKit::WebView::transformFromScene):
2900         (WebKit::WebView::transformToScene):
2901         (WebKit::WebView::coordinatedGraphicsScene):
2902         (WebKit::WebView::enterAcceleratedCompositingMode):
2903         (WebKit::WebView::exitAcceleratedCompositingMode):
2904         * UIProcess/efl/WebView.h:
2905         (WebCore):
2906         (WebKit::WebView::setUserViewportTranslation):
2907         (WebView):
2908
2909             Added WebView methods to support new WKView API.
2910
2911 2013-02-21  Dima Gorbik  <dgorbik@apple.com>
2912
2913         QuickTime plugin doesn't load when accelerated compositing is disabled
2914         https://bugs.webkit.org/show_bug.cgi?id=110534
2915
2916         Reviewed by Anders Carlsson.
2917
2918         We shouldn't disable accelerated compositing for plugins, because
2919         plugins such as QuickTime rely on this and will try to set other drawing
2920         models that we don't support.
2921
2922         * WebProcess/Plugins/PluginView.cpp:
2923         (WebKit::PluginView::isAcceleratedCompositingEnabled):
2924
2925 2013-02-21  Dean Jackson  <dino@apple.com>
2926
2927         Plug-in snapshotting code always accepts first snapshot
2928         https://bugs.webkit.org/show_bug.cgi?id=110495
2929
2930         Reviewed by Tim Horton.
2931
2932         When we detect a plugin that can be snapshotted we start capturing
2933         images until we find one that we believe isn't blank, or we timeout.
2934         I introduced a regression recently where we swap renderers as
2935         soon as the snapshot arrives, whether or not is is blank.
2936
2937         The fix was to have the embedder (currently only WK2) be the one
2938         who tells the HTMLPlugInElement to start displaying snapshots.
2939
2940         * WebProcess/Plugins/PluginView.cpp:
2941         (WebKit::PluginView::pluginSnapshotTimerFired): When we find a
2942         snapshot that we like, tell the HTMLPlugInElement to move to
2943         the snapshot view.
2944
2945 2013-02-21  Carlos Garcia Campos  <cgarcia@igalia.com>
2946
2947         Unreviewed. Fix make distcheck.
2948
2949         * GNUmakefile.am: Add -DBUILDING_WEBKIT flags to introspection
2950         scanner.
2951         * GNUmakefile.list.am: Add missing header to compilation and
2952         remove one that no longer exists.
2953
2954 2013-02-21  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2955
2956         [WK2][EFL] Move PageViewportController and PageViewportControllerClientEfl out from WebView
2957         https://bugs.webkit.org/show_bug.cgi?id=110345
2958
2959         Reviewed by Andreas Kling.
2960
2961         WebView does not need to know about both PageViewportController and 
2962         PageViewportControllerClientEfl. Considering the fact that PageViewportController
2963         will stop being WK2 internal and will be based on WK2 C API, it 
2964         should be owned by EwkView rather than WebView.
2965
2966         This patch is also a preparation for WKViewClient API extension to cover all
2967         the places where PageViewportController and PageViewportControllerClientEfl
2968         are accessed directly from WebView at the moment.
2969
2970         * UIProcess/API/efl/EwkView.cpp:
2971         (EwkView::EwkView):
2972         * UIProcess/API/efl/EwkView.h:
2973         (WebKit):
2974         (EwkView::pageViewportControllerClient):
2975         (EwkView::pageViewportController):
2976         (EwkView):
2977         * UIProcess/efl/WebView.cpp:
2978         (WebKit::WebView::didCommitLoad):
2979         (WebKit::WebView::updateViewportSize):
2980         (WebKit::WebView::didChangeContentsSize):
2981         (WebKit::WebView::didChangeViewportProperties):
2982         (WebKit::WebView::pageDidRequestScroll):
2983         (WebKit::WebView::didRenderFrame):
2984         (WebKit::WebView::pageTransitionViewportReady):
2985         * UIProcess/efl/WebView.h:
2986         (WebView):
2987
2988 2013-02-20  Tim Horton  <timothy_horton@apple.com>
2989
2990         Provide WKView SPI to defer telling the WebPageProxy and WebProcess about changes in the hosting window
2991         https://bugs.webkit.org/show_bug.cgi?id=110415
2992         <rdar://problem/13095405>
2993
2994         Reviewed by Simon Fraser.
2995
2996         * UIProcess/API/mac/WKView.mm: Add _viewInWindowChangesDeferredCount and _viewInWindowChangeWasDeferred to WKViewData.
2997         (-[WKView viewDidMoveToWindow]): If we're deferring window changes, don't include the ViewIsInWindow flag
2998         when sending viewStateDidChange. Instead, save the fact that we want to do that later aside.
2999         (-[WKView beginDeferringViewInWindowChanges]):
3000         (-[WKView endDeferringViewInWindowChanges]): Straightforward begin/end pair. When we exit the last pair and
3001         have a pending window change, let the WebPageProxy know. WebPageProxy will do the check to ensure that
3002         the in-window state has actually changed.
3003         (-[WKView isDeferringViewInWindowChanges]):
3004         * UIProcess/API/mac/WKViewPrivate.h: 
3005
3006 2013-02-20  Kiran Muppala  <cmuppala@apple.com>
3007
3008         Disable window occlusion notifications for App Store on Mac.
3009         https://bugs.webkit.org/show_bug.cgi?id=110417
3010
3011         Reviewed by Simon Fraser.
3012
3013         Temporary fix to workaround issues with window occlusion notifications
3014         in App Store.
3015
3016         * UIProcess/API/mac/WKView.mm:
3017         (+[WKView _registerWindowOcclusionNotificationHandlers]): Return early
3018         if the main bundle identifier matches that of App Store.
3019
3020 2013-02-20  Mark Rowe  <mrowe@apple.com>
3021
3022         <https://webkit.org/b/110410> Specify the plug-in process / service entitlements via the Xcode configuration.
3023
3024         This is the modern mechanism for applying entitlements to production builds,
3025         and it simplifies the maintenance of entitlements going forward. It also allows
3026         us to fix the new XPC PluginServices to have the same entitlements as PluginProcess.
3027
3028         Reviewed by Alexey Proskuryakov.
3029
3030         * Configurations/Base.xcconfig: Ad-hoc sign all WebKit2 components.
3031         * Configurations/PluginProcess.xcconfig: Specify the entitlements to use.
3032         * Configurations/PluginService.32.xcconfig: Ditto.
3033         * Configurations/PluginService.64.xcconfig: Ditto.
3034         * Configurations/PluginService.Development.xcconfig: Ditto.
3035         * Configurations/PluginService.entitlements: Renamed from Source/WebKit2/PluginProcess/mac/PluginProcess.entitlements.
3036         Move the entitlements in to the Configurations directory to make them easier to find.
3037         * PluginProcess/mac/add-entitlements.sh: Removed. In my testing the dependency issue mentioned
3038         in the script is not an issue with current versions of Xcode. If we see it again we can come
3039         up with a workaround that doesn't involve performing the signing via a script phase.
3040         * WebKit2.xcodeproj/project.pbxproj:
3041
3042 2013-02-20  Mark Rowe  <mrowe@apple.com>
3043
3044         <https://webkit.org/b/110409> Remove duplication between 32- and 64-bit PluginService plists.
3045
3046         Reviewed by Dan Bernstein.
3047
3048         The only difference between the plists was the CFBundleIdentifier. Since the values are the
3049         same as the product name, we can just use the value of the PRODUCT_NAME configuration setting.
3050
3051         * Configurations/PluginService.32.xcconfig:
3052         * Configurations/PluginService.64.xcconfig:
3053         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist: Renamed from Source/WebKit2/PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist.
3054         * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist: Removed.
3055
3056 2013-02-20  Simon Fraser  <simon.fraser@apple.com>
3057
3058         Zoomed, slow-scrolling pages keep recreating tiles when scrolled
3059         https://bugs.webkit.org/show_bug.cgi?id=110379
3060
3061         Reviewed by Tim Horton.
3062
3063         Make the visible rect and exposed rects passed through
3064         the drawing area to the tile cache FloatRects instead of IntRects.
3065
3066         * UIProcess/API/mac/WKView.mm:
3067         (-[WKView setFrameSize:]):
3068         (-[WKView _updateWindowAndViewFrames]):
3069         (-[WKView enableFrameSizeUpdates]):
3070         (-[WKView setMinimumWidthForAutoLayout:]):
3071         * UIProcess/WebPageProxy.h:
3072         * UIProcess/mac/WebPageProxyMac.mm:
3073         (WebKit::WebPageProxy::viewExposedRectChanged):
3074         * WebProcess/WebPage/DrawingArea.h:
3075         (WebKit::DrawingArea::setExposedRect):
3076         * WebProcess/WebPage/WebPage.cpp:
3077         (WebKit::WebPage::viewExposedRectChanged):
3078         * WebProcess/WebPage/WebPage.h:
3079         * WebProcess/WebPage/WebPage.messages.in:
3080         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3081         (TiledCoreAnimationDrawingArea):
3082         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3083         (WebKit::TiledCoreAnimationDrawingArea::setExposedRect):
3084
3085 2013-02-20  Dirk Schulze  <krit@webkit.org>
3086
3087         Enable CANVAS_PATH flag
3088         https://bugs.webkit.org/show_bug.cgi?id=108508
3089
3090         Reviewed by Simon Fraser.
3091
3092         Enable CANVAS_PATH flag on trunk.
3093
3094         * Configurations/FeatureDefines.xcconfig:
3095
3096 2013-02-20  Laszlo Gombos  <l.gombos@samsung.com>
3097
3098         Remove unnecessary includes for Platform.h from headers
3099         https://bugs.webkit.org/show_bug.cgi?id=110300
3100
3101         Reviewed by Alexey Proskuryakov.
3102
3103         wtf/Platform.h only need to be included in a few places directly    
3104         as it is included in config.h. Remove the unnecessay duplicate as    
3105         it can be confusing.
3106
3107         * Shared/PrintInfo.h:
3108
3109 2013-02-20  Huang Dongsung  <luxtella@company100.net>
3110
3111         [WK2] Remove m_viewportSize in WebPage.
3112         https://bugs.webkit.org/show_bug.cgi?id=110311
3113
3114         Reviewed by Anders Carlsson.
3115
3116         EFL and Qt use m_viewSize as a contents size while Apple use it as a viewport
3117         size, so EFL and Qt introduced m_viewportSize to make WebPage know a viewport
3118         size.
3119
3120         EFL and Qt use m_viewSize as a contents size because the size of non compositing
3121         layer is contents size, and EFL and Qt mark whole non compositing layer as dirty
3122         using m_viewSize. Bug 110299 (http://webkit.org/b/110299) changes that it is not
3123         necessary to know m_viewSize when marking whole non compositing layer as dirty.
3124         So we can make EFL and Qt use m_viewSize as a viewport size also.
3125
3126         This patch removes m_viewportSize and related methods to increase readability.
3127
3128         * UIProcess/API/qt/raw/qrawwebview.cpp:
3129         (QRawWebView::setSize):
3130         * UIProcess/PageViewportController.cpp:
3131         (WebKit::PageViewportController::didChangeViewportSize):
3132         * UIProcess/WebPageProxy.cpp:
3133         (WebKit):
3134         * UIProcess/WebPageProxy.h:
3135         (WebPageProxy):
3136         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3137         (WebKit::WebChromeClient::pageRect):
3138         (WebKit::WebChromeClient::contentsSizeChanged):
3139         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3140         (WebKit::DrawingAreaImpl::updateBackingStoreState):
3141         * WebProcess/WebPage/WebPage.cpp:
3142         (WebKit::WebPage::setSize):
3143         (WebKit::WebPage::sendViewportAttributesChanged):
3144         * WebProcess/WebPage/WebPage.h:
3145         (WebPage):
3146         * WebProcess/WebPage/WebPage.messages.in:
3147
3148 2013-02-20  Huang Dongsung  <luxtella@company100.net>
3149
3150         [WK2] add setNeedsDisplay in DrawingArea to mark whole layer as dirty.
3151         https://bugs.webkit.org/show_bug.cgi?id=110299
3152
3153         Reviewed by Anders Carlsson.
3154
3155         Currently, we call setNeedsDisplay with the size of WebPage to mark whole
3156         backing store as dirty. However, the size of non compositing layer can be
3157         inconsistent with the size of WebPage. For example, in Coordinated Graphics, the
3158         size of non compositing layer is contents size.
3159
3160         So, WebPage should not assume the size of non compositing layer, and should just
3161         call setNeedsDisplay when marking whole layer as dirty.
3162
3163         In addition, this patch renames from setNeedsDisplay() with a rect argument to
3164         setNeedsDisplayInRect(), which matches to the terms of GraphicsLayer.
3165
3166         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3167         (WebKit::WebChromeClient::invalidateContentsAndRootView):
3168         (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
3169         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3170         (WebKit::WebFrameLoaderClient::restoreViewState):
3171         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
3172         (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplay):
3173         (WebKit):
3174         (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplayInRect):
3175         (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
3176         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
3177         (CoordinatedLayerTreeHost):
3178         * WebProcess/WebPage/DrawingArea.h:
3179         (DrawingArea):
3180         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3181         (WebKit::DrawingAreaImpl::setNeedsDisplay):
3182         (WebKit):
3183         (WebKit::DrawingAreaImpl::setNeedsDisplayInRect):
3184         (WebKit::DrawingAreaImpl::scroll):
3185         (WebKit::DrawingAreaImpl::forceRepaint):
3186         (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
3187         (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
3188         (WebKit::DrawingAreaImpl::resumePainting):
3189         * WebProcess/WebPage/DrawingAreaImpl.h:
3190         (DrawingAreaImpl):
3191         * WebProcess/WebPage/LayerTreeHost.h:
3192         (LayerTreeHost):
3193         * WebProcess/WebPage/WebPage.cpp:
3194         (WebKit::WebPage::setSize):
3195         (WebKit::WebPage::setDrawsBackground):
3196         (WebKit::WebPage::setDrawsTransparentBackground):
3197         (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
3198         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
3199         (WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplay):
3200         (WebKit):
3201         (WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplayInRect):
3202         (WebKit::LayerTreeHostGtk::scrollNonCompositedContents):
3203         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
3204         (LayerTreeHostGtk):
3205         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
3206         (LayerTreeHostMac):
3207         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
3208         (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
3209         (WebKit):
3210         (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplayInRect):
3211         (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
3212         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
3213         (RemoteLayerTreeDrawingArea):
3214         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
3215         (WebKit::RemoteLayerTreeDrawingArea::setNeedsDisplay):
3216         (WebKit):
3217         (WebKit::RemoteLayerTreeDrawingArea::setNeedsDisplayInRect):
3218         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3219         (TiledCoreAnimationDrawingArea):
3220         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3221         (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
3222         (WebKit):
3223         (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplayInRect):
3224
3225 2013-02-20  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3226
3227         [EFL][WK2] Port EwkPopupMenuItem to the C API
3228         https://bugs.webkit.org/show_bug.cgi?id=108798
3229
3230         Reviewed by Kenneth Rohde Christiansen.
3231
3232         Make use of the new WKPopupItem C API inside EwkPopupMenuItem to remove
3233         dependency on internal WebPopupItem type. Eina shared string members
3234         are now lazily initialized to make the object cheaper to construct.
3235
3236         * UIProcess/API/efl/ewk_popup_menu.cpp:
3237         (EwkPopupMenu::EwkPopupMenu):
3238         * UIProcess/API/efl/ewk_popup_menu_item.cpp:
3239         (EwkPopupMenuItem::EwkPopupMenuItem):
3240         (EwkPopupMenuItem::type):
3241         (EwkPopupMenuItem::textDirection):
3242         (EwkPopupMenuItem::text):
3243         (EwkPopupMenuItem::tooltipText):
3244         (EwkPopupMenuItem::accessibilityText):
3245         (EwkPopupMenuItem::hasTextDirectionOverride):
3246         (EwkPopupMenuItem::isEnabled):
3247         (EwkPopupMenuItem::isLabel):
3248         (EwkPopupMenuItem::isSelected):
3249         * UIProcess/API/efl/ewk_popup_menu_item_private.h:
3250         (EwkPopupMenuItem::create):
3251         (EwkPopupMenuItem):
3252
3253 2013-02-19  Tim Horton  <timothy_horton@apple.com>
3254
3255         Clarify isInWindow vs. isVisible path through to RenderLayerCompositor
3256         https://bugs.webkit.org/show_bug.cgi?id=110261
3257         <rdar://problem/13196122>
3258
3259         Reviewed by Simon Fraser.
3260
3261         * WebProcess/WebPage/WebPage.cpp:
3262         (WebKit::WebPage::setIsInWindow):
3263         Use Page::setIsInWindow in addition to willMoveOffscreen/didMoveOnscreen.
3264
3265 2013-02-19  Conrad Shultz  <conrad_shultz@apple.com>
3266
3267         Allow UI clients to handle vertical wheel events.
3268         https://bugs.webkit.org/show_bug.cgi?id=110006
3269
3270         Reviewed by Tim Horton.
3271
3272         Add API to allow clients to selectively control rubber-banding at vertical page extrema.
3273
3274         * UIProcess/API/C/WKPage.cpp:
3275         (WKPageRubberBandsAtBottom):
3276         Proxy for the corresponding function in WebCore::Page.
3277         (WKPageSetRubberBandsAtBottom):
3278         Ditto.
3279         (WKPageRubberBandsAtTop):
3280         Ditto.
3281         (WKPageSetRubberBandsAtTop):
3282         Ditto.
3283
3284         * UIProcess/API/C/WKPage.h:
3285         Declare new API.
3286
3287         * UIProcess/WebPageProxy.cpp:
3288         (WebKit::WebPageProxy::WebPageProxy):
3289         Initialize new member variables.
3290         (WebKit::WebPageProxy::setRubberBandsAtBottom):
3291         New function; dispatches a matching message to the WebKit::WebPage.
3292         (WebKit::WebPageProxy::setRubberBandsAtTop):
3293         Ditto.
3294
3295         * UIProcess/WebPageProxy.h:
3296         (WebPageProxy):
3297         Declare new API.
3298         (WebKit::WebPageProxy::rubberBandsAtBottom):
3299         New accessor function.
3300         (WebKit::WebPageProxy::rubberBandsAtTop):
3301         Ditto.
3302
3303         * WebProcess/WebPage/WebPage.cpp:
3304         (WebKit::WebPage::setRubberBandsAtBottom):
3305         New function; call the matching function on the associated WebCore::Page.
3306         (WebKit::WebPage::setRubberBandsAtTop):
3307         Ditto.
3308
3309         * WebProcess/WebPage/WebPage.h:
3310         (WebPage):
3311         Declare new rubber-banding API.
3312
3313         * WebProcess/WebPage/WebPage.messages.in:
3314         Declare new rubber-banding API.
3315
3316 2013-02-19  Anders Carlsson  <andersca@apple.com>
3317
3318         StorageAreaProxy should know its quota
3319         https://bugs.webkit.org/show_bug.cgi?id=110268
3320
3321         Reviewed by Sam Weinig.
3322
3323         Begin stubbing out StorageAreaProxy::setItem and add some quota member variables.
3324
3325         * WebProcess/Storage/StorageAreaProxy.cpp:
3326         (WebKit::StorageAreaProxy::StorageAreaProxy):
3327         (WebKit::StorageAreaProxy::setItem):
3328         * WebProcess/Storage/StorageAreaProxy.h:
3329         (StorageAreaProxy):
3330         * WebProcess/Storage/StorageNamespaceProxy.cpp:
3331         (WebKit::StorageNamespaceProxy::createSessionStorageNamespace):
3332         (WebKit::StorageNamespaceProxy::StorageNamespaceProxy):
3333         * WebProcess/Storage/StorageNamespaceProxy.h:
3334         (WebKit::StorageNamespaceProxy::quota):
3335         (StorageNamespaceProxy):
3336
3337 2013-02-19  Alexey Proskuryakov  <ap@apple.com>
3338
3339         <rdar://problem/13239119> NetworkProcess generates timeout spindump logs
3340
3341         Reviewed by Mark Rowe.
3342
3343         Don't keep a window server connection in processes that don't need it, and don't
3344         run an NSApplication run loop.
3345
3346         * Shared/ChildProcess.h:
3347         * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::shutdownWindowServerConnection):
3348         Added a function to shut down connections, and to make sure we don't get one in the future.
3349
3350         * NetworkProcess/mac/NetworkProcessMac.mm:
3351         (WebKit::NetworkProcess::initializeProcessName):
3352         * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm:
3353         (WebKit::OfflineStorageProcess::initializeProcessName):
3354         * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
3355         (WebKit::SharedWorkerProcess::platformInitializeSharedWorkerProcess): Also removed
3356         some unused includes and forward declarations.
3357
3358 2013-02-18  Alexey Proskuryakov  <ap@apple.com>
3359
3360         [WK2] Cannot load documents with blob urls
3361         https://bugs.webkit.org/show_bug.cgi?id=110160
3362
3363         Reviewed by Sam Weinig.
3364
3365         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::canHandleRequest):
3366         Added knowledge about blobs.
3367
3368 2013-02-19  Carlos Garcia Campos  <cgarcia@igalia.com>
3369
3370         [GTK] Move the API to get TLS certificate from WebKitURIResponse to WebKitWebView
3371         https://bugs.webkit.org/show_bug.cgi?id=110190
3372
3373         Reviewed by Anders Carlsson.
3374
3375         Add webkit_web_view_get_tls_info() and remove
3376         webkit_uri_response_get_https_status(). This way I can be sure
3377         that when called after load has been committed the certificate
3378         will be available. It also makes the API easier to use.
3379
3380         * UIProcess/API/gtk/WebKitURIResponse.cpp:
3381         * UIProcess/API/gtk/WebKitURIResponse.h:
3382         * UIProcess/API/gtk/WebKitURIResponsePrivate.h:
3383         * UIProcess/API/gtk/WebKitWebView.cpp:
3384         (webkitWebViewLoadChanged):
3385         (mainResourceResponseChangedCallback):
3386         (webkit_web_view_get_tls_info):
3387         * UIProcess/API/gtk/WebKitWebView.h:
3388         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
3389         * UIProcess/API/gtk/tests/TestSSL.cpp:
3390
3391 2013-02-19  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3392
3393         [WK2][EFL] Eliminate access to WK2 C++ internals from ewk_view functions
3394         https://bugs.webkit.org/show_bug.cgi?id=109794
3395
3396         Reviewed by Anders Carlsson.
3397
3398         * UIProcess/API/C/efl/WKView.cpp:
3399         (WKViewSetShowsAsSource):
3400         (WKViewGetShowsAsSource):
3401
3402             Added new WKView API to wrap WebPageProxy::setMainFrameInViewSourceMode()
3403             and WebPageProxy::mainFrameInViewSourceMode() calls.
3404
3405         (WKViewExitFullScreen):
3406
3407             Added new WKView API to wrap WebFullScreenManagerProxy::exitFullScreen()
3408             calls.
3409
3410         * UIProcess/API/C/efl/WKView.h:
3411         * UIProcess/API/efl/EwkView.cpp:
3412         (EwkView::feedTouchEvent):
3413
3414             Added feedTouchEvent() method so that: at first ewk_view_feed_touch_event()
3415             is not invoked from EwkView class, secondly ewk_view_feed_touch_event() does
3416             not access WebPage instance directly.
3417
3418         (EwkView::feedTouchEvents):
3419         * UIProcess/API/efl/EwkView.h:
3420         (EwkView):
3421         * UIProcess/API/efl/ewk_view.cpp:
3422         (ewk_view_feed_touch_event):
3423         (ewk_view_pagination_mode_set):
3424         (ewk_view_pagination_mode_get):
3425         (ewk_view_fullscreen_exit):
3426         (ewkViewPageContentsCallback):
3427         (ewk_view_page_contents_get):
3428         (ewk_view_source_mode_set):
3429         (ewk_view_source_mode_get):
3430
3431             Those are now using exported C API.
3432
3433         * UIProcess/efl/WebView.cpp:
3434         (WebKit::WebView::setShowsAsSource):
3435         (WebKit):
3436         (WebKit::WebView::showsAsSource):
3437         (WebKit::WebView::exitFullScreen):
3438         * UIProcess/efl/WebView.h:
3439         (WebView):
3440
3441             Added WebView methods to support added WKView API.
3442
3443 2013-02-19  Andras Becsi  <andras.becsi@digia.com>
3444
3445         [Qt][WK2] ASSERT(node) hit in WebPage::findZoomableAreaForPoint if no zoomable area found
3446         https://bugs.webkit.org/show_bug.cgi?id=110220
3447
3448         Reviewed by Allan Sandfeld Jensen.
3449
3450         If EventHandler::bestZoomableAreaForTouchPoint was unsuccessfull, eg.
3451         no node was found for a given point, we hit ASSERT(node).
3452         We should only assert for a valid node if a zoomable area was found.
3453
3454         * WebProcess/WebPage/WebPage.cpp:
3455         (WebKit::WebPage::findZoomableAreaForPoint):
3456
3457 2013-02-19  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3458
3459         Regression(r143273): Caused a lot of tests to time out
3460         https://bugs.webkit.org/show_bug.cgi?id=110212
3461
3462         Reviewed by Anders Carlsson.
3463
3464         StorageManager::destroySessionStorageNamespace() and StorageManager::cloneSessionStorageNamespace()
3465         should call their respective "*Internal" equivalent instead of calling themselves. This lead to
3466         a lot of time outs on our build bots.
3467
3468         * UIProcess/Storage/StorageManager.cpp:
3469         (WebKit::StorageManager::destroySessionStorageNamespace):
3470         (WebKit::StorageManager::cloneSessionStorageNamespace):
3471
3472 2013-02-18  Carlos Garcia Campos  <cgarcia@igalia.com>
3473
3474         [GTK] Remove webkit_web_view_get_subresources from WebKit2 GTK+ API
3475         https://bugs.webkit.org/show_bug.cgi?id=110125
3476
3477         Reviewed by Anders Carlsson.
3478
3479         This API is currently implemented caching all resources in the
3480         WebView which causes some problems in documents loading resources
3481         indefinitely. This API was used in WebKit1 mainly to implement
3482         webkit_web_view_save(), but we already have such API in
3483         WebKit2.
3484
3485         * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
3486         (didReceiveWebViewMessageFromInjectedBundle):
3487         * UIProcess/API/gtk/WebKitWebView.cpp:
3488         (_WebKitWebViewPrivate):
3489         (webkitWebViewLoadChanged):
3490         * UIProcess/API/gtk/WebKitWebView.h:
3491         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
3492         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
3493         * UIProcess/API/gtk/tests/TestResources.cpp:
3494         (testWebViewResources):
3495         (testWebResourceGetData):
3496
3497 2013-02-18  Christophe Dumez  <dchris@gmail.com>
3498
3499         [WK2][EFL] Stop using internal C++ API in ewk_error
3500         https://bugs.webkit.org/show_bug.cgi?id=108796
3501
3502         Reviewed by Benjamin Poulain.
3503
3504         Stop using internal C++ API in ewk_error and use C API instead of avoid
3505         violating API layering.
3506
3507         * UIProcess/API/efl/ewk_error.cpp:
3508         (EwkError::domain):
3509         (EwkError::isCancellation):
3510         (ewk_error_type_get):
3511         * UIProcess/API/efl/ewk_error_private.h:
3512         (EwkError):
3513
3514 2013-02-18  Simon Fraser  <simon.fraser@apple.com>
3515
3516         Clean up the boolean argument to visibleContentRect
3517         https://bugs.webkit.org/show_bug.cgi?id=110167
3518
3519         Reviewed by Simon Fraser.
3520         
3521         Replace the boolean argument to visibleContentRect() with
3522         an enum.
3523
3524         * WebProcess/WebPage/WebFrame.cpp:
3525         (WebKit::WebFrame::visibleContentBounds):
3526         (WebKit::WebFrame::visibleContentBoundsExcludingScrollbars):
3527
3528 2013-02-18  Anders Carlsson  <andersca@apple.com>
3529
3530         Add a DefaultHash for RefPtr<SecurityOrigin>
3531         https://bugs.webkit.org/show_bug.cgi?id=110170
3532
3533         Reviewed by Andreas Kling.
3534
3535         Remove all explicit uses of SecurityOriginHash.
3536
3537         * UIProcess/Storage/StorageManager.cpp:
3538         (StorageManager::SessionStorageNamespace):
3539         * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
3540         (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
3541         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3542         (WebKit::InjectedBundle::originsWithApplicationCache):
3543         * WebProcess/Notifications/NotificationPermissionRequestManager.h:
3544         Include SecurityOriginHash.h. This fixes a bug where m_originToIDMap used pointer-equality
3545         for looking up security origins.
3546
3547         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
3548         (WebKit::WebResourceCacheManager::clearCacheForOrigin):
3549         This can just take a const reference.
3550
3551         * WebProcess/ResourceCache/WebResourceCacheManager.h:
3552
3553 2013-02-18  Anders Carlsson  <andersca@apple.com>
3554
3555         Begin stubbing out session storage classes
3556         https://bugs.webkit.org/show_bug.cgi?id=110168
3557
3558         Reviewed by Andreas Kling.
3559
3560         * UIProcess/Storage/StorageManager.cpp:
3561         (StorageManager::StorageArea):
3562         (WebKit):
3563         (WebKit::StorageManager::StorageArea::create):
3564         (WebKit::StorageManager::StorageArea::StorageArea):
3565         (WebKit::StorageManager::StorageArea::~StorageArea):
3566         (StorageManager::SessionStorageNamespace):
3567         (WebKit::StorageManager::SessionStorageNamespace::isEmpty):
3568         (WebKit::StorageManager::SessionStorageNamespace::create):
3569         (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
3570         (WebKit::StorageManager::SessionStorageNamespace::~SessionStorageNamespace):
3571         (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
3572         (WebKit::StorageManager::createSessionStorageNamespaceInternal):
3573         (WebKit::StorageManager::destroySessionStorageNamespaceInternal):
3574         (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
3575         * UIProcess/Storage/StorageManager.h:
3576         (StorageManager):
3577
3578 2013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3579
3580         [EFL][WK2] Add C API for popup menu and popup item
3581         https://bugs.webkit.org/show_bug.cgi?id=109083
3582
3583         Reviewed by Anders Carlsson.
3584
3585         WK2 EFL delegates display of the popup menu to the browser which causes
3586         us to have a strong interdependency between internal C++ classes
3587         (WebPopupMenuProxyEfl, WebPopupItem) and our EFL API implementation
3588         (EwkView, EwkPopupMenu, EwkPopupMenuItem).
3589
3590         Since we want to remove this interdependency, this patch introduces a
3591         for WebPopupMenuProxyEfl (WKPopupMenuListener) and for WebPopupItem
3592         (WKPopupItem). It also introduces a WKPage client with callbacks for
3593         showPopupMenu and hidePopupMenu.
3594
3595         Note that the popup menu functionality is covered by ewk_popup_menu API
3596         tests and no functionality is lost.
3597
3598         * PlatformEfl.cmake: Add new files to EFL CMake config.
3599         * Shared/API/c/efl/WKBaseEfl.h: Add typedefs for WKPopupItemRef and
3600         WKPopupMenuListenerRef.
3601         * Shared/APIObject.h: Add new TypePopupMenuItem APIObject type for EFL
3602         platform.
3603         * UIProcess/API/C/efl/WKAPICastEfl.h: Add mapping for WKPopupItemRef
3604         and WKPopupMenuListenerRef API types.
3605         (WebKit):
3606         (WebKit::toAPI):
3607         * UIProcess/API/C/efl/WKPageEfl.cpp: Added.
3608         (WKPageSetUIPopupMenuClient): Add new C API to set the UI Popup Menu
3609         client on the page.
3610         * UIProcess/API/C/efl/WKPageEfl.h: Added.
3611         * UIProcess/API/C/efl/WKPopupItem.cpp: Added. Add C API for WebPopupItem.
3612         (WKPopupItemGetType):
3613         (WKPopupItemGetTextDirection):
3614         (WKPopupItemHasTextDirectionOverride):
3615         (WKPopupItemCopyText):
3616         (WKPopupItemCopyToolTipText):
3617         (WKPopupItemCopyAccessibilityText):
3618         (WKPopupItemIsEnabled):
3619         (WKPopupItemIsLabel):
3620         (WKPopupItemIsSelected):
3621         * UIProcess/API/C/efl/WKPopupItem.h: Added.
3622         * UIProcess/API/C/efl/WKPopupMenuListener.cpp: Added. Add C API for
3623         WebPopupMenuListenerEfl (formerly WebPopupMenuProxyEfl) so that the
3624         client can report which popup menu item was selected.
3625         (WKPopupMenuListenerSetSelection):
3626         * UIProcess/API/C/efl/WKPopupMenuListener.h: Added.
3627         * UIProcess/API/efl/EwkView.cpp: Remove dependency on internal C++ types
3628         (WebPopupMenuProxyEfl and WebPopupItem) and use C API types instead.
3629         (EwkView::requestPopupMenu):
3630         * UIProcess/API/efl/EwkView.h:
3631         (WebKit):
3632         (EwkView):
3633         * UIProcess/API/efl/ewk_popup_menu.cpp: Use C API for Popup menu.
3634         (EwkPopupMenu::EwkPopupMenu):
3635         (EwkPopupMenu::setSelectedIndex):
3636         * UIProcess/API/efl/ewk_popup_menu_private.h:
3637         (EwkPopupMenu::create):
3638         (EwkPopupMenu):
3639         * UIProcess/WebPageProxy.cpp: Use WKPageUIPopupMenuClient to show / hide
3640         the popup menu on EFL port instead of asking the WebPopupMenuProxy.
3641         (WebKit::WebPageProxy::close):
3642         (WebKit::WebPageProxy::showPopupMenu):
3643         (WebKit::WebPageProxy::hidePopupMenu):
3644         * UIProcess/WebPageProxy.h: Add new WKPageUIPopupMenuClient member and
3645         corresponding initialization method.
3646         (WebPageProxy):
3647         * UIProcess/WebPopupMenuProxy.h: Disable showPopupMenu / hidePopupMenu
3648         virtual methods on EFL port since we go via WKPageUIPopupMenuClient
3649         for this now.
3650         (WebPopupMenuProxy):
3651         * UIProcess/efl/PageUIClientEfl.cpp:
3652         (WebKit::PageUIClientEfl::PageUIClientEfl): Handle WKPageUIPopupMenuClient
3653         callbacks and call corresponding EwkView methods. Previously, the EwkView
3654         methods were called by the internal WebPageProxyEfl class which is no
3655         longer needed.
3656         (WebKit::PageUIClientEfl::showPopupMenu):
3657         (WebKit):
3658         (WebKit::PageUIClientEfl::hidePopupMenu):
3659         * UIProcess/efl/PageUIClientEfl.h:
3660         (PageUIClientEfl):
3661         * UIProcess/efl/WebPageProxyEfl.cpp:
3662         (WebKit::WebPageProxy::initializeUIPopupMenuClient):
3663         (WebKit):
3664         * UIProcess/efl/WebPopupItemEfl.cpp: Added. Add APIObject wrapper for
3665         WebPopupItem so that we can use it in WKPageUIPopupMenuClient.
3666         (WebKit):
3667         (WebKit::WebPopupItemEfl::WebPopupItemEfl):
3668         (WebKit::WebPopupItemEfl::~WebPopupItemEfl):
3669         * UIProcess/efl/WebPopupItemEfl.h: Added.
3670         (WebKit):
3671         (WebPopupItemEfl):
3672         (WebKit::WebPopupItemEfl::create):
3673         (WebKit::WebPopupItemEfl::data):
3674         (WebKit::WebPopupItemEfl::itemType):
3675         (WebKit::WebPopupItemEfl::text):
3676         (WebKit::WebPopupItemEfl::textDirection):
3677         (WebKit::WebPopupItemEfl::hasTextDirectionOverride):
3678         (WebKit::WebPopupItemEfl::toolTipText):
3679         (WebKit::WebPopupItemEfl::accessibilityText):
3680         (WebKit::WebPopupItemEfl::isEnabled):
3681         (WebKit::WebPopupItemEfl::isLabel):
3682         (WebKit::WebPopupItemEfl::isSelected):
3683         (WebKit::WebPopupItemEfl::type):
3684         * UIProcess/efl/WebPopupMenuListenerEfl.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.cpp.
3685         Use WebPopupMenuListenerEfl name instead of WebPopupMenuProxyEfl since
3686         it more accurately represents its functionality now.
3687         (WebKit):
3688         (WebKit::WebPopupMenuListenerEfl::WebPopupMenuListenerEfl):
3689         (WebKit::WebPopupMenuListenerEfl::valueChanged):
3690         * UIProcess/efl/WebPopupMenuListenerEfl.h: Renamed from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.h.
3691         (WebKit):
3692         (WebPopupMenuListenerEfl):
3693         (WebKit::WebPopupMenuListenerEfl::create):
3694         * UIProcess/efl/WebUIPopupMenuClient.cpp: Added.
3695         (WebUIPopupMenuClient::showPopupMenu):
3696         (WebUIPopupMenuClient::hidePopupMenu):
3697         * UIProcess/efl/WebUIPopupMenuClient.h: Added.
3698         (WebKit):
3699         (WebUIPopupMenuClient):
3700         * UIProcess/efl/WebView.cpp:
3701         (WebKit::WebView::createPopupMenuProxy):
3702
3703 2013-02-18  Anders Carlsson  <andersca@apple.com>
3704
3705         Add StorageManager member functions for keeping track of session storage namespaces
3706         https://bugs.webkit.org/show_bug.cgi?id=110163
3707
3708         Reviewed by Andreas Kling.
3709
3710         * UIProcess/Storage/StorageManager.cpp:
3711         (WebKit::StorageManager::createSessionStorageNamespace):
3712         (WebKit):
3713         (WebKit::StorageManager::destroySessionStorageNamespace):
3714         (WebKit::StorageManager::cloneSessionStorageNamespace):
3715         (WebKit::StorageManager::createSessionStorageNamespaceInternal):
3716         (WebKit::StorageManager::destroySessionStorageNamespaceInternal):
3717         (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
3718         * UIProcess/Storage/StorageManager.h:
3719         (StorageManager):
3720         * UIProcess/WebContext.h:
3721         (WebKit::WebContext::storageManager):
3722         (WebContext):
3723         * UIProcess/WebPageProxy.cpp:
3724         (WebKit::WebPageProxy::WebPageProxy):
3725         (WebKit::WebPageProxy::close):
3726         (WebKit::WebPageProxy::createNewPage):
3727
3728 2013-02-18  Anders Carlsson  <andersca@apple.com>
3729
3730         StorageManager message handlers should take the connection
3731         https://bugs.webkit.org/show_bug.cgi?id=110151
3732
3733         Reviewed by Andreas Kling.
3734
3735         * Platform/CoreIPC/HandleMessage.h:
3736         (CoreIPC):
3737         (CoreIPC::callMemberFunction):
3738         (CoreIPC::handleMessage):
3739         * Scripts/webkit2/messages.py:
3740         (sync_message_statement):
3741         (generate_message_handler):
3742         * UIProcess/Storage/StorageManager.cpp:
3743         (WebKit::StorageManager::createStorageArea):
3744         (WebKit::StorageManager::destroyStorageArea):
3745         (WebKit::StorageManager::getValues):
3746         * UIProcess/Storage/StorageManager.h:
3747         (StorageManager):
3748         * UIProcess/Storage/StorageManager.messages.in:
3749
3750 2013-02-18  Christophe Dumez  <christophe.dumez@intel.com>
3751
3752         [EFL][WK2] Use C API inside ewk_security_origin
3753         https://bugs.webkit.org/show_bug.cgi?id=107923
3754
3755         Reviewed by Alexey Proskuryakov.
3756
3757         Use C API inside ewk_security_origin instead of accessing
3758         directly internal C++ classes, to avoid breaking API
3759         layering.
3760
3761         * UIProcess/API/efl/EwkView.cpp:
3762         (EwkView::enterFullScreen):
3763         * UIProcess/API/efl/ewk_security_origin.cpp:
3764         (EwkSecurityOrigin::EwkSecurityOrigin):
3765         * UIProcess/API/efl/ewk_security_origin_private.h:
3766         (EwkSecurityOrigin::create):
3767         (EwkSecurityOrigin):
3768
3769 2013-01-04  Jer Noble  <jer.noble@apple.com>
3770
3771         pinch-zooming webpage messes up full-screening of embedded video
3772         https://bugs.webkit.org/show_bug.cgi?id=106115
3773
3774         Reviewed by Maciej Stachowiak.
3775
3776         Reset the page scale when entering full screen, and reset to the original scale when exiting.
3777
3778         * UIProcess/mac/WKFullScreenWindowController.h:
3779         * UIProcess/mac/WKFullScreenWindowController.mm:
3780         (-[WKFullScreenWindowController enterFullScreen:]):
3781         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
3782
3783 2013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3784
3785         [EFL][WK2] Disable failing API tests
3786         https://bugs.webkit.org/show_bug.cgi?id=110081
3787
3788         Reviewed by Kenneth Rohde Christiansen.
3789
3790         Disable EWK2UnitTestBase.ewk_view_scale API test as it is failing.
3791
3792         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3793         (TEST_F):
3794
3795 2013-02-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3796
3797         [Qt][WK2] Support WK2 API tests
3798         https://bugs.webkit.org/show_bug.cgi?id=109843
3799
3800         Reviewed by Jocelyn Turcotte.
3801
3802         * UIProcess/API/qt/qquickwebview_p.h:
3803         (TestWebKitAPI):
3804
3805 2013-02-18  Andras Becsi  <andras.becsi@digia.com>
3806
3807         [Qt][WK2] Changing WebView.contentY and WebView.contentX does not redraw content
3808         https://bugs.webkit.org/show_bug.cgi?id=108337
3809
3810         Reviewed by Jocelyn Turcotte.
3811
3812         We should not ignore content position changes unless pinch zoom or bounce-back
3813         animation is ongoing.
3814         This way we notify the web process about visible rect changes if the contentX
3815         and contentY properties are used to programmatically scroll the content from QML.
3816         One important usecase for this is when implementing scrollbars.
3817
3818         * UIProcess/qt/PageViewportControllerClientQt.cpp:
3819         (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
3820         (WebKit::PageViewportControllerClientQt::flickMoveStarted):
3821         (WebKit::PageViewportControllerClientQt::flickMoveEnded):
3822         (WebKit::PageViewportControllerClientQt::pageItemPositionChanged):
3823         (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
3824         (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
3825
3826 2013-02-18  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
3827
3828         [WK2][EFL] Unified text checker implementation
3829         https://bugs.webkit.org/show_bug.cgi?id=107682
3830
3831         Reviewed by Anders Carlsson.
3832
3833         * UIProcess/efl/TextCheckerEfl.cpp:
3834         (WebKit):
3835         (WebKit::nextWordOffset):
3836         Helper function to determine the word offset to do not call
3837         client's checkSpellingOfString for the word separators.
3838
3839         (WebKit::TextChecker::checkTextOfParagraph):
3840         Allow to check spelling for multiple words,
3841         their misspelling location and length are saved to the vector.
3842
3843         * WebProcess/WebCoreSupport/WebEditorClient.h:
3844         Add UNIFIED_TEXT_CHECKING guard to checkTextOfParagraph.
3845
3846         * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
3847         (WebKit):
3848         (WebKit::WebEditorClient::checkTextOfParagraph):
3849         As spelling implementation is exposed to UIProcess,
3850         send a meesage to UIProcess to call TextChecker::checkTextOfParagraph.
3851
3852 2013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3853
3854         [EFL][WK2] Refactor Ewk_Favicon code and stop relying on internal C++ API
3855         https://bugs.webkit.org/show_bug.cgi?id=108598
3856
3857         Reviewed by Kenneth Rohde Christiansen.
3858
3859         Refactor the Ewk_Favicon code so that it no longer relies on internal
3860         C++ API and so that it is based solely on the C API. The API is changed
3861         a little as well so that the Favicon URL is no longer exposed to the
3862         client. Also the client is now only notified of icon changes once the
3863         favicon data is actually available.
3864
3865         The API is covered by existing API tests and by MiniBrowser which are
3866         both updated accordingly in this patch.
3867
3868         * UIProcess/API/efl/EwkView.cpp:
3869         (EwkView::informURLChange):
3870         (EwkView::createFavicon):
3871         (EwkView::onFaviconChanged):
3872         * UIProcess/API/efl/EwkView.h:
3873         (EwkView):
3874         * UIProcess/API/efl/EwkViewCallbacks.h:
3875         * UIProcess/API/efl/ewk_favicon_database.cpp:
3876         Client are now notified of favicon changes only when the favicon data
3877         becomes available and make API to retrieve a favicon synchronous. NULL
3878         is returned if the favicon data is not available.
3879
3880         (EwkFaviconDatabase::EwkFaviconDatabase):
3881         (EwkFaviconDatabase::getIconSurfaceSynchronously):
3882         (EwkFaviconDatabase::iconDataReadyForPageURL):
3883         (ewk_favicon_database_icon_get):
3884         * UIProcess/API/efl/ewk_favicon_database.h:
3885         * UIProcess/API/efl/ewk_favicon_database_private.h:
3886         (EwkFaviconDatabase):
3887         * UIProcess/API/efl/ewk_view.cpp:
3888         (ewk_view_favicon_get):
3889         * UIProcess/API/efl/ewk_view.h:
3890         Rename 'icon,changed' signal to 'favicon,changed' for clarity and
3891         consistency with the rest of the favicon API. Remove API to retrieve
3892         the favicon URL and replace it by one to retrieve the favicon image as
3893         an Evas_Object instead.
3894
3895         * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
3896         Update API tests to use the new favicon API.
3897
3898 2013-02-17  Jae Hyun Park  <jae.park@company100.net>
3899
3900         Remove unnecessary public method DrawingAreaImpl::createGraphicsContext()
3901         https://bugs.webkit.org/show_bug.cgi?id=109893
3902
3903         Reviewed by Anders Carlsson.
3904
3905         DrawingAreaImpl::createGraphicsContext() is unnecessary since
3906         createGraphicsContext can be called directly using ShareableBitmap.
3907
3908         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3909         (WebKit::DrawingAreaImpl::display):
3910         * WebProcess/WebPage/DrawingAreaImpl.h:
3911         (DrawingAreaImpl):
3912
3913 2013-02-17  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
3914
3915         [WK2][EFL] Remove fullscreen manager proxy as a message receiver on invalidate()
3916         https://bugs.webkit.org/show_bug.cgi?id=109451
3917
3918         Reviewed by Anders Carlsson.
3919
3920         Remove fullscreen manager proxy as a message receiver on invalidate(), like
3921         other ports do after r142160.
3922
3923         * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
3924         (WebKit::WebFullScreenManagerProxy::invalidate):
3925
3926 2013-02-17  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3927
3928         Regression(r143124): Caused plugins/plugin-javascript-access.html to fail
3929         https://bugs.webkit.org/show_bug.cgi?id=110053
3930
3931         Reviewed by Alexey Proskuryakov.
3932
3933         Clear m_plugins in loadPluginsIfNecessary() before populating the
3934         vector again. We get duplicates otherwise.
3935
3936         * UIProcess/Plugins/PluginInfoStore.cpp:
3937         (WebKit::PluginInfoStore::loadPluginsIfNecessary):
3938
3939 2013-02-16  Andreas Kling  <akling@apple.com>
3940
3941         Remove multi-threading gunk from PluginInfoStore.
3942         <http://webkit.org/b/110046>
3943
3944         Reviewed by Alexey Proskuryakov.
3945
3946         PluginInfoStore is never accessed from multiple threads anymore, so remove the Mutex locking
3947         and stop making isolated copies of everything.
3948
3949         * Shared/Plugins/PluginModuleInfo.h:
3950         (PluginModuleInfo):
3951         * UIProcess/Plugins/PluginInfoStore.cpp:
3952         (WebKit::PluginInfoStore::loadPluginsIfNecessary):
3953         (WebKit::PluginInfoStore::plugins):
3954         (WebKit::PluginInfoStore::findPluginForMIMEType):
3955         (WebKit::PluginInfoStore::findPluginForExtension):
3956         (WebKit::PluginInfoStore::findPlugin):
3957         (WebKit::PluginInfoStore::infoForPluginWithPath):
3958         * UIProcess/Plugins/PluginInfoStore.h:
3959         (PluginInfoStore):
3960
3961 2013-02-16  Sam Weinig  <sam@webkit.org>
3962
3963         Fix non-production builds.
3964
3965         * WebKit2.xcodeproj/project.pbxproj:
3966
3967 2013-02-16  Sam Weinig  <sam@webkit.org>
3968
3969         The Plugin.32 target does not build
3970         https://bugs.webkit.org/show_bug.cgi?id=110032
3971
3972         Reviewed by Anders Carlsson.
3973
3974         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/PluginService.32.Main.mm: Removed.
3975         This was meant to be removed already.
3976
3977         * WebKit2.xcodeproj/project.pbxproj:
3978         Add Plugin.32 as dependency in All as it should be.
3979
3980 2013-02-16  Darin Adler  <darin@apple.com>
3981
3982         Fix WKDOMRangePrivate.h mistakes
3983         https://bugs.webkit.org/show_bug.cgi?id=110028
3984
3985         Reviewed by Ryosuke Niwa.
3986
3987         * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
3988         Added include of WKDOMRangePrivate.h.
3989
3990         * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h:
3991         Fixed class name and include to be WKDOMRange.
3992         Fixed method name, _copyBundleRangeHandleRef, to match the
3993         name in the source file.
3994
3995 2013-02-15  Eric Carlson  <eric.carlson@apple.com>
3996
3997         [Mac] remove wkCaptionAppearance from WebKitSystemInterface
3998         https://bugs.webkit.org/show_bug.cgi?id=109996
3999
4000         Reviewed by Simon Fraser.
4001
4002         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
4003         (InitWebCoreSystemInterface):
4004
4005 2013-02-15  Sheriff Bot  <webkit.review.bot@gmail.com>
4006
4007         Unreviewed, rolling out r143088.
4008         http://trac.webkit.org/changeset/143088
4009         https://bugs.webkit.org/show_bug.cgi?id=110000
4010
4011         Breaks the build (Requested by dgorbik on #webkit).
4012
4013         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
4014         (InitWebCoreSystemInterface):
4015
4016 2013-02-15  Kiran Muppala  <cmuppala@apple.com>
4017
4018         Disable sudden termination on Mac
4019         https://bugs.webkit.org/show_bug.cgi?id=109990
4020
4021         Reviewed by Mark Rowe.
4022
4023         Sudden Termination is causing WebContent XPC services to be killed in
4024         response to memory pressure.  Hence, disable it until we can identify
4025         if it is being enabled in error or not.
4026
4027         * Shared/mac/ChildProcessMac.mm:
4028         (WebKit::ChildProcess::platformInitialize): Add call to
4029         [NSProcessInfo disableSuddenTermination].
4030
4031 2013-02-15  Eric Carlson  <eric.carlson@apple.com>
4032
4033         [Mac] remove wkCaptionAppearance from WebKitSystemInterface
4034         https://bugs.webkit.org/show_bug.cgi?id=109996
4035
4036         Reviewed by Simon Fraser.
4037
4038         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
4039         (InitWebCoreSystemInterface):
4040
4041 2013-02-15  Adenilson Cavalcanti  <cavalcantii@gmail.com>
4042
4043         [Qt][WK2] Crash on window resize if WebProcess is closed/crashed
4044         https://bugs.webkit.org/show_bug.cgi?id=109216
4045
4046         Reviewed by Benjamin Poulain.
4047
4048         Only make calls into DrawingAreaProxy pointer after checking its state.
4049
4050         When the WebProcess was closed or crashed, WebKit::WebPageProxy will set
4051         its DrawingAreaProxy pointer to null. Resize events on UIProcess/client will
4052         try to access the object to update the geometry and forward this information
4053         into the WebProcess. This would create a crash scenario that is fixed by this patch.
4054
4055         * UIProcess/API/qt/qquickwebview.cpp:
4056         (QQuickWebViewPrivate::didRelaunchProcess):
4057         (QQuickWebViewLegacyPrivate::updateViewportSize):
4058
4059 2013-02-15  Anders Carlsson  <andersca@apple.com>
4060
4061         Add HashMap::isValidKey and HashSet::isValidValue
4062         https://bugs.webkit.org/show_bug.cgi?id=109977
4063
4064         Reviewed by Sam Weinig and Darin Adler.
4065
4066         Just call HashMap::isValidKey directly.
4067
4068         * UIProcess/WebProcessProxy.cpp:
4069         (WebKit::generatePageID):
4070         Initialize the id to 0 and use prefix increment.
4071
4072         (WebKit::WebProcessProxy::webFrame):
4073         (WebKit::WebProcessProxy::canCreateFrame):
4074         (WebKit::WebProcessProxy::didDestroyFrame):
4075
4076 2013-02-15  Csaba Osztrogonác  <ossy@webkit.org>
4077
4078         Typo fix after r143064.
4079
4080         * Platform/CoreIPC/win/ConnectionWin.cpp:
4081         (CoreIPC::Connection::sendOutgoingMessage):
4082
4083 2013-02-15  Csaba Osztrogonác  <ossy@webkit.org>
4084
4085         One more buildfix after r143052.
4086
4087         * Platform/CoreIPC/win/ConnectionWin.cpp:
4088         (CoreIPC::Connection::sendOutgoingMessage):
4089
4090 2013-02-15  Csaba Osztrogonác  <ossy@webkit.org>
4091
4092         Unreviewed buildfix after r143052 for Qt/GTK/EFL ports.
4093
4094         * Platform/unix/SharedMemoryUnix.cpp:
4095         (WebKit::SharedMemory::Handle::encode):
4096         * Platform/win/SharedMemoryWin.cpp:
4097         (WebKit::SharedMemory::Handle::encode):
4098         * Shared/Network/NetworkResourceLoadParameters.cpp:
4099         (WebKit::NetworkResourceLoadParameters::encode):
4100         * Shared/WebBatteryStatus.cpp:
4101         (WebKit::WebBatteryStatus::Data::encode):
4102         * Shared/WebNetworkInfo.cpp:
4103         (WebKit::WebNetworkInfo::Data::encode):
4104         * Shared/efl/LayerTreeContextEfl.cpp:
4105         (WebKit::LayerTreeContext::encode):
4106         * Shared/gtk/LayerTreeContextGtk.cpp:
4107         (WebKit::LayerTreeContext::encode):
4108         * Shared/qt/LayerTreeContextQt.cpp:
4109         (WebKit::LayerTreeContext::encode):
4110         * Shared/qt/QtNetworkReplyData.cpp:
4111         (WebKit::QtNetworkReplyData::encode):
4112         * Shared/qt/QtNetworkRequestData.cpp:
4113         (WebKit::QtNetworkRequestData::encode):
4114         * Shared/soup/PlatformCertificateInfo.cpp:
4115         (WebKit::PlatformCertificateInfo::encode):
4116
4117 2013-02-15  Anders Carlsson  <andersca@apple.com>
4118
4119         Make most ArgumentEncoder::encode member functions&n