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