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