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