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