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