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