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