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