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