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