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