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