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