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