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