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