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