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