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