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