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