12013-10-12  Alexey Proskuryakov  <ap@apple.com>
2
3        Add a feature define for SubtleCrypto
4        https://bugs.webkit.org/show_bug.cgi?id=122683
5
6        Reviewed by Anders Carlsson.
7
8        * Configurations/FeatureDefines.xcconfig:
9
102013-09-27  Jessica Pease  <jessica_n_pease@apple.com>
11
12        Replace static cast ASSERTs with ASSERT_WITH_SECURITY_IMPLICATION
13        https://bugs.webkit.org/show_bug.cgi?id=120803
14
15        Reviewed by Andreas Kling.
16
17        No new tests because we're just changing assertions.
18
19        * Shared/Plugins/NPObjectProxy.h:
20        (WebKit::NPObjectProxy::toNPObjectProxy):
21        * WebProcess/Plugins/Netscape/NPJSObject.h:
22        (WebKit::NPJSObject::toNPJSObject):
23
242013-09-06  Jessica Pease  <jessica_n_pease@apple.com>
25
26        Replace bounds checking ASSERTs with ASSERT_WITH_SECURITY_IMPLICATION
27        https://bugs.webkit.org/show_bug.cgi?id=120893
28
29        Reviewed by Darin Adler.
30
31        * Shared/Plugins/PluginQuirks.h:
32        (WebKit::PluginQuirks::add):
33
342013-10-12  Darin Adler  <darin@apple.com>
35
36        Use unique_ptr instead of delete in a few places
37        https://bugs.webkit.org/show_bug.cgi?id=122639
38
39        Reviewed by Anders Carlsson.
40
41        * NetworkProcess/mac/RemoteNetworkingContext.mm:
42        (WebKit::privateBrowsingStorageSession): Use NeverDestroyed and unique_ptr.
43        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): Use std::move.
44
45        * Shared/Downloads/DownloadManager.cpp:
46        (WebKit::DownloadManager::startDownload): Use std::move. Also add instead of set.
47        (WebKit::DownloadManager::convertHandleToDownload): Ditto.
48        (WebKit::DownloadManager::downloadFinished): Don't delete.
49
50        * Shared/Downloads/DownloadManager.h: Changed m_downloads to hold unique_ptr instead
51        of raw pointers.
52
53        * Shared/SandboxExtension.h: Use std::unique_ptr for m_data.
54
55        * Shared/mac/SandboxExtensionMac.mm:
56        (WebKit::SandboxExtension::HandleArray::HandleArray): Don't initialize m_data to 0.
57        (WebKit::SandboxExtension::HandleArray::~HandleArray): Don't delete m_data.
58        (WebKit::SandboxExtension::HandleArray::allocate): Use make_unique to allocate m_data.
59
60        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
61        (WebKit::privateSession): Use NeverDestroyed and unique_ptr.
62        (WebKit::identifierBase): Use NeverDestroyed.
63        (WebKit::WebFrameNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
64        Updated to use the above.
65        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): Ditto.
66        (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession): Ditto.
67        (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts): Ditto.
68        (WebKit::WebFrameNetworkingContext::storageSession): Ditto.
69
70        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
71        (WebKit::privateSession):
72        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
73        (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession):
74        (WebKit::WebFrameNetworkingContext::storageSession):
75        (WebKit::WebFrameNetworkingContext::webFrameLoaderClient):
76        More of the same.
77
782013-10-11  Timothy Hatcher  <timothy@apple.com>
79
80        Remove preference support for picking the old Web Inspector.
81        https://bugs.webkit.org/show_bug.cgi?id=122655
82
83        Reviewed by Alexey Proskuryakov.
84
85        * Shared/WebPreferencesStore.h:
86        * UIProcess/API/C/WKPreferences.cpp:
87        * UIProcess/API/C/WKPreferencesPrivate.h:
88        * UIProcess/mac/WebInspectorProxyMac.mm:
89        (WebKit::WebInspectorProxy::inspectorPageURL):
90        (WebKit::WebInspectorProxy::inspectorBaseURL):
91        * WebProcess/WebPage/WebInspector.cpp:
92        (WebKit::WebInspector::WebInspector):
93        * WebProcess/WebPage/WebInspector.h:
94        * WebProcess/WebPage/mac/WebInspectorMac.mm:
95        (WebKit::WebInspector::localizedStringsURL):
96        * WebProcess/WebPage/mac/WebPageMac.mm:
97        (WebKit::WebPage::platformPreferencesDidChange):
98
992013-10-11  Brady Eidson  <beidson@apple.com>
100
101        Lay the groundwork for a multi-process aware Indexed DB implementation in WebKit2.
102        https://bugs.webkit.org/show_bug.cgi?id=122675
103
104        Reviewed by Alexey Proskuryakov.
105
106        * CMakeLists.txt:
107        * GNUmakefile.am:
108        * GNUmakefile.list.am:
109        * WebKit2.xcodeproj/project.pbxproj:
110
111        * WebProcess/IndexedDB/WebIDBFactoryBackend.cpp: Added.
112        (WebKit::WebIDBFactoryBackend::WebIDBFactoryBackend):
113        (WebKit::WebIDBFactoryBackend::~WebIDBFactoryBackend):
114        (WebKit::WebIDBFactoryBackend::getDatabaseNames):
115        (WebKit::WebIDBFactoryBackend::open):
116        (WebKit::WebIDBFactoryBackend::deleteDatabase):
117        * WebProcess/IndexedDB/WebIDBFactoryBackend.h: Added.
118        (WebKit::WebIDBFactoryBackend::create):
119
120        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
121        (WebKit::WebPlatformStrategies::createIDBFactoryBackend): Return a WebIDBFactoryBackend.
122
1232013-10-11  Anders Carlsson  <andersca@apple.com>
124
125        Remove ENABLE(GESTURE_EVENTS) from WebKit2
126        https://bugs.webkit.org/show_bug.cgi?id=122673
127
128        Reviewed by Ryosuke Niwa.
129
130        * Shared/WebEvent.h:
131        * Shared/WebEventConversion.cpp:
132        * Shared/WebEventConversion.h:
133        * Shared/WebGestureEvent.cpp: Removed.
134        * Shared/mac/WebEventFactory.h:
135        * Shared/mac/WebEventFactory.mm:
136        * UIProcess/API/mac/PageClientImpl.h:
137        * UIProcess/API/mac/PageClientImpl.mm:
138        * UIProcess/API/mac/WKView.mm:
139        (-[WKView viewDidMoveToWindow]):
140        * UIProcess/PageClient.h:
141        * UIProcess/WebPageProxy.cpp:
142        (WebKit::WebPageProxy::didReceiveEvent):
143        (WebKit::WebPageProxy::resetStateAfterProcessExited):
144        * UIProcess/WebPageProxy.h:
145        * WebKit2.xcodeproj/project.pbxproj:
146        * WebProcess/WebPage/EventDispatcher.cpp:
147        * WebProcess/WebPage/EventDispatcher.h:
148        * WebProcess/WebPage/EventDispatcher.messages.in:
149        * WebProcess/WebPage/WebPage.cpp:
150        * WebProcess/WebPage/WebPage.h:
151
1522013-10-11  Adam Roben  <aroben@webkit.org>
153
154        Confusing CGImageRef memory management in ImageBuffer::copyImage
155        https://bugs.webkit.org/show_bug.cgi?id=122605
156
157        Reviewed by Simon Fraser.
158
159        * Shared/cg/ShareableBitmapCG.cpp:
160        (WebKit::ShareableBitmap::createImage): BitmapImage::create now
161        retains the passed-in CGImage, so we don't need to dance around it
162        anymore. Also changed to use nullptr instead of 0 while I was in here.
163
1642013-10-10  Byungwoo Lee  <bw80.lee@samsung.com>
165
166        [EFL][WK2] Separate dispatch context from WorkQueue.
167        https://bugs.webkit.org/show_bug.cgi?id=115332
168
169        Reviewed by Anders Carlsson.
170
171        Refactor WorkQueue to prevent dangling workqueue access.
172
173        Previously, the WorkQueue class had all context about dispatch.
174        WorkQueue had dispatch item queue and socket event handler,
175        and those were accessed on the work queue thread through WorkQueue
176        instance.
177
178        With reference countable WorkQueue concept, this implementation
179        complicates handling workqueue ref-counting and causes dangling
180        workqueue access problem.
181
182        To make it easy to handle WorkQueue reference count and to prevent
183        dangling access problem, DispatchQueue class is added to handle
184        dispatch tasks, and the WorkQueue instance and DispatchQueue thread
185        will have the reference count of the DispatchQueue instance to prevent
186        dangling access.
187
188        * Platform/WorkQueue.h:
189        * Platform/efl/DispatchQueueEfl.cpp: Added.
190        (DispatchQueue::ThreadContext::start):
191        (DispatchQueue::ThreadContext::ThreadContext):
192        (DispatchQueue::ThreadContext::function):
193        (DispatchQueue::create):
194        (DispatchQueue::DispatchQueue):
195        (DispatchQueue::~DispatchQueue):
196        (DispatchQueue::dispatch):
197        (DispatchQueue::stopThread):
198        (DispatchQueue::setSocketEventHandler):
199        (DispatchQueue::clearSocketEventHandler):
200        (DispatchQueue::performWork):
201        (DispatchQueue::performTimerWork):
202        (DispatchQueue::performFileDescriptorWork):
203        (DispatchQueue::insertTimerWorkItem):
204        (DispatchQueue::dispatchQueueThread):
205        (DispatchQueue::wakeUpThread):
206        (DispatchQueue::getNextTimeOut):
207        * Platform/efl/DispatchQueueEfl.h: Added.
208        * Platform/efl/DispatchQueueWorkItemEfl.h: Added.
209        (WorkItem::create):
210        (WorkItem::dispatch):
211        (WorkItem::WorkItem):
212        (TimerWorkItem::create):
213        (TimerWorkItem::expirationTimeSeconds):
214        (TimerWorkItem::hasExpired):
215        (TimerWorkItem::TimerWorkItem):
216        * Platform/efl/WorkQueueEfl.cpp:
217        (WorkQueue::platformInitialize):
218        (WorkQueue::platformInvalidate):
219        (WorkQueue::registerSocketEventHandler):
220        (WorkQueue::unregisterSocketEventHandler):
221        (WorkQueue::dispatch):
222        (WorkQueue::dispatchAfterDelay):
223        * PlatformEfl.cmake:
224
2252013-10-10  Csaba Osztrogonác  <ossy@webkit.org>
226
227        [WK2][Soup] Add platform specific stubs for NetworkProcess
228        https://bugs.webkit.org/show_bug.cgi?id=110115
229
230        Reviewed by Carlos Garcia Campos.
231
232        Original patch by Balazs Kelemen <kbalazs@webkit.org> and Kwang Yul Seo  <skyul@company100.net>.
233
234        * CMakeLists.txt:
235        * GNUmakefile.am:
236        * GNUmakefile.list.am:
237        * NetworkProcess/gtk/NetworkProcessSoup.cpp: Added.
238        (WebKit::NetworkProcess::platformInitializeNetworkProcess):
239        (WebKit::NetworkProcess::platformSetCacheModel):
240        (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
241        Stubs.
242        (WebKit::NetworkProcess::clearCacheForAllOrigins):
243        (WebKit::NetworkProcess::platformTerminate):
244        * NetworkProcess/soup/NetworkResourceLoadSchedulerSoup.cpp: Added.
245        (WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost):
246        Added platform default based on the comment in ResourceRequestSoup.cpp.
247        * UIProcess/Network/soup/NetworkProcessProxySoup.cpp: Added.
248        (WebKit::NetworkProcessProxy::platformGetLaunchOptions):
249        Stub.
250        * UIProcess/soup/WebContextSoup.cpp: Added.
251        (WebKit::WebContext::platformInitializeNetworkProcess):
252        Stub.
253
2542013-10-10  Beth Dakin  <bdakin@apple.com>
255
256        Scrollbars are updated on the main thread rather than the scrolling thread 
257        (causing scroll bars not to appear/update quickly in some cases)
258        https://bugs.webkit.org/show_bug.cgi?id=122585
259        -and corresponding-
260        <rdar://problem/10710775>
261
262        Reviewed by Simon Fraser.
263
264        New pure virtual function.
265        * WebProcess/Plugins/PDF/PDFPlugin.h:
266
2672013-10-10  Csaba Osztrogonác  <ossy@webkit.org>
268
269        [WK2] Port RemoteNetworkingContext for Soup
270        https://bugs.webkit.org/show_bug.cgi?id=110097
271
272        Reviewed by Darin Adler.
273
274        Original patch by Balazs Kelemen <kbalazs@webkit.org> and Kwang Yul Seo <skyul@company100.net>.
275
276        This should be a cross-platform interface so I lifted the header from
277        the mac directory. Removed mac specific arguments from constructor,
278        added setters instead. Moved platform things behind ifdefs and added
279        Soup specific bits.
280
281        The following things were fixed by Csaba Osztrogonác:
282        - solved conflicts in project.pbxproj
283        - removed the change in the non-existent SyncNetworkResourceLoader.cpp
284        - marked RemoteNetworkingContext class as FINAL
285        - reordered the members for platform specific initialization
286        - added initializers to m_needsSiteSpecificQuirks and m_localFileContentSniffingEnabled members on PLATFORM(MAC)
287
288        * NetworkProcess/NetworkResourceLoader.cpp:
289        (WebKit::NetworkResourceLoader::start):
290        * NetworkProcess/RemoteNetworkingContext.h: Renamed from Source/WebKit2/NetworkProcess/mac/RemoteNetworkingContext.h.
291        (WebKit::RemoteNetworkingContext::create):
292        (WebKit::RemoteNetworkingContext::RemoteNetworkingContext):
293        (WebKit::RemoteNetworkingContext::setNeedsSiteSpecificQuirks):
294        (WebKit::RemoteNetworkingContext::setLocalFileContentSniffingEnabled):
295        * NetworkProcess/mac/RemoteNetworkingContext.mm:
296        * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp: Added.
297        (WebKit::RemoteNetworkingContext::~RemoteNetworkingContext):
298        (WebKit::RemoteNetworkingContext::isValid):
299        (WebKit::RemoteNetworkingContext::initiatingPageID):
300        (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
301        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
302        (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession):
303        (WebKit::RemoteNetworkingContext::storageSession):
304        (WebKit::RemoteNetworkingContext::privateBrowsingSession):
305        * WebKit2.xcodeproj/project.pbxproj:
306
3072013-10-10  Sergio Correia  <sergio.correia@openbossa.org>
308
309        Convert some OwnPtr/PassOwnPtr in CoordinatedGraphics code to std::unique_ptr's
310        https://bugs.webkit.org/show_bug.cgi?id=122614
311
312        Reviewed by Anders Carlsson.
313
314        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
315        (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
316        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
317
3182013-10-10  Csaba Osztrogonác  <ossy@webkit.org>
319
320        generate-message-receiver.py can't handle nested #ifs
321        https://bugs.webkit.org/show_bug.cgi?id=121877
322
323        Reviewed by Alexey Proskuryakov.
324
325        * Scripts/webkit2/parser.py:
326        (parse): Exit early until proper fix instead of generating buggy output.
327
3282013-10-10  Mark Rowe  <mrowe@apple.com>
329
330        <rdar://problem/13341666> WebKit should always build against an SDK.
331
332        Have all projects default to building against the OS X Internal SDK for the Production
333        configuration. For the Debug and Release configurations, look for UseInternalSDK.xcconfig
334        to determine whether the OS X Internal SDK should be used. If not, use the normal OS X SDK.
335
336        Reviewed by Dan Bernstein.
337
338        * Configurations/Base.xcconfig:
339        * Configurations/DebugRelease.xcconfig:
340
3412013-10-10  Ralph Thomas  <ralpht@gmail.com>
342
343        [CoordinatedGraphics][CSS Shaders] marshal color and matrix custom filter parameters
344        https://bugs.webkit.org/show_bug.cgi?id=117904
345
346        Correctly encode and decode the "matrix" and "color" custom filter parameter types.
347        No port currently enables this code, however with this change the relevant layout tests now pass when enabled in EFL.
348        Reviewed by Noam Rosenthal.
349
350        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
351        (CoreIPC::::encode):
352        (CoreIPC::::decode):
353
3542013-10-10  Mark Rowe  <mrowe@apple.com>
355
356        <rdar://problem/13871522> WebKit2 fails to build with C++ 98 conformance changes
357
358        Reviewed by Andreas Kling.
359
360        * Shared/mac/SandboxExtensionMac.mm:
361        (WebKit::resolveSymlinksInPath): strrchr returns a const char* when passed one.
362        Update the type of the local variable to accommodate that.
363
3642013-10-10  Csaba Osztrogonác  <ossy@webkit.org>
365
366        Buildfix for non Mac platforms with enabled NetworkProcess
367        https://bugs.webkit.org/show_bug.cgi?id=121793
368
369        Reviewed by Anders Carlsson.
370
371        * Shared/ShareableResource.cpp:
372        * Shared/ShareableResource.h:
373        * Shared/WebResourceBuffer.cpp:
374        * Shared/WebResourceBuffer.h:
375        * WebKit2Prefix.h:
376        * WebProcess/Network/NetworkProcessConnection.cpp:
377        * WebProcess/Network/NetworkProcessConnection.h:
378        * WebProcess/Network/NetworkProcessConnection.messages.in:
379        * WebProcess/Network/WebResourceLoader.cpp:
380        * WebProcess/Network/WebResourceLoader.h:
381        * WebProcess/Network/WebResourceLoader.messages.in:
382
3832013-10-09  Sergio Correia  <sergio.correia@openbossa.org>
384
385        Set view to active in ViewClientEfl after WebProcess has relaunched
386        https://bugs.webkit.org/show_bug.cgi?id=118650
387
388        Reviewed by Noam Rosenthal.
389
390        Once WebProcess relaunches, the underlying scene from the view is recreated
391        and is not active by default, which means it will be in `background'. In
392        practice, from that point on we are going to get a blank screen, unless we
393        set it to active.
394
395        In the normal flow, the view is set to active during its initialization; this
396        patch sets it to active also in ViewClientEfl, in the webProcessDidRelaunch
397        callback.
398
399        * UIProcess/efl/ViewClientEfl.cpp:
400        (WebKit::ViewClientEfl::webProcessDidRelaunch): Added WKViewSetIsActive call.
401
4022013-10-09  Commit Queue  <commit-queue@webkit.org>
403
404        Unreviewed, rolling out r157157.
405        http://trac.webkit.org/changeset/157157
406        https://bugs.webkit.org/show_bug.cgi?id=122547
407
408        Caused crashes on several bots including gtk, mac-wk2 lion and
409        mountain lion (Requested by kov on #webkit).
410
411        * Shared/Plugins/NPRemoteObjectMap.cpp:
412        (WebKit::NPRemoteObjectMap::registerNPObject):
413        (WebKit::NPRemoteObjectMap::pluginDestroyed):
414        * Shared/Plugins/NPRemoteObjectMap.h:
415
4162013-10-08  Darin Adler  <darin@apple.com>
417
418        Remove use of deleteAllValues in NPRemoteObjectMap::pluginDestroyed
419        https://bugs.webkit.org/show_bug.cgi?id=122496
420
421        Reviewed by Andreas Kling.
422
423        * Shared/Plugins/NPRemoteObjectMap.cpp:
424        (WebKit::NPRemoteObjectMap::registerNPObject): Don't call release when puttin objects
425        into the map.
426        (WebKit::NPRemoteObjectMap::pluginDestroyed): Instead of making an array of receivers
427        and deleting them all, remove all of the receivers from the map, which will take care
428        of deleting them. Also change the other loop to use a similar coding style.
429
430        * Shared/Plugins/NPRemoteObjectMap.h: Change the value type of m_registeredNPObjects
431        to be unique_ptr instead of a raw pointer.
432
4332013-10-08  Anders Carlsson  <andersca@apple.com>
434
435        WebProcess crash on SAP WebCycle web app
436        https://bugs.webkit.org/show_bug.cgi?id=122520
437        <rdar://problem/15030605>
438
439        Reviewed by Darin Adler.
440
441        Stop trying to use RunLoop to manage the top-level run loop and just have the child process and their
442        delegate subclasses start and stop the run loops. This fixes a bug with showModalDialog where we would
443        unintentionally call -[NSApp stop] when closing a modal dialog.
444        
445        This also lets us move all knowledge of NSApplication from RunLoop. (Both the web process and plug-in process
446        need to use -[NSApp run] and -[NSApp stop:]).
447
448        * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
449        (WebKit::PluginProcessMainDelegate::doPreInitializationWork):
450        Remove call to RunLoop::setUseApplicationRunLoopOnMainRunLoop. Add a startRunLoop override that calls
451        -[NSApp run].
452
453        * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
454        (PluginServiceInitializer):
455        Remove call to RunLoop::setUseApplicationRunLoopOnMainRunLoop.
456
457        * PluginProcess/PluginProcess.h:
458        Add stopRunLoop() override on Mac.
459
460        * PluginProcess/mac/PluginProcessMac.mm:
461        (WebKit::PluginProcess::stopRunLoop):
462        Call -[NSApp stop:] and tickle the event system.
463
464        * Shared/ChildProcess.cpp:
465        (WebKit::ChildProcess::stopRunLoop):
466        Add default implementation that just calls RunLoop::main()->stop().
467
468        (WebKit::ChildProcess::terminate):
469        Call stopRunLoop().
470
471        * Shared/ChildProcess.h:
472        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h:
473        Add startRunLoop member function and call it instead of RunLoop::run().
474
475        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm:
476        (WebKit::ChildProcessMainDelegate::startRunLoop):
477        Call RunLoop::run().
478
479        * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
480        (WebKit::WebContentProcessMainDelegate::doPreInitializationWork):
481        Remove call to RunLoop::setUseApplicationRunLoopOnMainRunLoop.
482        Add startRunLoop override that calls -[NSApp run].
483        
484        * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
485        (WebContentServiceInitializer):
486        Remove call to RunLoop::setUseApplicationRunLoopOnMainRunLoop.
487
488        * WebProcess/WebProcess.cpp:
489        (WebKit::WebProcess::didClose):
490        Call stopRunLoop().
491
492        * WebProcess/WebProcess.h:
493        Add stopRunLoop override.
494
495        * WebProcess/mac/WebProcessMac.mm:
496        (WebKit::WebProcess::stopRunLoop):
497        Call -[NSApp stop:] and tickle the event system.
498
4992013-10-08  Commit Queue  <commit-queue@webkit.org>
500
501        Unreviewed, rolling out r157090.
502        http://trac.webkit.org/changeset/157090
503        https://bugs.webkit.org/show_bug.cgi?id=122504
504
505        Caused crashes in many plug-in tests (Requested by ap on
506        #webkit).
507
508        * Shared/Plugins/NPRemoteObjectMap.cpp:
509        (WebKit::NPRemoteObjectMap::registerNPObject):
510        (WebKit::NPRemoteObjectMap::pluginDestroyed):
511        * Shared/Plugins/NPRemoteObjectMap.h:
512
5132013-10-08  Darin Adler  <darin@apple.com>
514
515        Remove use of deleteAllValues in NPRemoteObjectMap::pluginDestroyed
516        https://bugs.webkit.org/show_bug.cgi?id=122496
517
518        Reviewed by Andreas Kling.
519
520        * Shared/Plugins/NPRemoteObjectMap.cpp:
521        (WebKit::NPRemoteObjectMap::registerNPObject): Don't call release when putting objects
522        into the map.
523        (WebKit::NPRemoteObjectMap::pluginDestroyed): Instead of making an array of receivers
524        and deleting them all, remove all of the receivers from the map, which will take care
525        of deleting them. Also change the other loop to use a similar coding style.
526
527        * Shared/Plugins/NPRemoteObjectMap.h: Change the value type of m_registeredNPObjects
528        to be unique_ptr instead of a raw pointer.
529
5302013-10-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
531
532        Reduce duplicated code in WebPageProxy
533        https://bugs.webkit.org/show_bug.cgi?id=122230
534
535        Reviewed by Darin Adler.
536
537        * UIProcess/WebPageProxy.cpp:
538        (WebKit::WebPageProxy::close): move duplicate code to resetState and call it.
539        (WebKit::WebPageProxy::resetState): new private method for code that is shared between
540        close and resetStateAfterProcessExited.
541        (WebKit::WebPageProxy::resetStateAfterProcessExited): move duplicate code to resetState
542        and call it.
543        * UIProcess/WebPageProxy.h:
544
5452013-10-07  Sam Weinig  <sam@webkit.org>
546
547        CTTE: Use references in and around DragController
548        https://bugs.webkit.org/show_bug.cgi?id=122427
549
550        Reviewed by Andreas Kling.
551
552        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
553        (webkitWebViewBaseDragDataReceived):
554        (webkitWebViewBaseDragMotion):
555        (dragExitedCallback):
556        (webkitWebViewBaseDragDrop):
557        * UIProcess/API/mac/WKView.mm:
558        (-[WKView draggingEntered:]):
559        (-[WKView draggingUpdated:]):
560        (-[WKView draggingExited:]):
561        (-[WKView performDragOperation:]):
562        * UIProcess/WebPageProxy.cpp:
563        (WebKit::WebPageProxy::dragEntered):
564        (WebKit::WebPageProxy::dragUpdated):
565        (WebKit::WebPageProxy::dragExited):
566        (WebKit::WebPageProxy::performDrag):
567        (WebKit::WebPageProxy::performDragControllerAction):
568        * UIProcess/WebPageProxy.h:
569        * WebProcess/WebCoreSupport/WebDragClient.cpp:
570        (WebKit::WebDragClient::willPerformDragDestinationAction):
571        (WebKit::WebDragClient::willPerformDragSourceAction):
572        (WebKit::WebDragClient::actionMaskForDrag):
573        (WebKit::WebDragClient::dragSourceActionMaskForPoint):
574        (WebKit::WebDragClient::startDrag):
575        * WebProcess/WebCoreSupport/WebDragClient.h:
576        * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
577        (WebKit::WebDragClient::startDrag):
578        * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
579        (WebKit::WebDragClient::startDrag):
580        (WebKit::cachedImage):
581        (WebKit::WebDragClient::declareAndWriteDragImage):
582        * WebProcess/WebPage/WebPage.cpp:
583        (WebKit::WebPage::performDragControllerAction):
584
5852013-10-07  Tim Horton  <timothy_horton@apple.com>
586
587        Animated images are not restarted when page visibility changes
588        https://bugs.webkit.org/show_bug.cgi?id=122464
589        <rdar://problem/14293474>
590
591        Reviewed by Simon Fraser.
592
593        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
594        (WebKit::TiledCoreAnimationDrawingArea::resumePainting):
595        This is on Page now.
596
5972013-10-05  Anders Carlsson  <andersca@apple.com>
598
599        Try to fix the GTK+ build.
600
601        * UIProcess/gtk/WebPageProxyGtk.cpp:
602        (WebKit::WebPageProxy::platformInitialize):
603
6042013-10-05  Anders Carlsson  <andersca@apple.com>
605
606        Remove createOwned
607        https://bugs.webkit.org/show_bug.cgi?id=122388
608
609        Reviewed by Darin Adler.
610
611        * UIProcess/API/mac/WKView.mm:
612        (-[WKView _setFindIndicator:fadeOut:animate:]):
613        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
614        (WKBundlePageOverlayCreate):
615
6162013-10-05  Darin Adler  <darin@apple.com>
617
618        Remove COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES) since it's required now
619        https://bugs.webkit.org/show_bug.cgi?id=122387
620
621        Reviewed by Anders Carlsson.
622
623        * UIProcess/API/cpp/WKRetainPtr.h: Take out conditionals.
624
6252013-10-05  Darin Adler  <darin@apple.com>
626
627        Cut down on use of String::number
628        https://bugs.webkit.org/show_bug.cgi?id=122382
629
630        Reviewed by Anders Carlsson.
631
632        * Shared/mac/RemoteLayerTreeTransaction.mm:
633        (WebKit::dumpChangedLayers): Use StringBuilder::appendNumber.
634
6352013-10-05  Anders Carlsson  <andersca@apple.com>
636
637        Fix cut and paste errors.
638
639        * Configurations/WebKit2.xcconfig:
640
6412013-10-05  Anders Carlsson  <andersca@apple.com>
642
643        Add the rest of the std::function weak symbols in an attempt to fix the Lion build.
644
645        * Configurations/WebKit2.xcconfig:
646
6472013-10-05  Anders Carlsson  <andersca@apple.com>
648
649        Another attempt at fixing the Lion build.
650
651        * Configurations/WebKit2.xcconfig:
652
6532013-10-05  Anders Carlsson  <andersca@apple.com>
654
655        Attempt to fix the Lion build.
656        
657        * Configurations/WebKit2.xcconfig:
658        Try unexporting one of the weak symbols for now. If this succeeds, I'll add the rest.
659
6602013-10-04  Anders Carlsson  <andersca@apple.com>
661
662        FramePolicyFunction should be an std::function
663        https://bugs.webkit.org/show_bug.cgi?id=122362
664
665        Reviewed by Darin Adler.
666
667        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
668        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
669        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
670        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
671        (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
672        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
673        * WebProcess/WebPage/WebFrame.cpp:
674        (WebKit::WebFrame::didReceivePolicyDecision):
675
6762013-10-04  Ryuan Choi  <ryuan.choi@samsung.com>
677
678        Unreviewed EFL build fix after r156924
679
680        * UIProcess/efl/WebPageProxyEfl.cpp:
681        (WebKit::WebPageProxy::platformInitialize):
682
6832013-10-04  Sam Weinig  <sam@webkit.org>
684
685        Unify rubber-band control
686        https://bugs.webkit.org/show_bug.cgi?id=122341
687
688        Reviewed by Tim Horton.
689
690        - Consolidates the two ways we were passing state about whether
691          to rubber-band on a particular edge down to one.
692        - Adds SPI to control whether you can rubber band on the left
693          or right edge.
694        - Add a linked-on-or-after check to control whether we use the
695          legacy implicit rubber band control based on back/forward.
696
697        * UIProcess/API/C/WKPage.cpp:
698        (WKPageRubberBandsAtLeft):
699        (WKPageSetRubberBandsAtLeft):
700        (WKPageRubberBandsAtRight):
701        (WKPageSetRubberBandsAtRight):
702        (WKPageRubberBandsAtBottom):
703        (WKPageSetRubberBandsAtBottom):
704        * UIProcess/API/C/WKPage.h:
705        * UIProcess/WebPageProxy.cpp:
706        (WebKit::WebPageProxy::WebPageProxy):
707        (WebKit::WebPageProxy::sendWheelEvent):
708        (WebKit::WebPageProxy::rubberBandsAtLeft):
709        (WebKit::WebPageProxy::setRubberBandsAtLeft):
710        (WebKit::WebPageProxy::rubberBandsAtRight):
711        (WebKit::WebPageProxy::setRubberBandsAtRight):
712        (WebKit::WebPageProxy::rubberBandsAtTop):
713        (WebKit::WebPageProxy::setRubberBandsAtTop):
714        (WebKit::WebPageProxy::rubberBandsAtBottom):
715        (WebKit::WebPageProxy::setRubberBandsAtBottom):
716        * UIProcess/WebPageProxy.h:
717        * UIProcess/mac/WebPageProxyMac.mm:
718        (WebKit::shouldUseLegacyImplicitRubberBandControl):
719        (WebKit::WebPageProxy::platformInitialize):
720        * WebProcess/WebPage/EventDispatcher.cpp:
721        (WebKit::EventDispatcher::wheelEvent):
722        * WebProcess/WebPage/EventDispatcher.h:
723        * WebProcess/WebPage/EventDispatcher.messages.in:
724        * WebProcess/WebPage/WebPage.cpp:
725        * WebProcess/WebPage/WebPage.h:
726        * WebProcess/WebPage/WebPage.messages.in:
727
7282013-10-04  Lorenzo Tilve  <ltilve@igalia.com>
729
730        [GTK] Enable text edition UndoOperations support in WebKit2
731        https://bugs.webkit.org/show_bug.cgi?id=122305
732
733        Reviewed by Carlos Garcia Campos.
734
735        Replaced the notImplemented() function calls for
736        the corresponding implementation of the edit operations
737        provided by the DefaultUndoController class.
738
739        * GNUmakefile.list.am:
740        * UIProcess/API/gtk/PageClientImpl.cpp:
741        (WebKit::PageClientImpl::registerEditCommand):
742        (WebKit::PageClientImpl::clearAllEditCommands):
743        (WebKit::PageClientImpl::canUndoRedo):
744        (WebKit::PageClientImpl::executeUndoRedo):
745        * UIProcess/API/gtk/PageClientImpl.h:
746
7472013-10-04  Sergio Correia  <sergio.correia@openbossa.org>
748
749        Remove Qt leftovers from WebKit2
750        https://bugs.webkit.org/show_bug.cgi?id=122317
751
752        Reviewed by Anders Carlsson.
753
754        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
755        (CoreIPC::Connection::platformInitialize):
756        (CoreIPC::Connection::platformInvalidate):
757        (CoreIPC::Connection::readyReadHandler):
758        (CoreIPC::Connection::open):
759        (CoreIPC::Connection::sendOutgoingMessage):
760        * Shared/API/c/WKBase.h:
761        * Shared/NativeWebTouchEvent.h:
762        * UIProcess/API/C/WebKit2_C.h:
763        * UIProcess/BackingStore.h:
764        * UIProcess/InspectorServer/WebInspectorServer.cpp:
765        (WebKit::WebInspectorServer::inspectorUrlForPageID):
766        * UIProcess/InspectorServer/WebInspectorServer.h:
767        * UIProcess/InspectorServer/WebSocketServer.cpp:
768        * UIProcess/InspectorServer/WebSocketServer.h:
769        * UIProcess/WebPageProxy.cpp:
770        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
771        (WebKit::getPluginDisplay):
772        (WebKit::x11Screen):
773        (WebKit::displayDepth):
774        (WebKit::rootWindowID):
775        (WebKit::NetscapePlugin::x11HostDisplay):
776        (WebKit::NetscapePlugin::platformPostInitializeWindowless):
777        (WebKit::NetscapePlugin::platformPaint):
778
7792013-10-03  Mark Rowe  <mrowe@apple.com>
780
781        REGRESSION (r155787): WebKitTestRunner rebuilds from scratch when doing an incremental build
782
783        Reviewed by Dan Bernstein.
784
785        * WebKit2.xcodeproj/project.pbxproj: Have unifdef generate its output to a temporary file. If its exit status
786        indicates that the content did not change, remove the temporary file. If the content changed, moved the temporary file
787        over the destination. This avoids updating the modification date of the file when it has not changed.
788
7892013-10-03  Sam Weinig  <sam@webkit.org>
790
791        Remove shouldRubberBandInDirection from the WKBundlePageUIClient
792        https://bugs.webkit.org/show_bug.cgi?id=122309
793
794        Reviewed by Andreas Kling.
795
796        WKBundlePageUIClient's shouldRubberBandInDirection has never worked with
797        threaded scrolling, so remove it.
798
799        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
800        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
801        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
802        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
803        * WebProcess/WebCoreSupport/WebChromeClient.h:
804
8052013-10-03  Sergio Correia  <sergio.correia@openbossa.org>
806
807        Create CoordinatedDrawingArea / CoordinatedDrawingAreaProxy
808        https://bugs.webkit.org/show_bug.cgi?id=122207
809
810        Reviewed by Anders Carlsson.
811
812        Since Apple are moving away from DrawingAreaImpl, Coordinated Graphics
813        should have its own drawing area.
814
815        * CMakeLists.txt: Use CoordinatedDrawingArea and
816        CoordinatedDrawingAreaProxy instead of the DrawingAreaImpl /
817        DrawingAreaProxyImpl.
818        * Shared/DrawingAreaInfo.h: Add DrawingAreaTypeCoordinated.
819        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
820        Added, copied from DrawingAreaProxyImpl.cpp.
821        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h: Added,
822        copied from DrawingAreaProxyImpl.h.
823        * UIProcess/CoordinatedGraphics/WebView.cpp:
824        (WebKit::WebView::createDrawingAreaProxy): Use CoordinatedDrawingAreaProxy.
825        * UIProcess/DrawingAreaProxyImpl.cpp: Remove Coordinated Graphics
826        bits.
827        * UIProcess/DrawingAreaProxyImpl.h: Ditto.
828        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:
829        Added, copied from DrawingAreaImpl.cpp.
830        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
831        Added, copied from DrawingAreaImpl.h.
832        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
833        (WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush): Use
834        CoordinatedDrawingArea.
835        * WebProcess/WebPage/DrawingArea.cpp:
836        (WebKit::DrawingArea::create): Handle the DrawingAreaTypeCoordinated
837        in the DrawingArea creation code.
838        * WebProcess/WebPage/DrawingAreaImpl.cpp: Remove Coordinated Graphics
839        bits.
840        * WebProcess/WebPage/DrawingAreaImpl.h: Ditto.
841
8422013-10-03  Anders Carlsson  <andersca@apple.com>
843
844        Ignore deprecation warnings
845        https://bugs.webkit.org/show_bug.cgi?id=122302
846
847        Reviewed by Mark Rowe.
848
849        * Shared/mac/WebEventFactory.mm:
850        (WebKit::globalPoint):
851        * UIProcess/API/mac/FindIndicatorWindow.mm:
852        (WebKit::FindIndicatorWindow::setFindIndicator):
853        * UIProcess/API/mac/PageClientImpl.mm:
854        (WebKit::PageClientImpl::screenToWindow):
855        (WebKit::PageClientImpl::windowToScreen):
856        * UIProcess/API/mac/WKTextInputWindowController.mm:
857        (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
858        (-[WKTextInputPanel _hasMarkedText]):
859        * UIProcess/API/mac/WKView.mm:
860        (-[WKView characterIndexForPoint:]):
861        (-[WKView firstRectForCharacterRange:actualRange:]):
862        (-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]):
863        (-[WKView _setDragImage:at:linkDrag:]):
864        (-[WKView performDictionaryLookupAtCurrentMouseLocation]):
865        * UIProcess/mac/WKFullScreenWindowController.mm:
866        (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
867        (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
868        * UIProcess/mac/WebContextMenuProxyMac.mm:
869        (WebKit::WebContextMenuProxyMac::showContextMenu):
870        * UIProcess/mac/WebPopupMenuProxyMac.mm:
871        (WebKit::WebPopupMenuProxyMac::showPopupMenu):
872
8732013-10-03  Anders Carlsson  <andersca@apple.com>
874
875        Remove the last remnants of Qt from WebKit2
876        https://bugs.webkit.org/show_bug.cgi?id=122290
877
878        Reviewed by Andreas Kling.
879
880        * Platform/PlatformProcessIdentifier.h:
881        * Shared/API/c/WKSharedAPICast.h:
882        (WebKit::toAPI):
883        (WebKit::toImpl):
884        * Shared/Downloads/Download.cpp:
885        (WebKit::Download::Download):
886        * Shared/Downloads/Download.h:
887        * Shared/Downloads/DownloadManager.cpp:
888        * Shared/Downloads/DownloadManager.h:
889        * Shared/EditorState.cpp:
890        (WebKit::EditorState::encode):
891        (WebKit::EditorState::decode):
892        * Shared/EditorState.h:
893        (WebKit::EditorState::EditorState):
894        * Shared/LayerTreeContext.h:
895        * Shared/NativeWebKeyboardEvent.h:
896        * Shared/NativeWebMouseEvent.h:
897        * Shared/NativeWebWheelEvent.h:
898        * Shared/PlatformPopupMenuData.cpp:
899        (WebKit::PlatformPopupMenuData::encode):
900        (WebKit::PlatformPopupMenuData::decode):
901        * Shared/PlatformPopupMenuData.h:
902        * Shared/ShareableBitmap.h:
903        * Shared/WebPreferencesStore.h:
904        * UIProcess/Downloads/DownloadProxy.cpp:
905        * UIProcess/Downloads/DownloadProxy.h:
906        * UIProcess/PageClient.h:
907        * UIProcess/Plugins/PluginProcessProxy.cpp:
908        (WebKit::PluginProcessProxy::didFinishLaunching):
909        * UIProcess/WebContext.cpp:
910        (WebKit::WebContext::download):
911        * UIProcess/WebFullScreenManagerProxy.h:
912        * UIProcess/WebPageProxy.cpp:
913        (WebKit::WebPageProxy::performDragControllerAction):
914        (WebKit::WebPageProxy::receivedPolicyDecision):
915        (WebKit::WebPageProxy::editorStateChanged):
916        (WebKit::WebPageProxy::showPopupMenu):
917        * UIProcess/WebPageProxy.h:
918        * UIProcess/WebPageProxy.messages.in:
919        * UIProcess/WebPopupMenuProxy.h:
920        * WebProcess/InjectedBundle/InjectedBundle.h:
921        * WebProcess/WebCoreSupport/WebDragClient.cpp:
922        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
923        (WebKit::WebEditorClient::respondToChangedSelection):
924        (WebKit::WebEditorClient::willSetInputMethodState):
925        (WebKit::WebEditorClient::supportsGlobalSelection):
926        * WebProcess/WebCoreSupport/WebEditorClient.h:
927        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
928        (WebKit::WebFrameLoaderClient::shouldFallBack):
929        * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
930        (WebKit::WebPopupMenu::didChangeSelectedIndex):
931        * WebProcess/WebCoreSupport/WebPopupMenu.h:
932        * WebProcess/WebPage/WebPage.cpp:
933        (WebKit::WebPage::WebPage):
934        (WebKit::WebPage::editorState):
935        (WebKit::WebPage::performDragControllerAction):
936        * WebProcess/WebPage/WebPage.h:
937        * WebProcess/WebPage/WebPage.messages.in:
938        * WebProcess/WebProcess.cpp:
939        (WebKit::WebProcess::WebProcess):
940        * WebProcess/WebProcess.h:
941        * WebProcess/WebProcess.messages.in:
942        * config.h:
943
9442013-10-03  Anders Carlsson  <andersca@apple.com>
945
946        Remove Qt files from WebKit2.
947
948        Rubber-stomped by Andreas Kling.
949
950        * DerivedSources.pri: Removed.
951        * PluginProcess.pro: Removed.
952        * PluginProcess/qt/PluginControllerProxyQt.cpp: Removed.
953        * PluginProcess/qt/PluginProcessMainQt.cpp: Removed.
954        * PluginProcess/qt/PluginProcessQt.cpp: Removed.
955        * SandboxProcess.pro: Removed.
956        * Shared/API/c/qt/WKImageQt.cpp: Removed.
957        * Shared/API/c/qt/WKImageQt.h: Removed.
958        * Shared/Downloads/qt/DownloadQt.cpp: Removed.
959        * Shared/Downloads/qt/QtFileDownloader.cpp: Removed.
960        * Shared/Downloads/qt/QtFileDownloader.h: Removed.
961        * Shared/qt/ArgumentCodersQt.cpp: Removed.
962        * Shared/qt/ArgumentCodersQt.h: Removed.
963        * Shared/qt/LayerTreeContextQt.cpp: Removed.
964        * Shared/qt/NativeWebKeyboardEventQt.cpp: Removed.
965        * Shared/qt/NativeWebMouseEventQt.cpp: Removed.
966        * Shared/qt/NativeWebTouchEventQt.cpp: Removed.
967        * Shared/qt/NativeWebWheelEventQt.cpp: Removed.
968        * Shared/qt/PlatformCertificateInfo.h: Removed.
969        * Shared/qt/ProcessExecutablePathQt.cpp: Removed.
970        * Shared/qt/QtNetworkReplyData.cpp: Removed.
971        * Shared/qt/QtNetworkReplyData.h: Removed.
972        * Shared/qt/QtNetworkRequestData.cpp: Removed.
973        * Shared/qt/QtNetworkRequestData.h: Removed.
974        * Shared/qt/ShareableBitmapQt.cpp: Removed.
975        * Shared/qt/WebCoreArgumentCodersQt.cpp: Removed.
976        * Shared/qt/WebEventFactoryQt.cpp: Removed.
977        * Shared/qt/WebEventFactoryQt.h: Removed.
978        * Shared/qt/WebURLRequestQt.cpp: Removed.
979        * Shared/qt/WebURLResponseQt.cpp: Removed.
980        * Target.pri: Removed.
981        * UIProcess/API/C/qt/WKIconDatabaseQt.cpp: Removed.
982        * UIProcess/API/C/qt/WKIconDatabaseQt.h: Removed.
983        * UIProcess/API/C/qt/WKNativeEvent.h: Removed.
984        * UIProcess/API/cpp/qt/WKStringQt.cpp: Removed.
985        * UIProcess/API/cpp/qt/WKStringQt.h: Removed.
986        * UIProcess/API/cpp/qt/WKURLQt.cpp: Removed.
987        * UIProcess/API/cpp/qt/WKURLQt.h: Removed.
988        * UIProcess/API/qt/qquicknetworkreply.cpp: Removed.
989        * UIProcess/API/qt/qquicknetworkreply_p.h: Removed.
990        * UIProcess/API/qt/qquicknetworkrequest.cpp: Removed.
991        * UIProcess/API/qt/qquicknetworkrequest_p.h: Removed.
992        * UIProcess/API/qt/qquickurlschemedelegate.cpp: Removed.
993        * UIProcess/API/qt/qquickurlschemedelegate_p.h: Removed.
994        * UIProcess/API/qt/qquickwebpage.cpp: Removed.
995        * UIProcess/API/qt/qquickwebpage_p.h: Removed.
996        * UIProcess/API/qt/qquickwebpage_p_p.h: Removed.
997        * UIProcess/API/qt/qquickwebview.cpp: Removed.
998        * UIProcess/API/qt/qquickwebview_p.h: Removed.
999        * UIProcess/API/qt/qquickwebview_p_p.h: Removed.
1000        * UIProcess/API/qt/qtwebsecurityorigin.cpp: Removed.
1001        * UIProcess/API/qt/qtwebsecurityorigin_p.h: Removed.
1002        * UIProcess/API/qt/qwebdownloaditem.cpp: Removed.
1003        * UIProcess/API/qt/qwebdownloaditem_p.h: Removed.
1004        * UIProcess/API/qt/qwebdownloaditem_p_p.h: Removed.
1005        * UIProcess/API/qt/qwebiconimageprovider.cpp: Removed.
1006        * UIProcess/API/qt/qwebiconimageprovider_p.h: Removed.
1007        * UIProcess/API/qt/qwebkittest.cpp: Removed.
1008        * UIProcess/API/qt/qwebkittest_p.h: Removed.
1009        * UIProcess/API/qt/qwebloadrequest.cpp: Removed.
1010        * UIProcess/API/qt/qwebloadrequest_p.h: Removed.
1011        * UIProcess/API/qt/qwebnavigationhistory.cpp: Removed.
1012        * UIProcess/API/qt/qwebnavigationhistory_p.h: Removed.
1013        * UIProcess/API/qt/qwebnavigationhistory_p_p.h: Removed.
1014        * UIProcess/API/qt/qwebnavigationrequest.cpp: Removed.
1015        * UIProcess/API/qt/qwebnavigationrequest_p.h: Removed.
1016        * UIProcess/API/qt/qwebpermissionrequest.cpp: Removed.
1017        * UIProcess/API/qt/qwebpermissionrequest_p.h: Removed.
1018        * UIProcess/API/qt/qwebpreferences.cpp: Removed.
1019        * UIProcess/API/qt/qwebpreferences_p.h: Removed.
1020        * UIProcess/API/qt/qwebpreferences_p_p.h: Removed.
1021        * UIProcess/API/qt/raw/qrawwebview.cpp: Removed.
1022        * UIProcess/API/qt/raw/qrawwebview_p.h: Removed.
1023        * UIProcess/API/qt/raw/qrawwebview_p_p.h: Removed.
1024        * UIProcess/API/qt/tests/bytearraytestdata.cpp: Removed.
1025        * UIProcess/API/qt/tests/bytearraytestdata.h: Removed.
1026        * UIProcess/API/qt/tests/html/basic_page.html: Removed.
1027        * UIProcess/API/qt/tests/html/basic_page2.html: Removed.
1028        * UIProcess/API/qt/tests/html/bluesquare.html: Removed.
1029        * UIProcess/API/qt/tests/html/direct-image-compositing.html: Removed.
1030        * UIProcess/API/qt/tests/html/inputmethod.html: Removed.
1031        * UIProcess/API/qt/tests/html/redsquare.html: Removed.
1032        * UIProcess/API/qt/tests/html/resources/qwkview_noBackground1.png: Removed.
1033        * UIProcess/API/qt/tests/html/resources/qwkview_noBackground3.png: Removed.
1034        * UIProcess/API/qt/tests/html/resources/qwkview_paint.png: Removed.
1035        * UIProcess/API/qt/tests/html/resources/simple_image.png: Removed.
1036        * UIProcess/API/qt/tests/html/scroll.html: Removed.
1037        * UIProcess/API/qt/tests/inspectorserver/inspectorserver.pro: Removed.
1038        * UIProcess/API/qt/tests/inspectorserver/tst_inspectorserver.cpp: Removed.
1039        * UIProcess/API/qt/tests/publicapi/publicapi.pro: Removed.
1040        * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: Removed.
1041        * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro: Removed.
1042        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml: Removed.
1043        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml: Removed.
1044        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml: Removed.
1045        * UIProcess/API/qt/tests/qmltests/WebView.pro: Removed.
1046        * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml: Removed.
1047        * UIProcess/API/qt/tests/qmltests/WebView/tst_colorChooser.qml: Removed.
1048        * UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml: Removed.
1049        * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml: Removed.
1050        * UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml: Removed.
1051        * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml: Removed.
1052        * UIProcess/API/qt/tests/qmltests/WebView/tst_findText.qml: Removed.
1053        * UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml: Removed.
1054        * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml: Removed.
1055        * UIProcess/API/qt/tests/qmltests/WebView/tst_itemSelector.qml: Removed.
1056        * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml: Removed.
1057        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml: Removed.
1058        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadHtml.qml: Removed.
1059        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml: Removed.
1060        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml: Removed.
1061        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml: Removed.
1062        * UIProcess/API/qt/tests/qmltests/WebView/tst_messaging.qml: Removed.
1063        * UIProcess/API/qt/tests/qmltests/WebView/tst_multiFileUpload.qml: Removed.
1064        * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml: Removed.
1065        * UIProcess/API/qt/tests/qmltests/WebView/tst_notification.qml: Removed.
1066        * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml: Removed.
1067        * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml: Removed.
1068        * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml: Removed.
1069        * UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml: Removed.
1070        * UIProcess/API/qt/tests/qmltests/WebView/tst_singleFileUpload.qml: Removed.
1071        * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml: Removed.
1072        * UIProcess/API/qt/tests/qmltests/WebView/tst_userScripts.qml: Removed.
1073        * UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml: Removed.
1074        * UIProcess/API/qt/tests/qmltests/common/TestWebView.qml: Removed.
1075        * UIProcess/API/qt/tests/qmltests/common/alert.html: Removed.
1076        * UIProcess/API/qt/tests/qmltests/common/append-document-title.js: Removed.
1077        * UIProcess/API/qt/tests/qmltests/common/big-user-script.js: Removed.
1078        * UIProcess/API/qt/tests/qmltests/common/change-document-title.js: Removed.
1079        * UIProcess/API/qt/tests/qmltests/common/colorChooser.html: Removed.
1080        * UIProcess/API/qt/tests/qmltests/common/confirm.html: Removed.
1081        * UIProcess/API/qt/tests/qmltests/common/download.zip: Removed.
1082        * UIProcess/API/qt/tests/qmltests/common/evaluatejavascript.html: Removed.
1083        * UIProcess/API/qt/tests/qmltests/common/favicon.html: Removed.
1084        * UIProcess/API/qt/tests/qmltests/common/favicon.png: Removed.
1085        * UIProcess/API/qt/tests/qmltests/common/favicon2.html: Removed.
1086        * UIProcess/API/qt/tests/qmltests/common/font-preferences.html: Removed.
1087        * UIProcess/API/qt/tests/qmltests/common/geolocation.html: Removed.
1088        * UIProcess/API/qt/tests/qmltests/common/javascript.html: Removed.
1089        * UIProcess/API/qt/tests/qmltests/common/link.html: Removed.
1090        * UIProcess/API/qt/tests/qmltests/common/localStorage.html: Removed.
1091        * UIProcess/API/qt/tests/qmltests/common/messaging.html: Removed.
1092        * UIProcess/API/qt/tests/qmltests/common/multifileupload.html: Removed.
1093        * UIProcess/API/qt/tests/qmltests/common/notification.html: Removed.
1094        * UIProcess/API/qt/tests/qmltests/common/prompt.html: Removed.
1095        * UIProcess/API/qt/tests/qmltests/common/qrctest.html: Removed.
1096        * UIProcess/API/qt/tests/qmltests/common/redirect.html: Removed.
1097        * UIProcess/API/qt/tests/qmltests/common/select.html: Removed.
1098        * UIProcess/API/qt/tests/qmltests/common/selectwithsize.html: Removed.
1099        * UIProcess/API/qt/tests/qmltests/common/singlefileupload.html: Removed.
1100        * UIProcess/API/qt/tests/qmltests/common/small-favicon.png: Removed.
1101        * UIProcess/API/qt/tests/qmltests/common/test1.html: Removed.
1102        * UIProcess/API/qt/tests/qmltests/common/test2.html: Removed.
1103        * UIProcess/API/qt/tests/qmltests/common/test3.html: Removed.
1104        * UIProcess/API/qt/tests/qmltests/common/test4.html: Removed.
1105        * UIProcess/API/qt/tests/qmltests/common/test5.html: Removed.
1106        * UIProcess/API/qt/tests/qmltests/common/titleupdate.js: Removed.
1107        * UIProcess/API/qt/tests/qmltests/qmltests.pro: Removed.
1108        * UIProcess/API/qt/tests/qmltests/resources.qrc: Removed.
1109        * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: Removed.
1110        * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro: Removed.
1111        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: Removed.
1112        * UIProcess/API/qt/tests/qrawwebview/qrawwebview.pro: Removed.
1113        * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp: Removed.
1114        * UIProcess/API/qt/tests/tests.pri: Removed.
1115        * UIProcess/API/qt/tests/testwindow.h: Removed.
1116        * UIProcess/API/qt/tests/util.cpp: Removed.
1117        * UIProcess/API/qt/tests/util.h: Removed.
1118        * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp: Removed.
1119        * UIProcess/InspectorServer/qt/WebSocketServerQt.cpp: Removed.
1120        * UIProcess/InspectorServer/qt/WebSocketServerQt.h: Removed.
1121        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Removed.
1122        * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp: Removed.
1123        * UIProcess/qt/BackingStoreQt.cpp: Removed.
1124        * UIProcess/qt/PageViewportControllerClientQt.cpp: Removed.
1125        * UIProcess/qt/PageViewportControllerClientQt.h: Removed.
1126        * UIProcess/qt/QtDialogRunner.cpp: Removed.
1127        * UIProcess/qt/QtDialogRunner.h: Removed.
1128        * UIProcess/qt/QtDownloadManager.cpp: Removed.
1129        * UIProcess/qt/QtDownloadManager.h: Removed.
1130        * UIProcess/qt/QtGestureRecognizer.cpp: Removed.
1131        * UIProcess/qt/QtGestureRecognizer.h: Removed.
1132        * UIProcess/qt/QtPageClient.cpp: Removed.
1133        * UIProcess/qt/QtPageClient.h: Removed.
1134        * UIProcess/qt/QtPanGestureRecognizer.cpp: Removed.
1135        * UIProcess/qt/QtPanGestureRecognizer.h: Removed.
1136        * UIProcess/qt/QtPinchGestureRecognizer.cpp: Removed.
1137        * UIProcess/qt/QtPinchGestureRecognizer.h: Removed.
1138        * UIProcess/qt/QtTapGestureRecognizer.cpp: Removed.
1139        * UIProcess/qt/QtTapGestureRecognizer.h: Removed.
1140        * UIProcess/qt/QtWebContext.cpp: Removed.
1141        * UIProcess/qt/QtWebContext.h: Removed.
1142        * UIProcess/qt/QtWebError.cpp: Removed.
1143        * UIProcess/qt/QtWebError.h: Removed.
1144        * UIProcess/qt/QtWebIconDatabaseClient.cpp: Removed.
1145        * UIProcess/qt/QtWebIconDatabaseClient.h: Removed.
1146        * UIProcess/qt/QtWebPageEventHandler.cpp: Removed.
1147        * UIProcess/qt/QtWebPageEventHandler.h: Removed.
1148        * UIProcess/qt/QtWebPagePolicyClient.cpp: Removed.
1149        * UIProcess/qt/QtWebPagePolicyClient.h: Removed.
1150        * UIProcess/qt/QtWebPageSGNode.cpp: Removed.
1151        * UIProcess/qt/QtWebPageSGNode.h: Removed.
1152        * UIProcess/qt/QtWebPageUIClient.cpp: Removed.
1153        * UIProcess/qt/QtWebPageUIClient.h: Removed.
1154        * UIProcess/qt/TextCheckerQt.cpp: Removed.
1155        * UIProcess/qt/WebColorPickerQt.cpp: Removed.
1156        * UIProcess/qt/WebColorPickerQt.h: Removed.
1157        * UIProcess/qt/WebContextMenuProxyQt.cpp: Removed.
1158        * UIProcess/qt/WebContextMenuProxyQt.h: Removed.
1159        * UIProcess/qt/WebContextQt.cpp: Removed.
1160        * UIProcess/qt/WebFullScreenManagerProxyQt.cpp: Removed.
1161        * UIProcess/qt/WebGeolocationProviderQt.cpp: Removed.
1162        * UIProcess/qt/WebGeolocationProviderQt.h: Removed.
1163        * UIProcess/qt/WebInspectorProxyQt.cpp: Removed.
1164        * UIProcess/qt/WebPageProxyQt.cpp: Removed.
1165        * UIProcess/qt/WebPopupMenuProxyQt.cpp: Removed.
1166        * UIProcess/qt/WebPopupMenuProxyQt.h: Removed.
1167        * UIProcess/qt/WebPreferencesQt.cpp: Removed.
1168        * UIProcess/qt/WebProcessProxyQt.cpp: Removed.
1169        * WebKit2.pri: Removed.
1170        * WebKit2.pro: Removed.
1171        * WebProcess.pro: Removed.
1172        * WebProcess/Cookies/qt/WebCookieManagerQt.cpp: Removed.
1173        * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp: Removed.
1174        * WebProcess/Plugins/Netscape/qt/PluginProxyQt.cpp: Removed.
1175        * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp: Removed.
1176        * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp: Removed.
1177        * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: Removed.
1178        * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp: Removed.
1179        * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h: Removed.
1180        * WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp: Removed.
1181        * WebProcess/WebPage/qt/WebInspectorQt.cpp: Removed.
1182        * WebProcess/WebPage/qt/WebPageQt.cpp: Removed.
1183        * WebProcess/qt/QtBuiltinBundle.cpp: Removed.
1184        * WebProcess/qt/QtBuiltinBundle.h: Removed.
1185        * WebProcess/qt/QtBuiltinBundlePage.cpp: Removed.
1186        * WebProcess/qt/QtBuiltinBundlePage.h: Removed.
1187        * WebProcess/qt/QtNetworkAccessManager.cpp: Removed.
1188        * WebProcess/qt/QtNetworkAccessManager.h: Removed.
1189        * WebProcess/qt/QtNetworkReply.cpp: Removed.
1190        * WebProcess/qt/QtNetworkReply.h: Removed.
1191        * WebProcess/qt/SeccompFiltersWebProcessQt.cpp: Removed.
1192        * WebProcess/qt/SeccompFiltersWebProcessQt.h: Removed.
1193        * WebProcess/qt/WebProcessMainQt.cpp: Removed.
1194        * WebProcess/qt/WebProcessQt.cpp: Removed.
1195        * qt/MainQt.cpp: Removed.
1196        * qt/PluginMainQt.cpp: Removed.
1197
11982013-10-03  Brady Eidson  <beidson@apple.com>
1199
1200        Move IDBFactoryBackend creation to DatabaseStrategy.
1201        https://bugs.webkit.org/show_bug.cgi?id=122284
1202
1203        Reviewed by Alexey Proskuryakov.
1204
1205        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1206        (WebKit::WebPlatformStrategies::createIDBFactoryBackend): Fallback to the default for now.
1207        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
1208
12092013-10-03  Zan Dobersek  <zdobersek@igalia.com>
1210
1211        Unreviewed fix of DrawingArea creation on non-Mac platforms after r156793.
1212        std::make_unique<DrawingAreaImpl>() should be used, as before that revision.
1213
1214        * WebProcess/WebPage/DrawingArea.cpp:
1215        (WebKit::DrawingArea::create):
1216
12172013-10-02  Anders Carlsson  <andersca@apple.com>
1218
1219        Remove Qt code from Platform/
1220        https://bugs.webkit.org/show_bug.cgi?id=122240
1221
1222        Reviewed by Andreas Kling.
1223
1224        * Platform/CoreIPC/Connection.h:
1225        * Platform/Logging.cpp:
1226        * Platform/Logging.h:
1227        * Platform/Module.h:
1228        * Platform/PlatformProcessIdentifier.h:
1229        * Platform/SharedMemory.h:
1230        * Platform/WorkQueue.h:
1231        * Platform/qt/LoggingQt.cpp: Removed.
1232        * Platform/qt/ModuleQt.cpp: Removed.
1233        * Platform/qt/WorkQueueQt.cpp: Removed.
1234
12352013-10-02  Tim Horton  <timothy_horton@apple.com>
1236
1237        [mac] Stop using DrawingAreaImpl on PLATFORM(MAC) 
1238        https://bugs.webkit.org/show_bug.cgi?id=121859
1239        <rdar://problem/15069359>
1240
1241        Reviewed by Anders Carlsson.
1242
1243        The Mac port will now use tiled drawing for all WebKit2 views.
1244
1245        * Shared/DrawingAreaInfo.h:
1246        Don't include DrawingAreaTypeImpl as a valid DrawingAreaType on Mac.
1247
1248        * UIProcess/API/mac/WKView.mm:
1249        (-[WKView drawRect:]):
1250        Remove our implementation of drawRect that paints from DrawingAreaImpl's backing store.
1251
1252        (-[WKView _shouldUseTiledDrawingArea]):
1253        Removed. Always treated as if it were true, now.
1254
1255        (-[WKView _createDrawingAreaProxy]):
1256        Always create a TiledCoreAnimationDrawingAreaProxy now.
1257
1258        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
1259        (-[WKView wantsUpdateLayer]):
1260        WKView always wants a layer, etc.
1261
1262        * UIProcess/BackingStore.h:
1263        Remove Mac-specific BackingStore code, only used for DrawingAreaImpl on Mac.
1264
1265        * UIProcess/DrawingAreaProxy.h:
1266        Remove an unneeded include.
1267
1268        * UIProcess/mac/BackingStoreMac.mm: Removed.
1269        * WebKit2.xcodeproj/project.pbxproj:
1270        Remove a bunch of files we don't need to build anymore.
1271
1272        * WebProcess/WebPage/DrawingArea.cpp:
1273        (WebKit::DrawingArea::create):
1274        Never create a DrawingAreaImpl on Mac.
1275
1276        * WebProcess/WebPage/DrawingAreaImpl.cpp:
1277        (WebKit::DrawingAreaImpl::updatePreferences):
1278        (WebKit::DrawingAreaImpl::resumePainting):
1279        * WebProcess/WebPage/DrawingAreaImpl.h:
1280        Remove Mac-specific DrawingAreaImpl code.
1281
1282        * WebProcess/WebPage/LayerTreeHost.cpp:
1283        (WebKit::LayerTreeHost::create):
1284        * WebProcess/WebPage/mac/LayerTreeHostMac.h: Removed.
1285        * WebProcess/WebPage/mac/LayerTreeHostMac.mm: Removed.
1286
12872013-10-02  Daniel Bates  <dabates@apple.com>
1288
1289        Fix the Mac WebKit2 build following <http://trac.webkit.org/changeset/139241>
1290        (https://bugs.webkit.org/show_bug.cgi?id=104197)
1291
1292        WebContextMac.mm fails to compile when building with network process disabled.
1293
1294        The constants WebKit2HTTPProxyDefaultsKey and WebKit2HTTPSProxyDefaultsKey,
1295        defined in WebContextMac.mm, should only be defined when building with the
1296        network process enabled as these constants are only referenced from
1297        ENABLE(NETWORK_PROCESS)-guard code.
1298
1299        * UIProcess/mac/WebContextMac.mm:
1300
13012013-10-01  Sam Weinig  <sam@webkit.org>
1302
1303        CTTE: DOMWrapperWorlds should be passed around by reference
1304        https://bugs.webkit.org/show_bug.cgi?id=122206
1305
1306        Reviewed by Andreas Kling.
1307
1308        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
1309        (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
1310        (WebKit::InjectedBundlePageLoaderClient::globalObjectIsAvailableForFrame):
1311        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
1312        * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
1313        (WebKit::InjectedBundleScriptWorld::getOrCreate):
1314        (WebKit::InjectedBundleScriptWorld::normalWorld):
1315        (WebKit::InjectedBundleScriptWorld::coreWorld):
1316        * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
1317        * WebProcess/Plugins/PluginView.cpp:
1318        (WebKit::PluginView::windowScriptNPObject):
1319        (WebKit::PluginView::pluginElementNPObject):
1320        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1321        (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
1322        (WebKit::WebFrameLoaderClient::dispatchGlobalObjectAvailable):
1323        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
1324
13252013-10-01  Mark Rowe  <mrowe@apple.com>
1326
1327        <http://webkit.org/b/122190> WebKit2 APIs returning CF and NS types should explicitly declare whether they return retained objects.
1328
1329        This make the APIs easier to use under ARC and can help out the static analyzer.
1330
1331        Reviewed by Anders Carlsson.
1332
1333        * Shared/API/c/cf/WKErrorCF.h:
1334        * Shared/API/c/cf/WKStringCF.h:
1335        * Shared/API/c/cf/WKURLCF.h:
1336        * Shared/API/c/cg/WKImageCG.h:
1337        * Shared/API/c/mac/WKURLRequestNS.h:
1338        * Shared/API/c/mac/WKURLResponseNS.h:
1339        * UIProcess/API/C/cg/WKIconDatabaseCG.h:
1340
13412013-10-01  Gabor Abraham  <abrhm@inf.u-szeged.hu>
1342
1343        [Qt][WK2] Fix build after r156688.
1344        https://bugs.webkit.org/show_bug.cgi?id=122153
1345
1346        Reviewed by Allan Sandfeld Jensen.
1347
1348        * Shared/qt/ShareableBitmapQt.cpp:
1349        (WebKit::ShareableBitmap::createGraphicsContext):
1350        * UIProcess/API/qt/qquickwebview.cpp:
1351        (QQuickWebViewPrivate::createDrawingAreaProxy):
1352        * UIProcess/API/qt/qquickwebview_p_p.h:
1353        * UIProcess/API/qt/raw/qrawwebview.cpp:
1354        (QRawWebViewPrivate::createDrawingAreaProxy):
1355        * UIProcess/API/qt/raw/qrawwebview_p_p.h:
1356        * UIProcess/qt/QtPageClient.cpp:
1357        (WebKit::QtPageClient::createDrawingAreaProxy):
1358        * UIProcess/qt/QtPageClient.h:
1359        * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp:
1360        (WebKit::convertQPixmapToShareableBitmap):
1361
13622013-09-30  Ryuan Choi  <ryuan.choi@samsung.com>
1363
1364        Build fix for EFL, Qt, Gtk port after r156688
1365        https://bugs.webkit.org/show_bug.cgi?id=122139
1366
1367        Reviewed by Anders Carlsson.
1368
1369        Get rid of more uses of OwnPtr and PassOwnPtr.
1370
1371        * Shared/API/c/cairo/WKImageCairo.cpp:
1372        (WKImageCreateFromCairoSurface):
1373        * Shared/API/c/qt/WKImageQt.cpp:
1374        (WKImageCreateFromQImage):
1375        * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
1376        (WebKit::WebCoordinatedSurface::createGraphicsContext):
1377        (WebKit::WebCoordinatedSurface::paintToSurface):
1378        * Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
1379        * Shared/cairo/ShareableBitmapCairo.cpp:
1380        (WebKit::ShareableBitmap::createGraphicsContext):
1381        * Shared/gtk/ArgumentCodersGtk.cpp:
1382        (CoreIPC::encodeImage):
1383        * UIProcess/API/gtk/PageClientImpl.cpp:
1384        (WebKit::PageClientImpl::createDrawingAreaProxy):
1385        * UIProcess/API/gtk/PageClientImpl.h:
1386        * UIProcess/CoordinatedGraphics/WebView.cpp:
1387        (WebKit::WebView::createDrawingAreaProxy):
1388        * UIProcess/CoordinatedGraphics/WebView.h:
1389        * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
1390        (WebKit::convertCairoSurfaceToShareableBitmap):
1391
13922013-09-30  Sam Weinig  <sam@webkit.org>
1393
1394        Remove support for DOMFileSystem
1395        https://bugs.webkit.org/show_bug.cgi?id=122137
1396
1397        Reviewed by Anders Carlsson.
1398
1399        * Configurations/FeatureDefines.xcconfig:
1400
14012013-09-30  Anders Carlsson  <andersca@apple.com>
1402
1403        Fix build.
1404
1405        * NetworkProcess/mac/RemoteNetworkingContext.mm:
1406
14072013-09-30  Anders Carlsson  <andersca@apple.com>
1408
1409        Get rid of more uses of OwnPtr and PassOwnPtr
1410        https://bugs.webkit.org/show_bug.cgi?id=122136
1411
1412        Reviewed by Antti Koivisto.
1413
1414        * NetworkProcess/AsynchronousNetworkLoaderClient.h:
1415        * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
1416        (WebKit::NetworkBlobRegistry::registerBlobURL):
1417        * NetworkProcess/FileAPI/NetworkBlobRegistry.h:
1418        * NetworkProcess/NetworkResourceLoader.cpp:
1419        (WebKit::NetworkResourceLoader::NetworkResourceLoader):
1420        * NetworkProcess/NetworkResourceLoader.h:
1421        * NetworkProcess/SynchronousNetworkLoaderClient.h:
1422        * NetworkProcess/mac/RemoteNetworkingContext.mm:
1423        * Platform/CoreIPC/ArgumentDecoder.h:
1424        * Platform/CoreIPC/ArgumentEncoder.h:
1425        * Platform/CoreIPC/MessageDecoder.cpp:
1426        (CoreIPC::MessageDecoder::setImportanceAssertion):
1427        * Platform/CoreIPC/MessageDecoder.h:
1428        * Platform/CoreIPC/mac/ConnectionMac.cpp:
1429        (CoreIPC::Connection::receiveSourceEventHandler):
1430        * Platform/CoreIPC/mac/ImportanceAssertion.h:
1431        (CoreIPC::ImportanceAssertion::ImportanceAssertion):
1432        * Platform/mac/LayerHostingContext.h:
1433        * Platform/mac/LayerHostingContext.mm:
1434        (WebKit::LayerHostingContext::createForPort):
1435        (WebKit::LayerHostingContext::createForWindowServer):
1436        * PluginProcess/PluginControllerProxy.cpp:
1437        (WebKit::PluginControllerProxy::paint):
1438        * PluginProcess/PluginControllerProxy.h:
1439        * PluginProcess/WebProcessConnection.cpp:
1440        (WebKit::WebProcessConnection::addPluginControllerProxy):
1441        (WebKit::WebProcessConnection::removePluginControllerProxy):
1442        (WebKit::WebProcessConnection::createPluginInternal):
1443        * PluginProcess/WebProcessConnection.h:
1444        * Shared/API/c/cg/WKImageCG.cpp:
1445        (WKImageCreateFromCGImage):
1446        * Shared/BlockingResponseMap.h:
1447        (BlockingResponseMap::waitForResponse):
1448        (BlockingResponseMap::didReceiveResponse):
1449        * Shared/Downloads/Download.cpp:
1450        * Shared/Downloads/Download.h:
1451        * Shared/Downloads/DownloadManager.cpp:
1452        (WebKit::DownloadManager::startDownload):
1453        (WebKit::DownloadManager::convertHandleToDownload):
1454        * Shared/FileAPI/BlobRegistrationData.cpp:
1455        (WebKit::BlobRegistrationData::BlobRegistrationData):
1456        (WebKit::BlobRegistrationData::releaseData):
1457        (WebKit::BlobRegistrationData::decode):
1458        * Shared/FileAPI/BlobRegistrationData.h:
1459        * Shared/Plugins/NPObjectMessageReceiver.cpp:
1460        * Shared/Plugins/NPObjectMessageReceiver.h:
1461        * Shared/Plugins/NPRemoteObjectMap.cpp:
1462        (WebKit::NPRemoteObjectMap::registerNPObject):
1463        * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
1464        (WebKit::NetscapePluginModule::tryLoad):
1465        * Shared/Plugins/Netscape/NetscapePluginModule.h:
1466        * Shared/ShareableBitmap.h:
1467        * Shared/WebURL.h:
1468        (WebKit::WebURL::create):
1469        (WebKit::WebURL::WebURL):
1470        (WebKit::WebURL::parseURLIfNecessary):
1471        * Shared/cg/ShareableBitmapCG.cpp:
1472        (WebKit::ShareableBitmap::createGraphicsContext):
1473        (WebKit::ShareableBitmap::makeCGImageCopy):
1474        * Shared/mac/SecItemShim.cpp:
1475        (WebKit::sendSecItemRequest):
1476        (WebKit::webSecItemCopyMatching):
1477        (WebKit::webSecItemAdd):
1478        (WebKit::webSecItemUpdate):
1479        (WebKit::webSecItemDelete):
1480        (WebKit::SecItemShim::secItemResponse):
1481        * UIProcess/API/mac/FindIndicatorWindow.h:
1482        * UIProcess/API/mac/PageClientImpl.h:
1483        * UIProcess/API/mac/PageClientImpl.mm:
1484        (WebKit::PageClientImpl::createDrawingAreaProxy):
1485        * UIProcess/API/mac/WKView.mm:
1486        (-[WKView std::WebKit::]):
1487        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
1488        * UIProcess/API/mac/WKViewInternal.h:
1489        * UIProcess/BackingStore.cpp:
1490        * UIProcess/BackingStore.h:
1491        * UIProcess/DrawingAreaProxyImpl.cpp:
1492        (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
1493        * UIProcess/DrawingAreaProxyImpl.h:
1494        * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
1495        * UIProcess/PageClient.h:
1496        * UIProcess/WebPageProxy.h:
1497        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
1498        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
1499        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
1500        * WebProcess/FileAPI/BlobRegistryProxy.cpp:
1501        (WebKit::BlobRegistryProxy::registerBlobURL):
1502        * WebProcess/FileAPI/BlobRegistryProxy.h:
1503        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
1504        * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
1505        (WKBundlePageBannerCreateBannerWithCALayer):
1506        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1507        (WebKit::imageForRect):
1508        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1509        (WebKit::NetscapePlugin::scheduleTimer):
1510        (WebKit::NetscapePlugin::unscheduleTimer):
1511        (WebKit::NetscapePlugin::snapshot):
1512        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1513        * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
1514        * WebProcess/Plugins/PDF/PDFPlugin.mm:
1515        (WebKit::PDFPlugin::snapshot):
1516        * WebProcess/Plugins/PluginProxy.cpp:
1517        (WebKit::PluginProxy::paint):
1518        (WebKit::PluginProxy::update):
1519        * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
1520        (WebKit::convertImageToBitmap):
1521        * WebProcess/WebPage/DrawingArea.cpp:
1522        (WebKit::DrawingArea::create):
1523        * WebProcess/WebPage/DrawingArea.h:
1524        * WebProcess/WebPage/DrawingAreaImpl.cpp:
1525        (WebKit::DrawingAreaImpl::display):
1526        * WebProcess/WebPage/DrawingAreaImpl.h:
1527        * WebProcess/WebPage/FindController.cpp:
1528        (WebKit::FindController::getFindIndicatorBitmapAndRect):
1529        * WebProcess/WebPage/WebFrame.cpp:
1530        (WebKit::WebFrame::createWithCoreMainFrame):
1531        (WebKit::WebFrame::createSubframe):
1532        (WebKit::WebFrame::create):
1533        (WebKit::WebFrame::WebFrame):
1534        * WebProcess/WebPage/WebFrame.h:
1535        * WebProcess/WebPage/WebPage.cpp:
1536        (WebKit::WebPage::scaledSnapshotWithOptions):
1537        (WebKit::WebPage::drawRectToImage):
1538        * WebProcess/WebPage/WebPage.h:
1539        * WebProcess/WebPage/mac/LayerTreeHostMac.h:
1540        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
1541        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
1542        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
1543        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1544        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
1545        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1546        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1547
15482013-09-27  Anders Carlsson  <andersca@apple.com>
1549
1550        Message sending functions should only accept rvalues
1551        https://bugs.webkit.org/show_bug.cgi?id=122041
1552
1553        Reviewed by Andreas Kling.
1554
1555        In order to safely encode move-only types, make all send variants accept rvalues only, except
1556        for the "send to all processes" ones. For them, copy the message before sending. This ensures that trying
1557        to send a move-only type in a message will fail to compile.
1558
1559        * NetworkProcess/NetworkResourceLoader.h:
1560        (WebKit::NetworkResourceLoader::sendAbortingOnFailure):
1561        * Platform/CoreIPC/Connection.h:
1562        (CoreIPC::Connection::send):
1563        (CoreIPC::Connection::sendSync):
1564        * Platform/CoreIPC/MessageSender.h:
1565        (CoreIPC::MessageSender::sendSync):
1566        * Shared/ChildProcessProxy.h:
1567        (WebKit::ChildProcessProxy::send):
1568        (WebKit::ChildProcessProxy::sendSync):
1569        * UIProcess/WebContext.h:
1570        (WebKit::WebContext::sendToNetworkingProcess):
1571        (WebKit::WebContext::sendToNetworkingProcessRelaunchingIfNecessary):
1572        (WebKit::WebContext::sendToAllProcesses):
1573        (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
1574        (WebKit::WebContext::sendToOneProcess):
1575        * UIProcess/WebPageGroup.h:
1576        (WebKit::WebPageGroup::sendToAllProcessesInGroup):
1577
15782013-09-30  Benjamin Poulain  <benjamin@webkit.org>
1579
1580        Remove the code guarded by STYLE_SCOPED
1581        https://bugs.webkit.org/show_bug.cgi?id=122123
1582
1583        Reviewed by Anders Carlsson.
1584
1585        * Configurations/FeatureDefines.xcconfig:
1586
15872013-09-30  Csaba Osztrogonác  <ossy@webkit.org>
1588
1589        NetworkResourceLoader.messages.in should be ENABLE(NETWORK_PROCESS) guarded
1590        https://bugs.webkit.org/show_bug.cgi?id=122110
1591
1592        Reviewed by Darin Adler.
1593
1594        * NetworkProcess/NetworkResourceLoader.messages.in:
1595
15962013-09-30  Mark Rowe  <mrowe@apple.com>
1597
1598        Fix the build when building against an SDK.
1599
1600        Xcode helpfully prepends $(SDKROOT) to the paths in FRAMEWORK_SEARCH_PATHS when generating
1601        the compiler command lines. It can't know to do this for the system framework search paths
1602        we add manually via OTHER_CFLAGS though, so we need to prefix them with $(SDKROOT) ourself.
1603
1604        * Configurations/BaseTarget.xcconfig:
1605
16062013-09-30  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1607
1608        [Qt] Fix force_static_libs_as_shared in WebKit2
1609        https://bugs.webkit.org/show_bug.cgi?id=121961
1610
1611        Reviewed by Csaba Osztrogonác.
1612
1613        Get rid of the unused WebKit2QML library
1614
1615        * Target.pri:
1616        * WebKit2.pro:
1617        * WebKit2QML.pri: Removed.
1618
16192013-09-29  Mark Rowe  <mrowe@apple.com>
1620
1621        Fix the Lion build.
1622
1623        Ensure that C++ and Objective-C++ files build with the right compiler flags.
1624
1625        * Configurations/BaseTarget.xcconfig:
1626
16272013-09-29  Sam Weinig  <sam@webkit.org>
1628
1629        Fix the build.
1630
1631        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1632        (WebKit::NPRuntimeObjectMap::evaluate):
1633
16342013-09-28  Mark Rowe  <mrowe@apple.com>
1635
1636        Fix some failures with newer versions of clang.
1637
1638        Some CoreGraphics headers generate warnings under newer versions of clang. Since they're system headers the warnings would
1639        usually be suppressed, but we're adding the frameworks to the non-system framework search path so they're no longer treated
1640        as system headers. We address this by removing the system paths from FRAMEWORK_SEARCH_PATHS and using the -iframework compiler
1641        flag in OTHER_CFLAGS to add the paths to the system framework search path. We have to set OTHER_CFLAGS at the target level
1642        in order for it to coexist with the ASAN-related OTHER_CFLAGS that's set in DebugRelease.xcconfig.
1643
1644        Reviewed by Dan Bernstein.
1645
1646        * Configurations/BaseTarget.xcconfig:
1647        * Configurations/DebugRelease.xcconfig:
1648
16492013-09-28  Mark Rowe  <mrowe@apple.com>
1650
1651        Take Xcode's advice and enable some extra warnings.
1652
1653        Reviewed by Sam Weinig.
1654
1655        * Configurations/Base.xcconfig:
1656        * WebKit2.xcodeproj/project.pbxproj:
1657
16582013-09-28  Darin Adler  <darin@apple.com>
1659
1660        Add Frame::mainFrame and Frame::isMainFrame
1661        https://bugs.webkit.org/show_bug.cgi?id=122064
1662
1663        Reviewed by Andreas Kling.
1664
1665        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1666        (WebKit::TiledCoreAnimationDrawingArea::shouldUseTiledBackingForFrameView):
1667        Call isMainFrame.
1668
16692013-09-27  Anders Carlsson  <andersca@apple.com>
1670
1671        Message sending functions should only accept rvalues
1672        https://bugs.webkit.org/show_bug.cgi?id=122041
1673
1674        Reviewed by Andreas Kling.
1675
1676        In order to safely encode move-only types, make all send variants accept rvalues only, except
1677        for the "send to all processes" ones. For them, copy the message before sending. This ensures that trying
1678        to send a move-only type in a message will fail to compile.
1679
1680        * NetworkProcess/NetworkResourceLoader.h:
1681        (WebKit::NetworkResourceLoader::sendAbortingOnFailure):
1682        * Platform/CoreIPC/Connection.h:
1683        (CoreIPC::Connection::send):
1684        (CoreIPC::Connection::sendSync):
1685        * Platform/CoreIPC/MessageSender.h:
1686        (CoreIPC::MessageSender::sendSync):
1687        * Shared/ChildProcessProxy.h:
1688        (WebKit::ChildProcessProxy::send):
1689        (WebKit::ChildProcessProxy::sendSync):
1690        * UIProcess/WebContext.h:
1691        (WebKit::WebContext::sendToNetworkingProcess):
1692        (WebKit::WebContext::sendToNetworkingProcessRelaunchingIfNecessary):
1693        (WebKit::WebContext::sendToAllProcesses):
1694        (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
1695        (WebKit::WebContext::sendToOneProcess):
1696        * UIProcess/WebPageGroup.h:
1697        (WebKit::WebPageGroup::sendToAllProcessesInGroup):
1698
16992013-09-28  Philippe Normand  <pnormand@igalia.com>
1700
1701        Unreviewed GTK build fix after r156560.
1702
1703        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
1704        (WebKit::LayerTreeHostGtk::paintContents):
1705        (WebKit::LayerTreeHostGtk::createPageOverlayLayer):
1706        (WebKit::LayerTreeHostGtk::destroyPageOverlayLayer):
1707        * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
1708
17092013-09-28  Mark Rowe  <mrowe@apple.com>
1710
1711        WebKit2 fails to build with newer versions of clang.
1712
1713        Reviewed by Anders Carlsson.
1714
1715        * Shared/VisitedLinkTable.cpp: #if a function that's only used inside an ASSERT.
1716        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: Remove an unused constant.
1717        * UIProcess/mac/WKFullScreenWindowController.mm: Ditto.
1718        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: Ditto.
1719        * WebProcess/WebPage/FindController.cpp: Ditto.
1720        * WebProcess/WebPage/WebBackForwardListProxy.cpp: Remove two unused constants.
1721
17222013-09-27  Csaba Osztrogonác  <ossy@webkit.org>
1723
1724        CookieStorageShim should be PLATFORM(MAC) guarded
1725        https://bugs.webkit.org/show_bug.cgi?id=121423
1726
1727        Reviewed by Darin Adler.
1728
1729        Original patch by Kwang Yul Seo <skyul@company100.com>.
1730
1731        * WebProcess/WebProcess.cpp:
1732        (WebKit::WebProcess::initializeWebProcess):
1733
17342013-09-27  Enrica Casucci  <enrica@apple.com>
1735
1736        Upstream changes to Pasteboard implementation for iOS.
1737        https://bugs.webkit.org/show_bug.cgi?id=121818
1738
1739        Reviewed by Benjamin Poulain.
1740
1741        * Shared/WebCoreArgumentCoders.cpp:
1742        (CoreIPC::decodeSharedBuffer):
1743        * Shared/WebCoreArgumentCoders.h:
1744        * UIProcess/WebContext.h:
1745        * UIProcess/WebContext.messages.in:
1746        * UIProcess/mac/WebContextMac.mm:
1747        (WebKit::WebContext::writeWebContentToPasteboard):
1748        (WebKit::WebContext::writeImageToPasteboard):
1749        (WebKit::WebContext::writeStringToPasteboard):
1750        (WebKit::WebContext::readStringFromPasteboard):
1751        (WebKit::WebContext::readURLFromPasteboard):
1752        (WebKit::WebContext::readBufferFromPasteboard):
1753        (WebKit::WebContext::getPasteboardItemsCount):
1754        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1755        (WebKit::WebPlatformStrategies::writeToPasteboard):
1756        (WebKit::WebPlatformStrategies::getPasteboardItemsCount):
1757        (WebKit::WebPlatformStrategies::readBufferFromPasteboard):
1758        (WebKit::WebPlatformStrategies::readURLFromPasteboard):
1759        (WebKit::WebPlatformStrategies::readStringFromPasteboard):
1760        (WebKit::WebPlatformStrategies::changeCount):
1761        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
1762
17632013-09-27  Ralph Thomas  <ralpht@gmail.com>
1764
1765        [WK2][CoordinatedGraphics] fix build after r156560
1766        https://bugs.webkit.org/show_bug.cgi?id=122028
1767
1768        Fixing build.
1769
1770        Reviewed by Anders Carlsson.
1771
1772        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1773        (WebKit::CoordinatedLayerTreeHost::paintLayerContents):
1774        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
1775
17762013-09-27  Anders Carlsson  <andersca@apple.com>
1777
1778        Use std::unique_ptr for GraphicsLayer creation
1779        https://bugs.webkit.org/show_bug.cgi?id=122020
1780
1781        Reviewed by Antti Koivisto.
1782
1783        * UIProcess/mac/RemoteLayerTreeHost.h:
1784        * UIProcess/mac/RemoteLayerTreeHost.mm:
1785        (WebKit::RemoteLayerTreeHost::getOrCreateLayer):
1786        * WebProcess/WebPage/mac/LayerTreeHostMac.h:
1787        * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
1788        (WebKit::LayerTreeHostMac::paintContents):
1789        (WebKit::LayerTreeHostMac::createPageOverlayLayer):
1790        (WebKit::LayerTreeHostMac::destroyPageOverlayLayer):
1791        * WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
1792        * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
1793        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
1794        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
1795        (WebKit::RemoteLayerTreeContext::createGraphicsLayer):
1796        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1797        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1798        (WebKit::TiledCoreAnimationDrawingArea::paintContents):
1799        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
1800        (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer):
1801
18022013-09-27  Beth Dakin  <bdakin@apple.com>
1803
1804        ScrollbarPainterController should adopt the api to lock overlay scrollbar state
1805        https://bugs.webkit.org/show_bug.cgi?id=121928
1806
1807        Reviewed by Sam Weinig.
1808
1809        This function no longer needs to be implemented by ScrollablArea subclasses.
1810        * WebProcess/Plugins/PDF/PDFPlugin.h:
1811        * WebProcess/Plugins/PDF/PDFPlugin.mm:
1812
18132013-09-27  Andre Moreira Magalhaes   <andre.magalhaes@collabora.co.uk>
1814
1815        Web Inspector: Make WebKitGTK+ port work with Eclipse chromedevtools plugin
1816        https://bugs.webkit.org/show_bug.cgi?id=121121
1817
1818        Reviewed by Gustavo Noronha Silva.
1819
1820        The chromedevtools plugin (http://code.google.com/p/chromedevtools/) requires a specific
1821        json format to connect to the webkit inspector.
1822
1823        The current format is missing some required fields that make the connection with the plugin
1824        fail.
1825
1826        The format expected by the plugin is as follows:
1827          {
1828           "title": "Foo",
1829           "url": "http://foo",
1830           "devtoolsFrontendUrl": "/Main.html?ws=localhost:9222/devtools/page/1",
1831           "webSocketDebuggerUrl": "ws://localhost:9222/devtools/page/1"
1832          }
1833
1834        The current format is missing the entries for "devtoolsFrontendUrl" and
1835        "webSocketDebuggerUrl".
1836
1837        The plugin also sends an HTTP GET request to http://host:port/json instead of
1838        http://host:port/pagelist.json when retrieving the pages list.
1839
1840        This patch fixes the issues by adding support for the missing fields and accepting requests
1841        for "/json" alongside "/pagelist.json".
1842
1843        * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
1844        (WebKit::WebInspectorServer::platformResourceForPath):
1845        Also accept requests for "/json" alongside "pagelist.json".
1846        (WebKit::WebInspectorServer::buildPageList):
1847        Add fields required by chromedevtools plugin.
1848
18492013-09-26  Darin Adler  <darin@apple.com>
1850
1851        rename KURL to URL
1852        https://bugs.webkit.org/show_bug.cgi?id=16214
1853
1854        Reviewed by Andreas Kling.
1855
1856        * many files: Renamed, using script.
1857
18582013-09-27  Peter Gal  <galpeter@inf.u-szeged.hu>
1859
1860        Remove unused method parameters from TupleCoder.
1861        https://bugs.webkit.org/show_bug.cgi?id=122009
1862
1863        Reviewed by Anders Carlsson.
1864
1865        In case of TupleCoder<0, Elements...> the parameter
1866        names for encoder, decoder and tuple are not used.
1867        By removing the paramter names the unusued paramter
1868        warning will disappear.
1869
1870        * Platform/CoreIPC/Arguments.h:
1871
18722013-09-06  Jer Noble  <jer.noble@apple.com>
1873
1874        [Mac] Implement the media controls in JavaScript.
1875        https://bugs.webkit.org/show_bug.cgi?id=120895
1876
1877        Reviewed by Dean Jackson.
1878
1879        Define and turn on ENABLE_MEDIA_CONTROLS_SCRIPT.
1880
1881        * Configurations/FeatureDefines.xcconfig:
1882
18832013-09-27  Darin Adler  <darin@apple.com>
1884
1885        Add empty MainFrame class
1886        https://bugs.webkit.org/show_bug.cgi?id=121770
1887
1888        Reviewed by Andreas Kling.
1889
1890        * WebProcess/FullScreen/WebFullScreenManager.cpp:
1891        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1892        * WebProcess/InjectedBundle/InjectedBundle.cpp:
1893        * WebProcess/Plugins/PluginView.cpp:
1894        * WebProcess/Storage/StorageAreaMap.cpp:
1895        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1896        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1897        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1898        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1899        * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
1900        * WebProcess/WebPage/FindController.cpp:
1901        * WebProcess/WebPage/PageOverlay.cpp:
1902        * WebProcess/WebPage/WebInspector.cpp:
1903        * WebProcess/WebPage/WebPage.cpp:
1904        * WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp:
1905        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
1906        * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
1907        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
1908        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1909        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
1910        * WebProcess/WebPage/mac/WebPageMac.mm:
1911        Include MainFrame.h instead of Frame.h as needed.
1912
19132013-09-27  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1914
1915        [Qt] Fix force_static_libs_as_shared in WebKit2
1916        https://bugs.webkit.org/show_bug.cgi?id=121961
1917
1918        Reviewed by Csaba Osztrogonác.
1919
1920        Do not add strict ordering for webkit2qml. It is not needed and causes
1921        Target.pri to be built out of order.
1922
1923        * WebKit2.pro:
1924
19252013-09-26  Anders Carlsson  <andersca@apple.com>
1926
1927        Remove Windows code
1928        https://bugs.webkit.org/show_bug.cgi?id=121988
1929
1930        Reviewed by Antti Koivisto.
1931
1932        * Platform/CoreIPC/Connection.h:
1933        * Platform/CoreIPC/win/ConnectionWin.cpp: Removed.
1934        * Platform/SharedMemory.h:
1935        * Platform/WorkQueue.h:
1936        * Platform/win/SharedMemoryWin.cpp: Removed.
1937        * Platform/win/WorkQueueWin.cpp: Removed.
1938        * Shared/ChildProcess.cpp:
1939        * Shared/ChildProcessProxy.cpp:
1940        (WebKit::ChildProcessProxy::didFinishLaunching):
1941        * UIProcess/Plugins/PluginInfoStore.cpp:
1942        (WebKit::PluginInfoStore::loadPluginsIfNecessary):
1943        * WebProcess/WebProcess.cpp:
1944
19452013-09-26  Anders Carlsson  <andersca@apple.com>
1946
1947        Stop using PassWeak
1948        https://bugs.webkit.org/show_bug.cgi?id=121968
1949
1950        Reviewed by Sam Weinig.
1951
1952        Update for JavaScriptCore changes.
1953
1954        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1955        (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
1956
19572013-09-25  Jer Noble  <jer.noble@apple.com>
1958
1959        [WK2] Crash at at com.apple.WebKit2: WebKit::VoidCallback::invalidate + 46
1960        https://bugs.webkit.org/show_bug.cgi?id=121910
1961
1962        Reviewed by Darin Adler.
1963
1964        Store a copy of the VoidCallback passed to WKPage, and invalidate the callback
1965        during dealloc. The VoidCallback class assumes that it will only ever be
1966        invalidated or invoked once, so change the ASSERTs into an early return.
1967
1968        * UIProcess/GenericCallback.h:
1969        (WebKit::VoidCallback::performCallback): Exit early if previously invalidated.
1970        (WebKit::VoidCallback::invalidate): Ditto.
1971        * UIProcess/mac/WKFullScreenWindowController.h:
1972        * UIProcess/mac/WKFullScreenWindowController.mm:
1973        (-[WKFullScreenWindowController dealloc]): Invalidate the repaint callback if present.
1974        (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Ditto & create a new callback.
1975        (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): Clear the callback.
1976
19772013-09-26  Tim Horton  <timothy_horton@apple.com>
1978
1979        Tiled drawing should not imply threaded scrolling
1980        https://bugs.webkit.org/show_bug.cgi?id=121874
1981        <rdar://problem/15071494>
1982
1983        Reviewed by Sam Weinig.
1984
1985        * Shared/DrawingAreaInfo.h:
1986        We can have DrawingAreaTypeTiledCoreAnimation without threaded scrolling.
1987
1988        * Shared/WebPreferencesStore.h:
1989        * UIProcess/API/C/WKPreferences.cpp:
1990        (WKPreferencesSetThreadedScrollingEnabled):
1991        (WKPreferencesGetThreadedScrollingEnabled):
1992        * UIProcess/API/C/WKPreferencesPrivate.h:
1993        Add a preference for threaded scrolling.
1994
1995        * UIProcess/API/mac/WKView.mm:
1996        (-[WKView WebKit::]):
1997        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
1998        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
1999        * WebProcess/WebPage/DrawingArea.cpp:
2000        (WebKit::DrawingArea::create):
2001        * WebProcess/WebPage/DrawingArea.h:
2002        Make it so we can use TiledCoreAnimationDrawingArea without ENABLE(THREADED_SCROLLING).
2003
2004        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2005        (WebKit::WebChromeClient::shouldUseTiledBackingForFrame):
2006        * WebProcess/WebCoreSupport/WebChromeClient.h:
2007        Override shouldUseTiledBackingForFrame; ask the drawing area if we want a tiled backing for the given frame.
2008
2009        * WebProcess/WebPage/WebPage.cpp:
2010        (WebKit::WebPage::WebPage):
2011        (WebKit::WebPage::~WebPage):
2012        * WebProcess/WebPage/WebPage.h:
2013        Move attaching and detaching the scrolling tree into WebPage.
2014        Store whether or not this page is going to use threaded scrolling once, as this
2015        cannot change through the life of a page.
2016
2017        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2018        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2019        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
2020        (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
2021        Move attaching and detaching the scrolling tree into WebPage.
2022
2023        (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
2024        (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
2025        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
2026        (WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
2027        Only do scrolling coordinator work if we have a scrolling coordinator.
2028
2029        (WebKit::TiledCoreAnimationDrawingArea::shouldUseTiledBackingForFrame):
2030        TiledCoreAnimationDrawingArea always wants a tiled backing for the main frame.
2031
20322013-09-25  Minju Kim  <pmuarteo@gmail.com>
2033
2034        8 bytes memory leaks in WebProcessMainQt.cpp when proxy is initialized
2035        https://bugs.webkit.org/show_bug.cgi?id=118515
2036
2037        Reviewed by Christophe Dumez.
2038
2039        * WebProcess/qt/WebProcessMainQt.cpp:
2040        (WebKit::initializeProxy): Handled EnvHttpProxyFactory by using OwnPtr
2041        to avoid memory leak when it isn't handled by NetworkProxyFactory
2042
20432013-09-25  Brady Eidson  <beidson@apple.com>
2044
2045        Enable the IndexedDB build on Mac, but leave the feature non-functional
2046        https://bugs.webkit.org/show_bug.cgi?id=121918
2047
2048        Reviewed by Alexey Proskuryakov.
2049
2050        * Configurations/FeatureDefines.xcconfig:
2051
20522013-09-25  Commit Queue  <commit-queue@webkit.org>
2053
2054        Unreviewed, rolling out r156432.
2055        http://trac.webkit.org/changeset/156432
2056        https://bugs.webkit.org/show_bug.cgi?id=121932
2057
2058        some integer conversion things that need brady to fix
2059        (Requested by thorton on #webkit).
2060
2061        * Configurations/FeatureDefines.xcconfig:
2062
20632013-09-25  Brady Eidson  <beidson@apple.com>
2064
2065        Enable the IndexedDB build on Mac, but leave the feature non-functional
2066        https://bugs.webkit.org/show_bug.cgi?id=121918
2067
2068        Reviewed by Alexey Proskuryakov.
2069
2070        * Configurations/FeatureDefines.xcconfig:
2071
20722013-09-25  Brent Fulgham  <bfulgham@apple.com>
2073
2074        Refactor RuntimeEnabledFeatures as a Singleton.
2075        https://bugs.webkit.org/show_bug.cgi?id=121883.
2076
2077        Reviewed by Jer Noble.
2078
2079        * WebProcess/InjectedBundle/InjectedBundle.cpp:
2080        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Use
2081        Singleton accessor.
2082        (WebKit::InjectedBundle::setShadowDOMEnabled):
2083        (WebKit::InjectedBundle::setCSSRegionsEnabled):
2084        (WebKit::InjectedBundle::setCSSCompositingEnabled):
2085        (WebKit::InjectedBundle::setSeamlessIFramesEnabled):
2086        * WebProcess/WebPage/WebPage.cpp:
2087        (WebKit::WebPage::updatePreferences): Ditto.
2088        * WebProcess/qt/WebProcessQt.cpp:
2089        (WebKit::WebProcess::platformInitializeWebProcess): Ditto.
2090
20912013-09-25  Brady Eidson  <beidson@apple.com>
2092
2093        FeatureDefine.xcconfig cleanup (They should all be identical).
2094        https://bugs.webkit.org/show_bug.cgi?id=121921
2095
2096        Reviewed by Mark Rowe.
2097
2098        * Configurations/FeatureDefines.xcconfig:
2099
21002013-09-25  Anders Carlsson  <andersca@apple.com>
2101
2102        Use tuples for encoding IPC messages
2103        https://bugs.webkit.org/show_bug.cgi?id=121924
2104
2105        Reviewed by Andreas Kling.
2106
2107        Yet another step towards getting rid of the Arguments hierarchy.
2108
2109        * Platform/CoreIPC/Connection.h:
2110        (CoreIPC::Connection::send):
2111        (CoreIPC::Connection::sendSync):
2112        * Platform/CoreIPC/HandleMessage.h:
2113        (CoreIPC::handleMessage):
2114        (CoreIPC::handleMessageVariadic):
2115        (CoreIPC::handleMessageDelayed):
2116        * Platform/CoreIPC/MessageSender.h:
2117        (CoreIPC::MessageSender::send):
2118        * Scripts/webkit2/messages.py:
2119        (arguments_type_old):
2120        (arguments_type):
2121        (reply_type):
2122        (decode_type):
2123        (delayed_reply_type):
2124        (message_to_struct_declaration):
2125        * Scripts/webkit2/messages_unittest.py:
2126        (LoadURL):
2127        (std):
2128        (TouchEvent):
2129        (DidReceivePolicyDecision):
2130        (Close):
2131        (PreferencesDidChange):
2132        (SendDoubleAndFloat):
2133        (SendInts):
2134        (CreatePlugin):
2135        (RunJavaScriptAlert):
2136        (GetPlugins):
2137        (GetPluginProcessConnection):
2138        (TestMultipleAttributes):
2139        (TestParameterAttributes):
2140        (TemplateTest):
2141        (DidCreateWebProcessConnection):
2142        (InterpretKeyEvent):
2143        (DeprecatedOperation):
2144        (ExperimentalOperation):
2145        * Shared/ChildProcessProxy.h:
2146        (WebKit::ChildProcessProxy::send):
2147
21482013-09-25  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2149
2150        [Qt] Fix build with Qt 5.2 QtPosition module
2151        https://bugs.webkit.org/show_bug.cgi?id=121089
2152
2153        Reviewed by Simon Hausmann.
2154
2155        QtLocation -> QtPositioning
2156
2157        * Target.pri:
2158        * UIProcess/qt/WebGeolocationProviderQt.cpp:
2159        * WebKit2.pri:
2160
21612013-09-24  Sam Weinig  <sam@webkit.org>
2162
2163        Remove erroneous reference to libWTF.a in the WebKit2 Xcode project file.
2164
2165        Rubber-stamped by Alexey Proskuryakov.
2166
2167        * WebKit2.xcodeproj/project.pbxproj:
2168
21692013-09-24  Sam Weinig  <sam@webkit.org>
2170
2171        Remove the Windows-specific rules from WebKit2's DerivedSources.make, Windows is not supported anymore
2172        https://bugs.webkit.org/show_bug.cgi?id=121895
2173
2174        Reviewed by Alexey Proskuryakov.
2175
2176        * DerivedSources.make:
2177        Remove Windows-specific rules, and, now that only the Mac is using this file, remove the
2178        Mac checks.
2179
21802013-09-24  Anders Carlsson  <andersca@apple.com>
2181
2182        Only allow rvalues to be passed as synchronous message replies
2183        https://bugs.webkit.org/show_bug.cgi?id=121870
2184
2185        Reviewed by Andreas Kling.
2186
2187        This lets us get rid of a nasty const cast and is more logical.
2188
2189        * Platform/CoreIPC/Connection.h:
2190        (CoreIPC::Connection::sendSync):
2191        * Platform/CoreIPC/MessageSender.h:
2192        (CoreIPC::MessageSender::send):
2193        (CoreIPC::MessageSender::sendSync):
2194        * Shared/ChildProcessProxy.h:
2195        (WebKit::ChildProcessProxy::sendSync):
2196
21972013-09-24  Csaba Osztrogonác  <ossy@webkit.org>
2198
2199        Unreviewed buildfix.
2200
2201        * UIProcess/WebNetworkInfoManagerProxy.h:
2202
22032013-09-24  Alexey Proskuryakov  <ap@apple.com>
2204
2205        Fix Mac build now.
2206        
2207        * UIProcess/WebContext.messages.in:
2208
22092013-09-24  Csaba Osztrogonác  <ossy@webkit.org>
2210
2211        Unreviewed buildfix after r156350.
2212
2213        It seems that nested ifdefs don't work in messages.in files, so don't use them.
2214
2215        * UIProcess/WebContext.messages.in:
2216
22172013-09-24  Csaba Osztrogonác  <ossy@webkit.org>
2218
2219        Unreviewed buildfix after r156354 and r156360.
2220
2221        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
2222        (CoreIPC::Connection::processMessage):
2223        (CoreIPC::Connection::sendOutgoingMessage):
2224
22252013-09-24  Csaba Osztrogonác  <ossy@webkit.org>
2226
2227        Unreviewed buildfix after r156349.
2228
2229        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
2230        (CoreIPC::Connection::processMessage):
2231
22322013-09-24  Anders Carlsson  <andersca@apple.com>
2233
2234        Use std::unique_ptr for decoders as well
2235        https://bugs.webkit.org/show_bug.cgi?id=121868
2236
2237        Reviewed by Andreas Kling.
2238
2239        * Platform/CoreIPC/Connection.cpp:
2240        (CoreIPC::Connection::SyncMessageState::processIncomingMessage):
2241        (CoreIPC::Connection::SyncMessageState::dispatchMessages):
2242        (CoreIPC::Connection::waitForMessage):
2243        (CoreIPC::Connection::sendSyncMessage):
2244        (CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
2245        (CoreIPC::Connection::waitForSyncReply):
2246        (CoreIPC::Connection::processIncomingSyncReply):
2247        (CoreIPC::Connection::processIncomingMessage):
2248        (CoreIPC::Connection::enqueueIncomingMessage):
2249        (CoreIPC::Connection::dispatchMessage):
2250        (CoreIPC::Connection::dispatchOneMessage):
2251        * Platform/CoreIPC/Connection.h:
2252        (CoreIPC::Connection::sendSync):
2253        (CoreIPC::Connection::waitForAndDispatchImmediately):
2254        * Platform/CoreIPC/mac/ConnectionMac.cpp:
2255        (CoreIPC::createMessageDecoder):
2256        (CoreIPC::Connection::receiveSourceEventHandler):
2257        * WebProcess/InjectedBundle/InjectedBundle.cpp:
2258        (WebKit::InjectedBundle::postSynchronousMessage):
2259
22602013-09-24  Anders Carlsson  <andersca@apple.com>
2261
2262        Move MessageEncoder and ArgumentEncoder to std::unique_ptr
2263        https://bugs.webkit.org/show_bug.cgi?id=121861
2264
2265        Reviewed by Andreas Kling.
2266
2267        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2268        (WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
2269        * NetworkProcess/NetworkConnectionToWebProcess.h:
2270        * NetworkProcess/NetworkProcess.cpp:
2271        (WebKit::NetworkProcess::didReceiveSyncMessage):
2272        * NetworkProcess/NetworkProcess.h:
2273        * Platform/CoreIPC/Connection.cpp:
2274        (CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
2275        (CoreIPC::Connection::createSyncMessageEncoder):
2276        (CoreIPC::Connection::sendMessage):
2277        (CoreIPC::Connection::sendSyncReply):
2278        (CoreIPC::Connection::sendSyncMessage):
2279        (CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
2280        (CoreIPC::Connection::sendOutgoingMessages):
2281        (CoreIPC::Connection::dispatchSyncMessage):
2282        * Platform/CoreIPC/Connection.h:
2283        (CoreIPC::Connection::send):
2284        (CoreIPC::Connection::sendSync):
2285        * Platform/CoreIPC/HandleMessage.h:
2286        (CoreIPC::handleMessageDelayed):
2287        * Platform/CoreIPC/MessageReceiver.h:
2288        (CoreIPC::MessageReceiver::didReceiveSyncMessage):
2289        * Platform/CoreIPC/MessageReceiverMap.cpp:
2290        (CoreIPC::MessageReceiverMap::dispatchSyncMessage):
2291        * Platform/CoreIPC/MessageReceiverMap.h:
2292        * Platform/CoreIPC/MessageSender.cpp:
2293        (CoreIPC::MessageSender::sendMessage):
2294        * Platform/CoreIPC/MessageSender.h:
2295        (CoreIPC::MessageSender::send):
2296        * Platform/CoreIPC/mac/ConnectionMac.cpp:
2297        (CoreIPC::Connection::open):
2298        (CoreIPC::Connection::sendOutgoingMessage):
2299        * PluginProcess/PluginControllerProxy.h:
2300        * PluginProcess/WebProcessConnection.cpp:
2301        (WebKit::WebProcessConnection::didReceiveSyncMessage):
2302        * PluginProcess/WebProcessConnection.h:
2303        * Scripts/webkit2/messages.py:
2304        (message_to_struct_declaration):
2305        (generate_message_handler):
2306        * Scripts/webkit2/messages_unittest.py:
2307        * Shared/ChildProcessProxy.cpp:
2308        (WebKit::ChildProcessProxy::sendMessage):
2309        (WebKit::ChildProcessProxy::dispatchSyncMessage):
2310        (WebKit::ChildProcessProxy::didFinishLaunching):
2311        * Shared/ChildProcessProxy.h:
2312        (WebKit::ChildProcessProxy::send):
2313        * Shared/Plugins/NPObjectMessageReceiver.h:
2314        * Shared/Plugins/NPRemoteObjectMap.cpp:
2315        (WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
2316        * Shared/Plugins/NPRemoteObjectMap.h:
2317        * Shared/WebConnection.cpp:
2318        (WebKit::WebConnection::postMessage):
2319        * UIProcess/Downloads/DownloadProxy.h:
2320        * UIProcess/Network/NetworkProcessProxy.cpp:
2321        (WebKit::NetworkProcessProxy::didReceiveSyncMessage):
2322        * UIProcess/Network/NetworkProcessProxy.h:
2323        * UIProcess/Plugins/PluginProcessProxy.h:
2324        * UIProcess/Storage/StorageManager.h:
2325        * UIProcess/WebContext.cpp:
2326        (WebKit::WebContext::dispatchSyncMessage):
2327        (WebKit::WebContext::didReceiveSyncMessage):
2328        * UIProcess/WebContext.h:
2329        * UIProcess/WebFullScreenManagerProxy.h:
2330        * UIProcess/WebIconDatabase.h:
2331        * UIProcess/WebInspectorProxy.h:
2332        * UIProcess/WebPageProxy.h:
2333        * UIProcess/WebProcessProxy.cpp:
2334        (WebKit::WebProcessProxy::didReceiveSyncMessage):
2335        * UIProcess/WebProcessProxy.h:
2336        * WebProcess/InjectedBundle/InjectedBundle.cpp:
2337        (WebKit::InjectedBundle::postMessage):
2338        (WebKit::InjectedBundle::postSynchronousMessage):
2339        * WebProcess/Network/NetworkProcessConnection.cpp:
2340        (WebKit::NetworkProcessConnection::didReceiveSyncMessage):
2341        * WebProcess/Network/NetworkProcessConnection.h:
2342        * WebProcess/Plugins/PluginProcessConnection.cpp:
2343        (WebKit::PluginProcessConnection::didReceiveSyncMessage):
2344        * WebProcess/Plugins/PluginProcessConnection.h:
2345        * WebProcess/Plugins/PluginProxy.h:
2346        * WebProcess/WebPage/WebPage.cpp:
2347        (WebKit::WebPage::didReceiveSyncMessage):
2348        * WebProcess/WebPage/WebPage.h:
2349        * WebProcess/WebProcess.cpp:
2350        (WebKit::WebProcess::didReceiveSyncMessage):
2351        * WebProcess/WebProcess.h:
2352
23532013-09-24  Anders Carlsson  <andersca@apple.com>
2354
2355        Remove encoder create functions
2356        https://bugs.webkit.org/show_bug.cgi?id=121853
2357
2358        Reviewed by Sam Weinig.
2359
2360        * Platform/CoreIPC/ArgumentEncoder.cpp:
2361        * Platform/CoreIPC/ArgumentEncoder.h:
2362        * Platform/CoreIPC/Connection.cpp:
2363        (CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
2364        (CoreIPC::Connection::createSyncMessageEncoder):
2365        (CoreIPC::Connection::dispatchSyncMessage):
2366        * Platform/CoreIPC/Connection.h:
2367        (CoreIPC::Connection::send):
2368        * Platform/CoreIPC/MessageEncoder.cpp:
2369        (CoreIPC::MessageEncoder::setIsSyncMessage):
2370        * Platform/CoreIPC/MessageEncoder.h:
2371        * Platform/CoreIPC/MessageSender.h:
2372        (CoreIPC::MessageSender::send):
2373        * Platform/CoreIPC/mac/ConnectionMac.cpp:
2374        (CoreIPC::Connection::open):
2375        * Shared/ChildProcessProxy.h:
2376        (WebKit::ChildProcessProxy::send):
2377        * Shared/WebConnection.cpp:
2378        (WebKit::WebConnection::postMessage):
2379        * UIProcess/WebContext.cpp:
2380        (WebKit::WebContext::createNewWebProcess):
2381        (WebKit::WebContext::postMessageToInjectedBundle):
2382        * WebProcess/InjectedBundle/InjectedBundle.cpp:
2383        (WebKit::InjectedBundle::postMessage):
2384        * WebProcess/WebPage/EncoderAdapter.cpp:
2385        (WebKit::EncoderAdapter::EncoderAdapter):
2386        (WebKit::EncoderAdapter::dataReference):
2387        (WebKit::EncoderAdapter::encodeBytes):
2388        (WebKit::EncoderAdapter::encodeBool):
2389        (WebKit::EncoderAdapter::encodeUInt16):
2390        (WebKit::EncoderAdapter::encodeUInt32):
2391        (WebKit::EncoderAdapter::encodeUInt64):
2392        (WebKit::EncoderAdapter::encodeInt32):
2393        (WebKit::EncoderAdapter::encodeInt64):
2394        (WebKit::EncoderAdapter::encodeFloat):
2395        (WebKit::EncoderAdapter::encodeDouble):
2396        (WebKit::EncoderAdapter::encodeString):
2397        * WebProcess/WebPage/EncoderAdapter.h:
2398
23992013-09-24  Enrica Casucci  <enrica@apple.com>
2400
2401        Upstream changes to Pasteboard implementation for iOS.
2402        https://bugs.webkit.org/show_bug.cgi?id=121818
2403
2404        Reviewed by Darin Adler.
2405
2406        * Scripts/webkit2/messages.py:
2407        (struct_or_class):
2408        (headers_for_type):
2409        * Shared/WebCoreArgumentCoders.cpp:
2410        (CoreIPC::encodeSharedBuffer):
2411        (CoreIPC::decodeSharedBuffer):
2412        (CoreIPC::::encode):
2413        (CoreIPC::::decode):
2414        * Shared/WebCoreArgumentCoders.h:
2415        * UIProcess/WebContext.h:
2416        * UIProcess/WebContext.messages.in:
2417        * UIProcess/mac/WebContextMac.mm:
2418        (WebKit::WebContext::writeWebContentToPasteboard):
2419        (WebKit::WebContext::writeImageToPasteboard):
2420        (WebKit::WebContext::writeStringToPasteboard):
2421        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2422        (WebKit::WebPlatformStrategies::writeToPasteboard):
2423        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
2424
24252013-09-24  Anders Carlsson  <andersca@apple.com>
2426
2427        Remove create functions from MessageDecoder and ArgumentDecoder
2428        https://bugs.webkit.org/show_bug.cgi?id=121850
2429
2430        Reviewed by Antti Koivisto.
2431
2432        * Platform/CoreIPC/ArgumentDecoder.cpp:
2433        (CoreIPC::ArgumentDecoder::ArgumentDecoder):
2434        * Platform/CoreIPC/ArgumentDecoder.h:
2435        * Platform/CoreIPC/MessageDecoder.cpp:
2436        (CoreIPC::MessageDecoder::MessageDecoder):
2437        * Platform/CoreIPC/MessageDecoder.h:
2438        * Platform/CoreIPC/mac/ConnectionMac.cpp:
2439        (CoreIPC::createMessageDecoder):
2440        * WebProcess/WebPage/DecoderAdapter.cpp:
2441        (WebKit::DecoderAdapter::DecoderAdapter):
2442        (WebKit::DecoderAdapter::decodeBytes):
2443        (WebKit::DecoderAdapter::decodeBool):
2444        (WebKit::DecoderAdapter::decodeUInt16):
2445        (WebKit::DecoderAdapter::decodeUInt32):
2446        (WebKit::DecoderAdapter::decodeUInt64):
2447        (WebKit::DecoderAdapter::decodeInt32):
2448        (WebKit::DecoderAdapter::decodeInt64):
2449        (WebKit::DecoderAdapter::decodeFloat):
2450        (WebKit::DecoderAdapter::decodeDouble):
2451        (WebKit::DecoderAdapter::decodeString):
2452        * WebProcess/WebPage/DecoderAdapter.h:
2453        * WebProcess/WebProcess.cpp:
2454        (WebKit::WebProcess::postInjectedBundleMessage):
2455
24562013-09-24  Mark Rowe  <mrowe@apple.com>
2457
2458        <rdar://problem/14971518> WebKit should build against the Xcode default toolchain when targeting OS X 10.8
2459
2460        Reviewed by Dan Bernstein.
2461
2462        * Configurations/Base.xcconfig:
2463
24642013-09-24  Lorenzo Tilve  <ltilve@igalia.com>
2465
2466        [GTK] Fix compilation problems when setting ENABLE_DRAG_SUPPORT = FALSE
2467        https://bugs.webkit.org/show_bug.cgi?id=121782
2468
2469        Reviewed by Martin Robinson.
2470
2471        Disabled drag functions.
2472
2473        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2474        (webkit_web_view_base_class_init):
2475        * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
2476
24772013-09-24  Anders Carlsson  <andersca@apple.com>
2478
2479        Begin adopting std::tuple for IPC decoding
2480        https://bugs.webkit.org/show_bug.cgi?id=121848
2481
2482        Reviewed by Sam Weinig.
2483
2484        This is the first step towards getting rid of the horrible Arguments class hierarchy.
2485
2486        * Platform/CoreIPC/Arguments.h:
2487        (CoreIPC::TupleCoder::encode):
2488        (CoreIPC::TupleCoder::decode):
2489        * Platform/CoreIPC/HandleMessage.h:
2490        (CoreIPC::callMemberFunction):
2491        (CoreIPC::handleMessage):
2492        (CoreIPC::handleMessageVariadic):
2493        (CoreIPC::handleMessageDelayed):
2494
24952013-09-24  ChangSeok Oh  <changseok.oh@collabora.com>
2496
2497        [EFL] Build failed at ProcessLauncherEfl.cpp
2498        https://bugs.webkit.org/show_bug.cgi?id=121826
2499
2500        Reviewed by Gyuyoung Kim.
2501
2502        Fixed a build failure with adding socket.h.
2503
2504        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
2505
25062013-09-23  Patrick Gansterer  <paroga@webkit.org>
2507
2508        use NOMINMAX instead of #define min min
2509        https://bugs.webkit.org/show_bug.cgi?id=73563
2510
2511        Reviewed by Brent Fulgham.
2512
2513        Use NOMINMAX instead of #define min/max as a cleaner
2514        way of ensuring that Windows system header files don't
2515        define min/max as macro in the first place.
2516
2517        * config.h:
2518
25192013-09-23  ChangSeok Oh  <changseok.oh@collabora.com>
2520
2521        [GTK][WK2] A plugin dirtyRect within iframe remains after moving to a different page.
2522        https://bugs.webkit.org/show_bug.cgi?id=121600
2523
2524        Reviewed by Gustavo Noronha Silva.
2525
2526        Nowhere to destroy NetscapePlugin::m_platformPluginWidget even after destroying
2527        an instance of NetscapePlugin. So the created GtkWidget remains visible.
2528
2529        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
2530        (WebKit::NetscapePlugin::platformDestroy):
2531
25322013-09-23  Sam Weinig  <sam@webkit.org>
2533
2534        Add back the SharedWorkerStrategy to prevent crashing.
2535
2536        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2537        (WebKit::WebPlatformStrategies::createSharedWorkerStrategy):
2538        (WebKit::WebPlatformStrategies::isAvailable):
2539        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
2540
25412013-09-23  Sam Weinig  <sam@webkit.org>
2542
2543        SharedWorkerProcess code is dead
2544        https://bugs.webkit.org/show_bug.cgi?id=121563
2545
2546        Reviewed by Alexey Proskuryakov.
2547
2548        Remove SharedWorkerProcess code.
2549
25502013-09-23  Patrick Gansterer  <paroga@webkit.org>
2551
2552        Cleanup CMake files in WebKit2
2553        https://bugs.webkit.org/show_bug.cgi?id=121767
2554
2555        Reviewed by Gyuyoung Kim.
2556
2557        Sort files and unify style.
2558
2559        * CMakeLists.txt:
2560        * PlatformEfl.cmake:
2561        * PlatformGTK.cmake:
2562
25632013-09-21  Darin Adler  <darin@apple.com>
2564
2565        Add ExecState::uncheckedArgument and use where possible to shrink a bit
2566        https://bugs.webkit.org/show_bug.cgi?id=121750
2567
2568        Reviewed by Andreas Kling.
2569
2570        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2571        (WebKit::JSNPObject::callMethod): In a loop.
2572        (WebKit::JSNPObject::callObject): Ditto.
2573        (WebKit::JSNPObject::callConstructor): Ditto.
2574
25752013-09-18  Anders Carlsson  <andersca@apple.com>
2576
2577        Remove the ENABLE_PLUGIN_PROCESS #define
2578        https://bugs.webkit.org/show_bug.cgi?id=121569
2579
2580        Reviewed by Andreas Kling.
2581
2582        Fold the ENABLE_PLUGIN_PROCESS #define into the NETSCAPE_PLUGIN_API #define since 
2583        building plug-ins without the plug-in process is not supported.
2584
2585        * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
2586        * PluginProcess/PluginControllerProxy.cpp:
2587        * PluginProcess/PluginControllerProxy.h:
2588        * PluginProcess/PluginControllerProxy.messages.in:
2589        * PluginProcess/PluginCreationParameters.cpp:
2590        * PluginProcess/PluginCreationParameters.h:
2591        * PluginProcess/PluginProcess.cpp:
2592        * PluginProcess/PluginProcess.h:
2593        * PluginProcess/PluginProcess.messages.in:
2594        * PluginProcess/WebProcessConnection.cpp:
2595        * PluginProcess/WebProcessConnection.h:
2596        * PluginProcess/WebProcessConnection.messages.in:
2597        * PluginProcess/mac/PluginControllerProxyMac.mm:
2598        * PluginProcess/mac/PluginProcessMac.mm:
2599        * Shared/Plugins/NPIdentifierData.cpp:
2600        * Shared/Plugins/NPIdentifierData.h:
2601        * Shared/Plugins/NPObjectMessageReceiver.cpp:
2602        * Shared/Plugins/NPObjectMessageReceiver.h:
2603        * Shared/Plugins/NPObjectMessageReceiver.messages.in:
2604        * Shared/Plugins/NPObjectProxy.cpp:
2605        * Shared/Plugins/NPObjectProxy.h:
2606        * Shared/Plugins/NPRemoteObjectMap.cpp:
2607        * Shared/Plugins/NPRemoteObjectMap.h:
2608        * Shared/Plugins/NPVariantData.cpp:
2609        * Shared/Plugins/NPVariantData.h:
2610        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
2611        (WebKit::getMIMETypesFromPluginBundle):
2612        * Shared/Plugins/PluginProcessCreationParameters.cpp:
2613        * Shared/Plugins/PluginProcessCreationParameters.h:
2614        * UIProcess/Launcher/ProcessLauncher.cpp:
2615        (WebKit::ProcessLauncher::processTypeAsString):
2616        (WebKit::ProcessLauncher::getProcessTypeFromString):
2617        * UIProcess/Launcher/ProcessLauncher.h:
2618        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
2619        (WebKit::addDYLDEnvironmentAdditions):
2620        (WebKit::serviceName):
2621        (WebKit::createProcess):
2622        * UIProcess/Plugins/PluginProcessManager.cpp:
2623        * UIProcess/Plugins/PluginProcessManager.h:
2624        * UIProcess/Plugins/PluginProcessProxy.cpp:
2625        * UIProcess/Plugins/PluginProcessProxy.h:
2626        * UIProcess/Plugins/PluginProcessProxy.messages.in:
2627        * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
2628        (WebKit::WebPluginSiteDataManager::~WebPluginSiteDataManager):
2629        (WebKit::WebPluginSiteDataManager::invalidate):
2630        (WebKit::WebPluginSiteDataManager::getSitesWithData):
2631        (WebKit::WebPluginSiteDataManager::clearSiteData):
2632        * UIProcess/Plugins/WebPluginSiteDataManager.h:
2633        * UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
2634        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2635        * UIProcess/WebContext.cpp:
2636        (WebKit::WebContext::setProcessModel):
2637        (WebKit::WebContext::shouldTerminate):
2638        (WebKit::WebContext::disconnectProcess):
2639        * UIProcess/WebProcessProxy.cpp:
2640        (WebKit::WebProcessProxy::getPluginProcessConnection):
2641        * UIProcess/WebProcessProxy.h:
2642        * UIProcess/WebProcessProxy.messages.in:
2643        * UIProcess/mac/WebContextMac.mm:
2644        (WebKit::updateProcessSuppressionStateOfGlobalChildProcesses):
2645        * WebKit2Prefix.h:
2646        * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
2647        * WebProcess/Plugins/PluginProcessConnection.cpp:
2648        * WebProcess/Plugins/PluginProcessConnection.h:
2649        * WebProcess/Plugins/PluginProcessConnection.messages.in:
2650        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2651        * WebProcess/Plugins/PluginProcessConnectionManager.h:
2652        * WebProcess/Plugins/PluginProcessConnectionManager.messages.in:
2653        * WebProcess/Plugins/PluginProxy.cpp:
2654        * WebProcess/Plugins/PluginProxy.h:
2655        * WebProcess/Plugins/PluginProxy.messages.in:
2656        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
2657        * WebProcess/WebPage/WebPage.cpp:
2658        * WebProcess/WebProcess.cpp:
2659        (WebKit::WebProcess::WebProcess):
2660        (WebKit::WebProcess::initializeConnection):
2661        * WebProcess/WebProcess.h:
2662        * WebProcess/WebProcess.messages.in:
2663
26642013-09-18  Sam Weinig  <sam@webkit.org>
2665
2666        Replace use of OwnArrayPtr<Foo> with std::unique_ptr<Foo[]> in WebKit and WebKit2
2667        https://bugs.webkit.org/show_bug.cgi?id=121568
2668
2669        Reviewed by Andreas Kling.
2670
2671        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
2672        (CoreIPC::Connection::processMessage):
2673        (CoreIPC::readBytesFromSocket):
2674        (CoreIPC::Connection::sendOutgoingMessage):
2675        * UIProcess/API/efl/EwkView.cpp:
2676        (EwkView::feedTouchEvent):
2677        (EwkView::feedTouchEvents):
2678        * UIProcess/API/efl/SnapshotImageGL.h:
2679        * UIProcess/API/efl/ewk_file_chooser_request.cpp:
2680        (ewk_file_chooser_request_files_choose):
2681        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
2682        (WebKit::createArgsArray):
2683        (WebKit::ProcessLauncher::launchProcess):
2684        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2685        (WKBundlePageCopyContextMenuItems):
2686        * WebProcess/InjectedBundle/InjectedBundle.cpp:
2687
26882013-09-18  Anders Carlsson  <andersca@apple.com>
2689
2690        RefPtrHashMap should work with move only types
2691        https://bugs.webkit.org/show_bug.cgi?id=121564
2692
2693        Reviewed by Andreas Kling.
2694
2695        * UIProcess/Storage/StorageManager.cpp:
2696        (WebKit::StorageManager::LocalStorageNamespace::getOrCreateStorageArea):
2697        (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
2698        * WebProcess/Storage/StorageNamespaceImpl.cpp:
2699        (WebKit::StorageNamespaceImpl::storageArea):
2700
27012013-09-18  Carlos Garcia Campos  <cgarcia@igalia.com>
2702
2703        [GTK] WebKitScriptWorld not in API documentation
2704        https://bugs.webkit.org/show_bug.cgi?id=121539
2705
2706        Reviewed by Philippe Normand.
2707
2708        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add WebKitScriptWorld.
2709
27102013-09-17  Csaba Osztrogonác  <ossy@webkit.org>
2711
2712        Buildfix for !ENABLE(CUSTOM_PROTOCOLS) platforms
2713        https://bugs.webkit.org/show_bug.cgi?id=121417
2714
2715        Reviewed by Alexey Proskuryakov.
2716
2717        Original patch by Balazs Kelemen <kbalazs@webkit.org>.
2718
2719        * CMakeLists.txt: Add CustomProtocolManagerProxy.messages.in.
2720        * DerivedSources.pri: Add CustomProtocolManagerProxy.messages.in.
2721        * GNUmakefile.am: Add CustomProtocolManagerProxy.messages.in.
2722        * GNUmakefile.list.am: Add CustomProtocolManagerProxyMessages.h and CustomProtocolManagerProxyMessageReceiver.cpp.
2723        * NetworkProcess/NetworkProcess.cpp: Add the missing ENABLE(CUSTOM_PROTOCOLS) guard.
2724        (WebKit::NetworkProcess::NetworkProcess):
2725        * UIProcess/WebProcessProxy.cpp: Remove the unnecessary conditional include.
2726
27272013-09-17  Gustavo Noronha Silva  <gns@gnome.org>
2728
2729        [GTK] Test /webkit2/WebKitWebInspectorServer/test-open-debugging-session times out after r155714
2730        https://bugs.webkit.org/show_bug.cgi?id=121383
2731
2732        Reviewed by Carlos Garcia Campos.
2733
2734        * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
2735        (openRemoteDebuggingSession): use the page contents' to check the remote debugging of the page
2736        has been successfuly opened, as the title is no longer the same after the switch to the new
2737        frontend.
2738
27392013-09-16  Enrica Casucci  <enrica@apple.com>
2740
2741        Remove unused function didSetSelectionTypesForPasteboard from EditorClient.
2742        https://bugs.webkit.org/show_bug.cgi?id=121464
2743
2744        Reviewed by Darin Adler.
2745
2746        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2747        * WebProcess/WebCoreSupport/WebEditorClient.h:
2748
27492013-09-17  Csaba Osztrogonác  <ossy@webkit.org>
2750
2751        Buildfix for !(ENABLE(WEB_ARCHIVE) || ENABLE(MHTML)) platforms
2752        https://bugs.webkit.org/show_bug.cgi?id=121491
2753
2754        Reviewed by Darin Adler.
2755
2756        * WebProcess/Network/WebResourceLoadScheduler.cpp:
2757        (WebKit::WebResourceLoadScheduler::scheduleLoad):
2758
27592013-09-17  Alberto Garcia  <berto@igalia.com>
2760
2761        [GTK] Unreviewed make distcheck fix.
2762
2763        * GNUmakefile.am: include WebProcess/Network/*.in in the tarball,
2764        it's needed for generating WebResourceLoaderMessage*.{cpp,h}.
2765
27662013-09-17  Csaba Osztrogonác  <ossy@webkit.org>
2767
2768        [GTK][EFL] Add ResourceError::internalError() after r138387
2769        https://bugs.webkit.org/show_bug.cgi?id=121433
2770
2771        Reviewed by Christophe Dumez.
2772
2773        Original patch by Balazs Kelemen <kbalazs@webkit.org>
2774        and Kwang Yul Seo <skyul@company100.net>
2775
2776        * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
2777        (WebKit::internalError):
2778        * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
2779        (WebKit::internalError):
2780
27812013-09-17  Gabor Abraham  <abrhm@inf.u-szeged.hu>
2782
2783        Fix Qt WK2 build after r155888
2784        https://bugs.webkit.org/show_bug.cgi?id=121471
2785
2786        Reviewed by Csaba Osztrogonác.
2787
2788        * UIProcess/API/qt/qquickwebview.cpp:
2789        (QQuickWebViewPrivate::createDrawingAreaProxy):
2790        * UIProcess/API/qt/qquickwebview_p_p.h:
2791        * UIProcess/API/qt/raw/qrawwebview.cpp:
2792        (QRawWebViewPrivate::createDrawingAreaProxy):
2793        * UIProcess/API/qt/raw/qrawwebview_p_p.h:
2794        * UIProcess/qt/QtPageClient.cpp:
2795        (WebKit::QtPageClient::createDrawingAreaProxy):
2796        * UIProcess/qt/QtPageClient.h:
2797
27982013-09-17  Csaba Osztrogonác  <ossy@webkit.org>
2799
2800        [GTK][EFL] Add NetworkProcess support for ProcessLauncher
2801        https://bugs.webkit.org/show_bug.cgi?id=121434
2802
2803        Reviewed by Sam Weinig.
2804
2805        Original patch by Balazs Kelemen <kbalazs@webkit.org>
2806        and Kwang Yul Seo <skyul@company100.net>
2807
2808        * Shared/ProcessExecutablePath.h:
2809        * Shared/efl/ProcessExecutablePathEfl.cpp:
2810        (WebKit::executablePathOfNetworkProcess):
2811        * Shared/gtk/ProcessExecutablePathGtk.cpp:
2812        (WebKit::executablePathOfNetworkProcess):
2813        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
2814        (WebKit::ProcessLauncher::launchProcess):
2815        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
2816        (WebKit::ProcessLauncher::launchProcess):
2817
28182013-09-17  Csaba Osztrogonác  <ossy@webkit.org>
2819
2820        Buildfix for !USE(PROTECTION_SPACE_AUTH_CALLBACK) platforms
2821        https://bugs.webkit.org/show_bug.cgi?id=121431
2822
2823        Reviewed by Alexey Proskuryakov.
2824
2825        Mising guards added.
2826
2827        Original patch by Balazs Kelemen <kbalazs@webkit.org>
2828        and Kwang Yul Seo <skyul@company100.net>
2829
2830        * NetworkProcess/NetworkResourceLoader.messages.in:
2831        * WebProcess/Network/WebResourceLoader.cpp:
2832        * WebProcess/Network/WebResourceLoader.h:
2833        * WebProcess/Network/WebResourceLoader.messages.in:
2834
28352013-09-17  Csaba Osztrogonác  <ossy@webkit.org>
2836
2837        WebResourceLoader.messages.in should be ENABLE(NETWORK_PROCESS) guarded
2838        https://bugs.webkit.org/show_bug.cgi?id=121424
2839
2840        Reviewed by Alexey Proskuryakov.
2841
2842        Original patch by Balazs Kelemen <kbalazs@webkit.org>.
2843
2844        * CMakeLists.txt:
2845        * DerivedSources.pri:
2846        * GNUmakefile.am:
2847        * GNUmakefile.list.am:
2848        * WebProcess/Network/WebResourceLoader.messages.in: ENABLE(NETWORK_PROCESS) guard added.
2849
28502013-09-16  Manuel Rego Casasnovas  <rego@igalia.com>
2851
2852        Unreviewed, fixing the GTK WK2 debug build after r155911.
2853
2854        * UIProcess/API/gtk/WebKitFaviconDatabase.cpp: Add missing using
2855        namespace WebCore.
2856
28572013-09-16  Sergio Correia  <sergio.correia@openbossa.org>
2858
2859        Fix EFL build after r155888
2860        https://bugs.webkit.org/show_bug.cgi?id=121465
2861
2862        Reviewed by Gyuyoung Kim.
2863
2864        Update WebView to follow the changes in PageClient in r155888.
2865
2866        * UIProcess/CoordinatedGraphics/WebView.cpp:
2867        (WebKit::WebView::createDrawingAreaProxy): Use createOwned (addded in
2868        r155407) to return the DrawingAreaProxy from DrawingAreaProxyImpl.
2869        * UIProcess/CoordinatedGraphics/WebView.h: Update createDrawingAreaProxy()
2870        signature to match PageClient.h.
2871
28722013-09-16  Gustavo Noronha Silva  <gns@gnome.org>
2873
2874        [GTK] Make symbol export filter more strict, and disable for dev/test builds
2875        https://bugs.webkit.org/show_bug.cgi?id=120586
2876
2877        Reviewed by Martin Robinson.
2878
2879        * GNUmakefile.am: only use the version script if developer mode is disabled.
2880
28812013-09-16  Gustavo Noronha Silva  <gns@gnome.org>
2882
2883        Unreviewed build fix after 155905.
2884
2885        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
2886        (CoreIPC::Connection::sendOutgoingMessage): use OwnPtr instead of PassOwnPtr.
2887
28882013-09-16  Joseph Pecoraro  <pecoraro@apple.com>
2889
2890        Add RunLoop::isMain and use it in WebKit2
2891        https://bugs.webkit.org/show_bug.cgi?id=121459
2892
2893        Reviewed by Anders Carlsson.
2894
2895        * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
2896        (getIconSurfaceSynchronously):
2897        (iconDataReadyForPageURLCallback):
2898        (webkit_favicon_database_get_favicon_uri):
2899        * UIProcess/API/mac/WKPrintingView.mm:
2900        (-[WKPrintingView _delayedResumeAutodisplayTimerFired]):
2901        (-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]):
2902        (pageDidDrawToImage):
2903        (pageDidDrawToPDF):
2904        (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]):
2905        (pageDidComputePageRects):
2906        (-[WKPrintingView _askPageToComputePageRects]):
2907        (prepareDataForPrintingOnSecondaryThread):
2908        (-[WKPrintingView knowsPageRange:]):
2909        (-[WKPrintingView _drawPreview:]):
2910        (-[WKPrintingView drawRect:]):
2911        (-[WKPrintingView _drawPageBorderWithSizeOnMainThread:]):
2912        (-[WKPrintingView drawPageBorderWithSize:]):
2913        * UIProcess/WebProcessProxy.cpp:
2914        (WebKit::globalPageMap):
2915
29162013-09-16  Anders Carlsson  <andersca@apple.com>
2917
2918        Replace more uses of PassOwnPtr with OwnPtr in WebKit2
2919        https://bugs.webkit.org/show_bug.cgi?id=121453
2920
2921        Reviewed by Sam Weinig.
2922
2923        * Platform/CoreIPC/Connection.cpp:
2924        (CoreIPC::Connection::SecondaryThreadPendingSyncReply::SecondaryThreadPendingSyncReply):
2925        (CoreIPC::Connection::createSyncMessageEncoder):
2926        (CoreIPC::Connection::sendMessage):
2927        (CoreIPC::Connection::sendSyncReply):
2928        (CoreIPC::Connection::waitForMessage):
2929        (CoreIPC::Connection::sendSyncMessage):
2930        (CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
2931        (CoreIPC::Connection::waitForSyncReply):
2932        (CoreIPC::Connection::processIncomingSyncReply):
2933        (CoreIPC::Connection::processIncomingMessage):
2934        (CoreIPC::Connection::enqueueIncomingMessage):
2935        (CoreIPC::Connection::dispatchMessage):
2936        * Platform/CoreIPC/Connection.h:
2937        (CoreIPC::Connection::PendingSyncReply::PendingSyncReply):
2938        * Platform/CoreIPC/mac/ConnectionMac.cpp:
2939        (CoreIPC::Connection::sendOutgoingMessage):
2940
29412013-09-16  Zan Dobersek  <zdobersek@igalia.com>
2942
2943        Unreviewed, fixing the GTK WK2 build after r155888.
2944
2945        * UIProcess/API/gtk/PageClientImpl.cpp:
2946        (WebKit::PageClientImpl::createDrawingAreaProxy):
2947        * UIProcess/API/gtk/PageClientImpl.h:
2948
29492013-09-16  Anders Carlsson  <andersca@apple.com>
2950
2951        Remove some uses of PassOwnPtr in WebKit2
2952        https://bugs.webkit.org/show_bug.cgi?id=121443
2953
2954        Reviewed by Andreas Kling.
2955
2956        * Scripts/webkit2/messages.py:
2957        (message_to_struct_declaration):
2958        (generate_message_handler):
2959        * Scripts/webkit2/messages_unittest.py:
2960        * UIProcess/API/mac/FindIndicatorWindow.h:
2961        * UIProcess/API/mac/FindIndicatorWindow.mm:
2962        * UIProcess/API/mac/PageClientImpl.h:
2963        * UIProcess/API/mac/PageClientImpl.mm:
2964        (WebKit::PageClientImpl::createDrawingAreaProxy):
2965        * UIProcess/API/mac/WKView.mm:
2966        (-[WKView WebKit::]):
2967        (-[WKView _setFindIndicator:fadeOut:animate:]):
2968        * UIProcess/API/mac/WKViewInternal.h:
2969        * UIProcess/DrawingAreaProxyImpl.cpp:
2970        * UIProcess/DrawingAreaProxyImpl.h:
2971        * UIProcess/PageClient.h:
2972        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
2973        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
2974        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
2975        (PageOverlayClientImpl::PageOverlayClientImpl):
2976        (WKBundlePageOverlayCreate):
2977        * WebProcess/Plugins/PluginView.cpp:
2978        (WebKit::PluginView::createWebEvent):
2979        * WebProcess/Plugins/PluginView.h:
2980
29812013-09-16  Andre Moreira Magalhaes   <andre.magalhaes@collabora.co.uk>
2982
2983        Web Inspector: Do not try to parse incomplete HTTP requests
2984        https://bugs.webkit.org/show_bug.cgi?id=121123
2985
2986        Reviewed by Carlos Garcia Campos.
2987
2988        Update to incorporate additional review suggestions.
2989
2990        * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
2991        (sendIncompleteRequest):
2992        Fix memory leaks, change test timeout from 2 seconds to 1 second,
2993        use "0" instead of "NULL" and use g_assert_no_error when checking
2994        for GError.
2995
29962013-09-16  Eunmi Lee  <eunmi15.lee@samsung.com>
2997
2998        [EFL][WK2] Implement pan and flick gesture.
2999        https://bugs.webkit.org/show_bug.cgi?id=107101
3000
3001        Reviewed by Gyuyoung Kim.
3002
3003        Implement pan gesture to scroll page by movement of point and stop
3004        scrolling smoothly using ease-in-out-quad algorithm after touched
3005        point is removed from the screen.
3006
3007        Use Ecore_Animator in order to process movement once per each framing
3008        time slot instead of processing all movement.
3009
3010        * PlatformEfl.cmake:
3011        * UIProcess/API/efl/EwkView.cpp:
3012        (EwkView::scrollBy):
3013        * UIProcess/API/efl/EwkView.h:
3014        * UIProcess/API/efl/GestureRecognizer.cpp:
3015        (WebKit::GestureHandler::view):
3016        (WebKit::GestureHandler::GestureHandler):
3017        (WebKit::GestureHandler::~GestureHandler):
3018        (WebKit::GestureHandler::reset):
3019        (WebKit::GestureHandler::panAnimatorCallback):
3020        (WebKit::GestureHandler::handlePanStarted):
3021        (WebKit::GestureHandler::handlePan):
3022        (WebKit::GestureHandler::handlePanFinished):
3023        (WebKit::GestureHandler::flickAnimatorCallback):
3024        (WebKit::GestureHandler::handleFlick):
3025        (WebKit::GestureRecognizer::noGesture):
3026        (WebKit::GestureRecognizer::reset):
3027        * UIProcess/efl/EasingCurves.cpp: Added.
3028        (WebKit::easeInOutQuad):
3029        * UIProcess/efl/EasingCurves.h: Added.
3030
30312013-09-16  Wojciech Bielawski  <w.bielawski@samsung.com>
3032
3033        [WKTR] WebKitTestRunner's eventSender.contextClick() returns objects without implemented click() method.
3034        https://bugs.webkit.org/show_bug.cgi?id=98410
3035
3036        Reviewed by Darin Adler.
3037
3038        Add API required to implement click() method for context menu entry, used by WebkitTestRunner::EventSender.
3039
3040        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3041        (WKBundlePageClickMenuItem):
3042        (WKBundlePageCopyContextMenuItemTitle):
3043        (WKBundlePageGetContextMenuItems):
3044        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
3045
30462013-09-15  Gustavo Noronha Silva  <gns@gnome.org>
3047
3048        Unreviewed make distcheck fix.
3049
3050        * GNUmakefile.list.am:
3051
30522013-09-15  Carlos Garcia Campos  <cgarcia@igalia.com>
3053
3054        [GTK] The web inspector is not rendered when docked in WebKit2 when AC is used
3055        https://bugs.webkit.org/show_bug.cgi?id=121381
3056
3057        Reviewed by Martin Robinson.
3058
3059        When accelerated compositing results are rendered we return early
3060        from webkitWebViewBaseDraw and other WebView children are not
3061        drawn. We need to chain up the draw signal handler, so that the
3062        GtkContainer propagates the draw to all its children.
3063
3064        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3065        (webkitWebViewBaseDraw):
3066
30672013-09-14  Dan Bernstein  <mitz@apple.com>
3068
3069        Remove non-Apple cruft from the installed WKBase.h
3070        https://bugs.webkit.org/show_bug.cgi?id=121370
3071
3072        Reviewed by Darin Adler.
3073
3074        * Configurations/WebKit2.xcconfig: Set INSTALLHDRS_SCRIPT_PHASE to YES.
3075        * WebKit2.xcodeproj/project.pbxproj: Added a script build phase that runs unifdef on
3076        the installed WKBase.h with __APPLE__ defined and various BUILDING_* and WTF_USE_* symbols
3077        undefined.
3078
30792013-09-14  Dan Bernstein  <mitz@apple.com>
3080
3081        Build fix after r155770.
3082
3083        * UIProcess/API/mac/WKViewPrivate.h: Added WKBase.h import.
3084
30852013-09-14  Dan Bernstein  <mitz@apple.com>
3086
3087        [mac] Public header WKBase.h imports a private header, WKBaseMac.h
3088        https://bugs.webkit.org/show_bug.cgi?id=121216
3089
3090        Reviewed by Darin Adler.
3091
3092        * Shared/API/c/WKBase.h: Moved definitions of enums and WK_EXPORT and WK_INLINE macros
3093        out of this files.
3094        * Shared/API/c/WKDeclarationSpecifiers.h: Copied from Source/WebKit2/Shared/API/c/WKBase.h.
3095        Contains definitions of WK_EXPORT and WK_INLINE.
3096        * Shared/API/c/WKSharedAPICast.h: Added #includes.
3097        * Shared/API/c/WKUserContentInjectedFrames.h: Copied from Source/WebKit2/Shared/API/c/WKBase.h.
3098        Contains enum definition.
3099        * Shared/API/c/WKUserScriptInjectionTime.h: Copied from Source/WebKit2/Shared/API/c/WKBase.h.
3100        Contains enum definition.
3101        * UIProcess/API/C/WKPageGroup.h: Added #includes.
3102        * UIProcess/API/mac/WKBrowsingContextController.h: Removed WKBase.h import from this public
3103        header, replacing it with WKDeclarationSpecifiers.h import.
3104        * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Added WKBase.h import.
3105        * UIProcess/API/mac/WKBrowsingContextGroup.h: Removed WKBase.h import from this public
3106        header, added necessary public imports.
3107        * UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Added WKBase.h import.
3108        * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Removed WKBase.h import from public
3109        header.
3110        * UIProcess/API/mac/WKConnection.h: Ditto. Added WKDeclarationSpecifiers.h import.
3111        * UIProcess/API/mac/WKConnectionInternal.h: Added WKBase.h import.
3112        * UIProcess/API/mac/WKProcessGroup.h: Removed WKBase.h import from public header, added
3113        WKDeclarationSpecifiers.h import.
3114        * UIProcess/API/mac/WKProcessGroupPrivate.h: Added WKBase.h import.
3115        * UIProcess/API/mac/WKView.h: Removed WKBase.h import from public header, added
3116        WKDeclarationSpecifiers.h import.
3117        * WebKit2.xcodeproj/project.pbxproj: Added new public header files, made WKBase.h private.
3118        * WebProcess/InjectedBundle/API/mac/WKDOMNode.h: Removed WKBase.h import from public header,
3119        added WKDeclarationSpecifiers.h import.
3120        * WebProcess/InjectedBundle/API/mac/WKDOMNodePrivate.h: Added WKBase.h import.
3121        * WebProcess/InjectedBundle/API/mac/WKDOMRange.h: Removed WKBase.h import from public
3122        header, added WKDeclarationSpecifiers.h import.
3123        * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h: Added WKBase.h import.
3124        * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h: Removed WKBase.h import from public
3125        header, added WKDeclarationSpecifiers.h import.
3126        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h: Ditto.
3127        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
3128        Added WKBase.h import.
3129
31302013-09-14  Alberto Garcia  <berto@igalia.com>
3131
3132        [GTK] WebKitGTK+ is linking against libxslt in too many places
3133        https://bugs.webkit.org/show_bug.cgi?id=121356
3134
3135        Reviewed by Martin Robinson.
3136
3137        Don't use LIBXSLT_CFLAGS when compiling libWebCoreGtk2, no source
3138        files use libxslt there.
3139
3140        * GNUmakefile.am:
3141
31422013-09-13  Ryuan Choi  <ryuan.choi@samsung.com>
3143
3144        Unreviewed build fix attempt for WK2 build.
3145
3146        * WebProcess/Plugins/PluginView.cpp: Changed ScriptState to ExecState.
3147        (WebKit::PluginView::performJavaScriptURLRequest):
3148
31492013-09-13  Anders Carlsson  <andersca@apple.com>
3150
3151        Use nullptr instead of 0 in calls to HashMap::add
3152        https://bugs.webkit.org/show_bug.cgi?id=121322
3153
3154        Reviewed by Sam Weinig.
3155
3156        * Platform/CoreIPC/Connection.cpp:
3157        (CoreIPC::Connection::SyncMessageState::getOrCreate):
3158        * UIProcess/Storage/StorageManager.cpp:
3159        (WebKit::StorageManager::createLocalStorageMap):
3160        (WebKit::StorageManager::createSessionStorageMap):
3161        (WebKit::StorageManager::getOrCreateLocalStorageNamespace):
3162        * UIProcess/WebProcessProxy.cpp:
3163        (WebKit::WebProcessProxy::addBackForwardItem):
3164        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
3165        (WebKit::InjectedBundleNodeHandle::getOrCreate):
3166        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
3167        (WebKit::InjectedBundleRangeHandle::getOrCreate):
3168        * WebProcess/Storage/StorageNamespaceImpl.cpp:
3169        (WebKit::StorageNamespaceImpl::createLocalStorageNamespace):
3170        * WebProcess/WebProcess.cpp:
3171        (WebKit::WebProcess::createWebPage):
3172        (WebKit::WebProcess::webPageGroup):
3173
31742013-09-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
3175
3176        [GTK] Move to the new web inspector
3177        https://bugs.webkit.org/show_bug.cgi?id=120647
3178
3179        Reviewed by Carlos Garcia Campos.
3180
3181        * GNUmakefile.am: bundle the remote inspector page list HTML into libwebkit2gtk as a GResource.
3182        * UIProcess/API/gtk/tests/GNUmakefile.am: no need to set WEBKIT_INSPECTOR_PATH anymore.
3183        * UIProcess/API/gtk/tests/InspectorTestServer.cpp:
3184        (main): ditto.
3185        * UIProcess/API/gtk/tests/TestInspector.cpp:
3186        (beforeAll): ditto.
3187        * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
3188        (testInspectorServerPageList): update paths to the internal resource ones.
3189        * UIProcess/InspectorServer/WebInspectorServer.h:
3190        * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
3191        (WebKit::WebInspectorServer::platformResourceForPath): ditto.
3192        (WebKit::WebInspectorServer::buildPageList): ditto.
3193        * UIProcess/WebInspectorProxy.cpp:
3194        (WebKit::isMainInspectorPage): factor out checking for the inspector main resource, to make
3195        the code more readable.
3196        (WebKit::decidePolicyForNavigationAction): use SchemeRegistry to figure out whether the
3197        request is for a local resource instead of KURL::isLocalFile() to allow using schemes
3198        other than file:// for the inspector resources.
3199        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
3200        (WebKit::WebInspectorProxy::inspectorPageURL): use the new internal resource URL; since it's now
3201        static we no longer need to generate and store the string.
3202        (WebKit::WebInspectorProxy::inspectorBaseURL): ditto.
3203        * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
3204        (WebKit::WebInspector::localizedStringsURL): use the new internal resource URL.
3205        * UIProcess/gtk/WebContextGtk.cpp:
3206        (WebKit::WebContext::platformInitializeWebProcess): register resource as a local scheme.
3207
32082013-09-13  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3209
3210        Fix build with namespaced Qt.
3211
3212        Unreviewed build fix.
3213
3214        One forward declaration of QUrl was missing proper namespace macros.
3215
3216        * UIProcess/API/qt/qquickurlschemedelegate_p.h:
3217
32182013-09-12  Simon Fraser  <simon.fraser@apple.com>
3219
3220        Avoid extra scrollbar-related layouts for overlay scrollbars
3221        https://bugs.webkit.org/show_bug.cgi?id=121267
3222
3223        Reviewed by Beth Dakin.
3224        
3225        view->resize() will call setNeedsLayout() if necessary, and may already have
3226        done layout, so the extra setNeedsLayout() here was bad.
3227
3228        * WebProcess/WebPage/WebPage.cpp:
3229        (WebKit::WebPage::setSize):
3230
32312013-09-12  Andre Moreira Magalhaes   <andre.magalhaes@collabora.co.uk>
3232
3233        Web Inspector: Do not try to parse incomplete HTTP requests
3234        https://bugs.webkit.org/show_bug.cgi?id=121123
3235
3236        Reviewed by Darin Adler.
3237
3238        When working on a patch for bug #121121 I found an issue with the InspectorServer where it would try
3239        to parse an HTTP message before receiving the full message and thus fail connecting with the
3240        chromedevtools plugin.
3241
3242        What happens is that the WebSocketServerConnection receives buffers on
3243        WebSocketServerConnection::didReceiveSocketStreamData and calls
3244        WebSocketServerConnection::readHTTPMessage which then checks if we have a valid request by calling
3245        HTTPRequest::parseHTTPRequestFromBuffer. If the request is valid it tries to parse the message and
3246        clears the buffer, otherwise it continues adding data to the internal buffer until we have a valid
3247        request.
3248
3249        The problem is that currently HTTPRequest::parseHTTPRequestFromBuffer considers the request as valid
3250        before receiving the full message. To solve this we should make the method check if the request
3251        headers end with a blank line otherwise we consider the request as invalid (see also
3252        http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html).
3253
3254        * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
3255        (sendIncompleteRequest):
3256        (beforeAll):
3257        Add GTK specific test to check if the inspector server replies to incomplete requests.
3258        * UIProcess/InspectorServer/HTTPRequest.cpp:
3259        (WebKit::HTTPRequest::parseHeaders):
3260        Do not consider request valid if headers didn't end with a blank line.
3261
32622013-09-12  Anders Carlsson  <andersca@apple.com>
3263
3264        SharedBuffer::createNSData should return a RetainPtr<NSData>
3265        https://bugs.webkit.org/show_bug.cgi?id=121237
3266
3267        Reviewed by Darin Adler.
3268
3269        Update for WebCore changes.
3270
3271        * UIProcess/API/mac/WKView.mm:
3272        (-[WKView writeSelectionToPasteboard:types:]):
3273        (-[WKView _setPromisedData:WebCore::withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:WebCore::forPasteboard:]):
3274        (-[WKView namesOfPromisedFilesDroppedAtDestination:]):
3275
32762013-09-12  Anders Carlsson  <andersca@apple.com>
3277
3278        SharedBuffer::createCFData should return RetainPtr<CFDataRef>
3279        https://bugs.webkit.org/show_bug.cgi?id=121230
3280
3281        Reviewed by Darin Adler.
3282
3283        * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
3284        (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
3285        * Shared/WebArchiveResource.cpp:
3286        (WebKit::WebArchiveResource::data):
3287
32882013-09-12  Zalan Bujtas  <zalan@apple.com>
3289
3290        REGRESSION: Inline PDF that are cached fail to appear in iframe.
3291        https://bugs.webkit.org/show_bug.cgi?id=75449
3292
3293        Reviewed by Darin Adler.
3294
3295        Make sure 'frame is from page cache' flag is set for subframes too.
3296
3297        WebFrameLoaderClient::m_frameCameFromPageCache == true forces plugins
3298        to be loaded manually. It ensures that the plugin raw data is fetched again
3299        while the containing frame is being restored from the page cache.
3300        (Plugins get destroyed when the frame goes to page cache.)
3301
3302        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3303        (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
3304        This gets called only on the frame where the actual history navigation happens.
3305        (WebKit::WebFrameLoaderClient::didRestoreFromPageCache):
3306        This gets called for all the restored frames.
3307
33082013-09-11  Simon Fraser  <simon.fraser@apple.com>
3309
3310        Make sure that layout is up-to-date when moving a WKView into a window, to avoid !needsLayout() assertions in RenderView::paint()
3311        https://bugs.webkit.org/show_bug.cgi?id=121196
3312
3313        Reviewed by Tim Horton.
3314        
3315        When a WKView was moved into a window, it was possible for us to paint
3316        without ensuring that layout is up-to-date. Fix this by having
3317        WebPage::setIsInWindow() update layout if we are moving to a window.
3318
3319        * WebProcess/WebPage/WebPage.cpp:
3320        (WebKit::WebPage::setIsInWindow):
3321
33222013-09-11  Mario Sanchez Prada  <mario.prada@samsung.com>
3323
3324        [GTK] Remove Gail dependency from build system for GTK3
3325        https://bugs.webkit.org/show_bug.cgi?id=119673
3326
3327        Reviewed by Gustavo Noronha Silva.
3328
3329        * GNUmakefile.am: Removed GAIL_LIBS.
3330
33312013-09-11  Alberto Garcia  <berto@igalia.com>
3332
3333        [WK2] [GTK] LayerTreeHostGtk: don't set m_isValid to false if glContext() returns null
3334        https://bugs.webkit.org/show_bug.cgi?id=120892
3335
3336        Reviewed by Martin Robinson.
3337
3338        If the GL context cannot be created then m_isValid is set to false
3339        during the initialization of LayerTreeHostGtk.
3340
3341        This is not really necessary since the rest of the code already
3342        deals with that situation, so it doesn't have any effect other
3343        than breaking the assertion in invalidate().
3344
3345        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
3346        (WebKit::LayerTreeHostGtk::initialize):
3347
33482013-09-11  Commit Queue  <commit-queue@webkit.org>
3349
3350        Unreviewed, rolling out r154899.
3351        http://trac.webkit.org/changeset/154899
3352        https://bugs.webkit.org/show_bug.cgi?id=121162
3353
3354        It didn't fix the problem and broke other unit tests
3355        (Requested by KaL on #webkit).
3356
3357        * UIProcess/API/gtk/tests/WebViewTest.cpp:
3358        (WebViewTest::resizeView):
3359
33602013-09-11  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3361
3362        WTF::OwnPtr should behave similarly with the rest of WTF smart pointers
3363        https://bugs.webkit.org/show_bug.cgi?id=120773
3364
3365        Reviewed by Anders Carlsson.
3366
3367        Before the change OwnPtr could take either the pointer type or the pointed-to type, which was bad
3368        for the following reasons:
3369        - It distinguished OwnPtr behaviour from other WTF smart pointer classes behaviour (so it was confusing for the Client).
3370        - It was potential error-prone as it actually modified the type given by the Client in opaque way.
3371
3372        * UIProcess/API/efl/ewk_database_manager.cpp:
3373        (getDatabaseOriginsCallback):
3374        * UIProcess/API/efl/ewk_storage_manager.cpp:
3375        (getStorageOriginsCallback):
3376
33772013-09-11  ChangSeok Oh  <changseok.oh@collabora.com>
3378
3379        Unreviewed build fix.
3380
3381        * GNUmakefile.list.am: Duplicated NetscapePluginModuleNone.cpp & NetscapePluginNone.cpp.
3382        They cause build breaks of multiple definitions when targeting wayland build.
3383
33842013-09-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3385
3386        Generate more HTML type checks and casting
3387        https://bugs.webkit.org/show_bug.cgi?id=121080
3388
3389        Reviewed by Andreas Kling.
3390
3391        Clean-up remained functions of HTML elements using auto-generated isFooElement(),
3392        and replace toFooElement() with ELEMENT_TYPE_CASTS() macro.
3393
3394        Besides this patch clean-up unnecessary checks which are being supported by
3395        auto-generated isFooElement().
3396
3397        * WebProcess/WebPage/WebFrame.cpp:
3398        (WebKit::WebFrame::containsAnyFormControls):
3399
34002013-09-10  Marcelo Morais  <m.morais@samsung.com>
3401
3402        [EFL] WebInspector: Move to new webinspector
3403        https://bugs.webkit.org/show_bug.cgi?id=119559
3404
3405        Reviewed by Gyuyoung Kim.
3406
3407        Loading the new Web Inspector page instead of the old inspector.
3408        Co-Author: Andre Loureiro <andre.vl@samsung.com>
3409
3410        * UIProcess/efl/WebInspectorProxyEfl.cpp:
3411        (WebKit::WebInspectorProxy::inspectorPageURL):
3412
34132013-09-10  Sergio Villar Senin  <svillar@igalia.com>
3414
3415        [WK2][GTK] Frequent crashes when showing context menus in Debug builds
3416        https://bugs.webkit.org/show_bug.cgi?id=121099
3417
3418        Reviewed by Carlos Garcia Campos.
3419
3420        Disconnect signal handlers when destroying the context menu proxy
3421        object. This avoids use-after-free crashes when opening several
3422        context menus in a row.
3423
3424        * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
3425        (WebKit::WebContextMenuProxyGtk::append):
3426        (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk):
3427        * UIProcess/gtk/WebContextMenuProxyGtk.h:
3428
34292013-09-10  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3430
3431        [Qt] make use of qtHaveModule() 
3432        https://bugs.webkit.org/show_bug.cgi?id=121090
3433
3434        Reviewed by Jocelyn Turcotte.
3435        Patch by Oswald Buddenhagen <oswald.buddenhagen@digia.com>
3436
3437        Use qtHaveModule instead of our own haveQtModule.
3438
3439        * WebProcess.pro:
3440
34412013-09-10  Carlos Garcia Campos  <cgarcia@igalia.com>
3442
3443        [GTK] /webkit2/WebKitWebView/default-menu fails when GtkSettings:gtk-show-input-method-menu is disabled
3444        https://bugs.webkit.org/show_bug.cgi?id=121088
3445
3446        Reviewed by Xan Lopez.
3447
3448        * UIProcess/API/gtk/tests/TestContextMenu.cpp: Always check
3449        Unicode submenu is present in default context menu for editable
3450        content.
3451
34522013-09-09  Dean Jackson  <dino@apple.com>
3453
3454        [WebGL] Allow multithreaded OpenGL contexts
3455        https://bugs.webkit.org/show_bug.cgi?id=121062
3456
3457        Reviewed by Simon Fraser.
3458
3459        Expose a new preference "multithreadedWebGLEnabled".
3460
3461        * Shared/WebPreferencesStore.h:
3462        * UIProcess/API/C/WKPreferences.cpp:
3463        (WKPreferencesSetMultithreadedWebGLEnabled):
3464        (WKPreferencesGetMultithreadedWebGLEnabled):
3465        * UIProcess/API/C/WKPreferencesPrivate.h:
3466        * WebProcess/WebPage/WebPage.cpp:
3467        (WebKit::WebPage::updatePreferences):
3468        * mac/WebKit2.order:
3469
34702013-09-09  Dean Jackson  <dino@apple.com>
3471
3472        Enable WebGL for OS X nightlies
3473        https://bugs.webkit.org/show_bug.cgi?id=121040
3474
3475        Reviewed by Beth Dakin.
3476
3477        * Shared/WebPreferencesStore.h: Set initial value to true.
3478
34792013-09-08  Anders Carlsson  <andersca@apple.com>
3480
3481        Begin moving off of TypeTraits.h
3482        https://bugs.webkit.org/show_bug.cgi?id=121006
3483
3484        Reviewed by Darin Adler.
3485
3486        Convert uses of WTF type traits to STL type traits.
3487
3488        * Platform/CoreIPC/ArgumentCoder.h:
3489        * Platform/CoreIPC/ArgumentCoders.h:
3490        * Platform/CoreIPC/ArgumentDecoder.h:
3491        * Platform/CoreIPC/ArgumentEncoder.h:
3492        * Platform/CoreIPC/Arguments.h:
3493        * Shared/API/c/WKSharedAPICast.h:
3494        (WebKit::toImpl):
3495
34962013-09-09  Gustavo Noronha Silva  <gns@gnome.org>
3497
3498        Unreviewed build fix.
3499
3500        * GNUmakefile.list.am: Typo - left-over \ from a copy/paste, most likely.
3501
35022013-09-09  Anton Obzhirov  <a.obzhirov@samsung.com>
3503
3504        [GTK] Cancel the current active WebKitAuthenticationRequest on load failed
3505        https://bugs.webkit.org/show_bug.cgi?id=120350
3506
3507        Reviewed by Carlos Garcia Campos.
3508
3509        The default dialog does not get closed and the authentication is not cancelled
3510        if loading fails or is stopped on a page which requires HTTP authentication.
3511
3512        This patch cancels the authentication request on load failed
3513        and adds new authentication cancelled signal in WebKitAuthenticationRequest
3514        to allow the application handling of authentication UI.
3515
3516        * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
3517        (authenticationCancelled):
3518        (webkitAuthenticationDialogInitialize):
3519        (webkitAuthenticationDialogDispose):
3520        (webkitAuthenticationDialogNew):
3521        * UIProcess/API/gtk/WebKitAuthenticationDialog.h:
3522        * UIProcess/API/gtk/WebKitAuthenticationRequest.cpp:
3523        (webkit_authentication_request_class_init):
3524        (webkit_authentication_request_cancel):
3525        * UIProcess/API/gtk/WebKitWebView.cpp:
3526        (webkitWebViewAuthenticate):
3527        (webkitWebViewLoadFailed):
3528        (webkitWebViewHandleAuthenticationChallenge):
3529        (webkitWebViewCancelAuthenticationRequest):
3530        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
3531        (testWebViewAuthenticationLoadCancelled):
3532        (beforeAll):
3533
35342013-09-09  Brian Holt  <brian.holt@samsung.com>
3535
3536        [GTK][WK2] Update ContextMenu Download API
3537        https://bugs.webkit.org/show_bug.cgi?id=120763
3538
3539        Reviewed by Carlos Garcia Campos.
3540
3541        Mark the new Download items in the Context Menu with the Since
3542        tag, and include a unit test for Context Menu audio.
3543
3544        * UIProcess/API/gtk/WebKitContextMenuActions.h:
3545        * UIProcess/API/gtk/tests/TestContextMenu.cpp:
3546        (testContextMenuDefaultMenu):
3547
35482013-09-08  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3549
3550        [wk2] REGRESSION (r154673): PDF scrolling moves very slowly
3551        https://bugs.webkit.org/show_bug.cgi?id=120542
3552
3553        Reviewed by Tim Horton.
3554
3555        Handle 'wheel' events in addition to 'mousewheel'. This fixes
3556        PDF scrolling.
3557
3558        * WebProcess/Plugins/PluginView.cpp:
3559        (WebKit::PluginView::handleEvent):
3560
35612013-09-08  Anders Carlsson  <andersca@apple.com>
3562
3563        Move WTF::notFound to Vector.h and delete NotFound.h
3564        https://bugs.webkit.org/show_bug.cgi?id=120990
3565
3566        Reviewed by Sam Weinig.
3567
3568        * Shared/EditorState.h:
3569
35702013-09-07  Anders Carlsson  <andersca@apple.com>
3571
3572        Get rid of PassOwnArrayPtr
3573        https://bugs.webkit.org/show_bug.cgi?id=120964
3574
3575        Reviewed by Andreas Kling.
3576
3577        Remove unneeded includes.
3578
3579        * Shared/ImmutableArray.h:
3580        * WebProcess/InjectedBundle/InjectedBundle.cpp:
3581
35822013-09-06  Ryosuke Niwa  <rniwa@webkit.org>
3583
3584        Range::ownerDocument should return Document&
3585        https://bugs.webkit.org/show_bug.cgi?id=120908
3586
3587        Reviewed by Andreas Kling.
3588
3589        * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
3590        (-[WKDOMRange textRects]):
3591
35922013-09-05  Ryuan Choi  <ryuan.choi@samsung.com>
3593
3594        [CMAKE] Add c++0x into CXX_FLAGS as a default
3595        https://bugs.webkit.org/show_bug.cgi?id=120812
3596
3597        Unreviewed build fix for EFL ports.
3598
3599        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h: Added constexpr for in-class initialization.
3600        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp: Added space between strings.
3601        (EWK2UnitTest::EWK2UnitTestEnvironment::defaultTestPageUrl):
3602        (EWK2UnitTest::EWK2UnitTestEnvironment::defaultTheme):
3603        (EWK2UnitTest::EWK2UnitTestEnvironment::urlForResource):
3604
36052013-09-05  Alexey Proskuryakov  <ap@apple.com>
3606
3607        WKFullScreenWindowController extends lifetime of WKView, deleting it at a wrong time
3608        https://bugs.webkit.org/show_bug.cgi?id=120792
3609        <rdar://problem/14884666>
3610
3611        Reviewed by Jer Noble.
3612
3613        * UIProcess/API/mac/WKView.mm: (-[WKView fullScreenWindowController]):
3614        Use a newly minted initializer for the controller.
3615
3616        * UIProcess/mac/WKFullScreenWindowController.h: Removed unused web view accessors.
3617        Changed the class to take web view at initialization time.
3618
3619        * UIProcess/mac/WKFullScreenWindowController.mm:
3620        (-[WKFullScreenWindowController initWithWindow:webView:]): Initialize the controller
3621        inone step.
3622        (-[WKFullScreenWindowController dealloc]): WebView is now a raw pointer, no need
3623        to zero it.
3624        (-[WKFullScreenWindowController close]): Make sure to not leave a dangling WKView
3625        pointer (this method is indirectly but inevitably called when WKView is deallocated).
3626
36272013-09-05  Anders Carlsson  <andersca@apple.com>
3628
3629        Replace uses of CLANG_PRAGMA with #pragma
3630
3631        Rubber-stamped by Andreas Kling.
3632
3633        This file is only compiled by clang anyway.
3634
3635        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
3636        (WebKit::InjectedBundle::load):
3637
36382013-09-05  Anders Carlsson  <andersca@apple.com>
3639
3640        GCAssertions.h should use STL type traits and static_assert
3641        https://bugs.webkit.org/show_bug.cgi?id=120785
3642
3643        Reviewed by Andreas Kling.
3644
3645        Update for JavaScriptCore changes.
3646
3647        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
3648
36492013-09-05  Alberto Garcia  <berto@igalia.com>
3650
3651        [WK2] [GTK] Remove the test to disable AC under Wayland from WebKitWebViewGroup
3652        https://bugs.webkit.org/show_bug.cgi?id=120762
3653
3654        Reviewed by Gustavo Noronha Silva.
3655
3656        The code to disable AC under Wayland is not run if we're using
3657        WebKitTestRunner, so it would be better to move it to
3658        WebKitWebViewBase.
3659
3660        However it's not really necessary to do that, instead it's much
3661        simpler to disable accelerated compositing in all cases unless we
3662        know we can support it.
3663
3664        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3665        (webkitWebViewBaseUpdatePreferences):
3666        * UIProcess/API/gtk/WebKitWebViewGroup.cpp:
3667        (webkitWebViewGroupAttachSettingsToPageGroup):
3668
36692013-09-04  Alberto Garcia  <berto@igalia.com>
3670
3671        [WK2][GTK] ASSERTION in WebKit::LayerTreeHostGtk::invalidate
3672        https://bugs.webkit.org/show_bug.cgi?id=117733
3673
3674        Reviewed by Martin Robinson.
3675
3676        If the GL context cannot be created then an invalid
3677        LayerTreeHostGtk object will be returned.
3678
3679        This patch disables accelerated compositing if the system doesn't
3680        support it.
3681
3682        * UIProcess/API/gtk/WebKitWebView.cpp:
3683        (webkitWebViewUpdateSettings):
3684        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3685        (webkitWebViewBaseUpdatePreferences):
3686        (webkitWebViewBaseCreateWebPage):
3687        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
3688
36892013-09-04  Commit Queue  <commit-queue@webkit.org>
3690
3691        Unreviewed, rolling out r154989.
3692        http://trac.webkit.org/changeset/154989
3693        https://bugs.webkit.org/show_bug.cgi?id=120678
3694
3695        This patch might broke apps using webkitgtk not from the main
3696        thread (Requested by msanchez on #webkit).
3697
3698        * UIProcess/API/gtk/WebKitWebView.cpp:
3699        (webkitWebViewRunAsModal):
3700        * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
3701        (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
3702
37032013-09-04  Zan Dobersek  <zdobersek@igalia.com>
3704
3705        [GTK] Add support for the Wayland build target
3706        https://bugs.webkit.org/show_bug.cgi?id=120627
3707
3708        Reviewed by Gustavo Noronha Silva.
3709
3710        * GNUmakefile.list.am: Build X11-specific NetscapePluginModule and NetscapePlugin classes if building the X11 target,
3711        fall back to the generic, empty classes otherwise.
3712        * PluginProcess/unix/PluginProcessMainUnix.cpp:
3713        (WebKit::PluginProcessMainUnix): Guard the NetscapePluginModule::scanPlugin() invocation with PLUGIN_ARCHITECTURE(X11),
3714        it's at the moment specific to the X11 implementation of the Netscape plugins.
3715        * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: Guard PluginProcessProxy::scanPlugin() with PLUGIN_ARCHITECTURE(X11),
3716        just like it's guarded in the PluginProcessProxy class declaration.
3717        * UIProcess/cairo/BackingStoreCairo.cpp: Additionally guard <gdk/gdkx.h> and WidgetBackingStoreGtkX11 inclusion and use
3718        with PLATFORM(X11), this code should only be built when building the X11 target.
3719        (WebKit::createBackingStoreForGTK):
3720        * UIProcess/gtk/WebPageProxyGtk.cpp: Guard the createPluginContainer() and windowedPluginGeometryDidChange() methods and their
3721        helper functions and objects with PLUGIN_ARCHITECTURE(X11), just like they're guarded in the WebPageProxy class declaration.
3722        * config.h: Only define PLUGIN_ARCHITECTURE_X11 to 1 if we're actually building the X11 target.
3723
37242013-09-03  Darin Adler  <darin@apple.com>
3725
3726        REGRESSION (r154967) window resize is very choppy
3727        https://bugs.webkit.org/show_bug.cgi?id=120653
3728
3729        Reviewed by Andreas Kling.
3730
3731        Andreas Kling spotted the bad change.
3732
3733        * Platform/CoreIPC/Connection.cpp:
3734        (CoreIPC::Connection::waitForMessage): Roll out this incorrect change.
3735        The code here is not the same as a call to take.
3736
37372013-09-03  Anton Obzhirov  <a.obzhirov@samsung.com>
3738
3739        [GTK] gdk threads deprecated functions calls should be refactored
3740        https://bugs.webkit.org/show_bug.cgi?id=120070
3741
3742        Reviewed by Mario Sanchez Prada.
3743
3744        Removed deprecated functions gdk_threads_leave()/gdk_threads_enter() functions since
3745        there is no more checks for threads lock in GTK 3.6.
3746
3747        * UIProcess/API/gtk/WebKitWebView.cpp:
3748        (webkitWebViewRunAsModal):
3749        * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
3750        (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
3751
37522013-09-03  Brian Holt  <brian.holt@samsung.com>
3753
3754        [GTK] [WK2] TestContextMenu default-menu fails
3755        https://bugs.webkit.org/show_bug.cgi?id=120459
3756
3757        Reviewed by Gustavo Noronha Silva.
3758
3759        Add context menu items for downloading media elements.
3760
3761        * UIProcess/API/gtk/WebKitContextMenuActions.cpp:
3762        (webkitContextMenuActionGetActionTag):
3763        (webkitContextMenuActionGetForContextMenuItem):
3764        (webkitContextMenuActionGetLabel):
3765        * UIProcess/API/gtk/WebKitContextMenuActions.h:
3766        * UIProcess/API/gtk/tests/TestContextMenu.cpp:
3767
37682013-09-02  Darin Adler  <darin@apple.com>
3769
3770        Cut down on double hashing and code needlessly using hash table iterators
3771        https://bugs.webkit.org/show_bug.cgi?id=120611
3772
3773        Reviewed by Andreas Kling.
3774
3775        * Platform/CoreIPC/Connection.cpp:
3776        (CoreIPC::Connection::waitForMessage): Use take instead of find/remove.
3777
3778        * UIProcess/WebPreferences.cpp:
3779        (WebKit::WebPreferences::removePageGroup): Use the return value from remove
3780        instead of find/remove.
3781
3782        * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
3783        (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
3784        (WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
3785        Use take instead of find/remove.
3786
3787        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3788        (WebKit::NetscapePlugin::frameDidFinishLoading): Use take instead of find/remove.
3789        (WebKit::NetscapePlugin::frameDidFail): Use take instead of find/remove.
3790
3791        * WebProcess/WebPage/WebBackForwardListProxy.cpp:
3792        (WebKit::WebBackForwardListProxy::removeItem): Use take instead of find/remove.
3793
3794        * WebProcess/WebPage/WebPage.cpp:
3795        (WebKit::WebPage::didFinishCheckingText): Use take instead of get/remove so we
3796        hash only once.
3797        (WebKit::WebPage::didCancelCheckingText): Ditto.
3798        (WebKit::WebPage::stopExtendingIncrementalRenderingSuppression): Use the return
3799        value from remove instead of contains/remove so we hash only once.
3800
38012013-09-02  Darin Adler  <darin@apple.com>
3802
3803        [Mac] No need for HardAutorelease, which is same as CFBridgingRelease
3804        https://bugs.webkit.org/show_bug.cgi?id=120569
3805
3806        Reviewed by Andy Estes.
3807
3808        * Platform/mac/StringUtilities.mm:
3809        (WebKit::nsStringFromWebCoreString): Use CFBridgingRelease. Also
3810        changed condition to be a little cleaner and use a constant string for empty
3811        strings as well as null strings.
3812
3813        * UIProcess/API/mac/WKBrowsingContextController.mm:
3814        (autoreleased): Switched from autorelease to CFBridgingRelease for strings,
3815        which eliminates a type cast and makes this work under GC, although I don't
3816        think we should compile WebKit2 for GC.
3817
3818        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
3819        (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
3820        Use CFBridgingRelease.
3821
38222013-09-02  Csaba Osztrogonác  <ossy@webkit.org>
3823
3824        REGRESSION(r154909): caused many crashes on Qt WK2, EFL WK2
3825        https://bugs.webkit.org/show_bug.cgi?id=120600
3826
3827        Reviewed by Andreas Kling.
3828
3829        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
3830        (CoreIPC::::decode): keyTime should be double here too.
3831
38322013-09-01  Alexey Proskuryakov  <ap@apple.com>
3833
3834        [WK2][Mac] Drag and drop tests interfere with user's UI
3835        https://bugs.webkit.org/show_bug.cgi?id=120538
3836
3837        Reviewed by Dan Bernstein.
3838
3839        * UIProcess/API/mac/WKView.mm: (-[WKView _setDragImage:at:linkDrag:]): Make it possible
3840        to override drag initiation in subclasses. It is a bit unfortunate that this exposes
3841        a deprecated API that we call, but probably not unfortunate enough to invent a new
3842        scary looking name for the same function, and conditionally call that if implemented
3843        by subclass.
3844
38452013-08-31  Santosh Mahto  <santosh.ma@samsung.com>
3846
3847        warning: unused parameter point and area in EwkView.cpp:1390
3848        https://bugs.webkit.org/show_bug.cgi?id=120545
3849
3850        Reviewed by Darin Adler.
3851
3852        * UIProcess/API/efl/EwkView.cpp:
3853        (EwkView::didFindZoomableArea): Added UNUSED_PARAM.
3854
38552013-08-31  Jae Hyun Park  <jae.park@company100.net>
3856
3857        Remove unused variable in LayerTreeHost
3858        https://bugs.webkit.org/show_bug.cgi?id=118950
3859
3860        Reviewed by Anders Carlsson.
3861
3862        m_waitingForUIProcess has been renamed to m_isWaitingForRenderer as of
3863        r152183, and it is a private variable in CoordinatedLayerTreeHost. Thus,
3864        we don't need m_waitingForUIProcess in LayerTreeHost.
3865
3866        * WebProcess/WebPage/LayerTreeHost.h:
3867
38682013-08-30  Brian Holt  <brian.holt@samsung.com>
3869
3870        [GTK] [WK2] TestWebKitWebView snapshot fails
3871        https://bugs.webkit.org/show_bug.cgi?id=120404
3872
3873        Reviewed by Darin Adler.
3874
3875        Fixed the snapshot test failure caused by GTK no longer allowing
3876        widgets to resize.  Instead, resize the WebView by resizing the
3877        window and waiting for the event to complete asynchronously.
3878
3879        * UIProcess/API/gtk/tests/WebViewTest.cpp:
3880        (WebViewTest::resizeView):
3881
38822013-08-30  Csaba Osztrogonác  <ossy@webkit.org>
3883
3884        Add USE(PROTECTION_SPACE_AUTH_CALLBACK) guards to canAuthenticateAgainstProtectionSpace()
3885        https://bugs.webkit.org/show_bug.cgi?id=120351
3886
3887        Reviewed by Darin Adler.
3888
3889        * NetworkProcess/AsynchronousNetworkLoaderClient.cpp:
3890        * NetworkProcess/AsynchronousNetworkLoaderClient.h:
3891        * NetworkProcess/NetworkLoaderClient.h:
3892        * NetworkProcess/SynchronousNetworkLoaderClient.cpp:
3893        * NetworkProcess/SynchronousNetworkLoaderClient.h:
3894
38952013-08-30  Gabor Abraham  <abrhm@inf.u-szeged.hu>
3896
3897        Fix, remove unused parameter in UIProcess/WebColorPicker.cpp.
3898        https://bugs.webkit.org/show_bug.cgi?id=120525
3899
3900        Reviewed by Darin Adler.
3901
3902        * UIProcess/WebColorPicker.cpp:
3903        (WebKit::WebColorPicker::showColorPicker):
3904
39052013-08-30  Tamas Czene  <tczene@inf.u-szeged.hu>
3906
3907        Resolve unused parameter warning in WebPlatformStrategies.cpp
3908        https://bugs.webkit.org/show_bug.cgi?id=120515
3909
3910        Reviewed by Darin Adler.
3911
3912        * WebProcess/WebPage/TapHighlightController.cpp:
3913        (WebKit::TapHighlightController::drawRect):
3914
39152013-08-30  Tamas Czene  <tczene@inf.u-szeged.hu>
3916
3917        Resolve unused parameter warning in FindController.cpp
3918        https://bugs.webkit.org/show_bug.cgi?id=120516
3919
3920        Reviewed by Darin Adler.
3921
3922        * WebProcess/WebPage/FindController.cpp:
3923        (WebKit::FindController::drawRect):
3924
39252013-08-30  Tamas Czene  <tczene@inf.u-szeged.hu>
3926
3927        Resolve unused parameter warning in WKBundlePageOverlay.cpp
3928        https://bugs.webkit.org/show_bug.cgi?id=120521
3929
3930        Reviewed by Andreas Kling.
3931
3932        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
3933        (WKBundlePageOverlayFractionFadedIn):
3934
39352013-08-30  Antti Koivisto  <antti@apple.com>
3936
3937        Remove code behind ENABLE(DIALOG_ELEMENT)
3938        https://bugs.webkit.org/show_bug.cgi?id=120467
3939
3940        Reviewed by Darin Adler.
3941
3942        * Configurations/FeatureDefines.xcconfig:
3943
39442013-08-29  Sam Weinig  <sam@webkit.org>
3945
3946        Add ENABLE gaurds for Promises
3947        https://bugs.webkit.org/show_bug.cgi?id=120488
3948
3949        Reviewed by Andreas Kling.
3950
3951        * Configurations/FeatureDefines.xcconfig:
3952
39532013-08-29  Zan Dobersek  <zdobersek@igalia.com>
3954
3955        [Automake] libWebCoreDOM.la could use a better name
3956        https://bugs.webkit.org/show_bug.cgi?id=120232
3957
3958        Reviewed by Martin Robinson.
3959
3960        * GNUmakefile.am: libWebCoreDOM has a new name - libGObjectDOMBindings.
3961
39622013-08-29  Joseph Pecoraro  <pecoraro@apple.com>
3963
3964        Web Inspector: Download Web Archive of Inspected Page
3965        https://bugs.webkit.org/show_bug.cgi?id=119774
3966
3967        Reviewed by Timothy Hatcher.
3968
3969        Update to support InspectorFrontendHost.save's new base64Encoded
3970        parameter. It means the incoming content is binary data, not a string.
3971
3972        * UIProcess/WebInspectorProxy.cpp:
3973        (WebKit::WebInspectorProxy::save):
3974        * UIProcess/WebInspectorProxy.h:
3975        * UIProcess/WebInspectorProxy.messages.in:
3976        * UIProcess/efl/WebInspectorProxyEfl.cpp:
3977        (WebKit::WebInspectorProxy::platformSave):
3978        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
3979        (WebKit::WebInspectorProxy::platformSave):
3980        * UIProcess/mac/WebInspectorProxyMac.mm:
3981        (WebKit::WebInspectorProxy::platformSave):
3982        * UIProcess/qt/WebInspectorProxyQt.cpp:
3983        (WebKit::WebInspectorProxy::platformSave):
3984        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
3985        (WebKit::WebInspectorFrontendClient::save):
3986        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
3987        * WebProcess/WebPage/WebInspector.cpp:
3988        (WebKit::WebInspector::save):
3989        * WebProcess/WebPage/WebInspector.h:
3990
39912013-08-29  Brian Holt  <brian.holt@samsung.com>
3992
3993        [GTK] [WK2] TestWebKitWebView page-visibility fails
3994        https://bugs.webkit.org/show_bug.cgi?id=120406
3995
3996        Reviewed by Gustavo Noronha Silva.
3997
3998        Removed the webkit prefix for document visibility properties.
3999
4000        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
4001        (testWebViewPageVisibility):
4002
40032013-08-28  Chris Curtis  <chris_curtis@apple.com>
4004
4005        https://bugs.webkit.org/show_bug.cgi?id=119548
4006        Refactoring Exception throws.
4007
4008        Reviewed by Geoffrey Garen.
4009        
4010        Moved setting an exception into the vm, These functions changed to use the new functionality.
4011
4012        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
4013        (WebKit::JSNPObject::callMethod):
4014        (WebKit::JSNPObject::callObject):
4015        (WebKit::JSNPObject::callConstructor):
4016        (WebKit::JSNPObject::throwInvalidAccessError):
4017        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
4018        (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
4019
40202013-08-28  Anders Carlsson  <andersca@apple.com>
4021
4022        Allow the Flash plug-in to open its preference pane
4023        https://bugs.webkit.org/show_bug.cgi?id=120431
4024        <rdar://problem/14857039>
4025
4026        Reviewed by Andreas Kling.
4027
4028        Forward the -[NSWorkspace openFile:] call to the UI process and allow opening
4029        the Flash preference pane (if Flash asks for it).
4030
4031        * PluginProcess/PluginProcess.h:
4032        * PluginProcess/mac/PluginProcessMac.mm:
4033        (WebKit::replacedNSWorkspace_openFile):
4034        (WebKit::initializeCocoaOverrides):
4035        (WebKit::PluginProcess::openFile):
4036        * UIProcess/Plugins/PluginProcessProxy.h:
4037        * UIProcess/Plugins/PluginProcessProxy.messages.in:
4038        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
4039        (WebKit::PluginProcessProxy::openURL):
4040        (WebKit::shouldOpenFile):
4041        (WebKit::PluginProcessProxy::openFile):
4042
40432013-08-28  Tamas Czene  <tczene@inf.u-szeged.hu>
4044
4045        [wk2] Resolve unused parameters in WebPlatformStrategies.cpp
4046        https://bugs.webkit.org/show_bug.cgi?id=120410
4047
4048        Reviewed by Darin Adler.
4049
4050        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
4051        (WebKit::WebPlatformStrategies::getPluginInfo):
4052        (WebKit::WebPlatformStrategies::transientLocalStorageNamespace):
4053
40542013-08-28  Tamas Czene  <tczene@inf.u-szeged.hu>
4055
4056        [wk2] Resolve unused parameter warnings in the WebProcess.cpp
4057        https://bugs.webkit.org/show_bug.cgi?id=120412
4058
4059        Reviewed by Darin Adler.
4060
4061        * WebProcess/WebProcess.cpp:
4062        (WebKit::WebProcess::startMemorySampler):
4063
40642013-08-28  Darin Adler  <darin@apple.com>
4065
4066        Eliminate Pasteboard::generalPasteboard
4067        https://bugs.webkit.org/show_bug.cgi?id=120392
4068
4069        Reviewed by Anders Carlsson.
4070
4071        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
4072        (WebKit::WebEditorClient::updateGlobalSelection):
4073        Use createForGlobalSelection instead of generalPasteboard and setSelectionMode.
4074
40752013-08-28  Ábrahám Gábor  <abrhm@inf.u-szeged.hu>
4076
4077        Fix unused variable warning.
4078        https://bugs.webkit.org/show_bug.cgi?id=120396
4079
4080        Reviewed by Allan Sandfeld Jensen.
4081
4082        Fix unused variable compiler warning in PageOverlay.h
4083
4084        * WebProcess/WebPage/PageOverlay.h:
4085        (WebKit::PageOverlay::Client::copyAccessibilityAttributeValue):
4086        (WebKit::PageOverlay::Client::copyAccessibilityAttributeNames):
4087
4088
40892013-08-28  Zan Dobersek  <zdobersek@igalia.com>
4090
4091        [GTK][WK2] Only set up a RedirectedXCompositeWindow if running under an X11 display
4092        https://bugs.webkit.org/show_bug.cgi?id=120321
4093
4094        Reviewed by Gustavo Noronha Silva.
4095
4096        Only set up the RedirectedXCompositeWindow member of the WebKitWebViewBasePrivate struct
4097        if we're running under an X11 display. This is now done in the webkitWebViewBaseConstructed
4098        function rather than the constructor, which is removed.
4099
4100        This allows for the UIProcess to run in a Wayland environment even when built with accelerated
4101        compositing enabled. Of course, at the moment there's no support yet for accelerated compositing
4102        under Wayland, so we fall back to rendering the backing store. No changes are introduced to
4103        the behavior under X11 - accelerated compositing will be used where possible, if supported.
4104
4105        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
4106        (webkitWebViewBaseConstructed):
4107
41082013-08-28  Zan Dobersek  <zdobersek@igalia.com>
4109
4110        [GTK][WK2] Disable accelerated compositing under Wayland
4111        https://bugs.webkit.org/show_bug.cgi?id=120347
4112
4113        Reviewed by Martin Robinson.
4114
4115        Accelerated compositing is not yet supported under the Wayland display protocol,
4116        so it should be disabled. Since it is enabled by default and the GTK WK2 API does
4117        not provide any way to change that, it's enough to disable it when attaching the
4118        WebKitSettings object to the WebPageGroup if running under Wayland.
4119
4120        * UIProcess/API/gtk/WebKitWebViewGroup.cpp:
4121        (webkitWebViewGroupAttachSettingsToPageGroup):
4122
41232013-08-28  Alexandre Abreu  <alexandre.abreu@canonical.com>
4124
4125        Add a 'isMainFrame' parameter to QWebNavigationRequest.
4126        https://bugs.webkit.org/show_bug.cgi?id=118860
4127
4128        Reviewed by Simon Hausmann.
4129
4130        * UIProcess/API/qt/qwebnavigationrequest.cpp:
4131        (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
4132        (QWebNavigationRequest::QWebNavigationRequest):
4133        (QWebNavigationRequest::navigationType):
4134        (QWebNavigationRequest::isMainFrame):
4135        * UIProcess/API/qt/qwebnavigationrequest_p.h:
4136        * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
4137        * UIProcess/qt/QtWebPagePolicyClient.cpp:
4138        (WebKit::QtWebPagePolicyClient::decidePolicyForNavigationAction):
4139        * UIProcess/qt/QtWebPagePolicyClient.h:
4140
41412013-08-27  Luciano Wolf  <luciano.wolf@openbossa.org>
4142
4143        100% cpu usage for "transition: opacity" animation
4144        https://bugs.webkit.org/show_bug.cgi?id=120012
4145
4146        Reviewed by Noam Rosenthal.
4147
4148        Schedule animation timer after scheduling a layer flush. This way it
4149        won't overwrite animation timer with "0", thus avoiding 100% cpu usage.
4150
4151        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
4152        (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
4153
41542013-08-27  Csaba Osztrogonác  <ossy@webkit.org>
4155
4156        [WK2][Soup] Add WebFrameNetworkingContext::webFrameLoaderClient() after r154490
4157        https://bugs.webkit.org/show_bug.cgi?id=120353
4158
4159        Reviewed by Alexey Proskuryakov.
4160
4161        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
4162        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
4163        (WebKit::WebFrameNetworkingContext::webFrameLoaderClient):
4164        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
4165
41662013-08-26  Santosh Mahto  <santosh.ma@samsung.com>
4167
4168        Fixing compilation warning "unused parameter" in WebPageProxy.cpp
4169        https://bugs.webkit.org/show_bug.cgi?id=120205
4170
4171        Reviewed by Anders Carlsson.
4172
4173        * UIProcess/WebPageProxy.cpp:
4174        (WebKit::WebPageProxy::findPlugin):
4175        (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
4176        Added UNUSED_PARAM to avoid warning.
4177
41782013-08-23  Andy Estes  <aestes@apple.com>
4179
4180        Fix issues found by the Clang Static Analyzer
4181        https://bugs.webkit.org/show_bug.cgi?id=120230
4182
4183        Reviewed by Darin Adler.
4184
4185        * UIProcess/API/mac/WKBrowsingContextController.mm:
4186        (autoreleased): Don't leak CFURLs when in Objective-C GC.
4187        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
4188        (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
4189        Don't leak CFStrings when in Objective-C GC.
4190
41912013-08-26  Csaba Osztrogonác  <ossy@webkit.org>
4192
4193        [WK2] Buildfix for non Mac platforms
4194        https://bugs.webkit.org/show_bug.cgi?id=120294
4195
4196        Reviewed by Darin Adler.
4197
4198        * NetworkProcess/AsynchronousNetworkLoaderClient.cpp:
4199        (WebKit::AsynchronousNetworkLoaderClient::didReceiveBuffer):
4200        * NetworkProcess/NetworkResourceLoader.h:
4201
42022013-08-26  Alexey Proskuryakov  <ap@apple.com>
4203
4204        [Mac] can-read-in-dragstart-event.html and can-read-in-copy-and-cut-events.html fail
4205        https://bugs.webkit.org/show_bug.cgi?id=113094
4206
4207        Reviewed by Darin Adler.
4208
4209        Return new pasteboard change count from all functions that change it.
4210
4211        * UIProcess/WebContext.h:
4212        * UIProcess/WebContext.messages.in:
4213        * UIProcess/mac/WebContextMac.mm:
4214        (WebKit::WebContext::pasteboardCopy):
4215        (WebKit::WebContext::addPasteboardTypes):
4216        (WebKit::WebContext::setPasteboardTypes):
4217        (WebKit::WebContext::setPasteboardPathnamesForType):
4218        (WebKit::WebContext::setPasteboardStringForType):
4219        (WebKit::WebContext::setPasteboardBufferForType):
4220        * WebProcess/Plugins/PDF/PDFPlugin.mm:
4221        (WebKit::PDFPlugin::writeItemsToPasteboard):
4222        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
4223        (WebKit::WebPlatformStrategies::copy):
4224        (WebKit::WebPlatformStrategies::changeCount):
4225        (WebKit::WebPlatformStrategies::addTypes):
4226        (WebKit::WebPlatformStrategies::setTypes):
4227        (WebKit::WebPlatformStrategies::setBufferForType):
4228        (WebKit::WebPlatformStrategies::setPathnamesForType):
4229        (WebKit::WebPlatformStrategies::setStringForType):
4230        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
4231
42322013-08-26  Andreas Kling  <akling@apple.com>
4233
4234        Unreviewed build fix.
4235
4236        * WebProcess/WebPage/WebFrame.cpp:
4237        (WebKit::WebFrame::createWithCoreMainFrame):
4238        (WebKit::WebFrame::createSubframe):
4239
42402013-08-26  Pratik Solanki  <psolanki@apple.com>
4241
4242        PageGroup::groupSettings() should return a reference
4243        https://bugs.webkit.org/show_bug.cgi?id=120319
4244
4245        Reviewed by Andreas Kling.
4246
4247        PageGroup::m_groupSettings is never NULL so we can just return a reference from groupSettings().
4248
4249        * WebProcess/Storage/StorageNamespaceImpl.cpp:
4250        (WebKit::StorageNamespaceImpl::createLocalStorageNamespace):
4251
42522013-08-26  Andreas Kling  <akling@apple.com>
4253
4254        WebCore: Let Page create the main Frame.
4255        <https://webkit.org/b/119964>
4256
4257        Reviewed by Anders Carlsson.
4258
4259        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
4260        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
4261        (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
4262
4263            This starts out with a null WebFrame* pointer now.
4264
4265        (WebKit::WebFrameLoaderClient::setWebFrame):
4266
4267            WebFrame hooks itself up through this as soon as it's constructed.
4268
4269        (WebKit::WebFrameLoaderClient::frameLoaderDestroyed):
4270
4271            Tweak an out-of-date comment. The ref() we're balancing out comes from
4272            WebFrame::create().
4273
4274        * WebProcess/WebPage/WebFrame.cpp:
4275        (WebKit::WebFrame::createWithCoreMainFrame):
4276
4277            Rewrote createMainFrame() as createWithCoreMainFrame(). The new method wraps
4278            an existing WebCore::Frame instead of creating a new one.
4279
4280        (WebKit::WebFrame::createSubframe):
4281
4282            Merged WebFrame::init() into here since the logic isn't shared with main
4283            Frame creation anymore.
4284
4285        (WebKit::WebFrame::create):
4286        (WebKit::WebFrame::WebFrame):
4287
4288            Call WebFrameLoaderClient::setWebFrame(this).
4289
4290        * WebProcess/WebPage/WebFrame.h:
4291
4292            WebFrame::m_frameLoaderClient is now an OwnPtr rather than an inline member.
4293            This way it can be created before the WebFrame.
4294
4295        * WebProcess/WebPage/WebPage.cpp:
4296        (WebKit::WebPage::WebPage):
4297
4298            Set up a WebFrameLoaderClient and pass it to the Page constructor along with
4299            the other PageClients.
4300
43012013-08-24  Carlos Garcia Campos  <cgarcia@igalia.com>
4302
4303        [GTK] Add WebKit2 API for isolated worlds
4304        https://bugs.webkit.org/show_bug.cgi?id=103377
4305
4306        Reviewed by Anders Carlsson.
4307
4308        * GNUmakefile.list.am: Add new files to compilation.
4309        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
4310        * UIProcess/API/gtk/tests/TestWebExtensions.cpp:
4311        (testWebExtensionWindowObjectCleared):
4312        (scriptDialogCallback):
4313        (runJavaScriptInIsolatedWorldFinishedCallback):
4314        (testWebExtensionIsolatedWorld):
4315        (beforeAll):
4316        * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
4317        (echoCallback):
4318        (windowObjectCleared):
4319        (getWebPage):
4320        (methodCallCallback):
4321        * WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp:
4322        (webkit_frame_get_javascript_context_for_script_world): New public
4323        method to tget the JavaScript execution context for a given script
4324        world.
4325        * WebProcess/InjectedBundle/API/gtk/WebKitFrame.h:
4326        * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.cpp: Added.
4327        (scriptWorlds): Global WebKitScriptWorld map.
4328        (_WebKitScriptWorldPrivate::~_WebKitScriptWorldPrivate):
4329        (webkitScriptWorldGet): Get the WebKitScriptWorld wrapping the
4330        given injected bundle script world.
4331        (webkitScriptWorldGetInjectedBundleScriptWorld): Get the injected
4332        bundle script world wrapped by the given WebKitScriptWorld.
4333        (webkitScriptWorldWindowObjectCleared): Emit
4334        WebKitScriptWorld::window-object-cleared signal.
4335        (webkitScriptWorldCreate): Create a new WebKitScriptWorld wrapping
4336        the given injected bundle script world.
4337        (createDefaultScriptWorld): Create the default WebKitScriptWorld
4338        wrapping the normal world.
4339        (webkit_script_world_get_default): Return the default WebKitScriptWorld.
4340        (webkit_script_world_new): Create a new isolated WebKitScriptWorld.
4341        * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.h: Added.
4342        * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorldPrivate.h: Added.
4343        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
4344        (didClearWindowObjectForFrame): Call webkitScriptWorldWindowObjectCleared().
4345        (webkitWebPageCreate): Add implementation for callback
4346        didClearWindowObjectForFrame in injected bundle loader client.
4347        * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
4348        Include WebKitScriptWorld.h.
4349
43502013-08-26  Carlos Garcia Campos  <cgarcia@igalia.com>
4351
4352        [WebKit2] Offsets for WKBundlePageLoaderClient in APIClientTraits are wrong
4353        https://bugs.webkit.org/show_bug.cgi?id=120268
4354
4355        Reviewed by Anders Carlsson.
4356
4357        * Shared/APIClientTraits.cpp: Use always the first member of every
4358        version as the offset of the version.
4359
43602013-08-26  Carlos Garcia Campos  <cgarcia@igalia.com>
4361
4362        [GTK] Add missing initializer for pluginLoadPolicy in WKPageLoaderClient
4363        https://bugs.webkit.org/show_bug.cgi?id=120289
4364
4365        Reviewed by Philippe Normand.
4366
4367        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
4368        (attachLoaderClientToView): Add initializer for pluginLoadPolicy
4369        and rename the comment of the previous one as
4370        pluginLoadPolicy_deprecatedForUseWithV2.
4371
43722013-08-26  Carlos Garcia Campos  <cgarcia@igalia.com>
4373
4374        [GTK] webkitCredentialGetCredential returns a temporary in g_return_val_if_fail
4375        https://bugs.webkit.org/show_bug.cgi?id=120287
4376
4377        Reviewed by Philippe Normand.
4378
4379        * UIProcess/API/gtk/WebKitCredential.cpp:
4380        (webkitCredentialGetCredential): Use ASSERT() instead of
4381        g_return_val_if_fail() since this is a private function.
4382
43832013-08-25  Zan Dobersek  <zdobersek@igalia.com>
4384
4385        Unreviewed GTK build fix after r154565.
4386
4387        * UIProcess/API/gtk/tests/TestInspector.cpp: Include the Vector header.
4388        * UIProcess/API/gtk/tests/TestResources.cpp: Ditto.
4389
43902013-08-24  Darin Adler  <darin@apple.com>
4391
4392        Frame::tree should return a reference instead of a pointer
4393        https://bugs.webkit.org/show_bug.cgi?id=120259
4394
4395        Reviewed by Andreas Kling.
4396
4397        * WebProcess/Plugins/PluginView.cpp:
4398        (WebKit::PluginView::performJavaScriptURLRequest):
4399        * WebProcess/Storage/StorageAreaMap.cpp:
4400        (WebKit::StorageAreaMap::dispatchSessionStorageEvent):
4401        (WebKit::StorageAreaMap::dispatchLocalStorageEvent):
4402        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
4403        (WebKit::WebFrameLoaderClient::createFrame):
4404        * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
4405        (WebKit::WebContextMenuClient::searchWithSpotlight):
4406        * WebProcess/WebPage/FindController.cpp:
4407        (WebKit::frameWithSelection):
4408        (WebKit::FindController::rectsForTextMatches):
4409        * WebProcess/WebPage/WebFrame.cpp:
4410        (WebKit::WebFrame::init):
4411        (WebKit::WebFrame::contentsAsString):
4412        (WebKit::WebFrame::name):
4413        (WebKit::WebFrame::childFrames):
4414        * WebProcess/WebPage/WebPage.cpp:
4415        (WebKit::WebPage::clearMainFrameName):
4416        (WebKit::WebPage::setDrawsBackground):
4417        (WebKit::WebPage::setDrawsTransparentBackground):
4418        (WebKit::WebPage::setWindowResizerSize):
4419        (WebKit::frameWithSelection):
4420        (WebKit::WebPage::unmarkAllMisspellings):
4421        (WebKit::WebPage::unmarkAllBadGrammar):
4422        (WebKit::pageContainsAnyHorizontalScrollbars):
4423        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
4424        (WebKit::TiledCoreAnimationDrawingArea::forceRepaint):
4425        Use tree(). instead of tree()->.
4426
44272013-08-24  Commit Queue  <commit-queue@webkit.org>
4428
4429        Unreviewed, rolling out r154545.
4430        http://trac.webkit.org/changeset/154545
4431        https://bugs.webkit.org/show_bug.cgi?id=120252
4432
4433        Broke WebKit2 API tests (Requested by andersca on #webkit).
4434
4435        * GNUmakefile.list.am:
4436        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
4437        * UIProcess/API/gtk/tests/TestWebExtensions.cpp:
4438        (beforeAll):
4439        * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
4440        (methodCallCallback):
4441        * WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp:
4442        (webkit_frame_get_javascript_global_context):
4443        * WebProcess/InjectedBundle/API/gtk/WebKitFrame.h:
4444        * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.cpp: Removed.
4445        * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.h: Removed.
4446        * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorldPrivate.h: Removed.
4447        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
4448        (webkitWebPageCreate):
4449        * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
4450
44512013-08-24  Carlos Garcia Campos  <cgarcia@igalia.com>
4452
4453        [GTK] Add WebKit2 API for isolated worlds
4454        https://bugs.webkit.org/show_bug.cgi?id=103377
4455
4456        Reviewed by Anders Carlsson.
4457
4458        * GNUmakefile.list.am: Add new files to compilation.
4459        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
4460        * UIProcess/API/gtk/tests/TestWebExtensions.cpp:
4461        (testWebExtensionWindowObjectCleared):
4462        (scriptDialogCallback):
4463        (runJavaScriptInIsolatedWorldFinishedCallback):
4464        (testWebExtensionIsolatedWorld):
4465        (beforeAll):
4466        * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
4467        (echoCallback):
4468        (windowObjectCleared):
4469        (getWebPage):
4470        (methodCallCallback):
4471        * WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp:
4472        (webkit_frame_get_javascript_context_for_script_world): New public
4473        method to tget the JavaScript execution context for a given script
4474        world.
4475        * WebProcess/InjectedBundle/API/gtk/WebKitFrame.h:
4476        * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.cpp: Added.
4477        (scriptWorlds): Global WebKitScriptWorld map.
4478        (_WebKitScriptWorldPrivate::~_WebKitScriptWorldPrivate):
4479        (webkitScriptWorldGet): Get the WebKitScriptWorld wrapping the
4480        given injected bundle script world.
4481        (webkitScriptWorldGetInjectedBundleScriptWorld): Get the injected
4482        bundle script world wrapped by the given WebKitScriptWorld.
4483        (webkitScriptWorldWindowObjectCleared): Emit
4484        WebKitScriptWorld::window-object-cleared signal.
4485        (webkitScriptWorldCreate): Create a new WebKitScriptWorld wrapping
4486        the given injected bundle script world.
4487        (createDefaultScriptWorld): Create the default WebKitScriptWorld
4488        wrapping the normal world.
4489        (webkit_script_world_get_default): Return the default WebKitScriptWorld.
4490        (webkit_script_world_new): Create a new isolated WebKitScriptWorld.
4491        * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.h: Added.
4492        * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorldPrivate.h: Added.
4493        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
4494        (didClearWindowObjectForFrame): Call webkitScriptWorldWindowObjectCleared().
4495        (webkitWebPageCreate): Add implementation for callback
4496        didClearWindowObjectForFrame in injected bundle loader client.
4497        * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
4498        Include WebKitScriptWorld.h.
4499
45002013-08-24  Carlos Garcia Campos  <cgarcia@igalia.com>
4501
4502        [GTK] Expose WebKitFrame in WebKit2GTK+ web extensions API
4503        https://bugs.webkit.org/show_bug.cgi?id=119743
4504
4505        Reviewed by Anders Carlsson.
4506
4507        * GNUmakefile.list.am: Add new files to compilation.
4508        * Shared/APIClientTraits.cpp: Update for new interface version.
4509        * Shared/APIClientTraits.h: Ditto.
4510        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add WebKitFrame
4511        section.
4512        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new public
4513        symbols.
4514        * UIProcess/API/gtk/docs/webkit2gtk.types: Add
4515        webkit_frame_get_type.
4516        * UIProcess/API/gtk/tests/FrameTest.cpp: Added.
4517        (WebKitFrameTest::create):
4518        (WebKitFrameTest::webPageFromArgs):
4519        (WebKitFrameTest::testMainFrame):
4520        (WebKitFrameTest::testURI):
4521        (WebKitFrameTest::testJavaScriptContext):
4522        (WebKitFrameTest::runTest):
4523        (registerTests):
4524        * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test files.
4525        * UIProcess/API/gtk/tests/TestFrame.cpp: Added.
4526        (webkitFrameTestRun):
4527        (testWebKitFrameMainFrame):
4528        (testWebKitFrameURI):
4529        (testWebKitFrameJavaScriptContext):
4530        (beforeAll):
4531        (afterAll):
4532        * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add
4533        willDestroyFrame callback to the injected bundle loader client, to
4534        notify the client when a frame is about to be destroyed.
4535        * WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp: Added.
4536        (webkit_frame_class_init):
4537        (webkitFrameCreate):
4538        (webkit_frame_is_main_frame):
4539        (webkit_frame_get_uri):
4540        (webkit_frame_get_javascript_global_context):
4541        * WebProcess/InjectedBundle/API/gtk/WebKitFrame.h: Added.
4542        * WebProcess/InjectedBundle/API/gtk/WebKitFramePrivate.h: Added.
4543        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
4544        (webkitFrameGetOrCreate): Helper function to create a WebKitFrame
4545        wrapping the given WebFrame or returning the wrapper if it already
4546        exists.
4547        (willDestroyFrame): Remove the WebKitFrame wrapping the given
4548        WebFrame if it exists.
4549        (webkitWebPageCreate): Add willDestroyFrame implementation to
4550        injected bundle loader client.
4551        (webkit_web_page_get_main_frame): Return the main frame of the
4552        page.
4553        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h:
4554        * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
4555        Include WebKitFrame.h.
4556        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
4557        (WebKit::InjectedBundlePageLoaderClient::willDestroyFrame): New
4558        callback to be called when a frame is about to be destroyed.
4559        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
4560        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
4561        (WebKit::WebFrameLoaderClient::frameLoaderDestroyed): Call
4562        willDestroyFrame callback of injected bundle loader client.
4563        * WebProcess/qt/QtBuiltinBundlePage.cpp:
4564        (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage): Add
4565        willDestroyFrame callback.
4566
45672013-08-24  Antti Koivisto  <antti@apple.com>
4568
4569        Revert accidental change.
4570        
4571        Not reviewed.
4572
4573        * WebProcess/com.apple.WebProcess.sb.in:
4574
45752013-08-23  Beth Dakin  <bdakin@apple.com>
4576
4577        REGRESSION (r132545): Some PDFs generated by WebKit are blank when viewed in 
4578        Adobe Reader
4579        https://bugs.webkit.org/show_bug.cgi?id=120240
4580        -and corresponding-
4581        <rdar://problem/14634453>
4582
4583        Reviewed by Anders Carlsson.
4584
4585        Hook up new WebSystemInterface API to find out if the current context is the PDF 
4586        context. 
4587
4588        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
4589        (InitWebCoreSystemInterface):
4590
45912013-08-23  Alexey Proskuryakov  <ap@apple.com>
4592
4593        [WK2] Assertion failures when loading XSL stylesheets with NetworkProcess
4594        https://bugs.webkit.org/show_bug.cgi?id=120186
4595        <rdar://problem/14080273>
4596
4597        Reviewed by Brady Eidson.
4598
4599        Covered by many existing tests.
4600
4601        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
4602        (WebKit::WebPlatformStrategies::loadResourceSynchronously): Pass frame ID and page ID.
4603        They are mostly needed for authentication, which is not supported with sync requests,
4604        but it will be supported some day.
4605
4606        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
4607        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
4608        (WebKit::WebFrameNetworkingContext::webFrameLoaderClient):
4609        Added a way to get frame loader client from WebKit NetworkingContext subclass.
4610
46112013-08-22  Carlos Garcia Campos  <cgarcia@igalia.com>
4612
4613        [GTK] Wrong interface version used in WebKitWebPage for loader client
4614        https://bugs.webkit.org/show_bug.cgi?id=120199
4615
4616        Reviewed by Gustavo Noronha Silva.
4617
4618        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
4619        (webkitWebPageCreate): Use kWKBundlePageLoaderClientCurrentVersion
4620        instead of kWKBundlePageResourceLoadClientCurrentVersion in loader
4621        client initialization.
4622
46232013-08-22  Simon Cooper  <scooper@apple.com>
4624
4625        Need to disable FakeSYSVSHM when sandboxing is not enabled
4626        https://bugs.webkit.org/show_bug.cgi?id=120182
4627        <rdar://problem/14814461>
4628
4629        Reviewed by Alexey Proskuryakov.
4630
4631        When not in a sandbox do not enable the FakeSYSVSHIM. This
4632        allows LocalConnection to work when Flash Player is run in
4633        "Unsafe Mode".
4634
4635        * PluginProcess/mac/PluginProcessShim.mm:
4636        (WebKit::shim_disabled):
4637
46382013-08-22  Andy Estes  <aestes@apple.com>
4639
4640        <https://webkit.org/b/120180> Fix issues with OTHER_LDFLAGS in various .xcconfig files
4641
4642        Reviewed by David Kilzer.
4643
4644        Adding ld flags for ASAN overwrote the unexported symbol flags we were
4645        previously specifying. Since the unexported symbol ld flags are only
4646        needed for the framework target, move them to WebKit2.xcconfig where we
4647        can add them to OTHER_LDFLAGS along with the ASAN values inherited from
4648        DebugRelease.xcconfig (and other values).
4649
4650        * Configurations/Base.xcconfig: Removed the unexported symbol ld flags.
4651        * Configurations/WebKit2.xcconfig: ... and moved them here.
4652
46532013-08-21  Tim Horton  <timothy_horton@apple.com>
4654
4655        Another null-deref under WebDragClient::startDrag
4656        https://bugs.webkit.org/show_bug.cgi?id=120145
4657        <rdar://problem/14650652>
4658
4659        Reviewed by Simon Fraser.
4660
4661        convertImageToBitmap can legitimately return null, so don't dereference it.
4662
4663        * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
4664        (WebKit::WebDragClient::startDrag):
4665
46662013-08-21  Beth Dakin  <bdakin@apple.com>
4667
4668        <https://webkit.org/b/120140> Clients expect didFirstLayout-related calls to 
4669        happen before didLayout
4670
4671        Reviewed by Anders Carlsson.
4672
4673        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
4674        (WebKit::WebFrameLoaderClient::dispatchDidLayout):
4675
46762013-08-21  Alexey Proskuryakov  <ap@apple.com>
4677
4678        REGRESSION (r145458?): WebProcess doesn't respect UI process localization
4679        https://bugs.webkit.org/show_bug.cgi?id=120096
4680
4681        Reviewed by Darin Adler.
4682
4683        We used to get into a situation where CFBundle thought that we had no good localization,
4684        and used one passed as default. This is never the case with mixed localizations,
4685        so default is just ignored now.
4686
4687        I think that the previous behavior was a bit of a hack. As WebProcess is not localized,
4688        it's more honest to say that we want mixed localizations, and force the language
4689        to match UI process localization.
4690
4691        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h:
4692        (WebKit::ChildProcessMain): Don't set default localization, it's not taken into
4693        consideration unless all other attempts to compute bundle localization fail.
4694
4695        * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::createProcess): Pass
4696        UI process localization as -AppleLanguages argument, so that Core Foundation uses
4697        that instead of actual user languages. We want to match UI process localization.
4698
46992013-08-20  Gavin Barraclough  <barraclough@apple.com>
4700
4701        https://bugs.webkit.org/show_bug.cgi?id=120093
4702        Remove getOwnPropertyDescriptor trap
4703
4704        Reviewed by Geoff Garen.
4705
4706        All implementations of this method are now called via the method table, and equivalent in behaviour.
4707        Remove all duplicate implementations (and the method table trap), and add a single member function implementation on JSObject.
4708
4709        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
4710        * WebProcess/Plugins/Netscape/JSNPObject.h:
4711            - remove getOwnPropertyDescriptor
4712
47132013-08-20  Pratik Solanki  <psolanki@apple.com>
4714
4715        <https://webkit.org/b/120029> Document::markers() should return a reference
4716
4717        Reviewed by Andreas Kling.
4718
4719        Document::m_markers is never NULL so return a reference from Document::markers(). Also mark
4720        m_markers as const and initialize it in member initialization.
4721
4722        * WebProcess/WebPage/FindController.cpp:
4723        (WebKit::FindController::rectsForTextMatches):
4724        * WebProcess/WebPage/WebPage.cpp:
4725        (WebKit::WebPage::unmarkAllMisspellings):
4726        (WebKit::WebPage::unmarkAllBadGrammar):
4727
47282013-08-20  Gavin Barraclough  <barraclough@apple.com>
4729
4730        https://bugs.webkit.org/show_bug.cgi?id=120053
4731        Remove custom getOwnPropertyDescriptor for JSNPObject
4732
4733        Reviewed by Oliver Hunt.
4734
4735        Think this is the last one!
4736
4737        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
4738            - Remove custom getOwnPropertyDescriptor implementation.
4739
47402013-08-20  Anton Obzhirov  <a.obzhirov@samsung.com>
4741
4742        <https://webkit.org/b/119487> [Gtk] Cancel authentication on load failed
4743
4744        Reviewed by Martin Robinson.
4745
4746        Added callback to handle load-failed event in default authentication dialog.
4747        Authentication request gets cancelled and the dialog widget gets destroyed.
4748
4749        * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
4750        (pageLoadFailed):
4751        (webkitAuthenticationDialogInitialize):
4752        (webkitAuthenticationDialogDispose):
4753        (webkit_authentication_dialog_class_init):
4754        (webkitAuthenticationDialogNew):
4755        * UIProcess/API/gtk/WebKitAuthenticationDialog.h:
4756        * UIProcess/API/gtk/WebKitWebView.cpp:
4757        (webkitWebViewAuthenticate):
4758
47592013-08-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
4760
4761        [Qt][WK2] Doesn't build without Plugin-process
4762        https://bugs.webkit.org/show_bug.cgi?id=120060
4763
4764        Reviewed by Jocelyn Turcotte.
4765
4766        Disable netscape plugin api in WebKit2 when the plugin architecture is unsupported for WebKit2.
4767
4768        * Target.pri:
4769
47702013-08-19  Ryosuke Niwa  <rniwa@webkit.org>
4771
4772        <https://webkit.org/b/120049> Delete code for Snow Leopard
4773
4774        Reviewed by Benjamin Poulain.
4775
4776        * NetworkProcess/mac/NetworkProcessMac.mm:
4777        (WebKit::overrideSystemProxies):
4778        (WebKit::NetworkProcess::platformInitializeNetworkProcess):
4779        * WebKit2Prefix.h:
4780
47812013-08-19  Beth Dakin  <bdakin@apple.com>
4782
4783        <https://webkit.org/b/120027> AXObjectCache's 
4784        accessibilityEnhancedUserInterfaceEnabled should be initialized on process 
4785        creation
4786
4787        Reviewed by Sam Weinig.
4788
4789        Right now we only call AXObjectCache::setEnhancedAccessibility() when AppKit sends 
4790        us a notification indicating that the value has changed. We should not have to 
4791        rely on that to properly initialize this value. It should be done with the 
4792        WebProcessCreationParamters. 
4793
4794        * Shared/WebProcessCreationParameters.cpp:
4795        (WebKit::WebProcessCreationParameters::encode):
4796        (WebKit::WebProcessCreationParameters::decode):
4797        * Shared/WebProcessCreationParameters.h:
4798        * UIProcess/mac/WebContextMac.mm:
4799        (WebKit::WebContext::platformInitializeWebProcess):
4800        * WebProcess/mac/WebProcessMac.mm:
4801        (WebKit::WebProcess::platformInitializeWebProcess):
4802
48032013-08-19  Pratik Solanki  <psolanki@apple.com>
4804
4805        <https://webkit.org/b/119918> Frame::selection() should return a reference
4806
4807        Reviewed by Darin Adler.
4808
4809        m_selection is never NULL so return a reference from Frame::selection(). Also removed some
4810        unnecessary null checks and assert diff ts exposed as a result.
4811
4812        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
4813        (WebKit::WebEditorClient::updateGlobalSelection):
4814        * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
4815        (WebKit::collapseSelection):
4816        (WebKit::WebEditorClient::updateGlobalSelection):
4817        * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
4818        (WebKit::WebContextMenuClient::lookUpInDictionary):
4819        (WebKit::WebContextMenuClient::searchWithSpotlight):
4820        * WebProcess/WebPage/FindController.cpp:
4821        (WebKit::frameWithSelection):
4822        (WebKit::FindController::updateFindUIAfterPageScroll):
4823        (WebKit::FindController::getFindIndicatorBitmapAndRect):
4824        (WebKit::FindController::getImageForFindMatch):
4825        (WebKit::FindController::selectFindMatch):
4826        (WebKit::FindController::updateFindIndicator):
4827        (WebKit::FindController::drawRect):
4828        * WebProcess/WebPage/WebPage.cpp:
4829        (WebKit::WebPage::editorState):
4830        (WebKit::WebPage::scaledSnapshotWithOptions):
4831        (WebKit::WebPage::centerSelectionInVisibleArea):
4832        (WebKit::frameWithSelection):
4833        (WebKit::WebPage::clearSelection):
4834        (WebKit::WebPage::confirmComposition):
4835        (WebKit::WebPage::setComposition):
4836        (WebKit::WebPage::currentSelectionAsRange):
4837        * WebProcess/WebPage/mac/WebPageMac.mm:
4838        (WebKit::WebPage::setComposition):
4839        (WebKit::WebPage::insertText):
4840        (WebKit::WebPage::insertDictatedText):
4841        (WebKit::WebPage::getMarkedRange):
4842        (WebKit::WebPage::getSelectedRange):
4843        (WebKit::WebPage::getAttributedSubstringFromRange):
4844        (WebKit::WebPage::characterIndexForPoint):
4845        (WebKit::convertToRange):
4846        (WebKit::WebPage::performDictionaryLookupAtLocation):
4847        (WebKit::WebPage::readSelectionFromPasteboard):
4848        (WebKit::WebPage::getStringSelectionForPasteboard):
4849        (WebKit::WebPage::getDataSelectionForPasteboard):
4850
48512013-08-18  Darin Adler  <darin@apple.com>
4852
4853        <https://webkit.org/b/119989> Make use of Node::ownerDocument a compile time error
4854
4855        Reviewed by Sam Weinig.
4856
4857        * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
4858        (WebKit::PDFPluginChoiceAnnotation::createAnnotationElement): Use document instead of
4859        ownerDocument.
4860        * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
4861        (WebKit::PDFPluginTextAnnotation::createAnnotationElement): Ditto.
4862
48632013-08-18  Dan Bernstein  <mitz@apple.com>
4864
4865        Fix clean engineering builds after r154251.
4866
4867        * WebKit2.xcodeproj/project.pbxproj: Removed references to the OfflineStorage XPC services
4868        from the “Copy XPC services for engineering builds” build phase.
4869
48702013-08-18  Gavin Barraclough  <barraclough@apple.com>
4871
4872        https://bugs.webkit.org/show_bug.cgi?id=119972
4873        Add attributes field to PropertySlot
4874
4875        Reviewed by Geoff Garen.
4876
4877        For all JSC types, this makes getOwnPropertyDescriptor redundant.
4878        There will be a bit more hacking required in WebCore to remove GOPD whilst maintaining current behaviour.
4879        (Current behaviour is in many ways broken, particularly in that GOPD & GOPS are inconsistent, but we should fix incrementally).
4880
4881        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
4882        (WebKit::JSNPObject::getOwnPropertySlot):
4883        (WebKit::JSNPObject::getOwnPropertyDescriptor):
4884            - Pass attributes to PropertySlot::set* methods.
4885
48862013-08-16  Sam Weinig  <sam@webkit.org>
4887
4888        <https://webkit.org/b/119911> Remove the unused OfflineStorageProcess
4889
4890        Reviewed by Darin Adler.
4891
4892        * Configurations/OfflineStorageProcess.xcconfig: Removed.
4893        * Configurations/OfflineStorageService.Development.xcconfig: Removed.
4894        * Configurations/OfflineStorageService.xcconfig: Removed.
4895        * DerivedSources.make:
4896        * OfflineStorageProcess: Removed.
4897        * OfflineStorageProcess/EntryPoint: Removed.
4898        * OfflineStorageProcess/EntryPoint/mac: Removed.
4899        * OfflineStorageProcess/EntryPoint/mac/LegacyProcess: Removed.
4900        * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/Info.plist: Removed.
4901        * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMain.mm: Removed.
4902        * OfflineStorageProcess/EntryPoint/mac/XPCService: Removed.
4903        * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService: Removed.
4904        * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development: Removed.
4905        * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/Info.plist: Removed.
4906        * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/Info.plist: Removed.
4907        * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageServiceEntryPoint.mm: Removed.
4908        * OfflineStorageProcess/OfflineStorageProcess.cpp: Removed.
4909        * OfflineStorageProcess/OfflineStorageProcess.h: Removed.
4910        * OfflineStorageProcess/OfflineStorageProcess.messages.in: Removed.
4911        * OfflineStorageProcess/mac: Removed.
4912        * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm: Removed.
4913        * OfflineStorageProcess/mac/com.apple.WebKit.OfflineStorage.sb: Removed.
4914        * Scripts/webkit2/messages.py:
4915        * Shared/OfflineStorage: Removed.
4916        * Shared/OfflineStorage/OfflineStorageProcessCreationParameters.cpp: Removed.
4917        * Shared/OfflineStorage/OfflineStorageProcessCreationParameters.h: Removed.
4918        * WebKit2.xcodeproj/project.pbxproj:
4919        Remove.
4920
49212013-08-17  Darin Adler  <darin@apple.com>
4922
4923        <https://webkit.org/b/119941> Make Page::dragController return a reference
4924
4925        Reviewed by Andreas Kling.
4926
4927        * WebProcess/WebPage/WebPage.cpp:
4928        (WebKit::WebPage::performDragControllerAction):
4929        (WebKit::WebPage::dragEnded):
4930        Updated call sites.
4931
49322013-08-17  David Kilzer  <ddkilzer@apple.com>
4933
4934        WebKit2 fails to build with trunk clang: error: 'WebPluginSiteDataManagerh' is used as a header guard here, followed by #define of a different macro [-Werror,-Wheader-guard]
4935        <http://webkit.org/b/119935>
4936        <rdar://problem/14764131>
4937
4938        Reviewed by Darin Adler.
4939
4940        * UIProcess/Plugins/WebPluginSiteDataManager.h: Fix typo
4941        introduced in r78647.
4942
49432013-08-16  Pratik Solanki  <psolanki@apple.com>
4944
4945        <https://webkit.org/b/119852> Frame::scriptController() should return a reference
4946
4947        Reviewed by Andreas Kling.
4948
4949        m_script is never NULL so we can just return a reference. Also remove some pointless null
4950        checks as a result of doing this.
4951
4952        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
4953        (WebKit::NPRuntimeObjectMap::globalObject):
4954        * WebProcess/Plugins/PluginView.cpp:
4955        (WebKit::PluginView::performJavaScriptURLRequest):
4956        (WebKit::PluginView::windowScriptNPObject):
4957        (WebKit::PluginView::pluginElementNPObject):
4958        * WebProcess/WebPage/WebFrame.cpp:
4959        (WebKit::WebFrame::jsContext):
4960        (WebKit::WebFrame::jsContextForWorld):
4961        (WebKit::WebFrame::jsWrapperForWorld):
4962        * WebProcess/WebPage/WebInspector.cpp:
4963        (WebKit::WebInspector::didSave):
4964        (WebKit::WebInspector::didAppend):
4965        * WebProcess/WebPage/WebPage.cpp:
4966        (WebKit::WebPage::runJavaScriptInMainFrame):
4967
49682013-08-16  Brady Eidson  <beidson@apple.com>
4969
4970        (NetworkProcess)  Sync XHRs should load using async ResourceHandles, not ResourceHandle::loadResourceSynchronously
4971        https://bugs.webkit.org/show_bug.cgi?id=119493
4972
4973        Reviewed by Alexey Proskuryakov.
4974
4975        This patch does the following:
4976          - Consolidates SchedulableLoader and NetworkResourceLoader into one class.
4977          - Removes SyncNetworkResourceLoader.
4978          - Adds a NetworkLoaderClient interface that customizes certain behaviors of the NetworkResourceLoader.
4979          - Implements a SynchronousNetworkLoaderClient and AsynchronousNetworkLoaderClient for the two different types of loads.
4980
4981        The AsynchronousNetworkLoaderClient results in messaging back progress to the WebProcess as the load progresses.
4982        The SynchronousNetworkLoaderClient accumulates the response, data, and error to be communicated back to the WebProcess
4983        only when the load is complete.
4984
4985        Update small swaths of code to reflect that NetworkResourceLoader is the One True Loader (tm):
4986        * NetworkProcess/HostRecord.cpp:
4987        (WebKit::HostRecord::scheduleResourceLoader):
4988        (WebKit::HostRecord::addLoaderInProgress):
4989        (WebKit::removeLoaderFromQueue):
4990        (WebKit::HostRecord::removeLoader):
4991        (WebKit::HostRecord::servePendingRequestsForQueue):
4992        (WebKit::HostRecord::limitsRequests):
4993        * NetworkProcess/HostRecord.h:
4994
4995        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
4996        (WebKit::NetworkConnectionToWebProcess::didClose):
4997        (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
4998        (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):
4999        * NetworkProcess/NetworkConnectionToWebProcess.h:
5000
5001        * NetworkProcess/NetworkProcess.cpp:
5002        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
5003        (WebKit::NetworkResourceLoadScheduler::scheduleLoader):
5004        (WebKit::NetworkResourceLoadScheduler::removeLoader):
5005        (WebKit::NetworkResourceLoadScheduler::receivedRedirect):
5006        (WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):
5007        (WebKit::NetworkResourceLoadScheduler::scheduleRemoveLoader):
5008        * NetworkProcess/NetworkResourceLoadScheduler.h:
5009
5010        Combine ScheduleableLoader and NetworkResourceLoader into NetworkResourceLoader:
5011        * NetworkProcess/NetworkResourceLoader.cpp:
5012        (WebKit::NetworkResourceLoader::NetworkResourceLoader):
5013        (WebKit::NetworkResourceLoader::~NetworkResourceLoader):
5014        (WebKit::NetworkResourceLoader::isSynchronous):
5015        (WebKit::NetworkResourceLoader::start):
5016        (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
5017        (WebKit::NetworkResourceLoader::didReceiveBuffer):
5018        (WebKit::NetworkResourceLoader::didFinishLoading):
5019        (WebKit::NetworkResourceLoader::didFail):
5020        (WebKit::NetworkResourceLoader::willSendRequestAsync):
5021        (WebKit::NetworkResourceLoader::continueWillSendRequest):
5022        (WebKit::NetworkResourceLoader::didSendData):
5023        (WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
5024        (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
5025        (WebKit::NetworkResourceLoader::consumeSandboxExtensions):
5026        (WebKit::NetworkResourceLoader::invalidateSandboxExtensions):
5027        (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
5028        * NetworkProcess/NetworkResourceLoader.h:
5029        (WebKit::NetworkResourceLoader::create):
5030        (WebKit::NetworkResourceLoader::connectionToWebProcess):
5031        (WebKit::NetworkResourceLoader::priority):
5032        (WebKit::NetworkResourceLoader::request):
5033        (WebKit::NetworkResourceLoader::isLoadingMainResource):
5034        (WebKit::NetworkResourceLoader::setHostRecord):
5035        (WebKit::NetworkResourceLoader::hostRecord):
5036        (WebKit::NetworkResourceLoader::sendAbortingOnFailure):
5037
5038        Add an abstract NetworkLoaderClient to adapt a load to be either synchronous or asynchronous:
5039        * NetworkProcess/NetworkLoaderClient.h:
5040        (WebKit::NetworkLoaderClient::~NetworkLoaderClient):
5041        (WebKit::NetworkLoaderClient::isSynchronous):
5042        (WebKit::NetworkLoaderClient::NetworkLoaderClient):
5043
5044        The asynchronous loader client, primarily to message progress back to the WebProcess as it happens:
5045        * NetworkProcess/AsynchronousNetworkLoaderClient.cpp: Added.
5046        (WebKit::AsynchronousNetworkLoaderClient::AsynchronousNetworkLoaderClient):
5047        (WebKit::AsynchronousNetworkLoaderClient::willSendRequest):
5048        (WebKit::AsynchronousNetworkLoaderClient::canAuthenticateAgainstProtectionSpace):
5049        (WebKit::AsynchronousNetworkLoaderClient::didReceiveResponse):
5050        (WebKit::AsynchronousNetworkLoaderClient::didReceiveBuffer):
5051        (WebKit::AsynchronousNetworkLoaderClient::didSendData):
5052        (WebKit::AsynchronousNetworkLoaderClient::didFinishLoading):
5053        (WebKit::AsynchronousNetworkLoaderClient::didFail):
5054        * NetworkProcess/AsynchronousNetworkLoaderClient.h:
5055        (WebKit::AsynchronousNetworkLoaderClient::create):
5056
5057        The synchronous loader client, primarily to accumulate results of the load to send back to the WebProcess all at once:
5058        * NetworkProcess/SynchronousNetworkLoaderClient.cpp: Added.
5059        (WebKit::SynchronousNetworkLoaderClient::SynchronousNetworkLoaderClient):
5060        (WebKit::SynchronousNetworkLoaderClient::~SynchronousNetworkLoaderClient):
5061        (WebKit::SynchronousNetworkLoaderClient::willSendRequest):
5062        (WebKit::SynchronousNetworkLoaderClient::canAuthenticateAgainstProtectionSpace):
5063        (WebKit::SynchronousNetworkLoaderClient::didReceiveResponse):
5064        (WebKit::SynchronousNetworkLoaderClient::didReceiveBuffer):
5065        (WebKit::SynchronousNetworkLoaderClient::didFinishLoading):
5066        (WebKit::SynchronousNetworkLoaderClient::didFail):
5067        (WebKit::SynchronousNetworkLoaderClient::sendDelayedReply):
5068        * NetworkProcess/SynchronousNetworkLoaderClient.h: Added.
5069        (WebKit::SynchronousNetworkLoaderClient::create):
5070
5071        * NetworkProcess/SchedulableLoader.cpp: Removed.
5072        * NetworkProcess/SchedulableLoader.h: Removed.
5073        * NetworkProcess/SyncNetworkResourceLoader.cpp: Removed.
5074        * NetworkProcess/SyncNetworkResourceLoader.h: Removed.
5075
5076        * WebKit2.xcodeproj/project.pbxproj:
5077
50782013-08-16  Gabor Rapcsanyi  <rgabor@webkit.org>
5079
5080        [Qt][ARM] Unreviewed buildfix after 154127.
5081
5082        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: Add missing header.
5083
50842013-08-15  Ryuan Choi  <ryuan.choi@samsung.com>
5085
5086        [EFL] Unreviewed build fix after r154142 and r154144.
5087
5088        * UIProcess/WebContext.cpp:
5089        (WebKit::WebContext::useTestingNetworkSession):
5090        Fixed build break when NETWORK_PROCESS is disabled after r154144.
5091
50922013-08-15  Chris Fleizach  <cfleizach@apple.com>
5093
5094        <https://webkit.org/b/119858> AX: Crash: com.apple.WebKit.WebContent at com.apple.WebKit2: WebKit::WebPage::accessibilityObjectForMainFramePlugin + 8
5095
5096        Reviewed by Tim Horton.
5097
5098        Ensure that the page is available before accessing it.
5099
5100        * WebProcess/WebPage/mac/WebPageMac.mm:
5101        (WebKit::WebPage::accessibilityObjectForMainFramePlugin):
5102
51032013-08-15  Alexey Proskuryakov  <ap@apple.com>
5104
5105        [WK2] NetworkProcess should use a temporary storage session for test
5106        https://bugs.webkit.org/show_bug.cgi?id=119855
5107
5108        Reviewed by Darin Adler.
5109
5110        We used to have a bundle API for WebKitTestRunner to do this in injected bundle, but
5111        NetworkProcess has no injected bundle.
5112
5113        Added a WKContext API, sending the information to NetworkProcess with initialization
5114        parameters. Reworked WebProcess path to do the same for consistency - bundle API
5115        is better per se, but not when we also need to have another one.
5116
5117        * NetworkProcess/NetworkProcess.cpp:
5118        (WebKit::NetworkProcess::initializeNetworkProcess):
5119        * Shared/Network/NetworkProcessCreationParameters.cpp:
5120        (WebKit::NetworkProcessCreationParameters::encode):
5121        (WebKit::NetworkProcessCreationParameters::decode):
5122        * Shared/Network/NetworkProcessCreationParameters.h:
5123        * Shared/WebProcessCreationParameters.cpp:
5124        (WebKit::WebProcessCreationParameters::encode):
5125        (WebKit::WebProcessCreationParameters::decode):
5126        * Shared/WebProcessCreationParameters.h:
5127        * UIProcess/API/C/WKContext.cpp:
5128        (WKContextUseTestingNetworkSession):
5129        * UIProcess/API/C/WKContextPrivate.h:
5130        * UIProcess/WebContext.cpp:
5131        (WebKit::WebContext::WebContext):
5132        (WebKit::WebContext::ensureNetworkProcess):
5133        (WebKit::WebContext::createNewWebProcess):
5134        (WebKit::WebContext::useTestingNetworkSession):
5135        * UIProcess/WebContext.h:
5136        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
5137        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
5138        * WebProcess/InjectedBundle/InjectedBundle.cpp:
5139        * WebProcess/InjectedBundle/InjectedBundle.h:
5140        * WebProcess/WebProcess.cpp:
5141        (WebKit::WebProcess::initializeWebProcess):
5142
51432013-08-15  Anders Carlsson  <andersca@apple.com>
5144
5145        <https://webkit.org/b/119859> Frame::loader() should return a reference
5146
5147        Reviewed by Andreas Kling.
5148
5149        * Shared/WebRenderLayer.cpp:
5150        (WebKit::WebRenderLayer::create):
5151        * Shared/WebRenderObject.cpp:
5152        (WebKit::WebRenderObject::create):
5153        * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
5154        (WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation):
5155        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
5156        (WKBundleFrameGetFrameLoadState):
5157        (WKBundleFrameClearOpener):
5158        (WKBundleFrameCallShouldCloseOnWebView):
5159        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
5160        (WebKit::InjectedBundleNodeHandle::documentFrame):
5161        (WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame):
5162        (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
5163        * WebProcess/InjectedBundle/InjectedBundle.cpp:
5164        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
5165        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
5166        (WebKit::InjectedBundleDOMWindowExtension::frame):
5167        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
5168        (WebKit::InjectedBundleHitTestResult::frame):
5169        (WebKit::InjectedBundleHitTestResult::targetFrame):
5170        * WebProcess/Plugins/PDF/PDFPlugin.mm:
5171        (WebKit::PDFPlugin::clickedLink):
5172        * WebProcess/Plugins/PluginView.cpp:
5173        (WebKit::webPage):
5174        (WebKit::PluginView::didFailToInitializePlugin):
5175        (WebKit::PluginView::performFrameLoadURLRequest):
5176        (WebKit::PluginView::userAgent):
5177        (WebKit::PluginView::loadURL):
5178        (WebKit::PluginView::cancelManualStreamLoad):
5179        (WebKit::PluginView::proxiesForURL):
5180        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
5181        (WebKit::WebChromeClient::focusedElementChanged):
5182        (WebKit::WebChromeClient::focusedFrameChanged):
5183        (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
5184        (WebKit::WebChromeClient::closeWindowSoon):
5185        (WebKit::WebChromeClient::runJavaScriptAlert):
5186        (WebKit::WebChromeClient::runJavaScriptConfirm):
5187        (WebKit::WebChromeClient::runJavaScriptPrompt):
5188        (WebKit::WebChromeClient::unavailablePluginButtonClicked):
5189        (WebKit::WebChromeClient::print):
5190        (WebKit::WebChromeClient::exceededDatabaseQuota):
5191        (WebKit::WebChromeClient::runOpenPanel):
5192        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
5193        (WebKit::WebContextMenuClient::searchWithGoogle):
5194        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
5195        (WebKit::WebEditorClient::textFieldDidBeginEditing):
5196        (WebKit::WebEditorClient::textFieldDidEndEditing):
5197        (WebKit::WebEditorClient::textDidChangeInTextField):
5198        (WebKit::WebEditorClient::textDidChangeInTextArea):
5199        (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
5200        (WebKit::WebEditorClient::textWillBeDeletedInTextField):
5201        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
5202        (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
5203        (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
5204        (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
5205        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
5206        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
5207        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
5208        (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
5209        (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
5210        (WebKit::WebFrameLoaderClient::updateGlobalHistory):
5211        (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
5212        (WebKit::WebFrameLoaderClient::restoreViewState):
5213        (WebKit::WebFrameLoaderClient::createFrame):
5214        (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
5215        (WebKit::WebFrameLoaderClient::objectContentType):
5216        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
5217        (WebKit::WebPlatformStrategies::getPluginInfo):
5218        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
5219        (WebKit::WebFrameNetworkingContext::blockedError):
5220        * WebProcess/WebPage/WebFrame.cpp:
5221        (WebKit::WebFrame::didReceivePolicyDecision):
5222        (WebKit::WebFrame::startDownload):
5223        (WebKit::WebFrame::source):
5224        (WebKit::WebFrame::contentsAsString):
5225        (WebKit::WebFrame::url):
5226        (WebKit::WebFrame::parentFrame):
5227        (WebKit::WebFrame::childFrames):
5228        (WebKit::WebFrame::stopLoading):
5229        (WebKit::WebFrame::frameForContext):
5230        (WebKit::WebFrame::provisionalURL):
5231        (WebKit::WebFrame::suggestedFilenameForResourceWithURL):
5232        (WebKit::WebFrame::mimeTypeForResourceWithURL):
5233        (WebKit::WebFrameFilter::shouldIncludeSubframe):
5234        * WebProcess/WebPage/WebPage.cpp:
5235        (WebKit::WebPage::createPlugin):
5236        (WebKit::WebPage::close):
5237        (WebKit::WebPage::tryClose):
5238        (WebKit::WebPage::loadURLRequest):
5239        (WebKit::WebPage::loadDataImpl):
5240        (WebKit::WebPage::linkClicked):
5241        (WebKit::WebPage::stopLoadingFrame):
5242        (WebKit::WebPage::stopLoading):
5243        (WebKit::WebPage::reload):
5244        (WebKit::WebPage::tryRestoreScrollPosition):
5245        (WebKit::WebPage::getMainResourceDataOfFrame):
5246        (WebKit::resourceDataForFrame):
5247        (WebKit::shouldReuseCommittedSandboxExtension):
5248        (WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad):
5249        (WebKit::WebPage::hasLocalDataForURL):
5250        (WebKit::WebPage::setCustomTextEncodingName):
5251        (WebKit::WebPage::canPluginHandleResponse):
5252        (WebKit::WebPage::canShowMIMEType):
5253        (WebKit::WebPage::didCommitLoad):
5254        * WebProcess/WebPage/mac/WebPageMac.mm:
5255        (WebKit::WebPage::platformHasLocalDataForURL):
5256        (WebKit::cachedResponseForURL):
5257        * WebProcess/WebProcess.cpp:
5258        (WebKit::WebProcess::downloadRequest):
5259
52602013-08-14  Filip Pizlo  <fpizlo@apple.com>
5261
5262        Typed arrays should be rewritten
5263        https://bugs.webkit.org/show_bug.cgi?id=119064
5264
5265        Reviewed by Oliver Hunt.
5266        
5267        You don't need to include JSUint8Array anymore if you just want to
5268        unwrap one; JSDOMBinding gives you all of the things you need.
5269
5270        * WebProcess/InjectedBundle/InjectedBundle.cpp:
5271
52722013-08-15  Eric Carlson  <eric.carlson@apple.com>
5273
5274        [Mac] Remove "legacy" media UI
5275        https://bugs.webkit.org/show_bug.cgi?id=119752
5276
5277        Reviewed by Jer Noble.
5278
5279        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
5280        (InitWebCoreSystemInterface): Remove MediaControllerThemeAvailable.
5281
52822013-08-14  Dean Jackson  <dino@apple.com>
5283
5284        <https://webkit.org/b/119827> Allow primary plug-in detection to run more than once if necessary
5285
5286        Reviewed by Tim Horton.
5287
5288        We occasionally see cases where the primary plug-in detection runs before the plugins have been added
5289        to the page, especially if they do so in response to a load event. Tweak the algorithm so that it can
5290        run an arbitrary number of times if it fails.
5291
5292        While here, also have the detection run if there has ever been a plugin in the page as opposed to any
5293        current views. We may have snapshotted a plugin by now and deleted its view.
5294
5295        * WebProcess/WebPage/WebPage.cpp:
5296        (WebKit::WebPage::WebPage): initialise new members.
5297        (WebKit::WebPage::addPluginView): Mark that we've seen a plugin.
5298        (WebKit::WebPage::resetPrimarySnapshottedPlugIn): Reset new members.
5299        (WebKit::WebPage::determinePrimarySnapshottedPlugIn): Exit early if we've never
5300        seen a plugin, rather than if we don't have any active views. Also, if we didn't find anything set
5301        a timer to run again (maximum of two attempts at the moment).
5302        * WebProcess/WebPage/WebPage.h: New members - m_numberOfPrimarySnapshotDetectionAttempts
5303        and m_hasSeenPlugin.
5304
53052013-08-14  Dean Jackson  <dino@apple.com>
5306
5307        <https://webkit.org/b/119820> Add pluginView-related logging to WebPage
5308
5309        Reviewed by Tim Horton.
5310
5311        Add some more diagnostic output to help track down bugs.
5312
5313        * WebProcess/WebPage/WebPage.cpp:
5314        (WebKit::WebPage::addPluginView): More logging.
5315        (WebKit::WebPage::removePluginView): Ditto.
5316
53172013-08-14  Alexey Proskuryakov  <ap@apple.com>
5318
5319        [WK2] Sync messages with with non-default timeout sent from secondary threads always time out
5320        https://bugs.webkit.org/show_bug.cgi?id=119767
5321
5322        Fix by Justin Bur.
5323        Reviewed by Darin Adler.
5324
5325        * Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
5326        The argument to wait() is absolute time, not a delta. This calculation matches one
5327        in Connection::waitForMessage().
5328
53292013-08-14  Tim Horton  <timothy_horton@apple.com>
5330
5331        REGRESSION (r153877): Plugin scanning slows creation of WebViews
5332        https://bugs.webkit.org/show_bug.cgi?id=119665
5333        <rdar://problem/14716549>
5334
5335        Reviewed by Darin Adler.
5336
5337        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
5338        (WebKit::WebPlatformStrategies::refreshPlugins):
5339        Don't repopulate the plugin cache in refreshPlugins, just invalidate it.
5340        It will be repopulated the next time something tries to use it.
5341
53422013-08-12  Dan Bernstein  <mitz@apple.com>
5343
5344        Fixed an off-by-(sizeof(char*) - 1) bug.
5345
5346        Reviewed by Sam Weinig.
5347
5348        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
5349        (WebKit::XPCServiceEventHandler): Allocate a sufficiently large buffer.
5350
53512013-08-12  Beth Dakin  <bdakin@apple.com>
5352
5353        Remove didNewFirstVisuallyNonEmptyLayout from WebKit2
5354        https://bugs.webkit.org/show_bug.cgi?id=119658
5355
5356        Reviewed by Darin Adler.
5357
5358        Removing this function entirely will change some functionality in the Nightlies, 
5359        but we think that is an acceptable difference for the Nightlies. If is does cause 
5360        a problem though, we can roll out this patch and deprecate the function instead.
5361
5362        * UIProcess/API/C/WKPage.h:
5363        * UIProcess/WebLoaderClient.cpp:
5364        * UIProcess/WebLoaderClient.h:
5365        * UIProcess/WebPageProxy.cpp:
5366        (WebKit::WebPageProxy::initializeLoaderClient):
5367        * UIProcess/WebPageProxy.h:
5368        * UIProcess/WebPageProxy.messages.in:
5369        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
5370        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
5371        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
5372        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
5373        (WebKit::WebFrameLoaderClient::dispatchDidLayout):
5374        * WebProcess/WebPage/WebPage.cpp:
5375        (WebKit::WebPage::initializeInjectedBundleLoaderClient):
5376
53772013-08-12  Arunprasad Rajkumar  <arurajku@cisco.com>
5378
5379        [Qt] [WebKit2] Remove duplicate RAM Size calculation and reuse WTF::ramSize()
5380        https://bugs.webkit.org/show_bug.cgi?id=119663
5381
5382        Reviewed by Sam Weinig.
5383
5384        * WebProcess/qt/WebProcessQt.cpp:
5385        (WebKit::WebProcess::platformSetCacheModel):
5386
53872013-08-12  Anton Obzhirov  <a.obzhirov@samsung.com>
5388
5389        [GTK] Don't load GAIL when using GTK 3.2 or greater
5390        https://bugs.webkit.org/show_bug.cgi?id=72735
5391
5392        Reviewed by Carlos Garcia Campos.
5393
5394        * UIProcess/API/gtk/tests/AccessibilityTestServer.cpp:
5395        (main):
5396
53972013-08-09  Beth Dakin  <bdakin@apple.com>
5398
5399        AX: Not able to use arrow keys to read text in a WK2 app
5400        https://bugs.webkit.org/show_bug.cgi?id=119605
5401        -and corresponding-
5402        <rdar://problem/14281275>
5403
5404        Reviewed by Darin Adler.
5405
5406        Make all of these scrolling functions actually return the WebCore bools that 
5407        indicate whether or not scrolling happened. 
5408        * WebProcess/WebPage/WebPage.cpp:
5409        (WebKit::WebPage::scroll):
5410        (WebKit::WebPage::logicalScroll):
5411        (WebKit::WebPage::scrollBy):
5412        * WebProcess/WebPage/WebPage.h:
5413        * WebProcess/WebPage/mac/WebPageMac.mm:
5414        (WebKit::WebPage::executeKeypressCommandsInternal):
5415
5416        This function now gives accessibility a chance to handle the event too. And it 
5417        also actually tracks whether or not the event was handled by scrolling instead of 
5418        assuming that it was and universally returning true.
5419        (WebKit::WebPage::performNonEditingBehaviorForSelector):
5420
54212013-08-09  Brian Holt  <brian.holt@samsung.com>
5422
5423        [GTK] [WebKit2] Add an 'authenticate' signal to WebKitWebView
5424        https://bugs.webkit.org/show_bug.cgi?id=99352
5425
5426        Reviewed by Carlos Garcia Campos.
5427
5428        Add a new public class to the API, WebKitAuthenticationRequest, to be
5429        emitted along with a new WebKitWebView::authenticate signal to
5430        let client applications to provide their own authentication
5431        when the user is challenged with HTTP authentication. The
5432        credential is exposed through a new class WebKitCredential.
5433
5434        * GNUmakefile.list.am:
5435        * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
5436        (okButtonClicked): Use new API for authentication.
5437        (cancelButtonClicked): Ditto.
5438        (webkitAuthenticationDialogInitialize):Get
5439        authenticationChallenge from request object.
5440        (webkitAuthenticationDialogNew): Ditto.
5441        * UIProcess/API/gtk/WebKitAuthenticationDialog.h:
5442        * UIProcess/API/gtk/WebKitAuthenticationRequest.cpp: Added new
5443        class representing a HTTP authentication request.
5444        (webkitAuthenticationRequestDispose):
5445        (webkit_authentication_request_class_init):
5446        (webkitAuthenticationRequestCreate):
5447        (webkitAuthenticationRequestGetAuthenticationChallenge):
5448        (webkit_authentication_request_can_save_credentials):
5449        (webkit_authentication_request_get_proposed_credential):
5450        (webkit_authentication_request_get_host):
5451        (webkit_authentication_request_get_port):
5452        (webkit_authentication_request_get_realm):
5453        (webkit_authentication_request_get_scheme):
5454        (webkit_authentication_request_is_for_proxy):
5455        (webkit_authentication_request_is_retry):
5456        (webkit_authentication_request_authenticate):
5457        (webkit_authentication_request_cancel):
5458        * UIProcess/API/gtk/WebKitAuthenticationRequest.h: Added.
5459        * UIProcess/API/gtk/WebKitAuthenticationRequestPrivate.h: Added.
5460        * UIProcess/API/gtk/WebKitCredential.cpp: Added new class to
5461        support credentials for HTTP authentication.
5462        (_WebKitCredential::_WebKitCredential):
5463        (webkitCredentialCreate):
5464        (webkitCredentialGetCredential):
5465        (webkit_credential_new):
5466        (webkit_credential_copy):
5467        (webkit_credential_free):
5468        (webkit_credential_get_username):
5469        (webkit_credential_get_password):
5470        (webkit_credential_has_password):
5471        (webkit_credential_get_persistence):
5472        * UIProcess/API/gtk/WebKitCredential.h: Added.
5473        * UIProcess/API/gtk/WebKitCredentialPrivate.h: Added.
5474        * UIProcess/API/gtk/WebKitWebView.cpp: Added authenticate signal.
5475        (webkitWebViewAuthenticate): Default signal handler for authenticate.
5476        (webkit_web_view_class_init): Ditto.
5477        (webkitWebViewHandleAuthenticationChallenge): Create an
5478        authentication request and emit it with authenticate signal.
5479        * UIProcess/API/gtk/WebKitWebView.h: Replaced reserved function
5480        pointer slot with for WebViewClass with function pointer to
5481        authenticate signal handler.
5482        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new section for
5483        the authentication request.
5484        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
5485        * UIProcess/API/gtk/docs/webkit2gtk.types: Added authentication
5486        request and credential types.
5487        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Created a new
5488        unit test for HTTP authentication. A libsoup server callback
5489        handler is installed that creates soup messages with appropriate
5490        headers and body to test HTTP authentication.
5491        (testWebViewAuthenticationRequest): Test the authentication
5492        request and credential API.
5493        (testWebViewAuthenticationCancel): Test cancelled authentication.
5494        (testWebViewAuthenticationFailure): Test repeated authentication failures.
5495        (testWebViewAuthenticationNoCredential): Test continue without
5496        credentials.
5497        (testWebViewAuthenticationStorage): Test credential storage.
5498        (testWebViewAuthenticationSuccess): Test successful authentication.
5499        (beforeAll): Added tests.
5500        * UIProcess/API/gtk/webkit2.h: Added WebKitAuthenticationRequest and
5501        WebKitCredential headers.
5502
55032013-08-09  Tim Horton  <timothy_horton@apple.com>
5504
5505        PDFPlugin is disabled by default in nightlies on Mac accidentally
5506        https://bugs.webkit.org/show_bug.cgi?id=119615
5507
5508        Rubber-stamped by Andreas Kling.
5509
5510        Enable PDFPlugin by default on Mac at the WebKit2 level.
5511
5512        * Shared/WebPreferencesStore.h:
5513        * UIProcess/API/C/WKPreferencesPrivate.h:
5514
55152013-08-08  Tim Horton  <timothy_horton@apple.com>
5516
5517        navigator.plugins has plugins in it when plugins are disabled
5518        https://bugs.webkit.org/show_bug.cgi?id=119607
5519        <rdar://problem/14678030>
5520
5521        Reviewed by Anders Carlsson.
5522
5523        * UIProcess/WebProcessProxy.cpp:
5524        (WebKit::WebProcessProxy::getPlugins):
5525        Return a list of all plugins, and a list of only application plugins.
5526
5527        * UIProcess/WebProcessProxy.h:
5528        * UIProcess/WebProcessProxy.messages.in:
5529        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
5530        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
5531        (WebKit::WebPlatformStrategies::getPluginInfo):
5532        Add applicationPlugin parameter to getPlugins, and storage for the returned list.
5533
5534        (WebKit::WebPlatformStrategies::populatePluginCache):
5535        If plugins are disabled for the given page, give WebCore the list that
5536        only includes application plugins. Otherwise, give it the whole list
5537        as we are doing currently.
5538
55392013-08-08  Gavin Barraclough  <barraclough@apple.com>
5540
5541        Disable suppression of plugin process for Java
5542        https://bugs.webkit.org/show_bug.cgi?id=119604
5543
5544        Reviewed by Sam Weinig.
5545
5546        Workaround, the Java plugin doesn't like this.
5547
5548        * PluginProcess/mac/PluginProcessMac.mm:
5549        (WebKit::PluginProcess::platformInitializeProcess):
5550            - +1 active task count on the java plugin, to inhibit supression.
5551
55522013-08-08  Dean Jackson  <dino@apple.com>
5553
5554        Add logging to the primary plugin detection
5555        https://bugs.webkit.org/show_bug.cgi?id=119594
5556
5557        Reviewed by Tim Horton.
5558
5559        Add some simple logging to our primary plug-in detection.
5560
5561        * WebProcess/WebPage/WebPage.cpp:
5562        (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
5563
55642013-08-08  Alexey Proskuryakov  <ap@apple.com>
5565
5566        WKBundleFrameCopyProvisionalURL crashes when there is no provisional loader
5567        https://bugs.webkit.org/show_bug.cgi?id=119587
5568
5569        Reviewed by Darin Adler.
5570
5571        * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::provisionalURL): Added a null
5572        check, like we already have in WebFrame::url().
5573
55742013-08-07  Antti Koivisto  <antti@apple.com>
5575
5576        Try to fix EFL build.
5577        
5578        Not reviewed.
5579
5580        * CMakeLists.txt:
5581
55822013-08-06  Jer Noble  <jer.noble@apple.com>
5583
5584        Crash when entering fullscreen video playback from a WebView using WebKit2
5585        https://bugs.webkit.org/show_bug.cgi?id=119531
5586
5587        Reviewed by Tim Horton.
5588
5589        Initialize wkWindowSetScaledFrame and wkWindowSetAlpha when initializing WebCoreSystemInterface.
5590
5591        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
5592        (InitWebCoreSystemInterface):
5593
55942013-08-06  Stephanie Lewis  <slewis@apple.com>
5595
5596        Update Order Files for Safari
5597        <rdar://problem/14517392>
5598
5599        Unreviewed.
5600
5601        * mac/WebKit2.order:
5602
56032013-08-04  Sam Weinig  <sam@webkit.org>
5604
5605        Remove support for HTML5 MicroData
5606        https://bugs.webkit.org/show_bug.cgi?id=119480
5607
5608        Reviewed by Anders Carlsson.
5609
5610        * Configurations/FeatureDefines.xcconfig:
5611
56122013-08-06  Eunmi Lee  <eunmi15.lee@samsung.com>
5613
5614        [EFL][WK2] Implement gesture recognizer.
5615        https://bugs.webkit.org/show_bug.cgi?id=102643
5616
5617        Reviewed by Gyuyoung Kim.
5618
5619        Recognize tap, pan and pinch gestures using touch events.
5620        The tap gesture is separated into single tap, double tap and
5621        'tap and hold'.
5622
5623        This patch references the webkit NIX port.
5624        https://github.com/WebKitNix/webkitnix
5625
5626        * PlatformEfl.cmake:
5627        * UIProcess/API/efl/EwkView.cpp:
5628        (EwkView::EwkView):
5629        (EwkView::doneWithTouchEvent):
5630        * UIProcess/API/efl/EwkView.h:
5631        * UIProcess/API/efl/GestureRecognizer.cpp: Added.
5632        (WebKit::GestureHandler::create):
5633        (WebKit::GestureHandler::GestureHandler):
5634        (WebKit::GestureHandler::handleSingleTap):
5635        (WebKit::GestureHandler::handleDoubleTap):
5636        (WebKit::GestureHandler::handleTapAndHold):
5637        (WebKit::GestureHandler::handlePanStarted):
5638        (WebKit::GestureHandler::handlePan):
5639        (WebKit::GestureHandler::handlePanFinished):
5640        (WebKit::GestureHandler::handlePinchStarted):
5641        (WebKit::GestureHandler::handlePinch):
5642        (WebKit::GestureHandler::handlePinchFinished):
5643        (WebKit::GestureRecognizer::GestureRecognizer):
5644        (WebKit::GestureRecognizer::~GestureRecognizer):
5645        (WebKit::GestureRecognizer::processTouchEvent):
5646        (WebKit::GestureRecognizer::doubleTapTimerCallback):
5647        (WebKit::GestureRecognizer::tapAndHoldTimerCallback):
5648        (WebKit::GestureRecognizer::exceedsPanThreshold):
5649        (WebKit::GestureRecognizer::exceedsDoubleTapThreshold):
5650        (WebKit::getPointAtIndex):
5651        (WebKit::createVectorWithWKArray):
5652        (WebKit::GestureRecognizer::noGesture):
5653        (WebKit::GestureRecognizer::singleTapGesture):
5654        (WebKit::GestureRecognizer::doubleTapGesture):
5655        (WebKit::GestureRecognizer::panGesture):
5656        (WebKit::GestureRecognizer::pinchGesture):
5657        (WebKit::GestureRecognizer::reset):
5658        (WebKit::GestureRecognizer::stopTapTimers):
5659        * UIProcess/API/efl/GestureRecognizer.h: Added.
5660        (WebKit::GestureRecognizer::create):
5661
56622013-07-23  David Farler  <dfarler@apple.com>
5663
5664        Provide optional OTHER_CFLAGS, OTHER_CPPFLAGS, OTHER_LDFLAGS additions for building with ASAN
5665        https://bugs.webkit.org/show_bug.cgi?id=117762
5666
5667        Reviewed by Mark Rowe.
5668
5669        * Configurations/DebugRelease.xcconfig:
5670        Add ASAN_OTHER_CFLAGS, CPLUSPLUSFLAGS, LDFLAGS.
5671        * Configurations/WebContentProcess.xcconfig:
5672        Add ASAN_OTHER_LDFLAGS.
5673        * Configurations/WebKit2.xcconfig:
5674        Add ASAN_OTHER_LDFLAGS.
5675
56762013-08-06  Andreas Kling  <akling@apple.com>
5677
5678        REGRESSION(r151403): Resizing is extremely laggy on many sites when plugins are disallowed.
5679        <http://webkit.org/b/119516>
5680        <rdar://problem/14648086>
5681
5682        Reviewed by Simon Fraser.
5683
5684        The web process relies on the WindowAndViewFramesChanged mechanism for caching a copy
5685        of the window rect for fast access from DOMWindow APIs.
5686
5687        We retain part of the optimization introduced in r151403, namely not computing the
5688        viewFrameInWindowCoordinates and accessibilityPosition unless the web process needs them.
5689
5690        * UIProcess/API/mac/WKView.mm:
5691        (-[WKView _updateWindowAndViewFrames]):
5692
56932013-07-26  Mark Rowe  <mrowe@apple.com>
5694
5695        Logging should be configurable using human-readable channel names rather than crazy bitmasks
5696        <http://webkit.org/b/119031>
5697
5698        Implement shared logic for initializing logging channels based on human-readable channel names in WTF,
5699        and rework the WebCore, WebKit and WebKit2 logging initialization on top of it.
5700
5701        Logging channels may now be enabled by providing a comma-separated list of channel names, with the special
5702        "all" name enabling all channels. Channel names prefixed with a leading "-" will result in the named channel
5703        being disabled. For instance, specifying "all,-history,-loading" will result in all logging channels except
5704        for history and loading being enabled.
5705
5706        For OS X developers, this also changes the name of the user defaults used to enable logging. This is done to allow
5707        the old user defaults to remain set for those people that need to switch between version of WebKit before and
5708        after this change. Where the old user default keys were WebCoreLogLevel, WebKitLogLevel and WebKit2LogLevel,
5709        the new user default keys are WebCoreLogging, WebKitLogging and WebKit2Logging.
5710
5711        For GTK developers, this changes the separator used in the WEBKIT_DEBUG environment variable to a comma for
5712        consistency with the other platforms and to enable more code sharing.
5713
5714        While doing this work I've also taken the opportunity to eliminate the need to touch multiple files when
5715        adding a new logging channel. Now only the header in the relevant project needs to be updated.
5716
5717        Reviewed by Sam Weinig.
5718
5719        * NetworkProcess/NetworkProcess.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.
5720        * Platform/Logging.cpp: Use WEBKIT2_LOG_CHANNELS to define all of the channels.
5721        (WebKit::initializeLogChannelsIfNecessary): Pass the channels and the log level string to the new WTF function
5722        that handles the initialization.
5723        (WebKit::logChannelByName): Renamed to match our naming conventions. Calls through to the new WTF function
5724        to find a log channel rather than repeating the names of the log channels a further two times each.
5725        (WebKit::logLevelString): Provide a no-op implementation.
5726        * Platform/Logging.h: Declare a WEBKIT2_LOG_CHANNELS macro that can be used to apply a preprocessor macro
5727        across the set of all logging channels. Use this macro to declare the logging channels.
5728        * Platform/efl/LoggingEfl.cpp:
5729        (WebKit::logLevelString): Pull the value out of the WEBKIT_DEBUG environment variable.
5730        * Platform/gtk/LoggingGtk.cpp:
5731        (WebKit::logLevelString): Ditto.
5732        * Platform/mac/Logging.mac.mm:
5733        (WebKit::logLevelString): Pull the value out of the WebKit2Logging user default key.
5734        * Platform/qt/LoggingQt.cpp:
5735        (WebKit::logLevelString): Pull the value out of the QT_WEBKIT_LOG environment variable.
5736        * Shared/WebKit2Initialize.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.
5737        * UIProcess/WebContext.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.
5738
57392013-08-05  Anders Carlsson  <andersca@apple.com>
5740
5741        Ignore the Apple Java placeholder plug-in
5742        https://bugs.webkit.org/show_bug.cgi?id=119494
5743        <rdar://problem/14610818>
5744
5745        Reviewed by Beth Dakin.
5746
5747        Never attempt to load the Java placeholder plug-in.
5748
5749        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
5750        (WebKit::PluginInfoStore::shouldUsePlugin):
5751
57522013-08-03  Tim Horton  <timothy_horton@apple.com>
5753
5754        Unreviewed, build and style fix for r153693.
5755
5756        * UIProcess/WebProcessProxy.cpp:
5757        * WebProcess/Plugins/PDF/PDFPlugin.h:
5758        * WebProcess/WebPage/WebPage.cpp:
5759
57602013-08-03  Tim Horton  <timothy_horton@apple.com>
5761
5762        Remove SimplePDFPlugin
5763        https://bugs.webkit.org/show_bug.cgi?id=119437
5764
5765        Reviewed by Alexey Proskuryakov.
5766
5767        * UIProcess/WebProcessProxy.cpp:
5768        (WebKit::WebProcessProxy::getPlugins):
5769        * WebProcess/WebPage/WebPage.cpp:
5770        (WebKit::WebPage::createPlugin):
5771        Don't add SimplePDFPlugin, nor try to instantiate it.
5772
5773        * WebProcess/Plugins/PDF/PDFPlugin.h:
5774        * WebProcess/Plugins/PDF/PDFPlugin.mm:
5775        Merge previously inherited behavior in from SimplePDFPlugin.
5776
5777        * WebKit2.xcodeproj/project.pbxproj:
5778        * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Removed.
5779        * WebProcess/Plugins/PDF/SimplePDFPlugin.mm: Removed.
5780        Remove SimplePDFPlugin.
5781
57822013-08-03  Tim Horton  <timothy_horton@apple.com>
5783
5784        Remove pageOverlayShouldApplyFadeWhenPainting() and adopt composited fade for the Mac port
5785        https://bugs.webkit.org/show_bug.cgi?id=119411
5786
5787        Reviewed by Simon Fraser.
5788
5789        Mac is the only holdout that performs non-composited fades of page
5790        overlays. We should adopt that mechanism (as a precursor to doing a
5791        CA-accelerated fade) and remove the now-unnecessary property.
5792
5793        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
5794        (WKBundlePageOverlayFractionFadedIn):
5795        Always return 1 (fully-faded-in) so that clients who attempt to use this
5796        to bake the fade opacity into their painting will paint at full opacity,
5797        allowing us to do the composited fade separately.
5798
5799        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
5800        * WebProcess/WebPage/DrawingArea.h:
5801        * WebProcess/WebPage/DrawingAreaImpl.cpp:
5802        * WebProcess/WebPage/DrawingAreaImpl.h:
5803        * WebProcess/WebPage/LayerTreeHost.h:
5804        * WebProcess/WebPage/PageOverlay.cpp:
5805        (WebKit::PageOverlay::PageOverlay):
5806        (WebKit::PageOverlay::setPage):
5807        (WebKit::PageOverlay::setNeedsDisplay):
5808        (WebKit::PageOverlay::fadeAnimationTimerFired):
5809        * WebProcess/WebPage/PageOverlay.h:
5810        Remove pageOverlayShouldApplyFadeWhenPainting and fractionFadedIn().
5811
5812        * WebProcess/WebPage/FindController.cpp:
5813        (WebKit::FindController::drawRect):
5814        Draw the find overlay without taking the PageOverlay's fade into account.
5815
5816        * WebProcess/WebPage/TapHighlightController.cpp:
5817        (WebKit::TapHighlightController::drawRect):
5818        Remove pageOverlayShouldApplyFadeWhenPainting. Since it's always
5819        "false" for all ports now, take the second path here.
5820
5821        * WebProcess/WebPage/mac/LayerTreeHostMac.h:
5822        * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
5823        (WebKit::LayerTreeHostMac::setPageOverlayOpacity):
5824        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
5825        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
5826        (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayOpacity):
5827        Implement setPageOverlayOpacity for DrawingAreaImpl
5828        and TiledCoreAnimationDrawingArea.
5829
58302013-08-02  Gavin Barraclough  <barraclough@apple.com>
5831
5832        Remove no-arguments constructor to PropertySlot
5833        https://bugs.webkit.org/show_bug.cgi?id=119460
5834
5835        Reviewed by Geoff Garen.
5836
5837        This constructor was unsafe if getValue is subsequently called,
5838        and the property is a getter. Simplest to just remove it.
5839
5840        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
5841        (WebKit::JSNPObject::getOwnPropertyDescriptor):
5842
58432013-08-02  Ruth Fong  <ruth_fong@apple.com>
5844
5845        [Forms: color] WebColorPickerMac deconstructor shouldn't assert a variable
5846        <rdar://problem/14627633> and https://bugs.webkit.org/show_bug.cgi?id=119419
5847
5848        Reviewed by Tim Horton.
5849
5850        * UIProcess/mac/WebColorPickerMac.mm:
5851        (WebKit::WebColorPickerMac::~WebColorPickerMac): If the m_colorPickerUI variable
5852          is not null, then properly destroy it first before destroying WebColorPickerMac object.
5853
58542013-08-02  Ruth Fong  <ruth_fong@apple.com>
5855
5856        [Forms: color] The positioning of the popover color well is inverted
5857        <rdar://problem/14635621> and https://bugs.webkit.org/show_bug.cgi?id=119455
5858
5859        Reviewed by Tim Horton.
5860
5861        This patch converts the coordinates of the <input type='color'> element to
5862        the window's base coordinate system.
5863
5864        * UIProcess/mac/WebColorPickerMac.mm:
5865        (-[WKColorPopoverMac initWithFrame:inView:]):
5866
58672013-08-01  Ruth Fong  <ruth_fong@apple.com>
5868
5869        [Forms: color] <input type='color'> popover color well implementation
5870        <rdar://problem/14411008> and https://bugs.webkit.org/show_bug.cgi?id=119356
5871
5872        Reviewed by Benjamin Poulain.
5873
5874        This patch adds an popover implementation of <input type='color'>.
5875
5876        * Configurations/FeatureDefines.xcconfig: Added and enabled INPUT_TYPE_COLOR_POPOVER.
5877
5878        * UIProcess/API/mac/PageClientImpl.mm:
5879        (WebKit::PageClientImpl::createColorPicker): Updated to pass the 
5880          coordinates of the <input type='color'> element and the WKView 
5881          object for the window.
5882
5883        * UIProcess/WebPageProxy.cpp:
5884        (WebKit::WebPageProxy::viewWillStartLiveResize): Close popover color 
5885          picker when the view is resized.
5886        (WebKit::WebPageProxy::viewInWindowStateDidChange): Close popover color
5887          picker when the view is no longer in the window.
5888        (WebKit::WebPageProxy::showColorPicker): Updated to show either a color panel
5889          or a popover color picker depending on whether INPUT_TYPE_COLOR_POPOVER is enabled.
5890
5891        * UIProcess/mac/WebColorPickerMac.h:
5892        * UIProcess/mac/WebColorPickerMac.mm:
5893        (WebKit::WebColorPickerMac::create):
5894        (WebKit::WebColorPickerMac::~WebColorPickerMac):
5895        (WebKit::WebColorPickerMac::WebColorPickerMac):
5896        (WebKit::WebColorPickerMac::endPicker):
5897        (WebKit::WebColorPickerMac::setSelectedColor):
5898        (WebKit::WebColorPickerMac::showColorPicker):
5899        Methods updated to handle both the color panel implementation and 
5900          the popover implementation; also renamed m_panel to m_colorPickerUI. 
5901
5902        (-[WKColorPopoverMac initWithFrame:WebCore::inView:]):
5903        (-[WKColorPopoverMac setAndShowPicker:WebKit::withColor:]):
5904        (-[WKColorPopoverMac dealloc]):
5905        (-[WKColorPopoverMac invalidate]):
5906        (-[WKColorPopoverMac windowWillClose:]):
5907        (-[WKColorPopoverMac didChooseColor:]):
5908        (-[WKColorPopoverMac setColor:]):
5909        WKColorPopoverMac provides the popover implementation of <input type='color'>.
5910
5911        (-[WKColorPanelMac didChooseColor:]): Updated to match the interface of 
5912          WKColorPickerMac::didChooseColor.
5913
59142013-08-01  Anders Carlsson  <andersca@apple.com>
5915
5916        Lots of leaks under WebContext::pluginInfoStoreDidLoadPlugins()
5917        https://bugs.webkit.org/show_bug.cgi?id=119412
5918
5919        Reviewed by Simon Fraser.
5920
5921        For some sick reason, the WKContextClient plugInInformationBecameAvailable callback function
5922        expects a +1 reference to the plug-in array. Isolate that hack to WebContextClient so that
5923        we don't leak the array if there is no WKContextClient.
5924        
5925        * UIProcess/WebContext.cpp:
5926        (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
5927        * UIProcess/WebContextClient.cpp:
5928        (WebKit::WebContextClient::plugInInformationBecameAvailable):
5929
59302013-08-01  Kwang Yul Seo  <skyul@company100.net>
5931
5932        Remove return statement in void function
5933        https://bugs.webkit.org/show_bug.cgi?id=119379
5934
5935        Reviewed by Darin Adler.
5936
5937        It does not make sense to return a value in void function.
5938
5939        * WebProcess/WebProcess.cpp:
5940        (WebKit::addCaseFoldedCharacters):
5941
59422013-08-01  Kwang Yul Seo  <skyul@company100.net>
5943
5944        [WK2] Add USE(SOUP) guard in WebProcess::destroyPrivateBrowsingSession
5945        https://bugs.webkit.org/show_bug.cgi?id=119381
5946
5947        Reviewed by Darin Adler.
5948
5949        The is a followup to r153355. I missed to add USE(SOUP) guard in
5950        WebProcess::destroyPrivateBrowsingSession.
5951
5952        * WebProcess/WebProcess.cpp:
5953        (WebKit::WebProcess::destroyPrivateBrowsingSession):
5954
59552013-08-01  Milian Wolff  <milian.wolff@kdab.com>
5956
5957        [Qt] Enable QML handling of crashed/unresponsive QtWebProcess
5958        https://bugs.webkit.org/show_bug.cgi?id=108474
5959
5960        Forward the processDidCrash, didRelaunchProcess, processDidBecomeUnresponsive
5961        and processDidBecomeResponsive signals to QML's WebView.experimental.
5962
5963        Reviewed by Jocelyn Turcotte.
5964
5965        * UIProcess/API/qt/qquickwebview.cpp:
5966        (QQuickWebViewPrivate::processDidCrash):
5967        (QQuickWebViewPrivate::didRelaunchProcess):
5968        (QQuickWebViewPrivate::processDidBecomeUnresponsive):
5969        (QQuickWebViewPrivate::processDidBecomeResponsive):
5970        * UIProcess/API/qt/qquickwebview_p.h:
5971        * UIProcess/API/qt/qquickwebview_p_p.h:
5972        (QQuickWebViewPrivate):
5973
59742013-07-31  Kwang Yul Seo  <skyul@company100.net>
5975
5976        Use emptyString instead of String("")
5977        https://bugs.webkit.org/show_bug.cgi?id=119335
5978
5979        Reviewed by Darin Adler.
5980
5981        Use emptyString() instead of String("") because it is better style and
5982        faster. This is a followup to r116908, removing all occurrences of
5983        String("") from WebKit.
5984
5985        * Shared/mac/WebEventFactory.mm:
5986        (WebKit::textFromEvent):
5987        (WebKit::unmodifiedTextFromEvent):
5988
59892013-07-31  Ruth Fong  <ruth_fong@apple.com>
5990
5991        <input type=color> Mac UI behaviour
5992        <rdar://problem/10269922> and https://bugs.webkit.org/show_bug.cgi?id=61276
5993
5994        Implemented <input type='color'> on Mac using the native color picker. 
5995
5996        Reviewed by Brady Eidson.
5997
5998        Code for WebColorPickerMac is derived from Chromium's color_chooser_mac.mm:
5999        https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/ui/cocoa/color_chooser_mac.mm
6000
6001        * Configurations/FeatureDefines.xcconfig: Enabled INPUT_TYPE_COLOR.
6002
6003        * UIProcess/API/mac/PageClientImpl.mm:
6004        (WebKit::PageClientImpl::createColorPicker): Replaced stub implementation
6005          and return a WebColorPickerMac object.
6006
6007        * UIProcess/WebColorPicker.cpp:
6008        (WebKit::WebColorPicker::invalidate): Updated to call endChooser().
6009        (WebKit::WebColorPicker::showColorPicker): Added stub implementation.
6010        * UIProcess/WebColorPicker.h:
6011
6012        * UIProcess/WebPageProxy.cpp:
6013        (WebKit::WebPageProxy::close): Removed invalidation of removed color picker objects.
6014        (WebKit::WebPageProxy::showColorPicker): Updated so that it works for
6015          multiple <input type='color'> elements on a page.
6016        (WebKit::WebPageProxy::didEndColorPicker): Removed cleanup of removed color picker objects.
6017        (WebKit::WebPageProxy::resetStateAfterProcessExited): Removed cleanup of removed color picker objects.
6018
6019        * UIProcess/mac/WebColorPickerMac.h: Added.
6020        * UIProcess/mac/WebColorPickerMac.mm: Added.
6021        (WebKit::WebColorPickerMac::create):
6022        (WebKit::WebColorPickerMac::~WebColorPickerMac):
6023        (WebKit::WebColorPickerMac::WebColorPickerMac):
6024        (WebKit::WebColorPickerMac::endPicker):
6025        (WebKit::WebColorPickerMac::setSelectedColor):
6026        (WebKit::WebColorPickerMac::didChooseColor):
6027        (WebKit::WebColorPickerMac::showColorPicker):
6028        WebColorPickerMac contains a reference to a WKColorPanelMac object
6029          and is responsible for maintaining the color picker UI.
6030
6031        (-[WKColorPanelMac setAndShowPicker:withColor:]):
6032        (-[WKColorPanelMac invalidate]):
6033        (-[WKColorPanelMac windowWillClose:]):
6034        (-[WKColorPanelMac didChooseColor:]):
6035        (-[WKColorPanelMac setColor:]):
6036        WKColorPanelMac is a wrapper for a NSColorPanel object and 
6037          is responsible for the color picker UI.
6038
6039        * WebKit2.xcodeproj/project.pbxproj:
6040
6041        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
6042        (WebKit::WebChromeClient::createColorChooser): Updated to always create a 
6043          WebColorChooser object.
6044
6045        * WebProcess/WebCoreSupport/WebColorChooser.cpp:
6046        (WebKit::WebColorChooser::reattachColorChooser): Sets the page's 
6047          active color chooser to the current object and pings the UIProcess
6048          to show the color picker.
6049        (WebKit::WebColorChooser::setSelectedColor): Only sets the color in the
6050          color picker if the WebColorChooser object is the active color element.
6051        * WebProcess/WebCoreSupport/WebColorChooser.h:
6052
60532013-07-30  Gavin Barraclough  <barraclough@apple.com>
6054
6055        Some cleanup in JSValue::get
6056        https://bugs.webkit.org/show_bug.cgi?id=119343
6057
6058        Reviewed by Geoff Garen.
6059
6060        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
6061        (WebKit::JSNPObject::getOwnPropertySlot):
6062        * WebProcess/Plugins/Netscape/JSNPObject.h:
6063            - getOwnPropertySlot, JSCell -> JSObject
6064
60652013-07-31  Allan Sandfeld Jensen  <allan.jensen@digia.com>
6066
6067        [Qt] Build WebKit with C++11
6068        https://bugs.webkit.org/show_bug.cgi?id=119337
6069
6070        Reviewed by Csaba Osztrogonác.
6071
6072        We no longer need to enable C++11 specifically for WebKit2.
6073
6074        * WebKit2.pri:
6075
60762013-07-30  Tim Horton  <timothy_horton@apple.com>
6077
6078        DHTML drag can result in a null-deref under WebDragClient::startDrag
6079        https://bugs.webkit.org/show_bug.cgi?id=119297
6080        <rdar://problem/14213012>
6081
6082        Reviewed by Simon Fraser.
6083
6084        * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
6085        (WebKit::convertImageToBitmap):
6086        ShareableBitmap::createShareable can return null, but shouldn't dereference that.
6087
60882013-07-30  Ruth Fong  <ruth_fong@apple.com>
6089
6090        Rename <input type='color'> functions in WebPageProxy, WebColorPicker
6091        <rdar://problem/14549771> and https://bugs.webkit.org/show_bug.cgi?id=119097
6092
6093        Reviewed by Tim Horton.
6094
6095        In bug 119025, WebColorChooserProxy was renamed WebColorPicker. This patch makes the UIProcess consistent
6096        by renaming UIProcess INPUT_TYPE_COLOR functions from ...colorChooser to ...colorPicker.
6097
6098        * UIProcess/WebColorPicker.cpp:
6099        (WebKit::WebColorPicker::endPicker):
6100        * UIProcess/WebColorPicker.h:
6101        * UIProcess/WebColorPickerResultListenerProxy.cpp:
6102        (WebKit::WebColorPickerResultListenerProxy::setColor):
6103        * UIProcess/WebPageProxy.cpp:
6104        (WebKit::WebPageProxy::showColorPicker):
6105        (WebKit::WebPageProxy::setColorPickerColor):
6106        (WebKit::WebPageProxy::endColorPicker):
6107        (WebKit::WebPageProxy::didEndColorPicker):
6108        * UIProcess/WebPageProxy.h:
6109        * UIProcess/WebPageProxy.messages.in:
6110        * UIProcess/qt/WebColorPickerQt.cpp:
6111        (WebKit::WebColorPickerQt::createItem):
6112        (WebKit::WebColorPickerQt::notifyColorSelected):
6113        (WebKit::WebColorPickerQt::endPicker):
6114        * UIProcess/qt/WebColorPickerQt.h:
6115        * WebProcess/WebCoreSupport/WebColorChooser.cpp:
6116        (WebKit::WebColorChooser::WebColorChooser):
6117        (WebKit::WebColorChooser::setSelectedColor):
6118        (WebKit::WebColorChooser::endChooser):
6119        * WebProcess/WebPage/WebPage.cpp:
6120        (WebKit::WebPage::didEndColorPicker):
6121        * WebProcess/WebPage/WebPage.h:
6122        * WebProcess/WebPage/WebPage.messages.in:
6123
61242013-07-30  Anders Carlsson  <andersca@apple.com>
6125
6126        Speculative fix for crash due to string access on multiple threads
6127        https://bugs.webkit.org/show_bug.cgi?id=119279
6128        <rdar://problem/14267833>
6129
6130        Reviewed by Darin Adler.
6131
6132        We can't use String::isolatedCopy for passing the local storage directory to the storage thread since
6133        that returns a String that's copied and then destroyed after the call to bind returns, leaving a small window
6134        where the refcount can be accessed simultaneously from two threads.
6135
6136        Work around this by passing a PassRefPtr<StringImpl> to bind instead; the act of copying the PassRefPtr will
6137        clear out the original and so when the original is destroyed the underlying StringImpl pointer will be null.
6138
6139        * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
6140        (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectory):
6141        (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
6142        * UIProcess/Storage/LocalStorageDatabaseTracker.h:
6143
61442013-07-30  Tim Horton  <timothy_horton@apple.com>
6145
6146        Fix typo in enum name ("SelectionInSnaphot" -> "SelectionInSnapshot")
6147        https://bugs.webkit.org/show_bug.cgi?id=119275
6148
6149        Reviewed by Simon Fraser.
6150
6151        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
6152        (WebKit::imageForRect):
6153        * WebProcess/WebPage/WebPage.cpp:
6154        (WebKit::WebPage::scaledSnapshotWithOptions):
6155        Fix typo.
6156
61572013-07-30  Anders Carlsson  <andersca@apple.com>
6158
6159        Plug-in process crashes if plug-in is destroyed as a result of sending NPObjectMessageReceiver::Deallocate
6160        https://bugs.webkit.org/show_bug.cgi?id=119270
6161        <rdar://problem/13368226>
6162
6163        Reviewed by Darin Adler.
6164
6165        Normally we use the PluginDestructionProtector RAII object to prevent plug-ins from being destroyed while
6166        they're executing code. However, in the case of the NPObjectMessageReceiver::Deallocate message, we can't do this
6167        since we don't know the plug-in or connection. 
6168        
6169        Instead, add a counter to Connection that keeps track of whether sendSync is currently called and defer plug-in
6170        destruction if it is. (This approach is actually more robust and we should investigate getting rid of the destruction protector).
6171
6172        * Platform/CoreIPC/Connection.cpp:
6173        (CoreIPC::Connection::Connection):
6174        (CoreIPC::Connection::sendSyncMessage):
6175        * Platform/CoreIPC/Connection.h:
6176        (CoreIPC::Connection::inSendSync):
6177        * PluginProcess/PluginControllerProxy.cpp:
6178        (WebKit::PluginControllerProxy::destroy):
6179
61802013-07-30  Tim Horton  <timothy_horton@apple.com>
6181
6182        Null deref under WebPage::scaledSnapshotWithOptions
6183        https://bugs.webkit.org/show_bug.cgi?id=119243
6184        <rdar://problem/14502050>
6185
6186        Reviewed by Darin Adler.
6187
6188        * WebProcess/WebPage/WebPage.cpp:
6189        (WebKit::WebPage::scaledSnapshotWithOptions):
6190        WebFrame::coreFrame() can be null (if the Frame is already torn down),
6191        so we should check it.
6192
61932013-07-30  Tim Horton  <timothy_horton@apple.com>
6194
6195        Null deref under PluginView::handlesPageScaleFactor()
6196        https://bugs.webkit.org/show_bug.cgi?id=119231
6197        <rdar://problem/14440207>
6198
6199        Reviewed by Darin Adler.
6200
6201        Null-check the PluginView in the caller as well.
6202
6203        * WebProcess/WebPage/WebFrame.cpp:
6204        (WebKit::WebFrame::handlesPageScaleGesture):
6205
62062013-07-30  Patrick Gansterer  <paroga@webkit.org>
6207
6208        Remove unused Download*.cpp files
6209        https://bugs.webkit.org/show_bug.cgi?id=119248
6210
6211        Reviewed by Anders Carlsson.
6212
6213        * Shared/Downloads/cfnet/DownloadCFNet.cpp: Removed.
6214        * Shared/Downloads/curl/DownloadCurl.cpp: Removed.
6215
62162013-07-30  Jeff Miller  <jeffm@apple.com>
6217
6218        Page for WKPageLoaderClient processDidCrash callback always reports a process identifier of 0
6219        https://bugs.webkit.org/show_bug.cgi?id=119269
6220        <rdar://problem/14582393>
6221
6222        Reviewed by Anders Carlsson.
6223
6224        * UIProcess/WebPageProxy.cpp:
6225        (WebKit::WebPageProxy::processIdentifier):
6226        Return 0 if the page is closed instead of requiring isValid().
6227
62282013-07-30  Kwang Yul Seo  <skyul@company100.net>
6229
6230        [WK2] Move the implementation of WebEditorClient::checkTextOfParagraph to WebEditorClient.cpp
6231        https://bugs.webkit.org/show_bug.cgi?id=119034
6232
6233        Reviewed by Anders Carlsson.
6234
6235        The Mac and EFL ports use the same implementation of
6236        WebEditorClient::checkTextOfParagraph and GTK will use the same
6237        implementation too. So rather than duplicating the same code in
6238        platform specific files, move the implementation to platform agnostic
6239        WebProcess/WebCoreSupport/WebEditorClient.cpp.
6240
6241        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
6242        (WebKit::WebEditorClient::checkTextOfParagraph):
6243        * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
6244        * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
6245
62462013-07-30  Brian Holt  <brian.holt@samsung.com>
6247
6248        [WebKit2] [Gtk] WebKitResponsePolicyDecision URI response property incorrect
6249        https://bugs.webkit.org/show_bug.cgi?id=119258
6250
6251        Reviewed by Martin Robinson.
6252
6253        Corrected the installed URI response property from PROP_REQUEST to
6254        PROP_RESPONSE and type from WEBKIT_TYPE_URI_REQUEST to
6255        WEBKIT_TYPE_URI_RESPONSE.
6256
6257        * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
6258        (webkit_response_policy_decision_class_init):
6259
62602013-07-29  Carlos Garcia Campos  <cgarcia@igalia.com>
6261
6262        Unreviewed. Fix make distcheck.
6263
6264        * GNUmakefile.list.am: Add missing header file to compilation.
6265
62662013-07-29  Tim Horton  <timothy_horton@apple.com>
6267
6268        [wk2] Flush the WebProcess’ implicit transaction when using endDeferringViewInWindowChangesSync
6269        https://bugs.webkit.org/show_bug.cgi?id=119225
6270        <rdar://problem/14568841>
6271
6272        Reviewed by Simon Fraser.
6273
6274        Tell CoreAnimation to flush the implicit transaction before replying
6275        when using endDeferringViewInWindowChangesSync, as that method's contract
6276        is that the WebProcess is totally ready to be in-window when it returns.
6277
6278        * UIProcess/API/mac/WKView.mm:
6279        (-[WKView endDeferringViewInWindowChanges]):
6280        Adopt viewInWindowStateDidChange.
6281
6282        (-[WKView endDeferringViewInWindowChangesSync]):
6283        Adopt viewInWindowStateDidChange, asking it to send a reply only if we're going to wait for one.
6284
6285        * UIProcess/WebPageProxy.cpp:
6286        (WebKit::WebPageProxy::viewInWindowStateDidChange):
6287        (WebKit::WebPageProxy::viewStateDidChange):
6288        Pull viewInWindowStateDidChange out of viewStateDidChange.
6289        Request a reply from SetIsInWindow if we're told to.
6290
6291        * UIProcess/WebPageProxy.h: Add WantsReplyOrNot and viewInWindowStateDidChange.
6292        * WebProcess/WebPage/WebPage.cpp:
6293        (WebKit::WebPage::didUpdateInWindowStateTimerFired):
6294        Don't build this version on Mac, we'll have a WebPageMac version.
6295
6296        (WebKit::WebPage::setIsInWindow):
6297        Only start the timer to send the didUpdateInWindowState reply if we're asked to.
6298
6299        * WebProcess/WebPage/WebPage.h:
6300        * WebProcess/WebPage/WebPage.messages.in:
6301        Add an argument to the SetIsInWindow message for whether the WebProcess
6302        should inform the UIProcess when SetIsInWindow completes or not.
6303
6304        * WebProcess/WebPage/mac/WebPageMac.mm:
6305        (WebKit::WebPage::didUpdateInWindowStateTimerFired):
6306        Tell CA to flush the implicit transaction before telling the UIProcess that
6307        we're finished moving in-window.
6308
63092013-07-29  Tim Horton  <timothy_horton@apple.com>
6310
6311        Null deref under PluginView::handlesPageScaleFactor()
6312        https://bugs.webkit.org/show_bug.cgi?id=119231
6313        <rdar://problem/14440207>
6314
6315        Reviewed by Simon Fraser.
6316
6317        * WebProcess/Plugins/PluginView.cpp:
6318        (WebKit::PluginView::handlesPageScaleFactor):
6319        * WebProcess/Plugins/PluginView.h:
6320        Null-check m_plugin and check m_isInitialized.
6321        Make pageScaleFactor() and handlesPageScaleFactor const.
6322
63232013-07-29  Anders Carlsson  <andersca@apple.com>
6324
6325        Remove setUnderlayPage() and associated code
6326        https://bugs.webkit.org/show_bug.cgi?id=119220
6327        <rdar://problem/14392426>
6328
6329        Reviewed by Jessie Berlin.
6330
6331        This is dead code, get rid of it.
6332
6333        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
6334        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
6335        * WebProcess/WebPage/WebPage.cpp:
6336        (WebKit::WebPage::close):
6337        (WebKit::WebPage::layoutIfNeeded):
6338        (WebKit::WebPage::drawRect):
6339        * WebProcess/WebPage/WebPage.h:
6340
63412013-07-29  Sergio Correia  <sergio.correia@openbossa.org>
6342
6343        CoordinatedGraphics: Add API to get and set the active state of a WebView
6344        https://bugs.webkit.org/show_bug.cgi?id=119067
6345
6346        Reviewed by Noam Rosenthal.
6347
6348        A view being in the "active" state generally means that it is not in the
6349        "background", although this definition can vary depending on the platform
6350        under consideration.
6351
6352        This patch adds the following APIs to WKView:
6353        - bool WKViewIsActive(WKViewRef)
6354        This API accepts a WKViewRef as parameter and returns a boolean indicating
6355        whether the given view is active.
6356
6357        - void WKViewSetIsActive(WKViewRef, bool)
6358        This API accepts a WKViewRef and a boolean as parameteres, and it sets the
6359        active state of the given view to the given boolean argument.
6360
6361        * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
6362        (WKViewIsActive): API added.
6363        (WKViewSetIsActive): Ditto.
6364        * UIProcess/API/C/CoordinatedGraphics/WKView.h: Export aforementioned API.
6365        * UIProcess/CoordinatedGraphics/WebView.cpp:
6366        (WebKit::WebView::initialize): Use new setActive method.
6367        (WebKit::WebView::setActive): Added method to set the active state of the
6368        view.
6369        (WebKit::WebView::isActive): Added method to return the active state of
6370        view.
6371        (WebKit::WebView::enterAcceleratedCompositingMode): Use new setActive
6372        method.
6373        (WebKit::WebView::exitAcceleratedCompositingMode): Ditto.
6374        * UIProcess/CoordinatedGraphics/WebView.h: Added declarations of isActive
6375        and setActive.
6376
63772013-07-29  Jae Hyun Park  <jae.park@company100.net>
6378
6379        Remove duplicated LayerTreeHost::supportsAcceleratedCompositing
6380        https://bugs.webkit.org/show_bug.cgi?id=118949
6381
6382        Reviewed by Noam Rosenthal.
6383
6384        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
6385        * WebProcess/WebPage/LayerTreeHost.h:
6386        (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
6387
63882013-07-29  Zan Dobersek  <zdobersek@igalia.com>
6389
6390        [Automake] Remove references to non-existent *_CFLAGS and *_LIBS variables
6391        https://bugs.webkit.org/show_bug.cgi?id=119212
6392
6393        Reviewed by Carlos Garcia Campos.
6394
6395        * GNUmakefile.am: Remove references to GLOBALDEPS_(CFLAGS|LIBS) and CLUTTER_(CFLAGS|LIBS)
6396        variables that are not defined during the configuration process.
6397
63982013-07-28  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
6399
6400        [EFL][WK2] Simplify context_menu_spelling_items_availability unit test
6401        https://bugs.webkit.org/show_bug.cgi?id=119085
6402
6403        Reviewed by Gyuyoung Kim.
6404
6405        Use findContextMenuItem method to check whether the item
6406        appears in context menu.
6407
6408        * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
6409        (EWK2TextCheckerTest::findContextMenuItem):
6410        Do not report failure inside the method.
6411        It doesn't allow to test the negative test cases.
6412
6413        (EWK2TextCheckerTest::checkCorrectnessOfSpellingItems):
6414        Use findContextMenuItem method.
6415
6416        (EWK2TextCheckerTest::toogleCheckSpellingWhileTyping):
6417        (EWK2TextCheckerTest::selectLearnSpelling):
6418        (EWK2TextCheckerTest::selectIgnoreSpelling):
6419        Verify the return value of findContextMenuItem.
6420
6421        (TEST_F):
6422        Reset wasContextMenuShown variable, it's needed after r152153.
6423        Use waitUntilTrue method.
6424
64252013-07-27  Jacky Jiang  <zhajiang@blackberry.com>
6426
6427        Replace all uses of GraphicsLayer::create function with the one that takes a GraphicsLayerFactory
6428        https://bugs.webkit.org/show_bug.cgi?id=119186
6429
6430        Reviewed by Anders Carlsson.
6431
6432        * UIProcess/mac/RemoteLayerTreeHost.mm:
6433        (WebKit::RemoteLayerTreeHost::getOrCreateLayer):
6434
64352013-07-27  Chris Fleizach  <cfleizach@apple.com>
6436
6437        AX: VoiceOver not working with data detection page overlays
6438        https://bugs.webkit.org/show_bug.cgi?id=118680
6439
6440        Reviewed by Sam Weinig.
6441
6442        Expose API in BundlePageOverlay so that accessibility attributes can be retrieved through the overlay.
6443        This requires two methods in a new callback struct. One to copy the attribute names, and the other to 
6444        copy the attribute values. I've folded both parameterized and non-parameterized attribute names into one method
6445        with a boolean to determine which one should be used. The non-parameterized attributes are not used or passed to the
6446        overlay at this time as there are no clients with such a need.
6447
6448        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
6449        (PageOverlayClientImpl::setAccessibilityClient):
6450        (PageOverlayClientImpl::PageOverlayClientImpl):
6451        (PageOverlayClientImpl::copyAccessibilityAttributeValue):
6452        (PageOverlayClientImpl::copyAccessibilityAttributeNames):
6453        (WKBundlePageOverlaySetAccessibilityClient):
6454        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
6455        * WebProcess/WebPage/PageOverlay.cpp:
6456        (WebKit::PageOverlay::copyAccessibilityAttributeValue):
6457        (WebKit::PageOverlay::copyAccessibilityAttributeNames):
6458        * WebProcess/WebPage/PageOverlay.h:
6459        (WebKit::PageOverlay::Client::copyAccessibilityAttributeValue):
6460        (WebKit::PageOverlay::Client::copyAccessibilityAttributeNames):
6461        (WebKit::PageOverlay::client):
6462        * WebProcess/WebPage/WebPage.cpp:
6463        (WebKit::WebPage::pageOverlayCopyAccessibilityAttributeValue):
6464        (WebKit::WebPage::pageOverlayCopyAccessibilityAttributesNames):
6465        * WebProcess/WebPage/WebPage.h:
6466        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
6467        (-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
6468        (-[WKAccessibilityWebPageObject _convertScreenPointToWindow:]):
6469        (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
6470
64712013-07-27  Simon Fraser  <simon.fraser@apple.com>
6472
6473        If entering fullscreen for a window fails, don't leave things in a bad state
6474        https://bugs.webkit.org/show_bug.cgi?id=119179
6475
6476        Reviewed by Sam Weinig.
6477        
6478        On Lion, attempting to take a video fullscreen when the Safari window is already
6479        fullscreen can sometimes fail, and AppKit informs us via windowDidFailToEnterFullScreen:
6480        
6481        When this happens we have to undo the work done when entering fullscreen, to
6482        avoid leaving things in a bad state.
6483
6484        * UIProcess/mac/WKFullScreenWindowController.mm:
6485        (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
6486
64872013-07-26  Tim Horton  <timothy_horton@apple.com>
6488
6489        Add a mode where autosizing fixes the FrameView height to at least the WKView height
6490        https://bugs.webkit.org/show_bug.cgi?id=119104
6491        <rdar://problem/14549021>
6492
6493        Reviewed by Anders Carlsson.
6494
6495        * Shared/WebPageCreationParameters.cpp:
6496        (WebKit::WebPageCreationParameters::encode):
6497        (WebKit::WebPageCreationParameters::decode):
6498        * Shared/WebPageCreationParameters.h:
6499        Add autoSizingShouldExpandToViewHeight parameter.
6500
6501        * UIProcess/API/mac/WKView.mm:
6502        (-[WKView minimumWidthForAutoLayout]):
6503        (-[WKView setMinimumWidthForAutoLayout:]):
6504        Un-deprecate these as they're still useful if not sending a height.
6505
6506        (-[WKView shouldExpandToViewHeightForAutoLayout]):
6507        (-[WKView setShouldExpandToViewHeightForAutoLayout:]):
6508        * UIProcess/API/mac/WKViewPrivate.h:
6509        New property, forward to WebPageProxy.
6510
6511        * UIProcess/WebPageProxy.cpp:
6512        (WebKit::WebPageProxy::WebPageProxy):
6513        (WebKit::WebPageProxy::creationParameters):
6514        (WebKit::WebPageProxy::setAutoSizingShouldExpandToViewHeight):
6515        * UIProcess/WebPageProxy.h:
6516        (WebKit::WebPageProxy::autoSizingShouldExpandToViewHeight):
6517        New property, forward to WebPage.
6518
6519        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
6520        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
6521        If enabled, update the FrameView's autoSizeFixedMinimumHeight.
6522
6523        * WebProcess/WebPage/WebPage.cpp:
6524        (WebKit::WebPage::WebPage):
6525        (WebKit::WebPage::setAutoSizingShouldExpandToViewHeight):
6526        * WebProcess/WebPage/WebPage.h:
6527        (WebKit::WebPage::autoSizingShouldExpandToViewHeight):
6528        New property; if enabled, set FrameView's autoSizeFixedMinimumHeight,
6529        otherwise reset it to 0.
6530
6531        * WebProcess/WebPage/WebPage.messages.in:
6532        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
6533        (WebKit::TiledCoreAnimationDrawingArea::updateIntrinsicContentSizeTimerFired):
6534        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
6535        Retrieve intrinsic content size explicitly from the FrameView, as
6536        it may not have used it as its final contentsSize if
6537        autoSizeFixedMinimumHeight is set.
6538
6539        Set the WebPage's size in case the load is committed so that the
6540        WebFrameLoaderClient doesn't reset us to the wrong size.
6541
6542        Update autoSizeFixedMinimumHeight if enabled when the view size changes.
6543
65442013-07-25  Andreas Kling  <akling@apple.com>
6545
6546        ChromeClient::focusedNodeChanged() should be focusedElementChanged().
6547        <http://webkit.org/b/119110>
6548
6549        Reviewed by Anders Carlsson.
6550
6551        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
6552        (WebKit::WebChromeClient::focusedElementChanged):
6553        * WebProcess/WebCoreSupport/WebChromeClient.h:
6554
65552013-07-25  Kwang Yul Seo  <skyul@company100.net>
6556
6557        [WK2][Soup] Add private browsing support
6558        https://bugs.webkit.org/show_bug.cgi?id=118657
6559
6560        Reviewed by Gustavo Noronha Silva.
6561
6562        Support private browsing in WK2 by implementing private browsing
6563        related methods in WebFrameNetworkingContext.
6564
6565        * WebProcess/InjectedBundle/InjectedBundle.cpp:
6566        (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
6567        Add USE(SOUP) guard.
6568
6569        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
6570        Add private browsing support methods. Copied from the Mac port.
6571        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
6572        (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession):
6573        (WebKit::WebFrameNetworkingContext::storageSession):
6574        Check if the frame enables private browsing and return the private
6575        browsing session.
6576        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
6577
6578        * WebProcess/WebProcess.cpp:
6579        (WebKit::WebProcess::ensurePrivateBrowsingSession):
6580        Add USE(SOUP) guard.
6581
65822013-07-25  Kwang Yul Seo  <skyul@company100.net>
6583
6584        Build fix: use of long long in CoreIPC::ArgumentEncoder and CoreIPC::ArgumentDecoder
6585        https://bugs.webkit.org/show_bug.cgi?id=118228
6586
6587        Reviewed by Anders Carlsson.
6588
6589        Build fails on some platforms where int64_t and long long are different types.
6590
6591        * Shared/FileAPI/BlobRegistrationData.cpp:
6592        (WebKit::BlobRegistrationData::encode):
6593        Add explicit casts to int64_t.
6594        (WebKit::BlobRegistrationData::decode):
6595        Use int64_t instead of long long.
6596
65972013-07-25  Anders Carlsson  <andersca@apple.com>
6598
6599        Remove lastModifiedDate from ResourceResponse
6600        https://bugs.webkit.org/show_bug.cgi?id=119092
6601
6602        Reviewed by Andreas Kling.
6603
6604        Update for WebCore changes.
6605
6606        * WebProcess/Plugins/PluginView.cpp:
6607        (WebKit::lastModifiedDate):
6608        Use ResourceResponse::lastModified() to get the last modified date.
6609
6610        (WebKit::PluginView::Stream::didReceiveResponse):
6611        Call the static lastModified function.
6612
6613        (WebKit::PluginView::manualLoadDidReceiveResponse):
6614        Ditto.
6615
66162013-07-25  Carlos Garcia Campos  <cgarcia@igalia.com>
6617
6618        [GTK] Add support for running unit tests in the web process
6619        https://bugs.webkit.org/show_bug.cgi?id=118427
6620
6621        Reviewed by Gustavo Noronha Silva.
6622
6623        Some tests, like GObject DOM bindings API tests, run entirely in
6624        the WebProcess, so we just need to start the test from the UI
6625        process and wait until the test finishes running in the
6626        WebProcess. Tests are split in two files, one containing the
6627        actual test that runs in the WebProcess and another one to add the
6628        tests to the glib test system that works as a
6629        proxy. WebProcessTestRunner class starts a private DBus session
6630        bus and starts the tests sending a message to the WebExtension
6631        waiting until it finishes or fails. WebProcess tests are created
6632        by defining a class derived from WebProcessTest class and
6633        implementing the static create method and the virtual runTest
6634        method. The macro REGISTER_TEST is used by the web process tests
6635        to register their test cases. This patch includes the migration
6636        of the WebKitDOMNode test, all other GObject DOM bindings tests
6637        will be migrated in the same way in follow up patches.
6638
6639        * UIProcess/API/gtk/tests/DOMNodeTest.cpp: Added.
6640        (WebKitDOMNodeTest::create): Create a new WebKitDOMNodeTest.
6641        (WebKitDOMNodeTest::webPageFromArgs): Get the pageID parameter
6642        from the arguments dictionary.
6643        (WebKitDOMNodeTest::testHierarchyNavigation):
6644        (WebKitDOMNodeTest::testInsertion):
6645        (WebKitDOMNodeTest::runTest): Run the given test.
6646        (registerTests): Register test cases.
6647        * UIProcess/API/gtk/tests/GNUmakefile.am: Add new files to
6648        compilation.
6649        * UIProcess/API/gtk/tests/TestDOMNode.cpp: Added.
6650        (testWebKitDOMNodeHierarchyNavigation):
6651        (testWebKitDOMNodeInsertion):
6652        (beforeAll):
6653        (afterAll):
6654        * UIProcess/API/gtk/tests/TestMain.cpp:
6655        (main): Unset DBUS_SESSION_BUS_ADDRESS environment variable to
6656        make sure that the GLib bus singleton is initialized by the
6657        private DBus session bus created by the tests.
6658        * UIProcess/API/gtk/tests/WebProcessTest.cpp: Added.
6659        (testsMap): Initialize and get the global map of tests.
6660        (WebProcessTest::add): Add a new test to the map, keeping a
6661        function to create the test.
6662        (WebProcessTest::create): Create a test for the given name.
6663        (methodCallCallback): Handle RunTest DBus method. It creates and
6664        runs the given test.
6665        (webkit_web_extension_initialize):Register the DBus service for
6666        this WebExtension.
6667        * UIProcess/API/gtk/tests/WebProcessTest.h: Added.
6668        * UIProcess/API/gtk/tests/WebProcessTestRunner.cpp: Added.
6669        (WebProcessTestRunner::WebProcessTestRunner): Start a private DBus
6670        session bus and get a connection to it.
6671        (WebProcessTestRunner::~WebProcessTestRunner): Stop the private
6672        DBus session bus.
6673        (WebProcessTestRunner::proxyCreatedCallback):
6674        (WebProcessTestRunner::proxy): Create a new proxy to send messages
6675        to the WebExtension if it doesn't exists.
6676        (WebProcessTestRunner::onNameAppeared): Called when the DBus
6677        service has been registered in the WebExtension and it's safe to
6678        create a proxy.
6679        (WebProcessTestRunner::onNameVanished): Called when the DBus
6680        service is unregistered. This happens when the web process crash,
6681        so we just exit here, because the g_asserts in the web process
6682        have already registered the error message.
6683        (WebProcessTestRunner::testFinishedCallback): Called when the
6684        WebProcess tests has finished.
6685        (WebProcessTestRunner::runTest): Send a message to the
6686        WebExtension to start the given test and monitor the service.
6687        (WebProcessTestRunner::finishTest): Save the test result and
6688        finish the main loop.
6689        * UIProcess/API/gtk/tests/WebProcessTestRunner.h: Added.
6690
66912013-05-05  Geoffrey Garen  <ggaren@apple.com>
6692
6693        Rolled back in r149527 with crash fixed.
6694
6695        Reviewed by Oliver Hunt.
6696
6697            Rationalized 'this' value conversion
6698            https://bugs.webkit.org/show_bug.cgi?id=115542
6699
67002013-07-24  Ruth Fong  <ruth_fong@apple.com>
6701
6702        Rename WebColorChooserProxy
6703        <rdar://problem/14528039> and https://bugs.webkit.org/show_bug.cgi?id=119025
6704
6705        Reviewed by Brady Eidson.
6706
6707        Renamed WebColorChooserProxy to WebColorPicker since the name WebColorChoooserProxy
6708        implies that it represents the same object as WebColorChooser, which is not true.
6709        Also, renamed createColorChooserProxy to createColorPicker in WebPageProxy and 
6710        platform-equivalent versions of it.
6711
6712        * CMakeLists.txt:
6713        * GNUmakefile.list.am:
6714        * Target.pri:
6715        * UIProcess/API/gtk/PageClientImpl.cpp:
6716        (WebKit::PageClientImpl::createColorPicker):
6717        * UIProcess/API/gtk/PageClientImpl.h:
6718        * UIProcess/API/mac/PageClientImpl.h:
6719        * UIProcess/API/mac/PageClientImpl.mm:
6720        (WebKit::PageClientImpl::createColorPicker):
6721        * UIProcess/API/qt/raw/qrawwebview.cpp:
6722        (QRawWebViewPrivate::createColorPicker):
6723        * UIProcess/API/qt/raw/qrawwebview_p_p.h:
6724        * UIProcess/CoordinatedGraphics/WebView.cpp:
6725        (WebKit::WebView::createColorPicker):
6726        * UIProcess/CoordinatedGraphics/WebView.h:
6727        * UIProcess/PageClient.h:
6728        * UIProcess/WebColorChooserProxy.cpp: Removed.
6729        * UIProcess/WebColorChooserProxy.h: Removed.
6730        * UIProcess/WebColorPicker.cpp: Copied from Source/WebKit2/UIProcess/WebColorChooserProxy.cpp.
6731        (WebKit::WebColorPicker::WebColorPicker):
6732        (WebKit::WebColorPicker::~WebColorPicker):
6733        (WebKit::WebColorPicker::endChooser):
6734        (WebKit::WebColorPicker::setSelectedColor):
6735        * UIProcess/WebColorPicker.h: Copied from Source/WebKit2/UIProcess/WebColorChooserProxy.h.
6736        (WebKit::WebColorPicker::create):
6737        * UIProcess/WebPageProxy.cpp:
6738        (WebKit::WebPageProxy::close):
6739        (WebKit::WebPageProxy::showColorChooser):
6740        (WebKit::WebPageProxy::setColorChooserColor):
6741        (WebKit::WebPageProxy::endColorChooser):
6742        (WebKit::WebPageProxy::didEndColorChooser):
6743        (WebKit::WebPageProxy::resetStateAfterProcessExited):
6744        * UIProcess/WebPageProxy.h: Renamed m_colorChooser to m_colorPicker.
6745        * UIProcess/qt/QtPageClient.cpp:
6746        (WebKit::QtPageClient::createColorPicker):
6747        * UIProcess/qt/QtPageClient.h:
6748        * UIProcess/qt/WebColorChooserProxyQt.cpp: Removed.
6749        * UIProcess/qt/WebColorChooserProxyQt.h: Removed.
6750        * UIProcess/qt/WebColorPickerQt.cpp: Added.
6751        (WebKit::ColorChooserContextObject::ColorChooserContextObject):
6752        (WebKit::ColorChooserContextObject::currentColor):
6753        (WebKit::ColorChooserContextObject::elementRect):
6754        (WebKit::ColorChooserContextObject::accept):
6755        (WebKit::ColorChooserContextObject::reject):
6756        (WebKit::WebColorPickerQt::WebColorPickerQt):
6757        (WebKit::WebColorPickerQt::~WebColorPickerQt):
6758        (WebKit::WebColorPickerQt::createItem):
6759        (WebKit::WebColorPickerQt::createContext):
6760        (WebKit::WebColorPickerQt::setSelectedColor):
6761        (WebKit::WebColorPickerQt::notifyColorSelected):
6762        (WebKit::WebColorPickerQt::endChooser):
6763        * UIProcess/qt/WebColorPickerQt.h: Added.
6764        (WebKit::WebColorPickerQt::create):
6765        * WebKit2.xcodeproj/project.pbxproj:
6766
67672013-07-24  Anders Carlsson  <andersca@apple.com>
6768
6769        Crash when calling WKPageGetProcessIdentifier after aborted process launch
6770        https://bugs.webkit.org/show_bug.cgi?id=119069
6771        <rdar://problem/14494064>
6772
6773        Reviewed by Andreas Kling.
6774
6775        * UIProcess/WebPageProxy.cpp:
6776        (WebKit::WebPageProxy::processIdentifier):
6777        Check if the page is closed instead of checking whether we have a process - We'll always have a process.
6778        
6779        (WebKit::WebPageProxy::isValid):
6780        Make this const.
6781
6782        * UIProcess/WebPageProxy.h:
6783
67842013-07-24  Kwang Yul Seo  <skyul@company100.net>
6785
6786        [WK2][Soup] Add entry point for network process
6787        https://bugs.webkit.org/show_bug.cgi?id=110136
6788
6789        Reviewed by Gustavo Noronha Silva.
6790
6791        Original patch by Balazs Kelemen <kbalazs@webkit.org>.
6792
6793        Added a common entry point for non-Mac Unix ports.
6794
6795        * NetworkProcess/unix/NetworkProcessMainUnix.cpp: Added.
6796        (WebKit::NetworkProcessMain):
6797        * NetworkProcess/unix/NetworkProcessMainUnix.h: Added.
6798        * unix/NetworkMainUnix.cpp: Added.
6799        (main):
6800
68012013-07-24  Jessie Berlin  <jberlin@apple.com>
6802
6803        Remove WKPageGetPlugInInformation - it is not used anymore
6804        https://bugs.webkit.org/show_bug.cgi?id=119047
6805
6806        Reviewed by Alexey Proskuryakov.
6807
6808        Revert r151172, which fixed a crash introduced in r151043, r151054, which fixed some naming
6809        and ref-churn issues introduced in r151043, and r151043, which added
6810        WKPageGetPlugInInformation.
6811
6812        * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
6813        (WKPageIsURLKnownHSTSHost):
6814        * UIProcess/API/C/mac/WKPagePrivateMac.h:
6815        * UIProcess/Plugins/PluginProcessManager.h:
6816        * UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
6817        * UIProcess/WebPageProxy.cpp:
6818        (WebKit::WebPageProxy::close):
6819        * UIProcess/WebPageProxy.h:
6820        * UIProcess/WebPageProxy.messages.in:
6821        * UIProcess/mac/WebPageProxyMac.mm:
6822        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
6823        * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
6824        * WebProcess/Plugins/Plugin.h:
6825        * WebProcess/Plugins/PluginProxy.h:
6826        * WebProcess/Plugins/PluginView.h:
6827        * WebProcess/WebPage/WebPage.h:
6828        * WebProcess/WebPage/WebPage.messages.in:
6829        * WebProcess/WebPage/mac/WebPageMac.mm:
6830
68312013-07-24  Jessie Berlin  <jberlin@apple.com>
6832
6833        Remove WKPageGetPlugInInformation - it is not used anymore
6834        https://bugs.webkit.org/show_bug.cgi?id=119047
6835
6836        Rubber-stamped by Alexey Proskuryakov.
6837
6838        Revert r152328, which added a key used only in the callback info for
6839        WKPageGetPlugInInformation.
6840
6841        * Shared/API/c/WKPluginInformation.cpp:
6842        * Shared/API/c/WKPluginInformation.h:
6843        * Shared/Plugins/Netscape/PluginInformation.cpp:
6844        * Shared/Plugins/Netscape/PluginInformation.h:
6845        * UIProcess/WebPageProxy.h:
6846        * UIProcess/WebPageProxy.messages.in:
6847        * UIProcess/mac/WebPageProxyMac.mm:
6848        (WebKit::WebPageProxy::containsPlugInCallback):
6849        * WebProcess/WebPage/mac/WebPageMac.mm:
6850        (WebKit::WebPage::containsPluginViewsWithPluginProcessToken):
6851
68522013-07-24  Anton Obzhirov  <a.obzhirov@samsung.com>
6853
6854        [GTK] TestInspectorServer unit test is timing out
6855        https://bugs.webkit.org/show_bug.cgi?id=105866
6856
6857        Reviewed by Gustavo Noronha Silva.
6858
6859        The test failed because it couldn't find inspector resources in default folder
6860        (make install step was missing). It uses now resources available in
6861        WebKitBuild folder. WebInspectorServerGtk was refactored as well to make
6862        easier to use WEBKIT_INSPECTOR_SERVER_PATH variable.
6863
6864        * UIProcess/API/gtk/tests/GNUmakefile.am:
6865        * UIProcess/API/gtk/tests/InspectorTestServer.cpp:
6866        (main):
6867        * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
6868        (testInspectorServerPageList):
6869        * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
6870        (WebKit::WebInspectorServer::platformResourceForPath):
6871        (WebKit::WebInspectorServer::buildPageList):
6872        (WebKit::WebInspectorServer::inspectorServerFilesPath):
6873
68742013-07-23  Simon Cooper  <scooper@apple.com>
6875
6876        10.7: Java applets do not work due to sandbox violation/exception
6877        https://bugs.webkit.org/show_bug.cgi?id=118920
6878        <rdar://problem/14471541&12910934&14223830&14260729&14267679>
6879
6880        Reviewed by Alexey Proskuryakov.
6881
6882        Introduce versioning into the common profile and use it to fix
6883        a number of issues with Java on 10.7 and 10.8. Allow writing the
6884        com.apple.java.util.prefs preference file. This change also
6885        introduces a "/Library/Application Support/Java/PublicFiles"
6886        area which Java can read without any restrictions. Files written
6887        to this location will need to be created and written to by
6888        a privileged process.
6889
6890        * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
6891        * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
6892
68932013-07-23  Eunmi Lee  <eunmi15.lee@samsung.com>
6894
6895        [EFL][WK2] Add doneWithTouchEvent callback to the WKViewClient.
6896        https://bugs.webkit.org/show_bug.cgi?id=110085
6897
6898        Reviewed by Kenneth Rohde Christiansen.
6899
6900        Add doneWithTouchEvent callback to the WKViewClient in order to get the
6901        result of touch events in the EwkView. The result will be used to
6902        recognize gestures in the Bug 102643.
6903
6904        APIs to get values from WKTouchEventRef and WKTouchPointRef are added
6905        because WKTypeRef is opaque to the applications.
6906
6907        * UIProcess/API/C/CoordinatedGraphics/WKView.h:
6908        * UIProcess/API/C/efl/WKAPICastEfl.h:
6909        (WebKit::toAPI):
6910        * UIProcess/API/C/efl/WKEventEfl.cpp:
6911        (WKTouchEventGetType):
6912        (WKTouchEventGetTouchPoints):
6913        (WKTouchEventGetModifiers):
6914        (WKTouchEventGetTimestamp):
6915        (WKTouchPointGetID):
6916        (WKTouchPointGetState):
6917        (WKTouchPointGetScreenPosition):
6918        (WKTouchPointGetPosition):
6919        (WKTouchPointGetRadius):
6920        (WKTouchPointGetRotationAngle):
6921        (WKTouchPointGetForceFactor):
6922        * UIProcess/API/C/efl/WKEventEfl.h:
6923        * UIProcess/API/efl/EwkView.cpp:
6924        (EwkView::doneWithTouchEvent):
6925        * UIProcess/API/efl/EwkView.h:
6926        * UIProcess/CoordinatedGraphics/WebView.cpp:
6927        (WebKit::WebView::doneWithTouchEvent):
6928        * UIProcess/CoordinatedGraphics/WebViewClient.cpp:
6929        (WebKit::WebViewClient::doneWithTouchEvent):
6930        * UIProcess/CoordinatedGraphics/WebViewClient.h:
6931        * UIProcess/efl/ViewClientEfl.cpp:
6932        (WebKit::ViewClientEfl::doneWithTouchEvent):
6933        (WebKit::ViewClientEfl::ViewClientEfl):
6934        * UIProcess/efl/ViewClientEfl.h:
6935
69362013-07-22  Alexey Proskuryakov  <ap@apple.com>
6937
6938        Frequent MESSAGE_CHECK failures in WebPageProxy::didReceiveEvent
6939        https://bugs.webkit.org/show_bug.cgi?id=118976
6940        <rdar://problem/14155030>
6941
6942        Reviewed by Sam Weinig.
6943
6944        * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::resetStateAfterProcessExited):
6945        Clear m_gestureEventQueue, just like we clear all other event queues here.
6946
69472013-07-21  Anders Carlsson  <andersca@apple.com>
6948
6949        Java Updater not launched on Lion and Mountain Lion
6950        https://bugs.webkit.org/show_bug.cgi?id=118953
6951        <rdar://problem/14496721>
6952
6953        Reviewed by Sam Weinig.
6954
6955        On Lion and Mountain Lion, -[NSURL isEqual:] will return NO for two file URLs if one of
6956        them has "localhost" specified, even if the paths are otherwise equal. Work around this by
6957        comparing the paths directly.
6958
6959        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
6960        (WebKit::isJavaUpdaterURL):
6961
69622013-07-19  Morten Stenshorne  <mstensho@opera.com>
6963
6964        [GTK] Need a way to enable region based columns from the command line
6965        https://bugs.webkit.org/show_bug.cgi?id=116611
6966
6967        Reviewed by Martin Robinson.
6968
6969        Add an environment variable to enable experimental features.
6970
6971        This provides a means to enable experimental features without polluting
6972        the public API.
6973
6974        Environment variable name: WEBKITGTK_EXPERIMENTAL_FEATURES
6975
6976        Format: WEBKITGTK_EXPERIMENTAL_FEATURES="<feature1>=1,<feature2>=1,..."
6977        Or, to enable all experimental features: WEBKITGTK_EXPERIMENTAL_FEATURES=all
6978
6979        So far the only feature is region based columns (implement multicol using
6980        the CSS regions implementation rather than ColumnInfo & co) - REGION_BASED_COLUMNS.
6981
6982        Example: WEBKITGTK_EXPERIMENTAL_FEATURES="REGION_BASED_COLUMNS=1"
6983
6984        * GNUmakefile.list.am:
6985        * PlatformGTK.cmake:
6986        * UIProcess/API/gtk/WebKitSettings.cpp:
6987        (webKitSettingsConstructed):
6988        (webkit_settings_class_init):
6989        * UIProcess/gtk/ExperimentalFeatures.cpp: Added.
6990        (WebKit):
6991        (Setting):
6992        (WebKit::ExperimentalFeatures::ExperimentalFeatures):
6993        (WebKit::ExperimentalFeatures::isEnabled):
6994        (WebKit::ExperimentalFeatures::setEnableByName):
6995        (WebKit::ExperimentalFeatures::parseEnvironment):
6996        * UIProcess/gtk/ExperimentalFeatures.h: Added.
6997        (WebKit):
6998        (ExperimentalFeatures):
6999
70002013-07-18  Eunmi Lee  <eunmi15.lee@samsung.com>
7001
7002        [WK2] Share Qt port's codes to find zoomable area with CoordinatedGraphics.
7003        https://bugs.webkit.org/show_bug.cgi?id=118585
7004
7005        Reviewed by Anders Carlsson.
7006
7007        The function to find zoomable area is needed in order to implement the
7008        feature to scale for double-tap gesture. The WK2 EFL and NIX port want
7009        to use that function, so extract the code from the Qt port, make it
7010        usable in the CoordinatedGraphics and add API and callback.
7011
7012        * CMakeLists.txt:
7013        * Target.pri:
7014        * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
7015        (WKViewFindZoomableAreaForRect):
7016        * UIProcess/API/C/CoordinatedGraphics/WKView.h:
7017        * UIProcess/API/efl/EwkView.cpp:
7018        (EwkView::didFindZoomableArea):
7019        * UIProcess/API/efl/EwkView.h:
7020        * UIProcess/CoordinatedGraphics/WebPageProxyCoordinatedGraphics.cpp: Added.
7021        (WebKit::WebPageProxy::findZoomableAreaForPoint):
7022        (WebKit::WebPageProxy::didFindZoomableArea):
7023        * UIProcess/CoordinatedGraphics/WebView.cpp:
7024        (WebKit::WebView::didFindZoomableArea):
7025        (WebKit::WebView::findZoomableAreaForPoint):
7026        * UIProcess/CoordinatedGraphics/WebView.h:
7027        * UIProcess/CoordinatedGraphics/WebViewClient.cpp:
7028        (WebKit::WebViewClient::didFindZoomableArea):
7029        * UIProcess/CoordinatedGraphics/WebViewClient.h:
7030        * UIProcess/PageClient.h:
7031        * UIProcess/WebPageProxy.h:
7032        * UIProcess/WebPageProxy.messages.in:
7033        * UIProcess/efl/ViewClientEfl.cpp:
7034        (WebKit::ViewClientEfl::didFindZoomableArea):
7035        (WebKit::ViewClientEfl::ViewClientEfl):
7036        * UIProcess/efl/ViewClientEfl.h:
7037        * UIProcess/qt/WebPageProxyQt.cpp:
7038        * WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp: Added.
7039        (WebKit::WebPage::findZoomableAreaForPoint):
7040        * WebProcess/WebPage/WebPage.cpp:
7041        * WebProcess/WebPage/WebPage.h:
7042        * WebProcess/WebPage/WebPage.messages.in:
7043
70442013-07-18  Simon Cooper  <scooper@apple.com>
7045
7046        Flash Player: deny file-read-data /Library/Application Support/Macromedia/FlashAuthor.cfg
7047        https://bugs.webkit.org/show_bug.cgi?id=118874
7048        <rdar://problem/14271327>
7049
7050        Reviewed by Alexey Proskuryakov.
7051
7052        Silently deny access to FlashAuthor.cfg. This location contains
7053        files containing lists of paths that Flash Player will
7054        "allow" access to (without asking the user). Since the plugin
7055        sandbox won't permit the access to the listed paths it is better
7056        to silently block attempts to read this "whitelist".
7057
7058        * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
7059
70602013-07-18  Tim Horton  <timothy_horton@apple.com>
7061
7062        [wk2] Ensure that the plugin layer is removed completely when the PluginProcess crashes
7063        https://bugs.webkit.org/show_bug.cgi?id=118862
7064
7065        Reviewed by Anders Carlsson.
7066
7067        * WebProcess/Plugins/PluginView.cpp:
7068        (WebKit::PluginView::PluginView):
7069        Add m_pluginProcessHasCrashed.
7070
7071        (WebKit::PluginView::platformLayer):
7072        Don't return the plugin's layer if it has crashed.
7073
7074        (WebKit::PluginView::pluginProcessCrashed):
7075        Set m_pluginProcessHasCrashed.
7076        Cause a style recalc so that we rebuild the layer tree; our layer won't be included.
7077
7078        * WebProcess/Plugins/PluginView.h:
7079        Add m_pluginProcessHasCrashed.
7080
70812013-07-18  Alexey Proskuryakov  <ap@apple.com>
7082
7083        <rdar://problem/13886443> Assertion failures in NetworkProcess in SandboxExtension::revoke when aborting SyncNetworkResourceLoader
7084        <rdar://problem/13826348> ASSERT(!m_useCount) fails in NetworkProcess at SandboxExtension::~SandboxExtension
7085        https://bugs.webkit.org/show_bug.cgi?id=118855
7086
7087        Reviewed by Brady Eidson.
7088
7089        * NetworkProcess/NetworkResourceLoader.cpp:
7090        (WebKit::NetworkResourceLoader::cleanup):
7091        (WebKit::NetworkResourceLoader::didFinishLoading):
7092        (WebKit::NetworkResourceLoader::didFail):
7093        Moved sandbox extension invalidation to cleanup() meaning that we won't fail to
7094        do this when aborting a loader that currently loading from network.
7095    
7096        * NetworkProcess/SchedulableLoader.cpp:
7097        (WebKit::SchedulableLoader::SchedulableLoader):
7098        (WebKit::SchedulableLoader::consumeSandboxExtensions):
7099        (WebKit::SchedulableLoader::invalidateSandboxExtensions):
7100        * NetworkProcess/SchedulableLoader.h:
7101        Keep track of whether sandbox extensions are consumed, we don't want to revoke
7102        extensions that were never consumed (as used to be the case with sync loaders,
7103        and would be with async ones after the above fix). Also, get rid of extensions
7104        immediately when invalidating, we won't need them again.
7105
71062013-07-18  Tim Horton  <timothy_horton@apple.com>
7107
7108        Remove PDFViewController and WKView "custom representations"
7109        https://bugs.webkit.org/show_bug.cgi?id=118720
7110
7111        Reviewed by Alexey Proskuryakov.
7112
7113        PDFViewController was the only implementation of
7114        a "custom representation" for a WKView. As it has
7115        been superceded by PDFPlugin, we can remove both
7116        PDFViewController and the notion of a WKView custom
7117        representation.
7118
7119        * UIProcess/API/gtk/PageClientImpl.cpp:
7120        * UIProcess/API/gtk/PageClientImpl.h:
7121        * UIProcess/API/mac/PDFViewController.h: Removed.
7122        * UIProcess/API/mac/PDFViewController.mm: Removed.
7123        * UIProcess/API/mac/PageClientImpl.h:
7124        * UIProcess/API/mac/PageClientImpl.mm:
7125        * UIProcess/API/mac/WKView.mm:
7126        (-[WKView accessibilityFocusedUIElement]):
7127        (-[WKView accessibilityHitTest:]):
7128        (-[WKView accessibilityAttributeValue:]):
7129        (-[WKView printOperationWithPrintInfo:forFrame:]):
7130        * UIProcess/API/mac/WKViewInternal.h:
7131        * UIProcess/API/qt/raw/qrawwebview_p_p.h:
7132        * UIProcess/CoordinatedGraphics/WebView.cpp:
7133        * UIProcess/CoordinatedGraphics/WebView.h:
7134        * UIProcess/DrawingAreaProxy.h:
7135        * UIProcess/DrawingAreaProxyImpl.cpp:
7136        * UIProcess/DrawingAreaProxyImpl.h:
7137        * UIProcess/PageClient.h:
7138        * UIProcess/WebPageProxy.cpp:
7139        (WebKit::WebPageProxy::WebPageProxy):
7140        (WebKit::WebPageProxy::supportsTextEncoding):
7141        (WebKit::WebPageProxy::supportsTextZoom):
7142        (WebKit::WebPageProxy::setTextZoomFactor):
7143        (WebKit::WebPageProxy::setPageZoomFactor):
7144        (WebKit::WebPageProxy::setPageAndTextZoomFactors):
7145        (WebKit::WebPageProxy::findString):
7146        (WebKit::WebPageProxy::countStringMatches):
7147        (WebKit::WebPageProxy::didCommitLoadForFrame):
7148        * UIProcess/WebPageProxy.h:
7149        (WebKit::WebPageProxy::textZoomFactor):
7150        (WebKit::WebPageProxy::pageZoomFactor):
7151        * UIProcess/WebPageProxy.messages.in:
7152        * UIProcess/qt/QtPageClient.h:
7153        * WebKit2.xcodeproj/project.pbxproj:
7154        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
7155        (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
7156        (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
7157        (WebKit::WebFrameLoaderClient::committedLoad):
7158        (WebKit::WebFrameLoaderClient::finishedLoading):
7159        (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
7160        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
7161        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
7162        * WebProcess/WebPage/DrawingArea.h:
7163        * WebProcess/WebPage/DrawingArea.messages.in:
7164        * WebProcess/WebPage/DrawingAreaImpl.cpp:
7165        (WebKit::DrawingAreaImpl::setNeedsDisplayInRect):
7166        (WebKit::DrawingAreaImpl::scroll):
7167        (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
7168        (WebKit::DrawingAreaImpl::display):
7169        * WebProcess/WebPage/DrawingAreaImpl.h:
7170        * WebProcess/WebPage/WebPage.cpp:
7171        * WebProcess/WebPage/WebPage.h:
7172        * WebProcess/WebPage/mac/WebPageMac.mm:
7173        (WebKit::WebPage::platformPreferencesDidChange):
7174        * mac/WebKit2.order:
7175
71762013-07-18  Dong-Gwan Kim  <donggwan.kim@samsung.com>
7177
7178        [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_color_picker.cpp
7179        https://bugs.webkit.org/show_bug.cgi?id=118797
7180
7181        Reviewed by Christophe Dumez.
7182
7183        Some mouseClick methods are used in test_ewk2_color_picker.cpp.
7184        But it is difficult to understand what they mean.
7185        So i would like to replace those with more meaningful method for readability.
7186
7187        * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
7188        (EWK2ColorPickerTest::clickButton):
7189        (TEST_F):
7190
71912013-07-18  Eunmi Lee  <eunmi15.lee@samsung.com>
7192
7193        [WK2] Replace getRect() to pixelSnappedBoundingBox().
7194        https://bugs.webkit.org/show_bug.cgi?id=118588
7195
7196        Reviewed by Noam Rosenthal.
7197
7198        The Node::getRect() function was removed in the
7199        http://trac.webkit.org/changeset/128006, so use
7200        pixelSnappedBoundingBox() instead.
7201
7202        * WebProcess/WebPage/WebPage.cpp:
7203        (WebKit::WebPage::findZoomableAreaForPoint):
7204
72052013-07-18  Dong-Gwan Kim  <donggwan.kim@samsung.com>
7206
7207        [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_context_menu.cpp
7208        https://bugs.webkit.org/show_bug.cgi?id=118796
7209
7210        Reviewed by Christophe Dumez.
7211
7212        Some mouseClick methods are used in test_ewk2_context_menu.cpp.
7213        But it is difficult to understand what they mean.
7214        So i would like to replace those with more meaningful method for readability.
7215
7216        * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
7217        (EWK2ContextMenuTest::testContextMenu):
7218        (EWK2ContextMenuTest::testContextMenuForRemoveAndAppend):
7219        (EWK2ContextMenuTest::testContextMenuForSubmenu):
7220        (EWK2ContextMenuTest::finishTest):
7221        (EWK2ContextMenuTest::showContextMenu):
7222        (TEST_F):
7223
72242013-07-18  Dong-Gwan Kim  <donggwan.kim@samsung.com>
7225
7226        [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_file_chooser_request.cpp
7227        https://bugs.webkit.org/show_bug.cgi?id=118792
7228
7229        Reviewed by Christophe Dumez.
7230
7231        Some mouseClick methods are used in test_ewk2_file_chooser_request.cpp.
7232        But it is difficult to understand what they mean.
7233        So i would like to replace those with more meaningful method for readability.
7234
7235        * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
7236        (EWK2FileChooserRequestTest::clickFileInput):
7237        (TEST_F):
7238
72392013-07-18  Dong-Gwan Kim  <donggwan.kim@samsung.com>
7240
7241        [EFL][WK2] Move all the static methods into EWK2TextCheckerTest in test_ewk2_text_checker.cpp
7242        https://bugs.webkit.org/show_bug.cgi?id=118790
7243
7244        Reviewed by Christophe Dumez.
7245
7246        All the static methods should be moved to EWK2TextCheckerTest.
7247
7248        * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
7249        (EWK2TextCheckerTest::resetCallbacksExecutionStats):
7250        (EWK2TextCheckerTest::onTimeout):
7251        (EWK2TextCheckerTest::onSettingChange):
7252        (EWK2TextCheckerTest::onSpellDocumentTag):
7253        (EWK2TextCheckerTest::onSpellDocumentTagClose):
7254        (EWK2TextCheckerTest::onSpellingCheck):
7255        (EWK2TextCheckerTest::onSpellingForKnownWord):
7256        (EWK2TextCheckerTest::onWordGuesses):
7257        (EWK2TextCheckerTest::onWordLearn):
7258        (EWK2TextCheckerTest::onWordIgnore):
7259        (EWK2TextCheckerTest::findContextMenuItem):
7260        (EWK2TextCheckerTest::checkCorrectnessOfSpellingItems):
7261        (EWK2TextCheckerTest::toogleCheckSpellingWhileTyping):
7262        (EWK2TextCheckerTest::checkClientSuggestionsForWord):
7263        (EWK2TextCheckerTest::selectLearnSpelling):
7264        (EWK2TextCheckerTest::selectIgnoreSpelling):
7265        (EWK2TextCheckerTest::countContextMenuItems):
7266        (EWK2TextCheckerTest::clickButton):
7267        (EWK2TextCheckerTest::showContextMenu):
7268        (EWK2TextCheckerTest::selectFirstWord):
7269
72702013-07-17  Tim Horton  <timothy_horton@apple.com>
7271
7272        Update blocked/missing plug-in UI
7273        https://bugs.webkit.org/show_bug.cgi?id=118347
7274        <rdar://problem/14209318>
7275
7276        Reviewed by Sam Weinig.
7277
7278        * Platform/CoreIPC/HandleMessage.h:
7279        (CoreIPC::callMemberFunction):
7280        Add a 6 argument -> 4 reply message handler.
7281        (It seems that FindPlugin is getting a little out of hand.)
7282
7283        * Shared/APIClientTraits.cpp:
7284        * Shared/APIClientTraits.h:
7285        * UIProcess/API/C/WKPage.h:
7286        * UIProcess/WebLoaderClient.cpp:
7287        (WebKit::WebLoaderClient::pluginLoadPolicy):
7288        * UIProcess/WebLoaderClient.h:
7289        Add an unavailability description out-argument to a new version of
7290        pluginLoadPolicy, so clients can override the text of the unavailable
7291        plugin indicator. Bump the WKPageLoaderClient version and update APIClientTraits.
7292
7293        * UIProcess/WebPageProxy.cpp:
7294        (WebKit::WebPageProxy::findPlugin):
7295        * UIProcess/WebPageProxy.h:
7296        * UIProcess/WebPageProxy.messages.in:
7297        Plumb the unavailability description through to the WebProcess via
7298        the FindPlugin message.
7299
7300        * WebProcess/WebPage/WebPage.cpp:
7301        (WebKit::WebPage::createPlugin):
7302        Acquire the unavailability description from the client
7303        (via FindPlugin) and hand it to the RenderEmbeddedObject.
7304
73052013-07-17  Commit Queue  <commit-queue@webkit.org>
7306
7307        Unreviewed, rolling out r152701, r152703, r152739, r152754,
7308        and r152756.
7309        http://trac.webkit.org/changeset/152701
7310        http://trac.webkit.org/changeset/152703
7311        http://trac.webkit.org/changeset/152739
7312        http://trac.webkit.org/changeset/152754
7313        http://trac.webkit.org/changeset/152756
7314        https://bugs.webkit.org/show_bug.cgi?id=118821
7315
7316        this was a buggy fix and we're going to try something
7317        different (Requested by thorton on #webkit).
7318
7319        * Platform/CoreIPC/HandleMessage.h:
7320        * Shared/APIClientTraits.cpp:
7321        * Shared/APIClientTraits.h:
7322        * UIProcess/API/C/WKPage.h:
7323        * UIProcess/WebLoaderClient.cpp:
7324        (WebKit::WebLoaderClient::pluginLoadPolicy):
7325        * UIProcess/WebLoaderClient.h:
7326        * UIProcess/WebPageProxy.cpp:
7327        (WebKit::WebPageProxy::findPlugin):
7328        * UIProcess/WebPageProxy.h:
7329        * UIProcess/WebPageProxy.messages.in:
7330        * WebProcess/Plugins/PluginProcessConnection.cpp:
7331        (WebKit::PluginProcessConnection::didClose):
7332        * WebProcess/Plugins/PluginView.cpp:
7333        (WebKit::PluginView::pluginProcessCrashed):
7334        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
7335        (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
7336        * WebProcess/WebCoreSupport/WebChromeClient.h:
7337        * WebProcess/WebPage/WebPage.cpp:
7338        (WebKit::WebPage::createPlugin):
7339        (WebKit::WebPage::canPluginHandleResponse):
7340
73412013-07-17  Alexey Proskuryakov  <ap@apple.com>
7342
7343        [Mac] Crashes in CFURLGetBytes under WebProcess::updateActivePages()
7344        https://bugs.webkit.org/show_bug.cgi?id=118814
7345        <rdar://problem/14173389>
7346
7347        Reviewed by Brady Eidson.
7348
7349        Speculative fix. It's unclear how we end up with an invalid URL when committing
7350        a load.
7351
7352        * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::updateActivePages):
7353        Added a null check.
7354
73552013-07-17  Commit Queue  <commit-queue@webkit.org>
7356
7357        Unreviewed, rolling out r152786 and r152789.
7358        http://trac.webkit.org/changeset/152786
7359        http://trac.webkit.org/changeset/152789
7360        https://bugs.webkit.org/show_bug.cgi?id=118807
7361
7362        overly platform specific and dirty API (and Sam says no)
7363        (Requested by thorton on #webkit).
7364
7365        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
7366        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
7367        * WebProcess/WebPage/PageOverlay.cpp:
7368        * WebProcess/WebPage/PageOverlay.h:
7369        * WebProcess/WebPage/WebPage.cpp:
7370        * WebProcess/WebPage/WebPage.h:
7371        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
7372
73732013-07-17  Tim Horton  <timothy_horton@apple.com>
7374
7375        AX: VoiceOver not working with data detection page overlays
7376        https://bugs.webkit.org/show_bug.cgi?id=118680
7377
7378        Reviewed by Anders Carlsson.
7379
7380        Bump the API version after r152786.
7381
7382        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
7383
73842013-07-17  Simon Cooper  <scooper@apple.com>
7385
7386        YouTube webcam capture (Flash Plug-in) in Safari can't see built-in camera
7387        https://bugs.webkit.org/show_bug.cgi?id=118787
7388        <rdar://problem/14418799>
7389
7390        Reviewed by Alexey Proskuryakov.
7391
7392        Add support for built-in cameras, including the original iSight.
7393
7394        * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
7395        * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
7396
73972013-07-17  Chris Fleizach  <cfleizach@apple.com>
7398
7399        AX: VoiceOver not working with data detection page overlays
7400        https://bugs.webkit.org/show_bug.cgi?id=118680
7401
7402        Reviewed by Tim Horton.
7403
7404        Expose API methods so that a client implementing data detectors is able to respond
7405        to the needs of accessibility clients like VoiceOver.
7406
7407        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
7408        (PageOverlayClientImpl::supportsDataDetection):
7409        (PageOverlayClientImpl::dataDetectorExistsAtPoint):
7410        (PageOverlayClientImpl::dataDetectorCopyTypeAtPoint):
7411        (PageOverlayClientImpl::showDataDetectorMenuAtPoint):
7412        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
7413        * WebProcess/WebPage/PageOverlay.cpp:
7414        (WebKit::PageOverlay::supportsDataDetection):
7415        (WebKit::PageOverlay::dataDetectorExistsAtPoint):
7416        (WebKit::PageOverlay::dataDetectorCopyTypeAtPoint):
7417        (WebKit::PageOverlay::dataDetectorOpenMenuAtPoint):
7418        * WebProcess/WebPage/PageOverlay.h:
7419        (WebKit::PageOverlay::Client::supportsDataDetection):
7420        (WebKit::PageOverlay::Client::dataDetectorExistsAtPoint):
7421        (WebKit::PageOverlay::Client::dataDetectorCopyTypeAtPoint):
7422        (WebKit::PageOverlay::Client::showDataDetectorMenuAtPoint):
7423        * WebProcess/WebPage/WebPage.cpp:
7424        (WebKit::WebPage::pageOverlayOpenDataDetectorMenuAtPoint):
7425        (WebKit::WebPage::pageOverlayDataDetectorCopyTypeAtPoint):
7426        (WebKit::WebPage::pageOverlayDataDetectorExistsAtPoint):
7427        (WebKit::WebPage::pageOverlaySupportsDataDetection):
7428        * WebProcess/WebPage/WebPage.h:
7429        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
7430        (-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
7431        (-[WKAccessibilityWebPageObject _convertScreenPointToWindow:]):
7432        (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
7433
74342013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
7435
7436        [EFL][WK2] EWK2CookieManagerTest should be defined by inheriting from EWK2UnitTestBase.
7437        https://bugs.webkit.org/show_bug.cgi?id=118721
7438
7439        Reviewed by Christophe Dumez.
7440
7441        It should be defined as relevant test class specific to each test file for more readability.
7442        It could be helpful to remove unnecessary static methods.
7443
7444        * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
7445        (compareHostNames):
7446        (onCookiesChanged):
7447        (EWK2CookieManagerTest::getAcceptPolicy):
7448        (EWK2CookieManagerTest::getHostnamesWithCookies):
7449        (EWK2CookieManagerTest::freeHostNames):
7450        (EWK2CookieManagerTest::countHostnamesWithCookies):
7451        (TEST_F):
7452
74532013-07-16  Balazs Kelemen  <kbalazs@webkit.org>
7454
7455        [CMake] Undefined references should be detected at build time
7456        https://bugs.webkit.org/show_bug.cgi?id=110236
7457
7458        Reviewed by Christophe Dumez.
7459
7460        Add library dependencies that were not defined explicitly before.
7461
7462        * CMakeLists.txt:
7463        * PlatformEfl.cmake:
7464
74652013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
7466
7467        [EFL][WK2] EWK2WindowFeaturesTest should be defined by inheriting from EWK2UnitTestBase.
7468        https://bugs.webkit.org/show_bug.cgi?id=118780
7469
7470        Reviewed by Christophe Dumez.
7471
7472        It should be defined as relevant test class specific to each test file for more readability.
7473        It could be helpful to remove unnecessary static methods.
7474
7475        * UIProcess/API/efl/tests/test_ewk2_window_features.cpp:
7476        (EWK2WindowFeaturesTest::createDefaultWindow):
7477        (EWK2WindowFeaturesTest::createWindow):
7478        (TEST_F):
7479
74802013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
7481
7482        [EFL][WK2] EWK2ViewTest should be defined by inheriting from EWK2UnitTestBase.
7483        https://bugs.webkit.org/show_bug.cgi?id=118779
7484
7485        Reviewed by Christophe Dumez.
7486
7487        It should be defined as relevant test class specific to each test file for more readability.
7488        It could be helpful to remove unnecessary static methods.
7489
7490        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
7491        (EWK2ViewTest::onLoadFinishedForRedirection):
7492        (EWK2ViewTest::serverCallbackNavigation):
7493        (EWK2ViewTest::onFormAboutToBeSubmitted):
7494        (EWK2ViewTest::fullScreenCallback):
7495        (EWK2ViewTest::fullScreenExitCallback):
7496        (EWK2ViewTest::checkAlert):
7497        (EWK2ViewTest::checkConfirm):
7498        (EWK2ViewTest::checkPrompt):
7499        (EWK2ViewTest::onTextFound):
7500        (EWK2ViewTest::onVibrate):
7501        (EWK2ViewTest::onCancelVibration):
7502        (EWK2ViewTest::loadVibrationHTMLString):
7503        (EWK2ViewTest::onContentsSizeChangedPortrait):
7504        (EWK2ViewTest::onContentsSizeChangedLandscape):
7505        (EWK2ViewTest::PageContentsAsMHTMLCallback):
7506        (EWK2ViewTest::PageContentsAsStringCallback):
7507        (TEST_F):
7508
75092013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
7510
7511        [EFL][WK2] EWK2StorageManagerTest should be defined by inheriting from EWK2UnitTestBase.
7512        https://bugs.webkit.org/show_bug.cgi?id=118777
7513
7514        Reviewed by Christophe Dumez.
7515
7516        It should be defined as relevant test class specific to each test file for more readability.
7517        It could be helpful to remove unnecessary static methods.
7518
7519        * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
7520        (EWK2StorageManagerTest::OriginData::OriginData):
7521        (EWK2StorageManagerTest::getStorageOriginsCallback):
7522        (EWK2StorageManagerTest::timerCallback):
7523        (EWK2StorageManagerTest::checkOrigin):
7524        (TEST_F):
7525
75262013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
7527
7528        [EFL][WK2] EWK2PopupMenuTest should be defined by inheriting from EWK2UnitTestBase.
7529        https://bugs.webkit.org/show_bug.cgi?id=118775
7530
7531        Reviewed by Christophe Dumez.
7532
7533        It should be defined as relevant test class specific to each test file for more readability.
7534        It could be helpful to remove unnecessary static methods.
7535
7536        * UIProcess/API/efl/tests/test_ewk2_popup_menu.cpp:
7537        (EWK2PopupMenuTest::checkBasicPopupMenuItem):
7538        (EWK2PopupMenuTest::selectItemAfterDelayed):
7539        (EWK2PopupMenuTest::showPopupMenu):
7540        (TEST_F):
7541
75422013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
7543
7544        [EFL][WK2] EWK2FileChooserRequestTest should be defined by inheriting from EWK2UnitTestBase.
7545        https://bugs.webkit.org/show_bug.cgi?id=118773
7546
7547        Reviewed by Christophe Dumez.
7548
7549        It should be defined as relevant test class specific to each test file for more readability.
7550        It could be helpful to remove unnecessary static methods.
7551
7552        * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
7553        (EWK2FileChooserRequestTest::onFileChooserRequest):
7554        (EWK2FileChooserRequestTest::compareStrings):
7555        (EWK2FileChooserRequestTest::freeStringList):
7556        (TEST_F):
7557
75582013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
7559
7560        [EFL][WK2] EWK2FaviconDatabaseTest should be defined by inheriting from EWK2UnitTestBase.
7561        https://bugs.webkit.org/show_bug.cgi?id=118772
7562
7563        Reviewed by Christophe Dumez.
7564
7565        It should be defined as relevant test class specific to each test file for more readability.
7566        It could be helpful to remove unnecessary static methods.
7567
7568        * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
7569        (EWK2FaviconDatabaseTest::serverCallback):
7570        (EWK2FaviconDatabaseTest::requestFaviconData):
7571        (TEST_F):
7572
75732013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
7574
7575        [EFL][WK2] EWK2EinaSharedStringTest should be defined by inheriting from EWK2UnitTestBase.
7576        https://bugs.webkit.org/show_bug.cgi?id=118771
7577
7578        Reviewed by Christophe Dumez.
7579
7580        It should be defined as relevant test class specific to each test file for more readability.
7581        It could be helpful to remove unnecessary static methods.
7582
7583        * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
7584        (EWK2EinaSharedStringTest::checkString):
7585        (TEST_F):
7586
75872013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
7588
7589        [EFL][WK2] EWK2DownloadJobTest should be defined by inheriting from EWK2UnitTestBase.
7590        https://bugs.webkit.org/show_bug.cgi?id=118769
7591
7592        Reviewed by Christophe Dumez.
7593
7594        It should be defined as relevant test class specific to each test file for more readability.
7595        It could be helpful to remove unnecessary static methods.
7596
7597        * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
7598        (EWK2DownloadJobTest::fileExists):
7599        (EWK2DownloadJobTest::serverCallback):
7600        (EWK2DownloadJobTest::on_download_requested):
7601        (EWK2DownloadJobTest::on_download_cancelled):
7602        (EWK2DownloadJobTest::on_download_failed):
7603        (EWK2DownloadJobTest::on_download_finished):
7604        (TEST_F):
7605
76062013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
7607
7608        [EFL][WK2] EWK2AuthRequestTest should be defined by inheriting from EWK2UnitTestBase.
7609        https://bugs.webkit.org/show_bug.cgi?id=118766
7610
7611        Reviewed by Christophe Dumez.
7612
7613        It should be defined as relevant test class specific to each test file for more readability.
7614        It could be helpful to remove unnecessary static methods.
7615
7616        * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
7617        (EWK2AuthRequestTest::serverCallback):
7618        (EWK2AuthRequestTest::onAuthenticationRequest):
7619        (EWK2AuthRequestTest::onLoadFinished):
7620        (TEST_F):
7621
76222013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
7623
7624        [EFL][WK2] EWK2ContextMenuTest should be defined by inheriting from EWK2UnitTestBase.
7625        https://bugs.webkit.org/show_bug.cgi?id=118767
7626
7627        Reviewed by Christophe Dumez.
7628
7629        It should be defined as relevant test class specific to each test file for more readability.
7630        It could be helpful to remove unnecessary static methods.
7631
7632        * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
7633        (EWK2ContextMenuTest::checkBasicContextMenuItem):
7634        (EWK2ContextMenuTest::customItemSelected):
7635        (EWK2ContextMenuTest::showContextMenu):
7636        (EWK2ContextMenuTest::showContextMenuForRemoveAndAppend):
7637        (EWK2ContextMenuTest::showContextMenuForSubmenu):
7638        (EWK2ContextMenuTest::hideContextMenu):
7639        (TEST_F):
7640
76412013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
7642
7643        [EFL][WK2] EWK2ContextTest should be defined by inheriting from EWK2UnitTestBase.
7644        https://bugs.webkit.org/show_bug.cgi?id=118763
7645
7646        Reviewed by Christophe Dumez.
7647
7648        It should be defined as relevant test class specific to each test file for more readability.
7649        It could be helpful to remove unnecessary static methods.
7650
7651        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
7652        (EWK2ContextTest::schemeRequestCallback):
7653        (TEST_F):
7654
76552013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
7656
7657        [EFL][WK2] EWK2DatabaseManagerTest should be defined by inheriting from EWK2UnitTestBase
7658        https://bugs.webkit.org/show_bug.cgi?id=118726
7659
7660        Reviewed by Christophe Dumez.
7661
7662        It should be defined as relevant test class specific to each test file for more readability.
7663        It could be helpful to remove unnecessary static methods.
7664
7665        * UIProcess/API/efl/tests/test_ewk2_database_manager.cpp:
7666        (EWK2DatabaseManagerTest::OriginData::OriginData):
7667        (EWK2DatabaseManagerTest::databaseOriginsCallback):
7668        (EWK2DatabaseManagerTest::timerCallback):
7669        (TEST_F):
7670
76712013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
7672
7673        [EFL][WK2] EWK2ColorPickerTest should be defined by inheriting from EWK2UnitTestBase.
7674        https://bugs.webkit.org/show_bug.cgi?id=118762
7675
7676        Reviewed by Christophe Dumez.
7677
7678        It should be defined as relevant test class specific to each test file for more readability.
7679        It could be helpful to remove unnecessary static methods.
7680
7681        * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
7682        (EWK2ColorPickerTest::onColorPickerDone):
7683        (EWK2ColorPickerTest::setColorPickerColor):
7684        (EWK2ColorPickerTest::showColorPicker):
7685        (EWK2ColorPickerTest::hideColorPicker):
7686        (EWK2ColorPickerTest::hideColorPickerByRemovingElement):
7687        (TEST_F):
7688
76892013-07-16  Gordon Sheridan  <gordon_sheridan@apple.com>
7690
7691        setPluginUnavailabilityReason can destroy renderObject before obscurity check
7692        https://bugs.webkit.org/show_bug.cgi?id=118770
7693        <rdar://problem/14462331>
7694
7695        Reviewed by Tim Horton.
7696
7697        * WebProcess/WebPage/WebPage.cpp:
7698        (WebKit::WebPage::createPlugin):
7699        Moved obscurity check to before renderObject is potentially destroyed.
7700
77012013-07-16  Alexey Proskuryakov  <ap@apple.com>
7702
7703        REGRESSION (r150291): Chinese predictive input pop-up disappears on twitter.com
7704        https://bugs.webkit.org/show_bug.cgi?id=118739
7705        <rdar://problem/14300350>
7706
7707        Reviewed by Daniel Bates.
7708
7709        EditorState tracking on UI side is very fragile. This is a targeted fix just for
7710        this specific scenario.
7711
7712        The issue was that we had a stale m_temporarilyClosedComposition flag, which was
7713        making UI process believe that a composition was closed from WebProcess side,
7714        and notify input method about that. It shouldn't have been a problem, because there
7715        is no composition at this point indeed, but this extra call is a problem for
7716        predictive input, which works in a somewhat unconventional way (<rdar://problem/14458297>).
7717
7718        * UIProcess/mac/WebPageProxyMac.mm:
7719        (WebKit::WebPageProxy::insertText): Reset m_temporarilyClosedComposition flag when
7720        getting new EditorState in response to performing this action. There is certainly
7721        no composition after insertText, and all interested parties are on the same page
7722        already.
7723
77242013-07-16  Jessie Berlin  <jberlin@apple.com>
7725
7726        Fix some NSDictionary misuse pointed out by the clang static analyzer
7727        https://bugs.webkit.org/show_bug.cgi?id=118736
7728
7729        Reviewed by Anders Carlsson.
7730
7731        * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
7732        (WebKit::WebEditorClient::documentFragmentFromAttributedString):
7733        Do not put a key with a nil value pair into the NSDictionary.
7734
77352013-07-16  Michael Brüning  <michael.bruning@digia.com>
7736
7737        [Qt] Replace Nokia with Qt Project in service name.
7738        https://bugs.webkit.org/show_bug.cgi?id=118729
7739
7740        Reviewed by Simon Hausmann.
7741
7742        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
7743        (WebKit::ProcessLauncher::launchProcess):
7744
77452013-07-16  Dong-Gwan Kim  <donggwan.kim@samsung.com>
7746
7747        EWK2BackForwardListTest should be defined by inheriting from EWK2UnitTestBase.
7748        https://bugs.webkit.org/show_bug.cgi?id=118717
7749
7750        Reviewed by Christophe Dumez.
7751
7752        * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
7753        (EWK2BackForwardListTest::checkItem):
7754        (EWK2BackForwardListTest::urlFromTitle):
7755        (EWK2BackForwardListTest::freeEinaList):
7756        (TEST_F):
7757
77582013-07-16  Kangil Han  <kangil.han@samsung.com>
7759
7760        Use toHTMLSelectElement and dismiss isHTMLSelectElement
7761        https://bugs.webkit.org/show_bug.cgi?id=118714
7762
7763        Reviewed by Ryosuke Niwa.
7764
7765        To avoid direct use of static_cast, this patch introduces toHTMLIFrameElement for code cleanup.
7766        Additionally, this patch removes isHTMLSelectElement because not all element subclasses can be checked by a combination of tag names.
7767
7768        * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
7769        (WebKit::PDFPluginChoiceAnnotation::commit):
7770
77712013-07-16  Dong-Gwan Kim  <donggwan.kim@samsung.com>
7772
7773        Replace mouseClick with more meaningful method in test_ewk2_text_checker.cpp
7774        https://bugs.webkit.org/show_bug.cgi?id=118699
7775
7776        Reviewed by Christophe Dumez.
7777
7778        Many mouseClick methods are used in test_ewk2_text_checker.cpp.
7779        But it is difficult to understand what they mean.
7780        So i would like to replace those with more meaningful method for readability.
7781
7782        * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
7783        (EWK2TextCheckerTest::clickSelectAllWordsWithSpellcheckButton):
7784        (EWK2TextCheckerTest::clickSelectAllWordsWithoutSpellcheckButton):
7785        (EWK2TextCheckerTest::clickSelectSubWordWithSpellcheckButton):
7786        (EWK2TextCheckerTest::showContextMenuWithFirstLineText):
7787        (EWK2TextCheckerTest::showContextMenuWithSecondLineText):
7788        (EWK2TextCheckerTest::selectFirstWordInFirstLineText):
7789        (EWK2TextCheckerTest::selectFirstWordInSecondLineText):
7790        (TEST_F):
7791
77922013-07-15  Kangil Han  <kangil.han@samsung.com>
7793
7794        Introduce toHTMLIFrameElement
7795        https://bugs.webkit.org/show_bug.cgi?id=118672
7796
7797        Reviewed by Ryosuke Niwa.
7798
7799        To avoid direct use of static_cast, this patch introduces toHTMLIFrameElement for code cleanup.
7800
7801        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
7802        (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
7803
78042013-07-15  Tim Horton  <timothy_horton@apple.com>
7805
7806        Update blocked/missing plug-in UI
7807        https://bugs.webkit.org/show_bug.cgi?id=118347
7808        <rdar://problem/14209318>
7809
7810        Reviewed by Sam Weinig.
7811        Patch by Antoine Quint, Anders Carlsson, Sam Weinig, and myself.
7812
7813        * Platform/CoreIPC/HandleMessage.h:
7814        (CoreIPC::callMemberFunction):
7815        Add a 6 argument -> 4 reply message handler.
7816        (It seems that FindPlugin is getting a little out of hand.)
7817
7818        * Shared/APIClientTraits.cpp:
7819        * Shared/APIClientTraits.h:
7820        * UIProcess/API/C/WKPage.h:
7821        * UIProcess/WebLoaderClient.cpp:
7822        (WebKit::WebLoaderClient::pluginLoadPolicy):
7823        * UIProcess/WebLoaderClient.h:
7824        Add an unavailability description out-argument to a new version of
7825        pluginLoadPolicy, so clients can override the text of the unavailable
7826        plugin indicator. Bump the WKPageLoaderClient version and update APIClientTraits.
7827
7828        * UIProcess/WebPageProxy.cpp:
7829        (WebKit::WebPageProxy::findPlugin):
7830        * UIProcess/WebPageProxy.h:
7831        * UIProcess/WebPageProxy.messages.in:
7832        Plumb the unavailability description through to the WebProcess via
7833        the FindPlugin message.
7834
7835        * WebProcess/Plugins/PluginProcessConnection.cpp:
7836        (WebKit::PluginProcessConnection::didClose):
7837        Make a strongly referencing copy of the list of PluginProxies, so we can
7838        throw them away without the HashMap being mutated underneath us (see the comment).
7839
7840        * WebProcess/Plugins/PluginView.cpp:
7841        (WebKit::PluginView::pluginProcessCrashed):
7842        Invalidate the plug-in's widget before setting the plugin unavailability reason,
7843        because doing so would cause the plug-in's renderer to be torn down, making
7844        invalidate() crash.
7845
7846        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
7847        (WebKit::WebChromeClient::shouldUnavailablePluginMessageIncludeButton):
7848        * WebProcess/WebCoreSupport/WebChromeClient.h:
7849        Rename from shouldUnavailablePluginMessageBeButton to
7850        shouldUnavailablePluginMessageIncludeButton for accuracy.
7851
7852        * WebProcess/WebPage/WebPage.cpp:
7853        (WebKit::WebPage::createPlugin):
7854        Acquire the unavailability description from the client
7855        (via FindPlugin) and hand it to the RenderEmbeddedObject.
7856        (WebKit::WebPage::canPluginHandleResponse):
7857        Re-acquire the plugin's renderer, in case setPluginUnavailabilityReason destroyed it.
7858
78592013-07-15  Simon Cooper  <scooper@apple.com>
7860
7861        PluginProcess deny file-read-data /Library/Application Support/Macromedia/FlashPlayerTrust
7862        https://bugs.webkit.org/show_bug.cgi?id=118690
7863        <rdar://problem/14255963>
7864
7865        Reviewed by Dean Jackson.
7866
7867        Silently deny access to FlashPlayerTrust. This location contains
7868        files containing lists of paths that Flash Player will
7869        "allow" access to (without asking the user). Since the plugin
7870        sandbox won't permit the access to the listed paths it is better
7871        to silently block attempts to read these "whitelists". The
7872        "whitelists" are created by other Adobe "installer" like
7873        applications.
7874
7875        * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
7876
78772013-07-14  Jon Lee  <jonlee@apple.com>
7878
7879        Calling Notification.requestPermission() without a callback crashes
7880        https://bugs.webkit.org/show_bug.cgi?id=118654
7881        <rdar://problem/14293352>
7882
7883        Reviewed by Alexey Proskuryakov.
7884
7885        When requestPermission() is called, we short-circuit if we know the permission was already set.
7886        The callback handler gets invoked. But now that callbacks are optional, we need to check to make
7887        sure a callback was provided.
7888
7889        * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
7890        (WebKit::NotificationPermissionRequestManager::startRequest): Check for the callback.
7891
78922013-07-15  Anton Obzhirov  <a.obzhirov@samsung.com>
7893
7894        [GTK] Remote inspector server should send an error page if resources not found
7895        https://bugs.webkit.org/show_bug.cgi?id=117137
7896
7897        Reviewed by Gustavo Noronha Silva.
7898
7899        Sometimes it is difficult to understand why remote inspector fails to deliver the content.
7900        This patch gives an option to show error page with some basic explanation.
7901
7902        * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
7903        (WebKit::WebInspectorServer::platformResourceForPath):
7904
79052013-07-15  Simon Pena  <simon.pena@samsung.com>
7906
7907        [GTK] [WK2] Check if the keyEventQueue is empty in WebPageProxy::getEditorCommandsForKeyEvent
7908        https://bugs.webkit.org/show_bug.cgi?id=118530
7909
7910        Reviewed by Carlos Garcia Campos.
7911
7912        When a key event is started in the WebProcess (e.g. in the inspector)
7913        it doesn't have an associated GdkEvent queued. Adding a check in 
7914        WebPageProxy::getEditorCommandsForKeyEvent ensures there's always a queued
7915        key event to process.
7916
7917        In GTK-WK2, inspector-protocol/input/dispatchKeyEvent.html no longer crashes once
7918        this fix is in place. 
7919
7920        * UIProcess/gtk/WebPageProxyGtk.cpp:
7921        (WebKit::WebPageProxy::getEditorCommandsForKeyEvent): Ensure m_keyEventQueue is
7922        not empty.
7923
79242013-07-15  Alberto Garcia  <berto@igalia.com>
7925
7926        [WK2][GTK] SIGSEV in webkitWebViewBaseSizeAllocate
7927        https://bugs.webkit.org/show_bug.cgi?id=118052
7928
7929        Reviewed by Carlos Garcia Campos.
7930
7931        We don't need to check whether the drawing area is empty or not in
7932        order to set needsResizeOnMap.
7933
7934        It can also happen that the drawing area pointer is null (if
7935        e.g. the web process crashes), which is the reason for this
7936        SIGSEGV.
7937
7938        A test to prevent this was added in r88646 but was later moved to
7939        resizeWebKitWebViewBaseFromAllocation().
7940
7941        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
7942        (webkitWebViewBaseSizeAllocate):
7943
79442013-07-10  Roger Fong  <roger_fong@apple.com>
7945
7946        Plugins that don't support snapshotting should not all autostart.
7947        https://bugs.webkit.org/show_bug.cgi?id=118572
7948        <rdar://problem/14324391>.
7949
7950        Reviewed by Dean Jackson.
7951
7952        * WebProcess/Plugins/PluginView.cpp:
7953        (WebKit::PluginView::shouldNotAddLayer): This method determines whether or not we should add the plugin's layer to the tree.
7954        It should not be added if the plugin is in it's snapshotted state but does not actually support snapshotting.
7955        (WebKit::PluginView::pluginSnapshotTimerFired): If the plugin does not support snapshotting go straight 
7956        to the the DisplayingSnapshot state.
7957        * WebProcess/Plugins/PluginView.h:
7958
79592013-07-11  Jessie Berlin  <jberlin@apple.com>
7960
7961        WebResourceCacheManager::cfURLCacheHostNamesWithCallback leaks an array (pointed out by the
7962        clang static analyzer)
7963        https://bugs.webkit.org/show_bug.cgi?id=118533
7964
7965        Reviewed by Anders Carlsson.
7966
7967        * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
7968        (WebKit::WebResourceCacheManager::cfURLCacheHostNamesWithCallback):
7969
79702013-07-11  Sergio Correia  <sergio.correia@openbossa.org>
7971
7972        Use GOwnPtr in PluginProcessProxyUnix to manage stdOut variable
7973        https://bugs.webkit.org/show_bug.cgi?id=118568
7974
7975        Reviewed by Martin Robinson.
7976
7977        * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
7978        (WebKit::PluginProcessProxy::scanPlugin):
7979
79802013-07-11  Timothy Hatcher  <timothy@apple.com>
7981
7982        Revert r152267 and soft link WebInspectorUI.framework again.
7983
7984        https://bugs.webkit.org/show_bug.cgi?id=118544
7985
7986        Reviewed by David Kilzer.
7987
7988        * Configurations/WebKit2.xcconfig:
7989        * UIProcess/mac/WebInspectorProxyMac.mm:
7990        (WebKit::inspectorReallyUsesWebKitUserInterface):
7991        * WebKit2.xcodeproj/project.pbxproj:
7992        * WebProcess/WebPage/mac/WebInspectorMac.mm:
7993        (WebKit::inspectorReallyUsesWebKitUserInterface):
7994
79952013-07-11  Jae Hyun Park  <jae.park@company100.net>
7996
7997        [Coordinated Graphics] Parameter of commitSceneState should be const
7998        https://bugs.webkit.org/show_bug.cgi?id=118564
7999
8000        Reviewed by Noam Rosenthal.
8001
8002        Parameter of commitSceneState should be const as there should not be any
8003        modifications to the passed CoordinatedGraphicsState.
8004
8005        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
8006        (WebKit::CoordinatedLayerTreeHost::commitSceneState):
8007        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
8008
80092013-07-10  Mark Rowe  <mrowe@apple.com>
8010
8011        <rdar://problem/14395759> PluginProcess sometimes logs an error about being unable to load WebKit2.framework.
8012
8013        Reviewed by Alexey Proskuryakov.
8014
8015        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
8016        (WebKit::PluginProcessProxy::createPropertyListFile): Ensure that any environment variables
8017        specified in dynamic linker load commands are passed to the subprocess that we spawn to create
8018        the MIME type property list.
8019
80202013-07-10  Brady Eidson  <beidson@apple.com>
8021
8022        Some Java plugin instances can deadlock with the WebProcess on NPP_Destroy.
8023        <rdar://problem/14286390> and https://bugs.webkit.org/show_bug.cgi?id=118535
8024
8025        Reviewed by Alexey Proskuryakov.
8026
8027        * Shared/Plugins/NPObjectProxy.cpp:
8028        (WebKit::NPObjectProxy::~NPObjectProxy): ASSERT this is the main thread.
8029        (WebKit::NPObjectProxy::NP_Deallocate): If this isn't the main thread, call it again on the main thread.
8030
80312013-07-10  Sergio Correia  <sergio.correia@openbossa.org>
8032
8033        Remove the meshType from CoordinatedCustomFilterOperation
8034        https://bugs.webkit.org/show_bug.cgi?id=118529
8035
8036        Reviewed by Noam Rosenthal.
8037
8038        Following the removal of the meshType from CustomFilterOperation in r149153,
8039        remove also the meshType from CoordinatedCustomFilterOperation.
8040
8041        No new tests, no new functionality.
8042
8043        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
8044        (CoreIPC::::encode): Remove dead comment.
8045        (CoreIPC::::decode): Remove meshType from CoordinatedCustomFilterOperation
8046        call.
8047
80482013-07-09  Byungwoo Lee  <bw80.lee@samsung.com>
8049
8050        [EFL] tooltip callback doesn't work.
8051        https://bugs.webkit.org/show_bug.cgi?id=118522
8052
8053        Reviewed by Christophe Dumez.
8054
8055        Add missing code to connect didChangeTooltip callback.
8056
8057        * UIProcess/efl/ViewClientEfl.cpp:
8058        (WebKit::ViewClientEfl::ViewClientEfl):
8059
80602013-07-09  Jer Noble  <jer.noble@apple.com>
8061
8062        Reviewed by Simon Fraser.
8063
8064        Remember the scroll position and restore after exiting full-screen mode.
8065        https://bugs.webkit.org/show_bug.cgi?id=61956
8066        <rdar://problem/9544461>
8067
8068        Call into the main FrameView to save the scroll position before swapping the
8069        WebView into the full-screen window, and restore the scroll position after 
8070        swapping the WebView back into the browser window.
8071
8072        * UIProcess/mac/WKFullScreenWindowController.mm:
8073        (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
8074        (-[WKFullScreenWindowController beganExitFullScreenAnimation]):
8075
8076        In WebKit2, this requires some communication between the WebProcess and the
8077        UIProcess, so add two new messages to WebFullScreenManager to be called by
8078        its proxy.
8079
8080        * UIProcess/WebFullScreenManagerProxy.h:
8081        * UIProcess/WebFullScreenManagerProxy.cpp:
8082        (WebKit::WebFullScreenManagerProxy::saveScrollPosition):
8083        (WebKit::WebFullScreenManagerProxy::restoreScrollPosition):
8084        * WebProcess/FullScreen/WebFullScreenManager.h:
8085        * WebProcess/FullScreen/WebFullScreenManager.messages.in:
8086        * WebProcess/FullScreen/WebFullScreenManager.cpp:
8087        (WebKit::WebFullScreenManager::saveScrollPosition):
8088        (WebKit::WebFullScreenManager::restoreScrollPosition):
8089
80902013-07-07  Carlos Garcia Campos  <cgarcia@igalia.com>
8091
8092        [GTK] Runtime critical warning when unloading a module that failed to load
8093        https://bugs.webkit.org/show_bug.cgi?id=118425
8094
8095        Reviewed by Martin Robinson.
8096
8097        * Platform/gtk/ModuleGtk.cpp:
8098        (WebKit::Module::load): Show an error message when the module
8099        fails to load.
8100        (WebKit::Module::unload): Check module pointer before calling
8101        unload method.
8102
81032013-07-05  Tim Horton  <timothy_horton@apple.com>
8104
8105        [wk2] Add API to lock the scroll position at the top or bottom of the page
8106        https://bugs.webkit.org/show_bug.cgi?id=118429
8107        <rdar://problem/14120323>
8108
8109        Reviewed by Anders Carlsson.
8110
8111        * Shared/WebPageCreationParameters.cpp:
8112        (WebKit::WebPageCreationParameters::encode):
8113        (WebKit::WebPageCreationParameters::decode):
8114        * Shared/WebPageCreationParameters.h:
8115        Pass the current ScrollPinningBehavior across to the WebPage upon creation.
8116
8117        * UIProcess/API/C/WKPage.cpp:
8118        (WKPageGetScrollPinningBehavior):
8119        (WKPageSetScrollPinningBehavior):
8120        * UIProcess/API/C/WKPagePrivate.h:
8121        SPI to get/set the WebPageProxy's current ScrollPinningBehavior.
8122        Convert between WK API type and WebCore enum.
8123
8124        * UIProcess/WebPageProxy.cpp:
8125        (WebKit::WebPageProxy::WebPageProxy):
8126        (WebKit::WebPageProxy::creationParameters):
8127        Send ScrollPinningBehavior when creating a WebPage.
8128
8129        (WebKit::WebPageProxy::setScrollPinningBehavior):
8130        Pass ScrollPinningBehavior changes across to the WebProcess (and save it
8131        in WebPageProxy so it can be sent back across if the WebProcess crashes).
8132
8133        * UIProcess/WebPageProxy.h:
8134        (WebKit::WebPageProxy::scrollPinningBehavior):
8135        Getter/setter and storage for m_scrollPinningBehavior.
8136
8137        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
8138        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
8139        Inform new FrameViews of the current ScrollPinningBehavior.
8140
8141        * WebProcess/WebPage/WebPage.cpp:
8142        (WebKit::WebPage::WebPage):
8143        Set our ScrollPinningBehavior based on our creation parameters.
8144
8145        (WebKit::WebPage::setScrollPinningBehavior):
8146        Inform the FrameView of ScrollPinningBehavior changes.
8147
8148        * WebProcess/WebPage/WebPage.h:
8149        (WebKit::WebPage::scrollPinningBehavior): Added.
8150        (WebKit::WebPage::setScrollPinningBehavior): Added.
8151        Add storage for m_scrollPinningBehavior.
8152
8153        * WebProcess/WebPage/WebPage.messages.in:
8154        Add SetScrollPinningBehavior message.
8155
81562013-07-05  Krzysztof Wolanski  <k.wolanski@samsung.com>
8157
8158        [EFL][WK2] Implement unit test callbacks: onWordLearn and onWordIgnore.
8159        https://bugs.webkit.org/show_bug.cgi?id=118392
8160
8161        Reviewed by Christophe Dumez.
8162
8163        Simulate behavior of Learn and Ignore Word in the text field.
8164
8165        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
8166        (EWK2UnitTest::EWK2UnitTestBase::mouseDoubleClick):
8167        Select the entire word in the text field.
8168
8169        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
8170        * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
8171        (onSpellingForKnownWord):
8172        (onWordLearn):
8173        (onWordIgnore):
8174        (selectLearnSpelling):
8175        (selectIgnoreSpelling):
8176
81772013-07-05  Xabier Rodriguez Calvar  <calvaris@igalia.com>
8178
8179        [GTK] WebKit2 test TestWebKitFaviconDatabase times out with recent glib
8180        https://bugs.webkit.org/show_bug.cgi?id=111434
8181
8182        Reviewed by Carlos Garcia Campos.
8183
8184        * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
8185        (testNotInitialized):
8186        (testSetDirectory):
8187        (testClearDatabase):
8188        (testGetFavicon):
8189        (testGetFaviconURI): Removed gconstpointer parameter.
8190        (testWebViewFavicon): Fixed to make it work together with the
8191        other tests and removed gconstpointer parameter.
8192        (testFaviconDatabase): Created to call all tests in the proper
8193        order.
8194        (beforeAll): Changed to call only testFaviconDatabase instead of
8195        the separate tests.
8196
81972013-07-05  Xabier Rodriguez Calvar  <calvaris@igalia.com>
8198
8199        TestWebKitFaviconDatabase/clear-database is not testing things properly
8200        https://bugs.webkit.org/show_bug.cgi?id=118404
8201
8202        Reviewed by Carlos Garcia Campos.
8203
8204        * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
8205        (testClearDatabase): Check for an existing icon that can make the
8206        test fail if clear database is not working.
8207
82082013-07-04  Anders Carlsson  <andersca@apple.com>
8209
8210        Paint the page background if we haven't received our first update
8211        https://bugs.webkit.org/show_bug.cgi?id=118402
8212        <rdar://problem/13893308>
8213
8214        Reviewed by Simon Fraser.
8215
8216        Make sure that we always paint something when we haven't received our first update from the web process.
8217
8218        * UIProcess/API/mac/WKView.mm:
8219        (-[WKView drawRect:]):
8220        * UIProcess/DrawingAreaProxyImpl.h:
8221        (WebKit::DrawingAreaProxyImpl::hasReceivedFirstUpdate):
8222
82232013-07-04  Anders Carlsson  <andersca@apple.com>
8224
8225        Crash when createPluginInternal ends up destroying the plug-in
8226        https://bugs.webkit.org/show_bug.cgi?id=118397
8227        <rdar://problem/14155051>
8228
8229        Reviewed by Simon Fraser.
8230
8231        Keep the WebProcessConnection object alive while calling createPluginInternal and handle
8232        the IPC connection going away.
8233
8234        * PluginProcess/WebProcessConnection.cpp:
8235        (WebKit::WebProcessConnection::createPluginAsynchronously):
8236
82372013-07-03  Gordon Sheridan  <gordon_sheridan@apple.com>
8238
8239        Implement mechanism to detect (partially) hidden blocked plugins.
8240        https://bugs.webkit.org/show_bug.cgi?id=117998
8241
8242        Reviewed by Dean Jackson.
8243
8244        * Shared/Plugins/Netscape/PluginInformation.h:
8245        * Shared/Plugins/Netscape/PluginInformation.cpp:
8246        (WebKit::plugInInformationReplacementObscuredKey):
8247        Add key for plugInInformation dictionaries.
8248
8249        (WebKit::createPluginInformationDictionary):
8250        Add boolean parameter identifying whether the replacement for a blocked plugin is obscured, and add it to the dictionary.
8251
8252        * Shared/API/c/WKPluginInformation.h:
8253        * Shared/API/c/WKPluginInformation.cpp:
8254        (WKPluginInformationReplacementObscuredKey):
8255        Provide the C API for the plugInInformationReplacementObscuredKey().
8256
8257        * UIProcess/WebPageProxy.h:
8258        * UIProcess/WebPageProxy.cpp:
8259        (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
8260        Add bool replacementObscured parameter to pass on argument to createPluginInformationDictionary().
8261
8262        * UIProcess/WebPageProxy.messages.in:
8263        Add bool replacementObscured parameter to DidBlockInsecurePluginVersion() message.
8264
8265        * WebProcess/WebPage/WebPage.cpp:
8266        (WebKit::WebPage::createPlugin):
8267        Invoke isReplacementObscured() method for blocked plugins.
8268
82692013-07-03  Alexey Proskuryakov  <ap@apple.com>
8270
8271        <rdar://problem/14271105> Flash Player: deny ipc-posix-sem 59918130
8272        <rdar://problem/14349560> Flash Player: deny ipc-posix-sem MacromediaSemaphoreDig on many sites
8273
8274        Reviewed by Sam Weinig.
8275
8276        * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
8277        semaphore-owner doesn't appear to work the way we need it to, removing it (at least for now).
8278
82792013-07-03  Simon Pena  <simon.pena@samsung.com>
8280
8281        WebTextCheckerClient doesn't initialize output arguments.
8282        https://bugs.webkit.org/show_bug.cgi?id=83683
8283
8284        Reviewed by Martin Robinson.
8285
8286        Callers of checkSpellingOfString and checkGrammarOfString expect
8287        certain default values when no misspelled (or bad grammar) string
8288        is found. They try to do that by initialising the reply arguments
8289        that go into the IPC calls, but these values are ultimately ignored (see
8290        HandleMessage.h, where the replyArguments are declared).
8291
8292        In the past, this seems to have led to various issues, (see
8293        TextCheckingHelper::findFirstMisspelling in TextCheckingHelper.cpp),
8294        where these return values are asserted and checked to be in the right range.
8295
8296        This patch initialises the values, so even if no available client
8297        implements the methods (or if the implementation forgets to do it) the callers
8298        will have their expected output.
8299
8300        However, and for a general case, we probably need a way to tell the caller
8301        that any existing value in the output arguments will be ignored.
8302
8303        * UIProcess/WebTextCheckerClient.cpp:
8304        (WebKit::WebTextCheckerClient::checkSpellingOfString):
8305        (WebKit::WebTextCheckerClient::checkGrammarOfString):
8306
8307
83082013-07-03  Sergio Villar Senin  <svillar@igalia.com>
8309
8310        [GTK][WK2] SIGSEV in WebKit::WebPageContextMenuClient::customContextMenuItemSelected
8311        https://bugs.webkit.org/show_bug.cgi?id=116867
8312
8313        Reviewed by Anders Carlsson.
8314
8315        We did not reset the clients on WebPageProxy::close(), so right
8316        clicking on a link after starting the navigation to some other
8317        page was causing crashes because code was trying to access an
8318        already freed m_contextMenuClient.
8319
8320        There were some other clients that could potentially trigger the
8321        same issues. Reset them all to null to prevent this situation.
8322
8323        * UIProcess/WebPageProxy.cpp:
8324        (WebKit::WebPageProxy::close):
8325
83262013-07-03  Simon Pena  <simon.pena@samsung.com>
8327
8328        Output arguments used in IPC calls should be returned initialised
8329        https://bugs.webkit.org/show_bug.cgi?id=118354
8330
8331        Reviewed by Anders Carlsson.
8332
8333        When Download::shouldDecodeSourceDataOfMIMEType and Download::retrieveDestinationWithSuggestedFilename
8334        call DownloadProxy::shouldDecodeSourceDataOfMIMEType and DownloadProxy::decideDestinationWithSuggestedFilename
8335        through IPC, they assume the output arguments result and allowOverwrite have
8336        been initialised.
8337
8338        This patch initialises these arguments also in the unlikely event that a
8339        m_webContext is not available.
8340
8341        * UIProcess/Downloads/DownloadProxy.cpp:
8342        (WebKit::DownloadProxy::shouldDecodeSourceDataOfMIMEType):
8343        (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
8344
83452013-07-03  Sergio Villar Senin  <svillar@igalia.com>
8346
8347        [WK2][GTK] Invalid ASSERTs in WebResources loading code
8348        https://bugs.webkit.org/show_bug.cgi?id=118352
8349
8350        Reviewed by Carlos Garcia Campos.
8351
8352        The WebKitWebView keeps track of the resources being loaded in a
8353        map. A couple of ASSERTs verify that every loaded resource is
8354        stored in that map.
8355
8356        The map that is cleared each time a new load starts so there is a
8357        small chance that we get notifications for resources that
8358        correspond to previous page loads
8359        (and thus are not stored in the map). We should remove the ASSERT
8360        which is not valid anymore.
8361
8362        * UIProcess/API/gtk/WebKitWebView.cpp:
8363        (webkitWebViewGetLoadingWebResource):
8364
83652013-07-03  Carlos Garcia Campos  <cgarcia@igalia.com>
8366
8367        [GTK] Migrate WebKitWebContext to GTask
8368        https://bugs.webkit.org/show_bug.cgi?id=117153
8369
8370        Reviewed by Gustavo Noronha Silva.
8371
8372        * UIProcess/API/gtk/WebKitWebContext.cpp:
8373        (webkitWebContextGetPluginThread):
8374        (webkit_web_context_get_plugins):
8375        (webkit_web_context_get_plugins_finish):
8376
83772013-07-02  Zan Dobersek  <zdobersek@igalia.com>
8378
8379        [WK2] Invalidate FontCache before purging MemoryCache upon WebProcess termination/closure
8380        https://bugs.webkit.org/show_bug.cgi?id=118280
8381
8382        Reviewed by Darin Adler.
8383
8384        Invalidate the FontCache before disabling and purging the MemoryCache in WebProcess::didClose
8385        and WebProcess::terminate. This frees up additional references to objects that were held
8386        by the FontCache, reducing the amount of 'LEAK: *' output when exiting MiniBrowser or
8387        WebKitTestRunner in debug builds.
8388
8389        * WebProcess/WebProcess.cpp:
8390        (WebKit::WebProcess::terminate):
8391        (WebKit::WebProcess::didClose):
8392
83932013-07-02  Jessie Berlin  <jberlin@apple.com>
8394
8395        The callback for WKPageGetPlugInInformation needs info about whether or not there are any
8396        non-playing instances of the plug-in on the page
8397        https://bugs.webkit.org/show_bug.cgi?id=118330
8398
8399        Reviewed by Anders Carlsson.
8400
8401        Add another key value pair to the dictionary passed to the callback.
8402
8403        * Shared/API/c/WKPluginInformation.cpp:
8404        (WKPlugInInformationPageContainsNonPlayingInstanceOfPlugInKey):
8405        * Shared/API/c/WKPluginInformation.h:
8406
8407        * Shared/Plugins/Netscape/PluginInformation.cpp:
8408        (WebKit::plugInInformationPageContainsNonPlayingInstanceOfPlugInKey):
8409        (WebKit::createPlugInInformationDictionary):
8410        Add the information about whether or not the page contains a non-playing instance of that
8411        plug-in to the plug-in information dictionary.
8412        * Shared/Plugins/Netscape/PluginInformation.h:
8413
8414        * UIProcess/WebPageProxy.h:
8415        * UIProcess/WebPageProxy.messages.in:
8416        * UIProcess/mac/WebPageProxyMac.mm:
8417        (WebKit::WebPageProxy::containsPlugInCallback):
8418        Check if any of the MIME types of the plug-in instances that are present on the page but are
8419        not playing match the instance of plug-in being searched for.
8420        * WebProcess/WebPage/mac/WebPageMac.mm:
8421        (WebKit::addPlugInMimeTypesFromNodeListForNonPlayingPlugIns):
8422        Based roughly off of addPlugInsFromNodeListMatchingPlugInOrigin in
8423        HTMLPlugInImageElement.cpp.
8424        (WebKit::WebPage::containsPluginViewsWithPluginProcessToken):
8425        Based roughly off of HTMLPlugInImageElement::restartSimilarPlugIns.
8426
84272013-07-02  Alexey Proskuryakov  <ap@apple.com>
8428
8429        security/block-test.html fails when NetworkProcess is enabled
8430        https://bugs.webkit.org/show_bug.cgi?id=118320
8431        <rdar://problem/14309423>
8432
8433        Reviewed by Geoff Garen.
8434
8435        * NetworkProcess/NetworkResourceLoader.cpp:
8436        (WebKit::NetworkResourceLoader::wasBlocked):
8437        (WebKit::NetworkResourceLoader::cannotShowURL):
8438        Implemented missing ResourceHandleClient functions.
8439
84402013-07-02  Ada Chan  <adachan@apple.com>
8441
8442        Fix crash when PageBanner::detachFromPage() is called from WebPage::~WebPage().
8443        https://bugs.webkit.org/show_bug.cgi?id=118268
8444
8445        Reviewed by Beth Dakin.
8446
8447        * WebProcess/WebPage/mac/PageBannerMac.mm:
8448        (WebKit::PageBanner::detachFromPage): Add some null checks. m_webPage->corePage()
8449        can be null if this method is called after the web page is closed.
8450
84512013-07-02  Jae Hyun Park  <jae.park@company100.net>
8452
8453        Implement CoordinatedSurface for Threaded Coordinated Graphics
8454        https://bugs.webkit.org/show_bug.cgi?id=109661
8455
8456        Reviewed by Noam Rosenthal.
8457
8458        This is a preparation patch for Threaded Coordianted Graphics.
8459
8460        This patch implements ThreadSafeCoordinatedSurface using ImageBuffer as a
8461        backend. Also, this patch moves common implementation to CoordinatedSurface to
8462        prevent duplication of code.
8463
8464        * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
8465        (WebKit::WebCoordinatedSurface::WebCoordinatedSurface):
8466        * Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
8467
84682013-07-01  Alexey Proskuryakov  <ap@apple.com>
8469
8470        Clean up private browsing session tracking
8471        https://bugs.webkit.org/show_bug.cgi?id=118266
8472        <rdar://problem/13078036>
8473
8474        Reviewed by Brady Eidson.
8475
8476        Instead of counting API calls, we now watch actual WebPreferences objects.
8477
8478        * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetPrivateBrowsingEnabled):
8479        Removed code that used to notify WebContext. It's now done by WebPreferences.
8480
8481        * UIProcess/WebContext.h:
8482        * UIProcess/WebContext.cpp:
8483        (WebKit::WebContext::ensureNetworkProcess): Instead of counting the number of times
8484        API was called, rely on WebPreferences tracking.
8485        (WebKit::WebContext::willStartUsingPrivateBrowsing): Ditto. This function is
8486        now only called when we detect a change in private browsing state.
8487        (WebKit::WebContext::willStopUsingPrivateBrowsing): Ditto.
8488        (WebKit::WebContext::createNewWebProcess): Tell the new process to create a private
8489        browsing session if needed.
8490
8491        * UIProcess/WebPreferences.h:
8492        * UIProcess/WebPreferences.cpp:
8493        (WebKit::WebPreferences::addPageGroup): Count how many page groups use private
8494        browsing, and notify WebContext when a session is needed. Note that we don't notify
8495        WebContext about WebPreferences without any page groups, because it's likely
8496        that preferences will be updated by the client before groups are associated.
8497        (WebKit::WebPreferences::removePageGroup): Ditto.
8498        (WebKit::WebPreferences::updateBoolValueForKey): Perform special handling for
8499        private browsing mode changes.
8500        (WebKit::WebPreferences::updatePrivateBrowsingValue): Notify WebContext when
8501        it's time to create or destroy a private browsing session.
8502        (WebKit::WebPreferences::anyPageGroupsAreUsingPrivateBrowsing): A getter for
8503        WebContext to know when any page groups are in private browsing mode.
8504
8505        * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences):
8506        Don't create a private browsing session implicitly, UI process takes care of it.
8507
85082013-07-01  Timothy Hatcher  <timothy@apple.com>
8509
8510        Link to WebInspectorUI.framework at build time instead of soft linking.
8511
8512        https://bugs.webkit.org/show_bug.cgi?id=118261
8513
8514        Reviewed by Joseph Pecoraro.
8515
8516        * Configurations/WebKit2.xcconfig:
8517        * UIProcess/mac/WebInspectorProxyMac.mm:
8518        (WebKit::inspectorReallyUsesWebKitUserInterface):
8519        * WebKit2.xcodeproj/project.pbxproj:
8520        * WebProcess/WebPage/mac/WebInspectorMac.mm:
8521        (WebKit::inspectorReallyUsesWebKitUserInterface):
8522
85232013-07-01  Tim Horton  <timothy_horton@apple.com>
8524
8525        [wk2] TiledCoreAnimationDrawingArea should support scrolling its exposed rect
8526        https://bugs.webkit.org/show_bug.cgi?id=118173
8527        <rdar://problem/14301166>
8528
8529        Reviewed by Anders Carlsson.
8530
8531        Offset the exposed rect passed from the WKView by the main frame's current scroll position
8532        before sending it to our TiledBackings, so that it is in the same coordinate space as their
8533        ordinary visibleRects.
8534
8535        This has the side effect of making clips-to-exposed-rect testable (though useless) in Safari.
8536
8537        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
8538        Add updateScrolledExposedRect() and m_scrolledExposedRect.
8539
8540        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
8541        (WebKit::TiledCoreAnimationDrawingArea::scroll):
8542        Call updateScrolledExposedRect when the main frame scrolls.
8543
8544        (WebKit::TiledCoreAnimationDrawingArea::setExposedRect):
8545        Remove a FIXME about this change.
8546        Call updateScrolledExposedRect instead of passing down the unscrolled rect.
8547
8548        (WebKit::TiledCoreAnimationDrawingArea::setClipsToExposedRect):
8549        Call updateScrolledExposedRect, because that method will short-circuit if
8550        setClipsToExposedRect is false, so we need to update here for correctness
8551        if we get a setExposedRect(), setClipsToExposedRect(true) pair.
8552
8553        (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
8554        Update m_scrolledExposedRect and propagate it to our TiledBackings.
8555
8556        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
8557        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
8558        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
8559        (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
8560        Use the scrolled exposed rect.
8561
85622013-07-01  Ada Chan  <adachan@apple.com>
8563
8564        Properly hide the header and footer banners if they are set to null.
8565        https://bugs.webkit.org/show_bug.cgi?id=118219
8566
8567        Reviewed by Beth Dakin.
8568        
8569        Call Page::addFooterWithHeight(0) to remove the parent layer that hosts the banner when
8570        the footer banner is detached. Similarly for the header banner.
8571
8572        * WebProcess/WebPage/mac/PageBannerMac.mm:
8573        (WebKit::PageBanner::detachFromPage):
8574
85752013-07-01  Jochen Eisinger  <jochen@chromium.org>
8576
8577        Remove support for consumable user gestures
8578        https://bugs.webkit.org/show_bug.cgi?id=118247
8579
8580        Reviewed by Geoffrey Garen.
8581
8582        * WebProcess/Notifications/WebNotificationManager.cpp:
8583        (WebKit::WebNotificationManager::didClickNotification):
8584        * WebProcess/Plugins/PluginView.cpp:
8585        (WebKit::PluginView::performFrameLoadURLRequest):
8586        (WebKit::PluginView::evaluate):
8587        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
8588        (WebKit::WebContextMenuClient::searchWithGoogle):
8589
85902013-06-27  Jer Noble  <jer.noble@apple.com>
8591
8592        Audio in apps which embed WebViews is corrupted.
8593        https://bugs.webkit.org/show_bug.cgi?id=118163
8594
8595        Reviewed by Maciej Stachowiak.
8596
8597        Expose the WebCore lowPowerVideoAudioBufferSizeEnabled setting to WebKit2 clients.
8598
8599        * Shared/WebPreferencesStore.h:
8600        * WebProcess/WebPage/WebPage.cpp:
8601        (WebKit::WebPage::updatePreferences):
8602
86032013-07-01  Sam Weinig  <sam@webkit.org>
8604
8605        WKPageLoadDataWithUserData neglects to set the base URL that is passed in
8606        <rdar://problem/14306784>
8607        https://bugs.webkit.org/show_bug.cgi?id=118256
8608
8609        Reviewed by Anders Carlsson.
8610
8611        * WebProcess/WebPage/WebPage.cpp:
8612        (WebKit::WebPage::loadData):
8613        Pass the baseURL, not blankURL(), and remove an unnecessary multiplication by sizeof(uint8_t) which is always 1.
8614
86152013-07-01  Kangil Han  <kangil.han@samsung.com>
8616
8617        Adopt toHTMLTextAreaElement for code cleanup
8618        https://bugs.webkit.org/show_bug.cgi?id=118226
8619
8620        Reviewed by Andreas Kling.
8621
8622        To enhance readability, this patch adopts toHTMLTextAreaElement.
8623        This also helps out to reduce duplicated use of static_cast.
8624
8625        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
8626        (WebKit::InjectedBundleNodeHandle::htmlTextAreaElementLastChangeWasUserEdit):
8627        * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
8628        (WebKit::PDFPluginTextAnnotation::createAnnotationElement):
8629        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
8630        (WebKit::WebEditorClient::textDidChangeInTextArea):
8631        * WebProcess/WebPage/WebFrame.cpp:
8632        (WebKit::WebFrame::containsAnyFormControls):
8633
86342013-06-28  Andreas Kling  <akling@apple.com>
8635
8636        Fix Windows builds after deprecatedCharactersWithNullTermination() removal.
8637
8638        * Platform/CoreIPC/win/ConnectionWin.cpp:
8639        (CoreIPC::Connection::createServerAndClientIdentifiers):
8640
86412013-06-28  Tim Horton  <timothy_horton@apple.com>
8642
8643        [wk2] WKView shouldn't force scrolling off if shouldClipToVisibleRect is set
8644        https://bugs.webkit.org/show_bug.cgi?id=118174
8645        <rdar://problem/14301175>
8646
8647        Reviewed by Anders Carlsson.
8648
8649        * UIProcess/API/mac/WKView.mm:
8650        (-[WKView _updateViewExposedRect]):
8651        Pass whether or not clips-to-visibleRect is enabled down to the WebPageProxy.
8652
8653        (-[WKView setMinimumSizeForAutoLayout:]):
8654        Disable scrolling when using autolayout instead of when using clips-to-visibleRect.
8655
8656        (-[WKView setShouldClipToVisibleRect:]):
8657        Clipping to the WKView's visibleRect does not strictly require scrolling to be disabled,
8658        and in fact there are cases (RTL/TB pagination) where we *must* scroll, even when the view
8659        is big enough to fit the content (the case clip-to-visibleRect was added for).
8660
8661        * UIProcess/WebPageProxy.cpp:
8662        (WebKit::WebPageProxy::WebPageProxy):
8663        * UIProcess/WebPageProxy.h:
8664        * UIProcess/mac/WebPageProxyMac.mm:
8665        (WebKit::WebPageProxy::viewExposedRectChanged):
8666        (WebKit::WebPageProxy::exposedRectChangedTimerFired):
8667        Keep track of and forward to the drawing area whether or not clips-to-visibleRect is enabled.
8668
8669        * WebProcess/WebPage/DrawingArea.h:
8670        (WebKit::DrawingArea::setClipsToExposedRect): Added.
8671        (WebKit::DrawingArea::didChangeScrollOffsetForAnyFrame): Added a missing space.
8672
8673        * WebProcess/WebPage/WebPage.cpp:
8674        (WebKit::WebPage::viewExposedRectChanged):
8675        * WebProcess/WebPage/WebPage.h:
8676        * WebProcess/WebPage/WebPage.messages.in:
8677        Forward clips-to-visibleRect enabled state to the drawing area.
8678
8679        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
8680        Add storage for m_clipsToExposedRect.
8681
8682        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
8683        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
8684        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
8685        (WebKit::TiledCoreAnimationDrawingArea::setClipsToExposedRect):
8686        (WebKit::TiledCoreAnimationDrawingArea::updateMainFrameClipsToExposedRect):
8687        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
8688        (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
8689        Check m_clipsToExposedRect instead of the main-frame's isScrollable() to determine
8690        whether we should tell our TiledBackings to clip to the exposed rect we provide.
8691
8692        We don't need to listen to mainFrameScrollabilityChanged anymore.
8693
86942013-06-28  Gavin Barraclough  <barraclough@apple.com>
8695
8696        Stale occlusion state after moving page back into window
8697        https://bugs.webkit.org/show_bug.cgi?id=118202
8698
8699        Reviewed by Anders Carlsson.
8700        
8701        We need to update the occlusion state when the page goes back into the window.
8702
8703        * UIProcess/API/mac/WKView.mm:
8704        (-[WKView viewDidMoveToWindow]):
8705            - update occlusion state.
8706
87072013-06-28  Gwang Yoon Hwang  <ryumiel@company100.net>
8708
8709        Coordinated Graphics: Separate CoordinatedLayerTreeHost into CoordinatedLayerTreeHost and CompositingCoordinator
8710        https://bugs.webkit.org/show_bug.cgi?id=104360
8711
8712        Reviewed by Noam Rosenthal.
8713
8714        The CoordinatedLayerTreeHost has too many responsibilities. It
8715        implements LayerTreeHost, GraphicsLayerClient,
8716        CoordinatedGraphicsLayerClient, CoordinatedImageBacking::Client,
8717        UpdateAtlas::Client, GraphicsLayerFactory and
8718        WebCustomFilterProgramProxyClient.
8719
8720        This refactoring reduces the responsibilities of CoordinatedLayerTreeHost.
8721
8722        This patch introduces a new class called CompositingCoordinator, which
8723        takes the responsibility of managing compositing resources in
8724        WebProcess.
8725
8726        CoordinatedLayerTreeHost is responsible only for the scheduling and
8727        IPC-specific stuff, which are relevant only for WebKit2.
8728
8729        No new tests, covered by existing tests.
8730
8731        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
8732        (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
8733        (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
8734        (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
8735        (WebKit::CoordinatedLayerTreeHost::invalidate):
8736        (WebKit::CoordinatedLayerTreeHost::forceRepaint):
8737        (WebKit::CoordinatedLayerTreeHost::sizeDidChange):
8738        (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
8739        (WebKit::CoordinatedLayerTreeHost::renderNextFrame):
8740        (WebKit::CoordinatedLayerTreeHost::purgeBackingStores):
8741        (WebKit::CoordinatedLayerTreeHost::willSyncLayerState):
8742        (WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesForAnimations):
8743        (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
8744        (WebKit::CoordinatedLayerTreeHost::removeCustomFilterProgramProxy):
8745        (WebKit::CoordinatedLayerTreeHost::didFlushRootLayer):
8746        (WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush):
8747        (WebKit::CoordinatedLayerTreeHost::createPageOverlayLayer):
8748        (WebKit::CoordinatedLayerTreeHost::paintLayerContents):
8749        (WebKit::CoordinatedLayerTreeHost::commitSceneState):
8750        (WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
8751        (WebKit::CoordinatedLayerTreeHost::graphicsLayerFactory):
8752        (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
8753        (WebKit::CoordinatedLayerTreeHost::commitScrollOffset):
8754        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
8755        * WebProcess/WebPage/LayerTreeHost.h:
8756
87572013-06-28  Anders Carlsson  <andersca@apple.com>
8758
8759        Make the UI process run the Java Updater
8760        https://bugs.webkit.org/show_bug.cgi?id=118197
8761        <rdar://problem/14255677>
8762
8763        Reviewed by Sam Weinig.
8764
8765        Patch the relevant NSWorkspace method and pipe through the request to launch the Java updater to the UI process.
8766
8767        * PluginProcess/PluginProcess.h:
8768        * PluginProcess/mac/PluginProcessMac.mm:
8769        (WebKit::replacedNSWorkspace_launchApplicationAtURL_options_configuration_error):
8770        (WebKit::initializeCocoaOverrides):
8771        (WebKit::PluginProcess::launchApplicationAtURL):
8772        * UIProcess/Plugins/PluginProcessProxy.h:
8773        * UIProcess/Plugins/PluginProcessProxy.messages.in:
8774        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
8775        (WebKit::isJavaUpdaterURL):
8776        (WebKit::shouldLaunchApplicationAtURL):
8777        (WebKit::PluginProcessProxy::launchApplicationAtURL):
8778
87792013-06-28  Tim Horton  <timothy_horton@apple.com>
8780
8781        WARN_UNUSED_RESULT can't be used in API headers, but WKBundlePageExtendIncrementalRenderingSuppression tries to
8782        https://bugs.webkit.org/show_bug.cgi?id=118196
8783        <rdar://problem/14303613>
8784
8785        Reviewed by Anders Carlsson.
8786
8787        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
8788
87892013-06-28  Andreas Kling  <akling@apple.com>
8790
8791        Don't fire process-became-responsive callback when disconnecting it.
8792        <http://webkit.org/b/118166>
8793
8794        Reviewed by Anders Carlsson.
8795
8796        When disconnecting from a web process, call ResponsivenessTimer::invalidate() instead of
8797        stop() to avoid firing the didBecomeResponsive() callback.
8798
8799        This lets the UI process react faster to actually unresponsive processes.
8800
8801        * UIProcess/WebProcessProxy.cpp:
8802        (WebKit::WebProcessProxy::disconnect):
8803
88042013-06-28  Sergio Villar Senin  <svillar@igalia.com>
8805
8806        [WK2][GTK] 100% CPU usage rendering a page with animations
8807        https://bugs.webkit.org/show_bug.cgi?id=117703
8808
8809        Reviewed by Martin Robinson.
8810
8811        Unconditionally update the value of m_lastFlushTime in
8812        ::flushAndRenderLayers. By doing that we avoid a neverending
8813        sequence of layer flushes that happened when m_lastFlushTime==0
8814        and flushPendingLayerChanges() was false. In that situation the
8815        value m_lastFlushTime was never updated so a new flush was always
8816        rescheduled.
8817
8818        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
8819        (WebKit::LayerTreeHostGtk::flushAndRenderLayers):
8820
88212013-06-28  Andres Gomez  <agomez@igalia.com>
8822
8823        [GTK] MiniBrowser doesn't solve the saving location when there are no XDG settings
8824        https://bugs.webkit.org/show_bug.cgi?id=117538
8825
8826        Reviewed by Carlos Garcia Campos.
8827
8828        If the XDG specification is not working for the "Downloads"
8829        directory, let's use HOME as fallback.
8830
8831        * UIProcess/API/gtk/WebKitDownload.cpp:
8832        (webkitDownloadDecideDestination):
8833
88342013-06-28  Dariusz Frankiewicz  <d.frankiewic@samsung.com>
8835
8836        [EFL][WK2] Add spellcheck API tests in unit tests.
8837        https://bugs.webkit.org/show_bug.cgi?id=118123
8838
8839        Reviewed by Christophe Dumez.
8840
8841        According to discussion in bug https://bugs.webkit.org/show_bug.cgi?id=113742
8842        we're moving spelling tests from layout tests to unit tests.
8843
8844        * UIProcess/API/efl/tests/resources/spelling_selection_tests.html: Added.
8845        New file is needed to make tests, with and without spellcheck attribute.
8846        File contains basic site with content editable fields and buttons which select
8847        different parts of misspelled words.
8848
8849        * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
8850        (countContextMenuItems):
8851        Added method used to count number of items in context menu.
8852
88532013-06-27  Kangil Han  <kangil.han@samsung.com>
8854
8855        Adopt is/toHTMLInputElement for code cleanup
8856        https://bugs.webkit.org/show_bug.cgi?id=118130
8857
8858        Reviewed by Antti Koivisto.
8859
8860        To enhance readability, this patch adopts is/toHTMLInputElement.
8861        This also helps out to reduce duplicated use of static_cast.
8862
8863        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
8864        (WebKit::InjectedBundleNodeHandle::setHTMLInputElementValueForUser):
8865        (WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutofilled):
8866        (WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutofilled):
8867        (WebKit::InjectedBundleNodeHandle::htmlInputElementLastChangeWasUserEdit):
8868        * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
8869        (WebKit::PDFPluginTextAnnotation::createAnnotationElement):
8870        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
8871        (WebKit::WebChromeClient::focusedNodeChanged):
8872        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
8873        (WebKit::WebEditorClient::textFieldDidBeginEditing):
8874        (WebKit::WebEditorClient::textFieldDidEndEditing):
8875        (WebKit::WebEditorClient::textDidChangeInTextField):
8876        (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
8877        (WebKit::WebEditorClient::textWillBeDeletedInTextField):
8878        * WebProcess/WebPage/WebFrame.cpp:
8879        (WebKit::WebFrame::containsAnyFormControls):
8880        * WebProcess/WebPage/WebPage.cpp:
8881        (WebKit::WebPage::editorState):
8882
88832013-06-27  Eunmi Lee  <eunmi15.lee@samsung.com>
8884
8885        [EFL][WK2] Add WK2 C API to handle touch events.
8886        https://bugs.webkit.org/show_bug.cgi?id=108915
8887
8888        Reviewed by Gyuyoung Kim.
8889
8890        Touch events for our target platforms differ (XInput2, Wayland, Tizen) so
8891        for the EFL port we want to be able to feed events manually.
8892
8893        To keep our current API for desktop EFL/Enlightenment working, we convert
8894        our currently limited EFL events to the new EFL specific C EwkTouchPoint
8895        and EwkTouchEvent type.
8896
8897        EwkTouchPoint and EwkTouchEvent are exposed as WKTouchPointRef and
8898        WKTouchEventRef, so they are opaque in the applications.
8899
8900        The WKViewSendTouchEvent can be used for any use-case (platform/product)
8901        not involving the EFL events.
8902
8903        At the same time we make sure to avoid using WK2 internals in our EFL API
8904        implementation.
8905
8906        * PlatformEfl.cmake:
8907        * Shared/API/c/efl/WKBaseEfl.h:
8908        * Shared/APIObject.h:
8909        * Shared/NativeWebTouchEvent.h:
8910        (WebKit::NativeWebTouchEvent::nativeEvent):
8911        * Shared/efl/NativeWebTouchEventEfl.cpp:
8912        (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
8913        * Shared/efl/WebEventFactory.cpp:
8914        (WebKit::toWebPlatformTouchPointState):
8915        (WebKit::toWebEventType):
8916        (WebKit::toWebEventModifiers):
8917        (WebKit::WebEventFactory::createWebTouchEvent):
8918        * Shared/efl/WebEventFactory.h:
8919        * UIProcess/API/C/efl/WKAPICastEfl.h:
8920        * UIProcess/API/C/efl/WKEventEfl.cpp: Added.
8921        (WKTouchPointCreate):
8922        (WKTouchEventCreate):
8923        * UIProcess/API/C/efl/WKEventEfl.h: Added.
8924        * UIProcess/API/C/efl/WKViewEfl.cpp:
8925        (WKViewSendTouchEvent):
8926        * UIProcess/API/C/efl/WKViewEfl.h:
8927        * UIProcess/API/efl/EwkView.cpp:
8928        (toWKTouchPointState):
8929        (toWKEventModifiers):
8930        (EwkView::feedTouchEvent):
8931        (EwkView::feedTouchEvents):
8932        * UIProcess/efl/EwkTouchEvent.cpp: Added.
8933        (WebKit::EwkTouchEvent::EwkTouchEvent):
8934        * UIProcess/efl/EwkTouchEvent.h: Added.
8935        (WebKit::EwkTouchEvent::create):
8936        (WebKit::EwkTouchEvent::eventType):
8937        (WebKit::EwkTouchEvent::touchPoints):
8938        (WebKit::EwkTouchEvent::modifiers):
8939        (WebKit::EwkTouchEvent::timestamp):
8940        (WebKit::EwkTouchEvent::type):
8941        * UIProcess/efl/EwkTouchPoint.cpp: Added.
8942        (WebKit::EwkTouchPoint::EwkTouchPoint):
8943        * UIProcess/efl/EwkTouchPoint.h: Added.
8944        (WebKit::EwkTouchPoint::create):
8945        (WebKit::EwkTouchPoint::id):
8946        (WebKit::EwkTouchPoint::state):
8947        (WebKit::EwkTouchPoint::screenPosition):
8948        (WebKit::EwkTouchPoint::position):
8949        (WebKit::EwkTouchPoint::radius):
8950        (WebKit::EwkTouchPoint::rotationAngle):
8951        (WebKit::EwkTouchPoint::forceFactor):
8952        (WebKit::EwkTouchPoint::type):
8953        * UIProcess/efl/WebViewEfl.cpp:
8954        (WebKit::WebViewEfl::sendTouchEvent):
8955        * UIProcess/efl/WebViewEfl.h:
8956
89572013-06-27  Csaba Osztrogonác  <ossy@webkit.org>
8958
8959        Fix cast-align warnings in WebKit2/Platform/CoreIPC
8960        https://bugs.webkit.org/show_bug.cgi?id=117987
8961
8962        Reviewed by Rob Buis, WK2 signed-off by Anders Carlsson.
8963
8964        * Platform/CoreIPC/ArgumentDecoder.cpp:
8965        (CoreIPC::ArgumentDecoder::decode):
8966        * Platform/CoreIPC/ArgumentEncoder.cpp:
8967        (CoreIPC::ArgumentEncoder::encode):
8968
89692013-06-27  Commit Queue  <commit-queue@webkit.org>
8970
8971        Unreviewed, rolling out r152074.
8972        http://trac.webkit.org/changeset/152074
8973        https://bugs.webkit.org/show_bug.cgi?id=118137
8974
8975        It caused lots of layout and API test crash on Qt Wk2.
8976        (Requested by kadam on #webkit).
8977
8978        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
8979        (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
8980        (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
8981        (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
8982        (WebKit::CoordinatedLayerTreeHost::invalidate):
8983        (WebKit::CoordinatedLayerTreeHost::forceRepaint):
8984        (WebKit::CoordinatedLayerTreeHost::sizeDidChange):
8985        (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
8986        (WebKit::CoordinatedLayerTreeHost::clearPendingStateChanges):
8987        (WebKit::CoordinatedLayerTreeHost::initializeRootCompositingLayerIfNeeded):
8988        (WebKit::CoordinatedLayerTreeHost::syncLayerState):
8989        (WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesIfNeeded):
8990        (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
8991        (WebKit::CoordinatedLayerTreeHost::removeCustomFilterProgramProxy):
8992        (WebKit::CoordinatedLayerTreeHost::detachLayer):
8993        (WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush):
8994        (WebKit::CoordinatedLayerTreeHost::syncDisplayState):
8995        (WebKit::CoordinatedLayerTreeHost::didPerformScheduledLayerFlush):
8996        (WebKit::CoordinatedLayerTreeHost::createPageOverlayLayer):
8997        (WebKit::CoordinatedLayerTreeHost::createImageBackingIfNeeded):
8998        (WebKit::CoordinatedLayerTreeHost::createImageBacking):
8999        (WebKit::CoordinatedLayerTreeHost::updateImageBacking):
9000        (WebKit::CoordinatedLayerTreeHost::clearImageBackingContents):
9001        (WebKit::CoordinatedLayerTreeHost::removeImageBacking):
9002        (WebKit::CoordinatedLayerTreeHost::flushPendingImageBackingChanges):
9003        (WebKit::CoordinatedLayerTreeHost::notifyAnimationStarted):
9004        (WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
9005        (WebKit::CoordinatedLayerTreeHost::paintContents):
9006        (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
9007        (WebKit::CoordinatedLayerTreeHost::deviceScaleFactor):
9008        (WebKit::CoordinatedLayerTreeHost::pageScaleFactor):
9009        (WebKit::CoordinatedLayerTreeHost::createUpdateAtlas):
9010        (WebKit::CoordinatedLayerTreeHost::removeUpdateAtlas):
9011        (WebKit::CoordinatedLayerTreeHost::visibleContentsRect):
9012        (WebKit::CoordinatedLayerTreeHost::mainContentsLayer):
9013        (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
9014        (WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
9015        (WebKit::CoordinatedLayerTreeHost::graphicsLayerFactory):
9016        (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
9017        (WebKit::CoordinatedLayerTreeHost::renderNextFrame):
9018        (WebKit::CoordinatedLayerTreeHost::purgeBackingStores):
9019        (WebKit::CoordinatedLayerTreeHost::paintToSurface):
9020        (WebKit::CoordinatedLayerTreeHost::scheduleReleaseInactiveAtlases):
9021        (WebKit::CoordinatedLayerTreeHost::releaseInactiveAtlasesTimerFired):
9022        (WebKit::CoordinatedLayerTreeHost::commitScrollOffset):
9023        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
9024        * WebProcess/WebPage/LayerTreeHost.h:
9025        (WebKit::LayerTreeHost::setVisibleContentsRect):
9026        (WebKit::LayerTreeHost::renderNextFrame):
9027        (WebKit::LayerTreeHost::purgeBackingStores):
9028
90292013-06-27  Xabier Rodriguez Calvar  <calvaris@igalia.com>
9030
9031        Fixing some compiler warnings
9032        https://bugs.webkit.org/show_bug.cgi?id=117791
9033
9034        Reviewed by Martin Robinson.
9035
9036        * UIProcess/API/gtk/tests/WebExtensionTest.cpp: Properly
9037        initialized GDBusInterfaceVTable.
9038        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
9039        (webkitWebPageCreate): Added missing fields to the
9040        WKBundlePageLoaderClient.
9041
90422013-06-27  Iago Toral Quiroga  <itoral@igalia.com>
9043
9044        Use consistent file names for WidgetBackingStoreGtkX11 class
9045        https://bugs.webkit.org/show_bug.cgi?id=118124
9046
9047        Reviewed by Carlos Garcia Campos.
9048
9049        * UIProcess/cairo/BackingStoreCairo.cpp:
9050
90512013-06-27  Alberto Garcia  <agarcia@igalia.com>
9052
9053        [GTK] [WK2] Check value of WEBKIT_INJECTED_BUNDLE_PATH
9054        https://bugs.webkit.org/show_bug.cgi?id=118055
9055
9056        Reviewed by Carlos Garcia Campos.
9057
9058        If the directory pointed at by WEBKIT_INJECTED_BUNDLE_PATH does
9059        not exist, fall back to the system directory.
9060
9061        This makes MiniBrowser work outside the build tree.
9062
9063        * UIProcess/API/gtk/WebKitWebContext.cpp:
9064        (injectedBundleDirectory):
9065
90662013-06-26  Simon Cooper  <scooper@apple.com>
9067
9068        Sometimes the Flash Player plugin cannot make outgoing connections
9069        https://bugs.webkit.org/show_bug.cgi?id=118110
9070        <rdar://problem/14270933>
9071
9072        Reviewed by Alexey Proskuryakov.
9073
9074        Allow outgoing and incoming UDP data. Tidy up the QuickTime
9075        profile as it gets the UDP ability from the common profile.
9076
9077        * Resources/PlugInSandboxProfiles/com.apple.QuickTime Plugin.plugin.sb:
9078        * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
9079
90802013-06-26  Simon Cooper  <scooper@apple.com>
9081
9082        Flash Player: deny ipc-posix-sem 59918130
9083        https://bugs.webkit.org/show_bug.cgi?id=118107
9084        <rdar://problem/14271105>
9085
9086        Reviewed by Alexey Proskuryakov.
9087
9088        Allow same-sandbox scoped semaphores on Mavericks. Permit the
9089        named semaphore for older releases.
9090
9091        * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
9092
90932013-06-26  Gwang Yoon Hwang  <ryumiel@company100.net>
9094
9095        Coordinated Graphics: Separate CoordinatedLayerTreeHost into CoordinatedLayerTreeHost and CompositingCoordinator
9096        https://bugs.webkit.org/show_bug.cgi?id=104360
9097
9098        Reviewed by Noam Rosenthal.
9099
9100        The CoordinatedLayerTreeHost has too many responsibilities. It
9101        implements LayerTreeHost, GraphicsLayerClient,
9102        CoordinatedGraphicsLayerClient, CoordinatedImageBacking::Client,
9103        UpdateAtlas::Client, GraphicsLayerFactory and
9104        WebCustomFilterProgramProxyClient.
9105
9106        This refactoring reduces the responsibilities of CoordinatedLayerTreeHost.
9107
9108        This patch introduces a new class called CompositingCoordinator, which
9109        takes the responsibility of managing compositing resources in
9110        WebProcess.
9111
9112        CoordinatedLayerTreeHost is responsible only for the scheduling and
9113        IPC-specific stuff, which are relevant only for WebKit2.
9114
9115        No new tests, covered by existing tests.
9116
9117        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
9118        (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
9119        (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
9120        (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
9121        (WebKit::CoordinatedLayerTreeHost::invalidate):
9122        (WebKit::CoordinatedLayerTreeHost::forceRepaint):
9123        (WebKit::CoordinatedLayerTreeHost::sizeDidChange):
9124        (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
9125        (WebKit::CoordinatedLayerTreeHost::renderNextFrame):
9126        (WebKit::CoordinatedLayerTreeHost::purgeBackingStores):
9127        (WebKit::CoordinatedLayerTreeHost::willSyncLayerState):
9128        (WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesForAnimations):
9129        (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
9130        (WebKit::CoordinatedLayerTreeHost::removeCustomFilterProgramProxy):
9131        (WebKit::CoordinatedLayerTreeHost::didFlushRootLayer):
9132        (WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush):
9133        (WebKit::CoordinatedLayerTreeHost::createPageOverlayLayer):
9134        (WebKit::CoordinatedLayerTreeHost::paintLayerContents):
9135        (WebKit::CoordinatedLayerTreeHost::commitSceneState):
9136        (WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
9137        (WebKit::CoordinatedLayerTreeHost::graphicsLayerFactory):
9138        (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
9139        (WebKit::CoordinatedLayerTreeHost::commitScrollOffset):
9140        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
9141        * WebProcess/WebPage/LayerTreeHost.h:
9142
91432013-06-26  Simon Cooper  <scooper@apple.com>
9144
9145        Silverlight deny ipc-posix-sem LC_Mutex playing Amazon Prime videos
9146        https://bugs.webkit.org/show_bug.cgi?id=118102
9147        <rdar://problem/14194077>
9148
9149        Reviewed by Alexey Proskuryakov.
9150
9151        Allow same-sandbox scoped semaphores on Mavericks. Permit the
9152        named semaphore for older releases.
9153
9154        * Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb:
9155
91562013-06-26  Simon Cooper  <scooper@apple.com>
9157
9158        Update ColorSync shared memory names in plug-in sandbox profile
9159        https://bugs.webkit.org/show_bug.cgi?id=118099
9160
9161        Reviewed by Alexey Proskuryakov.
9162
9163        Update the common profile to use the names used in Mavericks
9164
9165        * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
9166
91672013-06-26  Anders Carlsson  <andersca@apple.com>
9168
9169        Deprecate StringImpl::charactersWithNullTermination
9170        https://bugs.webkit.org/show_bug.cgi?id=118108
9171
9172        Reviewed by Beth Dakin.
9173
9174        Rename calls to charactersWithNullTermination to deprecatedCharactersWithNullTermination.
9175
9176        * Platform/CoreIPC/win/ConnectionWin.cpp:
9177        (CoreIPC::Connection::createServerAndClientIdentifiers):
9178
91792013-06-26  Simon Cooper  <scooper@apple.com>
9180
9181        QuickTime plug-in cannot update com.apple.quicktime.plugin.preferences.plist file
9182        https://bugs.webkit.org/show_bug.cgi?id=118098
9183        <rdar://problem/13888138>
9184
9185        Reviewed by Alexey Proskuryakov.
9186
9187        Allow the preference file to be written
9188
9189        * Resources/PlugInSandboxProfiles/com.apple.QuickTime Plugin.plugin.sb:
9190
91912013-06-24  Simon Cooper  <scooper@apple.com>
9192
9193        Silverlight triggers sandbox violations: deny network-bind 0.0.0.0:0
9194        https://bugs.webkit.org/show_bug.cgi?id=117966
9195        <rdar://problem/13927918>
9196
9197        Reviewed by Sam Weinig.
9198
9199        Allow assigning (via bind) an ephemeral port before connecting
9200
9201        * Resources/PlugInSandboxProfiles/com.apple.QuickTime Plugin.plugin.sb:
9202        * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
9203        * Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb:
9204        * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
9205
92062013-06-24  Simon Cooper  <scooper@apple.com>
9207
9208        PluginProcess deny file-read-data /Network/Library under addVolumeTracker
9209        https://bugs.webkit.org/show_bug.cgi?id=117965
9210        <rdar://problem/14121247>
9211
9212        Reviewed by Alexey Proskuryakov.
9213
9214        Silently deny reading /Network/Applications and 
9215        /Network/Library.
9216
9217        * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
9218
92192013-06-24  Kangil Han  <kangil.han@samsung.com>
9220
9221        Adopt is/toHTMLFormElement for code cleanup
9222        https://bugs.webkit.org/show_bug.cgi?id=117937
9223
9224        Reviewed by Andreas Kling.
9225
9226        This refers to http://src.chromium.org/viewvc/blink?view=revision&revision=152859
9227
9228        To enhance readibility, this patch adopts is/toHTMLFormElement.
9229        This also helps out to reduce duplicated use of static_cast.
9230
9231        * WebProcess/WebPage/WebFrame.cpp:
9232        (WebKit::WebFrame::containsAnyFormElements):
9233
92342013-06-24  Simon Cooper  <scooper@apple.com>
9235
9236        deny file-read-data /Library/CoreMediaIO/Plug-Ins/DAL
9237        https://bugs.webkit.org/show_bug.cgi?id=117964
9238        <rdar://problem/14036864>
9239
9240        Reviewed by Alexey Proskuryakov.
9241
9242        Permit reading of the /Library/CoreMediaIO/Plug-Ins/DAL
9243        subdirectory.
9244
9245        * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
9246
92472013-06-24  Simon Cooper  <scooper@apple.com>
9248
9249        Repeating sandbox violations when playing Amazon Prime videos with Flash
9250        https://bugs.webkit.org/show_bug.cgi?id=117953
9251        <rdar://problem/14193693>
9252
9253        Reviewed by Alexey Proskuryakov.
9254
9255        Add some missing "standard" files for network service lookups
9256
9257        * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
9258
92592013-06-24  Simon Cooper  <scooper@apple.com>
9260
9261        Plug-in sandbox violations attempting to access com.apple.CoreGraphics.plist
9262        https://bugs.webkit.org/show_bug.cgi?id=117963
9263        <rdar://problem/14084234>
9264
9265        Reviewed by Alexey Proskuryakov.
9266
9267        Permit the reading of the com.apple.CoreGraphics preference file
9268
9269        * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
9270
92712013-06-24  Simon Cooper  <scooper@apple.com>
9272
9273        com.oracle.javadeployment.plist is not correctly specified in the JavaApplet plugin profile
9274        https://bugs.webkit.org/show_bug.cgi?id=117961
9275        <rdar://problem/14223823>
9276
9277        Reviewed by Alexey Proskuryakov.
9278
9279        Remove the trailing extraneous .plist from the preference file rule
9280
9281        * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
9282
92832013-06-24  Simon Cooper  <scooper@apple.com>
9284
9285        PluginProcess sandbox violations on com.apple.networkConnect.plist when resetting Safari
9286        https://bugs.webkit.org/show_bug.cgi?id=117958
9287        <rdar://problem/13938149>
9288
9289        Reviewed by Alexey Proskuryakov.
9290
9291        Allow reading the com.apple.networkConnect plist.
9292
9293        * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
9294
92952013-06-24  Simon Cooper  <scooper@apple.com>
9296
9297        Java sandbox violation ipc-posix-shm-read-data /tmp/com.apple.csseed.67
9298        https://bugs.webkit.org/show_bug.cgi?id=117954
9299        <rdar://problem/14166577>
9300
9301        Reviewed by Alexey Proskuryakov.
9302
9303        Permit read access to this shared memory segment
9304
9305        * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
9306
93072013-06-24  Simon Cooper  <scooper@apple.com>
9308
9309        Plugin Sandbox violation in /Library/Audio/Sounds/Banks
9310        https://bugs.webkit.org/show_bug.cgi?id=117957
9311        <rdar://problem/14163582>
9312
9313        Reviewed by Alexey Proskuryakov.
9314
9315        Permit read access to subdirectories under /Library/Audio/Sounds
9316
9317        * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
9318
93192013-06-24  Nick Diego Yamane  <nick.yamane@openbossa.org>
9320
9321        Make sure m_iconDatabaseImpl is not null before closing it
9322        https://bugs.webkit.org/show_bug.cgi?id=117943
9323
9324        Reviewed by Simon Fraser.
9325
9326        Since r150474 WebIconDatabase is closed unconditionally in
9327        TestController destructor, in that case WebKitTestRunner crashes
9328        when no icon database path is set. This misbehavior was observed in
9329        ports such as efl and nix.
9330        In this patch, WebIconDatabase::close() calls m_iconDatabaseImpl->close()
9331        only if m_iconDatabaseImpl is not null, as it's already being done in other
9332        WebIconDatabase's methods, such as isOpen().
9333
9334        * UIProcess/WebIconDatabase.cpp:
9335        (WebKit::WebIconDatabase::close):
9336
93372013-06-24  Ruth Fong  <ruth_fong@apple.com>
9338
9339        Expose the mediaHasAudio() function in WK2
9340        https://bugs.webkit.org/show_bug.cgi?id=117946
9341        <rdar://problem/14250527>
9342
9343        Reviewed by Beth Dakin.
9344
9345        Exposes the WebCore::HTMLMediaElement::mediaHasAudio() function
9346        in WK2.
9347
9348        * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
9349        (WKBundleHitTestResultMediaHasAudio): Added.
9350        * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
9351        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
9352        (WebKit::InjectedBundleHitTestResult::mediaHasAudio): Added.
9353        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
9354
93552013-06-24  Anders Carlsson  <andersca@apple.com>
9356
9357        REGRESSION (r147591): can't type in Adobe Connect
9358        https://bugs.webkit.org/show_bug.cgi?id=117947
9359        <rdar://problem/14223539>
9360
9361        Reviewed by Andreas Kling.
9362
9363        With the change in r147591, it is now possible for a plug-in element to be focused before the plug-in
9364        starts. Handle this by focusing the plug-in right after it's started if necessary.
9365
9366        * WebProcess/Plugins/PluginView.cpp:
9367        (WebKit::PluginView::didInitializePlugin):
9368
93692013-06-24  Simon Fraser  <simon.fraser@apple.com>
9370
9371        Move displayID stuff from Widget to Chrome
9372        https://bugs.webkit.org/show_bug.cgi?id=117944
9373
9374        Reviewed by Anders Carlsson.
9375
9376        In r151877 I polluted Widget with displayID-related stuff. This would
9377        be better on HostWindow, so move it there. This is a net code reduction,
9378        and eliminates PlatformScreenMac.h, and the NSScreen category.
9379
9380        * WebProcess/WebPage/WebPage.cpp:
9381        (WebKit::WebPage::windowScreenDidChange): Go via chrome().
9382
93832013-06-24  Krzysztof Wolanski  <k.wolanski@samsung.com>
9384
9385        [EFL][WK2] Implement unit test callback: onWordGuesses.
9386        https://bugs.webkit.org/show_bug.cgi?id=117794
9387
9388        Reviewed by Christophe Dumez.
9389
9390        * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
9391        (onWordGuesses):
9392        Add client suggestions for the word.
9393
9394        (checkClientSuggestionsForWord):
9395        Verify the suggestions that were given by the client.
9396
93972013-06-17  Darin Adler  <darin@apple.com>
9398
9399        Sort all the Xcode project files
9400        https://bugs.webkit.org/show_bug.cgi?id=117696
9401
9402        Reviewed by Anders Carlsson.
9403
9404        * WebKit2.xcodeproj/project.pbxproj: Ran the sort-Xcode-project-file script.
9405
94062013-06-22  Dean Jackson  <dino@apple.com>
9407
9408        Slightly reduce width threshold on detection of primary snapshotted Plug-In
9409        https://bugs.webkit.org/show_bug.cgi?id=117914
9410        <rdar://problem/14136687>
9411
9412        Reviewed by Simon Fraser.
9413
9414        We've noticed some content that should be detected as the primary snapshotted plug-in,
9415        but is just a bit smaller than our 450x300 minimum threshold. Reduce the width to 400.
9416
9417        * WebProcess/WebPage/WebPage.cpp: Change primarySnapshottedPlugInMinimumWidth from 450 to 400.
9418
94192013-06-22  Simon Fraser  <simon.fraser@apple.com>
9420
9421        screen.availWidth always returns width of primary display
9422        https://bugs.webkit.org/show_bug.cgi?id=117863
9423
9424        Reviewed by Geoffrey Garen.
9425    
9426        In WebKit2, Widgets have no platformWidget, so trying to get to the
9427        NSScreen via the platform widget's window never succeeded, and we always
9428        fell back on getting info for the main display.
9429
9430        However, we were already pushing the WKView's displayID down to the
9431        WebProcess for the requestAnimationFrame infrastructure, so use that.
9432        
9433        The WebProcess would not receive a displayID for a WKView until the window
9434        was activated; fix by calling -doWindowDidChangeScreen when the view
9435        moves to a window, rather than doing it from -_windowDidBecomeKey:.
9436        
9437        * UIProcess/API/mac/WKView.mm:
9438        (-[WKView viewDidMoveToWindow]):
9439        (-[WKView _windowDidBecomeKey:]):
9440
94412013-06-21  Carlos Garcia Campos  <cgarcia@igalia.com>
9442
9443        [GTK] Do not try to load videos in unit tests
9444        https://bugs.webkit.org/show_bug.cgi?id=117866
9445
9446        Reviewed by Philippe Normand.
9447
9448        It makes the tests slower, and generates and error because we use
9449        a fake src.
9450
9451        * UIProcess/API/gtk/tests/TestContextMenu.cpp:
9452        (testContextMenuDefaultMenu): Use preload='none' in video tag.
9453        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
9454        (testWebViewMouseTarget): Ditto.
9455
94562013-06-21  Christophe Dumez  <ch.dumez@sisa.samsung.com>
9457
9458        REGRESSION (r150663): Using webkitAudioContext in Inspector makes it undefined everywhere
9459        https://bugs.webkit.org/show_bug.cgi?id=117825
9460
9461        Reviewed by Kentaro Hara.
9462
9463        Use Settings to enable Web Audio instead of RuntimeEnabledFeatures.
9464
9465        * WebProcess/InjectedBundle/InjectedBundle.cpp:
9466        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
9467        * WebProcess/WebPage/WebPage.cpp:
9468        (WebKit::WebPage::updatePreferences):
9469
94702013-06-21  Sergio Correia  <sergio.correia@openbossa.org>
9471
9472        [WK2][EFL]: Invalidate the ProcessLauncher when the process is terminated before it has finished launching
9473        https://bugs.webkit.org/show_bug.cgi?id=117865
9474
9475        Reviewed by Christophe Dumez.
9476
9477        Original patch from Carlos Garcia Campos for the Gtk port.
9478
9479        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
9480        (WebKit::ProcessLauncher::terminateProcess): If process is still
9481        launching, just invalidate the launcher. Reset the process
9482        identifier after killing the process.
9483
94842013-06-20  Carlos Garcia Campos  <cgarcia@igalia.com>
9485
9486        [GTK] Migrate WebKitWebResource to GTask
9487        https://bugs.webkit.org/show_bug.cgi?id=117152
9488
9489        Reviewed by Gustavo Noronha Silva.
9490
9491        * UIProcess/API/gtk/WebKitWebResource.cpp:
9492        (resourceDataCallback):
9493        (webkit_web_resource_get_data):
9494        (webkit_web_resource_get_data_finish):
9495
94962013-06-20  Sergio Correia  <sergio.correia@openbossa.org>
9497
9498        [WK2] Looping for EINTR on close() is incorrect for Linux, at least
9499        https://bugs.webkit.org/show_bug.cgi?id=117266
9500
9501        Reviewed by Darin Adler.
9502
9503        Call closeWithRetry() to work around a difference in how the retry needs to
9504        be done on Linux.
9505
9506        * Platform/CoreIPC/unix/AttachmentUnix.cpp:
9507        (CoreIPC::Attachment::dispose):
9508        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
9509        (CoreIPC::Connection::platformInvalidate):
9510        * Platform/unix/SharedMemoryUnix.cpp:
9511        (WebKit::SharedMemory::Handle::~Handle):
9512        (WebKit::SharedMemory::create):
9513        (WebKit::SharedMemory::~SharedMemory):
9514        (WebKit::SharedMemory::createHandle):
9515        * PluginProcess/PluginProcess.cpp:
9516        (WebKit::PluginProcess::createWebProcessConnection):
9517        * SharedWorkerProcess/SharedWorkerProcess.cpp:
9518        (WebKit::SharedWorkerProcess::createWebProcessConnection):
9519        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
9520        (WebKit::ProcessLauncher::launchProcess): All these places had
9521        ``close-followed-by-EINTR-handling'' replaced with the new closeWithRetry()
9522        function added in this commit.
9523
95242013-06-20  Brady Eidson  <beidson@apple.com>
9525
9526        WebProcess hangs loading eff.org (Waiting forever on a sync XHR, NetworkProcess unable to service it).
9527        <rdar://problem/14112329> and https://bugs.webkit.org/show_bug.cgi?id=117842
9528
9529        Reviewed by Alexey Proskuryakov.
9530
9531        * NetworkProcess/HostRecord.cpp:
9532        (WebKit::removeLoaderFromQueue): Utility to clear a Loader out of a LoaderQueue.
9533        (WebKit::HostRecord::removeLoader): Use removeLoaderFromQueue, and also try to clear the loader from m_syncLoadersPending.
9534        (WebKit::HostRecord::servePendingRequestsForQueue): Small refactoring/cleanup.
9535        (WebKit::HostRecord::limitsRequests): Change so that if the number of loaders in flight is exactly equal to the limit, then
9536          allow serving a synchronous loader to go exactly one beyond the limit.
9537        * NetworkProcess/HostRecord.h:
9538
9539        Make the static maxRequestsInFlightPerHost a member of the NetworkResourceLoadScheduler, instead:
9540        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
9541        (WebKit::NetworkResourceLoadScheduler::NetworkResourceLoadScheduler):
9542        (WebKit::NetworkResourceLoadScheduler::hostForURL):
9543        * NetworkProcess/NetworkResourceLoadScheduler.h:
9544
9545        * NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm:
9546        (WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost): Tell CFNetwork to allow
9547          7 connections per host instead of 6, but tell the scheduler that 6 is still the normal limit.
9548
95492013-06-20  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
9550
9551        [EFL][WK2] Update text checker documentation.
9552        https://bugs.webkit.org/show_bug.cgi?id=117828
9553
9554        Reviewed by Christophe Dumez.
9555
9556        * UIProcess/API/efl/ewk_text_checker.h:
9557        The client is not responsible for destroying the memory.
9558
95592013-06-19  Sam Weinig  <sam@webkit.org>
9560
9561        Expose plug-ins CFBundleShortVersionString in the WKPluginInformation dictionary
9562        https://bugs.webkit.org/show_bug.cgi?id=117816
9563
9564        Reviewed by Geoffrey Garen.
9565
9566        - Adds a new key for the WKPluginInformation dictionary: WKPluginInformationBundleShortVersionKey().
9567
9568        * Shared/API/c/WKPluginInformation.cpp:
9569        (WKPluginInformationBundleShortVersionKey):
9570        * Shared/API/c/WKPluginInformation.h:
9571        * Shared/Plugins/Netscape/PluginInformation.cpp:
9572        (WebKit::pluginInformationBundleShortVersionKey):
9573        * Shared/Plugins/Netscape/PluginInformation.h:
9574        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
9575        (WebKit::NetscapePluginModule::getPluginInfo):
9576        * Shared/Plugins/Netscape/mac/PluginInformationMac.mm:
9577        (WebKit::getPlatformPluginModuleInformation):
9578        * Shared/Plugins/PluginModuleInfo.h:
9579
95802013-06-19  Ruth Fong  <ruth_fong@apple.com>
9581
9582        <rdar://problem/14197983> Rename functions from Bug 117667 and add safeguards for !ENABLE(VIDEO) platforms (117765)
9583        https://bugs.webkit.org/show_bug.cgi?id=117765
9584
9585        Patch by Ruth Fong <ruth_fong@apple.com>.
9586        Reviewed by Brady Eidson.
9587
9588        * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
9589        (WKBundleHitTestResultGetMediaType): Updated to use mediaType().
9590
9591        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
9592        (WebKit::InjectedBundleHitTestResult::mediaType): Updated.
9593        Renamed getMediaType() to mediaType() and now handles !ENABLE(VIDEO) platforms.
9594
9595        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
9596
95972013-06-19  Benjamin Poulain  <bpoulain@apple.com>
9598
9599        Use the PlatformEvent timestamp when creating a DOM Event
9600        https://bugs.webkit.org/show_bug.cgi?id=117179
9601
9602        Reviewed by Darin Adler.
9603
9604        * Shared/mac/WebEventFactory.mm:
9605        (WebKit::WebEventFactory::createWebMouseEvent):
9606        (WebKit::WebEventFactory::createWebWheelEvent):
9607        (WebKit::WebEventFactory::createWebKeyboardEvent):
9608        (WebKit::WebEventFactory::createWebGestureEvent):
9609
96102013-06-19  Anders Carlsson  <andersca@apple.com>
9611
9612        REGRESSION: Cannot open Silverlight preferences via context menu
9613        https://bugs.webkit.org/show_bug.cgi?id=117806
9614        <rdar://problem/14166644>
9615
9616        Reviewed by Beth Dakin.
9617
9618        Hook the LSOpenCFURLRef function and make the UI process open the URL if it's the URL for the
9619        Silverlight Preferences application. This is what we do for the Flash updater.
9620
9621        * PluginProcess/PluginProcess.h:
9622        * PluginProcess/mac/PluginProcessMac.mm:
9623        (WebKit::openCFURLRef):
9624        (WebKit::initializeShim):
9625        (WebKit::PluginProcess::openURL):
9626        * PluginProcess/mac/PluginProcessShim.h:
9627        * PluginProcess/mac/PluginProcessShim.mm:
9628        (WebKit::shimLSOpenCFURLRef):
9629        * UIProcess/Plugins/PluginProcessProxy.h:
9630        * UIProcess/Plugins/PluginProcessProxy.messages.in:
9631        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
9632        (WebKit::isSilverlightPreferencesURL):
9633        (WebKit::shouldOpenURL):
9634        (WebKit::PluginProcessProxy::openURL):
9635
96362013-06-19  Krzysztof Wolanski  <k.wolanski@samsung.com>
9637
9638        [EFL][WK2] Implement unit test callback: onSettingChange.
9639        https://bugs.webkit.org/show_bug.cgi?id=117728
9640
9641        Reviewed by Christophe Dumez.
9642
9643        It is finally possible to implement missing unit tests as WebKit2-EFL
9644        has delivered sub menu (r150254).
9645        Add two unit tests for checking onSettingChange callback behaviour,
9646        when toggling "Check Spelling While Typing" in context menu.
9647
9648        Changed types inside callbacksExecutionStats struct from bit field to bool,
9649        because casting from bit field to &bool is invalid (in using waitUntilTrue method).
9650
9651        * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
9652        (resetCallbacksExecutionStats):
9653        (onSettingChange):
9654        (findContextMenuItem):
9655        Get determined option from context menu.
9656
9657        (checkCorrectnessOfSpellingItems):
9658        Changed the name of onContextMenuShow method to be consistent with new methods.
9659
9660        (toogleCheckSpellingWhileTyping):
9661        Select "Check Spelling While Typing" in context menu to test whether
9662        onSettingChange is called.
9663
96642013-06-19  Carlos Garcia Campos  <cgarcia@igalia.com>
9665
9666        [GTK][SOUP] Migrate SoupRequestManager to GTask
9667        https://bugs.webkit.org/show_bug.cgi?id=117157
9668
9669        Reviewed by Gustavo Noronha Silva.
9670
9671        GSimpleAsyncResult has been deprecated in favour of GTask.
9672
9673        * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
9674        (webkitSoupRequestGenericSendAsync):
9675        (webkitSoupRequestGenericSendFinish):
9676        * WebProcess/soup/WebSoupRequestManager.cpp:
9677        (WebKit::WebSoupRequestAsyncData::WebSoupRequestAsyncData):
9678        (WebKit::WebSoupRequestAsyncData::releaseTask):
9679        (WebKit::WebSoupRequestManager::didHandleURIRequest):
9680        (WebKit::WebSoupRequestManager::didFailURIRequest):
9681        (WebKit::WebSoupRequestManager::send):
9682        (WebKit::WebSoupRequestManager::finish):
9683        * WebProcess/soup/WebSoupRequestManager.h:
9684
96852013-06-19  Carlos Garcia Campos  <cgarcia@igalia.com>
9686
9687        [GTK] Migrate WebKitFaviconDatabase to GTask
9688        https://bugs.webkit.org/show_bug.cgi?id=117156
9689
9690        Reviewed by Gustavo Noronha Silva.
9691
9692        * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
9693        (processPendingIconsForPageURL):
9694        (webkit_favicon_database_get_favicon):
9695        (webkit_favicon_database_get_favicon_finish):
9696
96972013-06-19  Carlos Garcia Campos  <cgarcia@igalia.com>
9698
9699        [GTK] Migrate WebKitWebView to GTask
9700        https://bugs.webkit.org/show_bug.cgi?id=117154
9701
9702        Reviewed by Gustavo Noronha Silva.
9703
9704        * UIProcess/API/gtk/WebKitWebView.cpp:
9705        (didValidateCommand):
9706        (webkit_web_view_can_execute_editing_command):
9707        (webkit_web_view_can_execute_editing_command_finish):
9708        (webkitWebViewRunJavaScriptCallback):
9709        (webkit_web_view_run_javascript):
9710        (webkit_web_view_run_javascript_finish):
9711        (resourcesStreamReadCallback):
9712        (webkit_web_view_run_javascript_from_gresource):
9713        (webkit_web_view_run_javascript_from_gresource_finish):
9714        (fileReplaceContentsCallback):
9715        (getContentsAsMHTMLDataCallback):
9716        (webkit_web_view_save):
9717        (webkit_web_view_save_finish):
9718        (webkit_web_view_save_to_file):
9719        (webkit_web_view_save_to_file_finish):
9720        (webKitWebViewDidReceiveSnapshot):
9721        (webkit_web_view_get_snapshot):
9722        (webkit_web_view_get_snapshot_finish):
9723
97242013-06-18  Carlos Garcia Campos  <cgarcia@igalia.com>
9725
9726        [GTK] Migrate WebKitCookieManager to GTask
9727        https://bugs.webkit.org/show_bug.cgi?id=117150
9728
9729        Reviewed by Gustavo Noronha Silva.
9730
9731        Don't use helper structs for async data since the cancellable is
9732        now accessible from the GTask.
9733
9734        * UIProcess/API/gtk/WebKitCookieManager.cpp:
9735        (webkitCookieManagerGetAcceptPolicyCallback):
9736        (webkit_cookie_manager_get_accept_policy):
9737        (webkit_cookie_manager_get_accept_policy_finish):
9738        (webkitCookieManagerGetDomainsWithCookiesCallback):
9739        (webkit_cookie_manager_get_domains_with_cookies):
9740        (webkit_cookie_manager_get_domains_with_cookies_finish):
9741
97422013-06-18  Roger Fong  <roger_fong@apple.com>
9743
9744        Unreviewed. Fix a typo that may be causing some test failures.
9745
9746        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
9747        (WebKit::WebFrameNetworkingContext::scheduledRunLoopPairs):
9748
97492013-06-18  Anders Carlsson  <andersca@apple.com>
9750
9751        Make it possible to set a minimum height for auto-layout
9752        https://bugs.webkit.org/show_bug.cgi?id=117758
9753        <rdar://problem/12849080>
9754
9755        Reviewed by Tim Horton.
9756
9757        Change a bunch of minimumLayoutWidth declarations to minimumLayoutSize and add a new minimumLayoutSize property.
9758        If minimumLayoutSize.height is greater than zero, use it to set the minimum layout size on the frame view.
9759
9760        * Shared/WebPageCreationParameters.cpp:
9761        (WebKit::WebPageCreationParameters::encode):
9762        (WebKit::WebPageCreationParameters::decode):
9763        * Shared/WebPageCreationParameters.h:
9764        * UIProcess/API/mac/WKView.mm:
9765        (-[WKView _setIntrinsicContentSize:]):
9766        (-[WKView minimumLayoutWidth]):
9767        (-[WKView setMinimumLayoutWidth:]):
9768        (-[WKView minimumWidthForAutoLayout]):
9769        (-[WKView setMinimumWidthForAutoLayout:]):
9770        (-[WKView minimumSizeForAutoLayout]):
9771        (-[WKView setMinimumSizeForAutoLayout:]):
9772        * UIProcess/API/mac/WKViewPrivate.h:
9773        * UIProcess/DrawingAreaProxy.h:
9774        (WebKit::DrawingAreaProxy::minimumLayoutSizeDidChange):
9775        * UIProcess/WebPageProxy.cpp:
9776        (WebKit::WebPageProxy::WebPageProxy):
9777        (WebKit::WebPageProxy::creationParameters):
9778        (WebKit::WebPageProxy::setMinimumLayoutSize):
9779        * UIProcess/WebPageProxy.h:
9780        (WebKit::WebPageProxy::minimumLayoutSize):
9781        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
9782        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
9783        (WebKit::TiledCoreAnimationDrawingAreaProxy::TiledCoreAnimationDrawingAreaProxy):
9784        (WebKit::TiledCoreAnimationDrawingAreaProxy::minimumLayoutSizeDidChange):
9785        (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
9786        (WebKit::TiledCoreAnimationDrawingAreaProxy::intrinsicContentSizeDidChange):
9787        (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
9788        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
9789        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
9790        * WebProcess/WebPage/WebPage.cpp:
9791        (WebKit::WebPage::WebPage):
9792        (WebKit::WebPage::setMinimumLayoutSize):
9793        * WebProcess/WebPage/WebPage.h:
9794        (WebKit::WebPage::minimumLayoutSize):
9795        * WebProcess/WebPage/WebPage.messages.in:
9796        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
9797        (WebKit::TiledCoreAnimationDrawingArea::mainFrameContentSizeChanged):
9798        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
9799
98002013-06-18  Simon Cooper  <scooper@apple.com>
9801
9802        sandbox violation when Flash runs for the first time
9803        https://bugs.webkit.org/show_bug.cgi?id=117753
9804        <rdar://problem/14165466>
9805
9806        Reviewed by Alexey Proskuryakov.
9807
9808        Allow flash to try and change the ownership of directories it has just created.
9809
9810        * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
9811
98122013-06-18  Ruth Fong  <ruth_fong@apple.com>
9813
9814        Expose a getMediaType method in WebKit
9815        https://bugs.webkit.org/show_bug.cgi?id=117667
9816
9817        Reviewed by Brady Eidson.
9818
9819        * GNUmakefile.list.am:
9820        * Target.pri:
9821        Updated to include the added header file InjectedBundleHitTestResultMediaType.h
9822        
9823        * UIProcess/API/C/WKAPICast.h:
9824        (WebKit::toBundleHitTestResultMediaType):
9825        (WebKit::toAPI):
9826        Added methods to convert between BundleHitTestResultMediaType
9827        and WKBundleHitTestResultMediaType.
9828
9829        * WebKit2.xcodeproj/project.pbxproj: Updated to include
9830        InjectedBundleHitTestResultMediaType.h in the WebKit2 project.
9831
9832        * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
9833        (WKBundleHitTestResultGetMediaType): Exposes the method getMediaType and
9834        hooks into InjectedBundleHitTestResult::getMediaType.
9835
9836        * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
9837
9838        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
9839        (WebKit::InjectedBundleHitTestResult::getMediaType): Added to return 
9840        what type, if any, a media element is.
9841
9842        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
9843
9844        * WebProcess/InjectedBundle/InjectedBundleHitTestResultMediaType.h: Added
9845        to contain new BundleHitTestResultMediaType enums.
9846
98472013-06-18  Roger Fong  <roger_fong@apple.com>
9848
9849        Re-implement WebFrameNetworkingContext.
9850        <rdar://problem/13174821>.
9851
9852        Reviewed by Alexey Proskuryakov.
9853
9854        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: Added.
9855        (WebKit::WebFrameNetworkingContext::create):
9856        (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
9857        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: Added.
9858        (WebKit::WebFrameNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
9859        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
9860        (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession):
9861        (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
9862        (WebKit::WebFrameNetworkingContext::needsSiteSpecificQuirks):
9863        (WebKit::WebFrameNetworkingContext::localFileContentSniffingEnabled):
9864        (WebKit::WebFrameNetworkingContext::scheduledRunLoopPairs):
9865        (WebKit::WebFrameNetworkingContext::sourceApplicationAuditData):
9866        (WebKit::WebFrameNetworkingContext::blockedError):
9867        (WebKit::WebFrameNetworkingContext::storageSession):
9868
98692013-06-18  Alexey Proskuryakov  <ap@apple.com>
9870
9871        <rdar://problem/13174821> Remove files with an incorrect license.
9872
9873        Rubber-stamped by Maciej Stachowiak.
9874
9875        This will break the build, stay tuned for a fix coming soon.
9876
9877        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: Removed.
9878        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: Removed.
9879
98802013-06-17  Santosh Mahto  <santosh.ma@samsung.com>
9881
9882        Extra whitespace in blank line in PlatformPopupMenuData.cpp
9883        https://bugs.webkit.org/show_bug.cgi?id=117627
9884
9885        Reviewed by Brent Fulgham.
9886
9887        * Shared/PlatformPopupMenuData.cpp:
9888        (WebKit::PlatformPopupMenuData::decode):
9889        Removing extra space
9890
98912013-06-17  Beth Dakin  <bdakin@apple.com>
9892
9893        PageBanners appear over HTML5 video when media element is in full screen mode
9894        https://bugs.webkit.org/show_bug.cgi?id=117721
9895        -and corresponding-
9896        <rdar://problem/13686998>
9897
9898        Reviewed by Sam Weinig.
9899
9900        When an element enters fullscreen, hide the banners. Show them again when the 
9901        element exits fullscreen.
9902        * WebProcess/FullScreen/WebFullScreenManager.cpp:
9903        (WebKit::WebFullScreenManager::willEnterFullScreen):
9904        (WebKit::WebFullScreenManager::willExitFullScreen):
9905
9906        Handle hiding and showing by removing or re-creating a parent layer for m_layer.
9907        * WebProcess/WebPage/PageBanner.cpp:
9908        (WebKit::PageBanner::hide):
9909        (WebKit::PageBanner::showIfHidden):
9910        * WebProcess/WebPage/PageBanner.h:
9911        * WebProcess/WebPage/mac/PageBannerMac.mm:
9912        (WebKit::PageBanner::PageBanner):
9913        (WebKit::PageBanner::hide):
9914        (WebKit::PageBanner::showIfHidden):
9915        (WebKit::PageBanner::mouseEvent):
9916        * WebProcess/WebPage/WebPage.cpp:
9917        (WebKit::WebPage::hidePageBanners):
9918        (WebKit::WebPage::showPageBanners):
9919        * WebProcess/WebPage/WebPage.h:
9920
99212013-06-17  Ruth Fong  <ruth_fong@apple.com>
9922
9923        REGRESSION: Important controls are missing from <video> element UI, when compared to QuickTime
9924        https://bugs.webkit.org/show_bug.cgi?id=20599
9925
9926        Add a "Download Video"/"Download Audio" context menu item to download media
9927        elements.
9928
9929        Reviewed by Beth Dakin.
9930
9931        * Shared/API/c/WKContextMenuItemTypes.h: Updated to include
9932        an enum type for the "Download Video/Audio" context menu item.
9933
9934        * Shared/API/c/WKSharedAPICast.h: Updated to associate
9935        the enums in WebKit and WebCore that handle the "Download Video/Audio"
9936        context menu item.
9937
9938        * UIProcess/API/efl/ewk_context_menu.cpp:
9939        * UIProcess/API/efl/ewk_context_menu_item.cpp:
9940        * UIProcess/API/efl/ewk_context_menu_item.h:
9941        Updated to include new EWK enum type for "Download Video/Audio" context menu item.
9942
9943        * UIProcess/WebPageProxy.cpp: Updated to 
9944        handle the "Download Video/Audio" context menu item mouse click
9945        and download the media item in the UI process.
9946
99472013-06-17  Ralph Thomas  <ralpht@gmail.com>
9948
9949        [CoordinatedGraphics][CSS Shaders] Use forwarding header for TextureMapperPlatformCompiledProgram.h
9950        https://bugs.webkit.org/show_bug.cgi?id=117712
9951
9952        Reviewed by Noam Rosenthal.
9953
9954        * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h:
9955
99562013-06-17  Mark Rowe  <mrowe@apple.com>
9957
9958        <rdar://problem/13145014> Allow CoreIPC messages to transmit importance boosts
9959
9960        Transmitting the importance boost from the UI process to the web process is particularly
9961        important when disabling process suppression on a web process, as it will minimize the
9962        delays that can occur before the message instructing process suppression to be disabled
9963        is processed by the web process.
9964
9965        We keep the importance boost alive for the duration of the CoreIPC message handler. We
9966        achieve this by having an ImportanceAssertion object that owns the assertion, and whose
9967        lifetime is tied to that of the MessageDecoder.
9968
9969        Reviewed by Anders Carlsson.
9970
9971        * Platform/CoreIPC/MessageDecoder.cpp:
9972        (CoreIPC::MessageDecoder::setImportanceAssertion): Associate an importance assertion
9973        with this message.
9974        * Platform/CoreIPC/MessageDecoder.h:
9975        * Platform/CoreIPC/mac/ConnectionMac.cpp:
9976        (CoreIPC::Connection::open): Mark our receive port as allowing importance boosts to be received.
9977        (CoreIPC::Connection::receiveSourceEventHandler):
9978        * Platform/CoreIPC/mac/ImportanceAssertion.h:
9979        (CoreIPC::ImportanceAssertion::create):
9980        (CoreIPC::ImportanceAssertion::~ImportanceAssertion): Release the assertion.
9981        (CoreIPC::ImportanceAssertion::ImportanceAssertion): Take an assertion if a boost was present in
9982        the Mach message.
9983
99842013-06-17  Mark Rowe  <mrowe@apple.com>
9985
9986        <rdar://problem/14051357> Web processes sometimes remain in a suppressed
9987        state after their window is unoccluded.
9988
9989        The code in WKView that responds to occlusion notifications was incorrectly
9990        treating the window's occlusion state as being an enum rather than the set of
9991        flags that it is.
9992
9993        Reviewed by Oliver Hunt.
9994
9995        * UIProcess/API/mac/WKView.mm:
9996        (-[WKView _windowDidChangeOcclusionState:]): Test only the visibility state.
9997        (-[WKView setWindowOcclusionDetectionEnabled:]): Ditto.
9998
99992013-06-17  Michael Brüning  <michael.bruning@digia.com>
10000
10001        [Qt] Remove Qt specific QTKIT flagged code.
10002        https://bugs.webkit.org/show_bug.cgi?id=117635
10003
10004        Reviewed by Simon Hausmann.
10005
10006        Due to disabling QTKIT for Qt in r151546, the
10007        code the flags that are not taken into account
10008        anymore and the code that has been rendered
10009        unreachable by this are removed.
10010
10011        * Target.pri:
10012        * UIProcess/qt/WebContextQt.cpp:
10013        (WebKit::WebContext::platformInitializeWebProcess):
10014        * WebProcess/WebCoreSupport/qt/WebSystemInterface.h: Removed.
10015        * WebProcess/WebCoreSupport/qt/WebSystemInterface.mm: Removed.
10016        * WebProcess/WebPage/WebPage.cpp:
10017        (WebKit::WebPage::updatePreferences):
10018        * WebProcess/qt/WebProcessMainQt.cpp:
10019        (WebKit::WebProcessMainQt):
10020
100212013-06-17  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
10022
10023        Unreviewed, rolling out r151632.
10024        http://trac.webkit.org/changeset/151632
10025        https://bugs.webkit.org/show_bug.cgi?id=117585
10026
10027        Debug build error ASSERT(WTF_USE_GRAMMAR_CHECKING) for non MAC
10028        platforms
10029
10030        * Shared/API/c/WKSharedAPICast.h:
10031        (WebKit::toAPI):
10032        (WebKit::toImpl):
10033        * UIProcess/API/efl/ewk_context_menu_item.cpp:
10034        (getEwkActionFromWKTag):
10035        * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
10036        (onContextMenuShow):
10037        (TEST_F):
10038        * UIProcess/API/gtk/WebKitContextMenuActions.cpp:
10039        (webkitContextMenuActionGetActionTag):
10040        (webkitContextMenuActionGetForContextMenuItem):
10041        (webkitContextMenuActionGetLabel):
10042        * UIProcess/WebPageProxy.cpp:
10043        (WebKit::WebPageProxy::contextMenuItemSelected):
10044
100452013-06-14  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
10046
10047        Context menu grammar checking items are available when GRAMMAR_CHECKING macro is off
10048        https://bugs.webkit.org/show_bug.cgi?id=117585
10049
10050        Reviewed by Anders Carlsson.
10051
10052        Add GRAMMAR_CHECKING guard to the context menu grammar items.
10053
10054        * Shared/API/c/WKSharedAPICast.h:
10055        (WebKit::toAPI):
10056        (WebKit::toImpl):
10057        * UIProcess/API/efl/ewk_context_menu_item.cpp:
10058        (getEwkActionFromWKTag):
10059        * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
10060        (checkSpellingItemsAvailability):
10061        Change callback name, to be consistent with a newly added.
10062
10063        (checkSpellingAndGrammarSubmenuAvailability):
10064        (checkGrammarWithSpellingItemAvailability):
10065        Add two unit tests for EFL to check whether context menu grammar items are
10066        available only when GRAMMAR_CHECKING macro is enabled.
10067
10068        * UIProcess/API/gtk/WebKitContextMenuActions.cpp:
10069        (webkitContextMenuActionGetActionTag):
10070        (webkitContextMenuActionGetForContextMenuItem):
10071        (webkitContextMenuActionGetLabel):
10072        * UIProcess/WebPageProxy.cpp:
10073        (WebKit::WebPageProxy::contextMenuItemSelected):
10074
100752013-06-14  Dean Jackson  <dino@apple.com>
10076
10077        Crash in supportsSnapshotting
10078        https://bugs.webkit.org/show_bug.cgi?id=117670
10079        <rdar://problem/14059711>
10080
10081        Reviewed by Darin Adler.
10082
10083        Speculative fix for deferencing a null RefPtr in supportsSnapshotting.
10084        It seems like it was possible to get in a state where the plugin machinery
10085        would fire up and attempt to get a screenshot before there was an active
10086        connection to the plugin process (usually under periods of high load, such
10087        as opening a lot of tabs at once). In this case we're now returning false
10088        from supportsSnapshotting, which will trigger the plugin to restart, but
10089        that's better than requesting a snapshot on something that doesn't yet exist.
10090
10091        * WebProcess/Plugins/PluginProxy.cpp:
10092        (WebKit::PluginProxy::supportsSnapshotting): Guard for an empty connection object.
10093
100942013-06-14  Enrica Casucci  <enrica@apple.com>
10095
10096        WKPageFindStringMatches ignores the kWKFindOptionsBackwards option.
10097        https://bugs.webkit.org/show_bug.cgi?id=117647
10098        <rdar://problem/13881024>
10099
10100        Reviewed by Darin Adler.
10101        
10102        The API returns the matched ranges in the DOM order regardless of the
10103        find direction, but the index of the first match after the user selection
10104        should take the find direction into account.
10105
10106        Extended existing test in TestWebKitAPI.
10107
10108        * Shared/API/c/WKFindOptions.h: Added enum for the case where there are
10109        no matches after the user selection in the direction of the find.
10110
101112013-06-14  Andres Gomez  <agomez@igalia.com>
10112
10113        [GTK] Compilation problems - hb.h not found
10114        https://bugs.webkit.org/show_bug.cgi?id=117636
10115
10116        Unreviewed GTK+ build fix.
10117
10118        * GNUmakefile.am: Added freetype cflags for WebKit2 GTK+ Platform
10119        library.
10120
101212013-06-13  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
10122
10123        [EFL][WK2] Wrong context menu and popup menu positions when scroll is applied
10124        https://bugs.webkit.org/show_bug.cgi?id=116610
10125
10126        Reviewed by Noam Rosenthal.
10127
10128        WebKit2 EFL uses fixed layout - because of this ScrollView::contentsToWindow, does
10129        not take scroll into account, as it is meant to be handled by UI application.
10130        When popup and context menu are created, after calling contentsToWindow their position
10131        are not adjusted to page scroll.
10132        Added two functions to EwkView and WKView, converting contents position to user viewport
10133        coordinates, to adjust popup and context menu positions.
10134
10135        * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
10136        (WKViewContentsToUserViewport):
10137        * UIProcess/API/C/CoordinatedGraphics/WKView.h:
10138        * UIProcess/API/efl/EwkView.cpp:
10139        (EwkView::showContextMenu):
10140        (EwkView::requestPopupMenu):
10141        * UIProcess/CoordinatedGraphics/WebView.cpp:
10142        (WebKit::WebView::contentsToUserViewport):
10143        * UIProcess/CoordinatedGraphics/WebView.h:
10144
101452013-06-12  Anders Carlsson  <andersca@apple.com>
10146
10147        Remove the notion of inactive plug-ins
10148        https://bugs.webkit.org/show_bug.cgi?id=117570
10149        <rdar://problem/13484213>
10150
10151        Reviewed by Tim Horton.
10152
10153        Remove code that deals with inactive plug-ins. We still keep around the kWKPluginLoadPolicyInactive API enum for now.
10154
10155        * Shared/Plugins/PluginModuleInfo.h:
10156        * UIProcess/API/C/WKAPICast.h:
10157        (WebKit::toWKPluginLoadPolicy):
10158        (WebKit::toPluginModuleLoadPolicy):
10159        * UIProcess/Plugins/PluginInfoStore.cpp:
10160        * UIProcess/Plugins/PluginInfoStore.h:
10161        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
10162        (WebKit::PluginInfoStore::shouldUsePlugin):
10163        (WebKit::PluginInfoStore::defaultLoadPolicyForPlugin):
10164        * UIProcess/WebPageProxy.cpp:
10165        (WebKit::WebPageProxy::findPlugin):
10166        (WebKit::WebPageProxy::unavailablePluginButtonClicked):
10167        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
10168        (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
10169        (WebKit::WebChromeClient::unavailablePluginButtonClicked):
10170        * WebProcess/WebPage/WebPage.cpp:
10171        (WebKit::WebPage::createPlugin):
10172
101732013-06-12  Hugo Parente Lima  <hugo.lima@openbossa.org>
10174
10175        [GTK] Explicit include glib.h to avoid compilation errors if libsoup isn't used.
10176        https://bugs.webkit.org/show_bug.cgi?id=117564
10177
10178        Reviewed by Martin Robinson.
10179
10180        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
10181
101822013-06-12  Zan Dobersek  <zdobersek@igalia.com>
10183
10184        [GTK] Move more build targets for source code that's free of layer violations into libPlatform
10185        https://bugs.webkit.org/show_bug.cgi?id=115936
10186
10187        Reviewed by Martin Robinson.
10188
10189        * GNUmakefile.am: Add GStreamer dependency's CFLAGS to the list of libPlatformGtk2 CPPFLAGS.
10190
101912013-06-12  Ruth Fong  <ruth_fong@apple.com>
10192
10193        "Open Video in New Window" doesn't make sense in fullscreen
10194        https://bugs.webkit.org/show_bug.cgi?id=117556
10195
10196        Reviewed by Beth Dakin.
10197
10198        Adds method mediaIsInFullscreen() that checks if a media element is in
10199        fullscreen mode, which is needed to decide when to display the
10200        "Open Video in New Window" context menu item.
10201
10202        * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
10203        (WKBundleHitTestResultMediaIsInFullscreen): Added.
10204        Hooks into new InjectedBundleHitTestResult::mediaIsInFullscreen() method.
10205        * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
10206        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
10207        (WebKit::InjectedBundleHitTestResult::mediaIsInFullscreen): Added.
10208        Checks if media element is in fullscreen.
10209        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
10210
102112013-06-12  Ruth Fong  <ruth_fong@apple.com>
10212
10213        Allow for toggling fullscreen on <video> elements
10214        https://bugs.webkit.org/show_bug.cgi?id=117220
10215
10216        Reviewed by Dean Jackson.
10217
10218        * Shared/API/c/WKContextMenuItemTypes.h:
10219        * Shared/API/c/WKSharedAPICast.h:
10220        Added variables to support the toggle-ability of the fullscreen
10221        video context menu item.
10222
102232013-06-12  Carlos Garcia Campos  <cgarcia@igalia.com>
10224
10225        [GTK] Invalidate the ProcessLauncher when the process is terminated before it has finished launching
10226        https://bugs.webkit.org/show_bug.cgi?id=117412
10227
10228        Reviewed by Anders Carlsson.
10229
10230        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
10231        (WebKit::ProcessLauncher::terminateProcess): If process is still
10232        launching just invalidate the launcher. Reset the process
10233        identifier after killing the process.
10234
102352013-06-12  Jae Hyun Park  <jae.park@company100.net>
10236
10237        [Coordinated Graphics] Remove unused headers in CoordinatedLayerTreeHostProxy
10238        https://bugs.webkit.org/show_bug.cgi?id=117539
10239
10240        Reviewed by Noam Rosenthal.
10241
10242        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
10243        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
10244
102452013-06-12  Zan Dobersek  <zdobersek@igalia.com>
10246
10247        [GTK] Remove the WebCoreLayer(Gtk2).a archives before regenerating them
10248        https://bugs.webkit.org/show_bug.cgi?id=116723
10249
10250        Reviewed by Carlos Garcia Campos.
10251
10252        * GNUmakefile.am: When generating the WebCoreLayerGtk2.a archive from all the dependency archives, remove the
10253        current archive (if any). Updating an existent archive in an incremental build is not bulletproof and can lead
10254        to corrupt archives and subsequent build failures. On the other hand, the archive generation is not expensive
10255        and produces a working archive without problems even on incremental builds.
10256
102572013-06-12  Zan Dobersek  <zdobersek@igalia.com>
10258
10259        Unreviewed GTK build fix.
10260
10261        * GNUmakefile.list.am: Adding missing build targets to the plugin process after r151480.
10262
102632013-06-11  Gavin Barraclough  <barraclough@apple.com>
10264
10265        Add NSSupportsAppNap keys to WebProcess, PluginProcess
10266        https://bugs.webkit.org/show_bug.cgi?id=117528
10267
10268        Reviewed by Mark Rowe.
10269
10270        * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
10271        * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
10272        * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
10273        * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
10274        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
10275        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
10276            - add NSSupportsAppNap key.
10277
102782013-06-11  Oliver Hunt  <oliver@apple.com>
10279
10280        Make sure we aren't throttling plugin timers during initialisation and destruction
10281        https://bugs.webkit.org/show_bug.cgi?id=117522
10282
10283        Reviewed by Darin Adler.
10284
10285        Add a new ActivityAssertion RAII class to handle allowing/disallowing
10286        timer throttling.  Then make use of it during plugin initialisation
10287        and destruction, as well as any synchronous messages (on the basis
10288        that if another process is waiting for the plugin we shouldn't be
10289        throttling timers).
10290
10291        * CMakeLists.txt:
10292        * GNUmakefile.list.am:
10293        * PluginProcess/WebProcessConnection.cpp:
10294        (WebKit::WebProcessConnection::didReceiveSyncMessage):
10295        (WebKit::WebProcessConnection::destroyPlugin):
10296        (WebKit::WebProcessConnection::createPlugin):
10297        * Shared/ActivityAssertion.cpp: Added.
10298        (WebKit::ActivityAssertion::ActivityAssertion):
10299        (WebKit::ActivityAssertion::~ActivityAssertion):
10300        * Shared/ActivityAssertion.h: Added.
10301        * Target.pri:
10302        * WebKit2.xcodeproj/project.pbxproj:
10303
103042013-06-06  Timothy Hatcher  <timothy@apple.com>
10305
10306        Update the framework bundle identifier for the Web Inspector.
10307
10308        Reviewed by Mark Rowe.
10309
10310        * UIProcess/mac/WebInspectorProxyMac.mm:
10311        (WebKit::inspectorReallyUsesWebKitUserInterface):
10312        (WebKit::WebInspectorProxy::inspectorPageURL):
10313        (WebKit::WebInspectorProxy::inspectorBaseURL):
10314        * WebProcess/WebPage/mac/WebInspectorMac.mm:
10315        (WebKit::inspectorReallyUsesWebKitUserInterface):
10316        (WebKit::WebInspector::localizedStringsURL):
10317
103182013-06-11  Jer Noble  <jer.noble@apple.com>
10319
10320        Do not filter cookies requested through the CookieStorageShim.
10321        https://bugs.webkit.org/show_bug.cgi?id=117511
10322        <rdar://problem/13603433>
10323
10324        Reviewed by Beth Dakin.
10325
10326        Since the shim function is called when the underlying media engine is
10327        creating an HTTPRequest, use CookieRequestHeaderFieldValue (which does
10328        not filter out HTTP-only cookies) rather than CookiesForDOM (which does).
10329
10330        * Shared/mac/CookieStorageShim.cpp:
10331        (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL):
10332
103332013-06-11  Seokju Kwon  <seokju.kwon@gmail.com>
10334
10335        Remove leftover wxWebkit code
10336        https://bugs.webkit.org/show_bug.cgi?id=117471
10337
10338        Reviewed by Andreas Kling.
10339
10340        * Scripts/generate-forwarding-headers.pl:
10341
103422013-06-11  Changhyup Jwa  <ch.jwa@samsung.com>
10343
10344        [EFL][WK2] Add fallback for EWK2UnitTestBase if opengl is not available.
10345        https://bugs.webkit.org/show_bug.cgi?id=117504
10346
10347        Reviewed by Christophe Dumez.
10348
10349        There're many fails on efl webkit2 unit test if opengl is not available.
10350        So, add fallback to non-opengl evas engine.
10351
10352        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
10353        (EWK2UnitTest::EWK2UnitTestBase::SetUp):
10354
103552013-06-11  Csaba Osztrogonác  <ossy@webkit.org>
10356
10357        Make WTR use its own temporary directory for application cache
10358        https://bugs.webkit.org/show_bug.cgi?id=117143
10359
10360        Reviewed by Alexey Proskuryakov.
10361
10362        * UIProcess/API/C/WKContext.cpp:
10363        (WKContextSetApplicationCacheDirectory):
10364        * UIProcess/API/C/WKContextPrivate.h:
10365        * UIProcess/WebContext.cpp:
10366        (WebKit::WebContext::applicationCacheDirectory):
10367        * UIProcess/WebContext.h:
10368        (WebKit::WebContext::setApplicationCacheDirectory):
10369        * UIProcess/efl/WebContextEfl.cpp:
10370        (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
10371        * UIProcess/gtk/WebContextGtk.cpp:
10372        (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
10373        * UIProcess/mac/WebContextMac.mm:
10374        (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
10375        * UIProcess/qt/WebContextQt.cpp:
10376        (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
10377
103782013-06-11  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
10379
10380        [EFL][WK2] Fix test_ewk2_context_menu
10381        https://bugs.webkit.org/show_bug.cgi?id=116601
10382
10383        Reviewed by Gyuyoung Kim.
10384
10385        test_ewk2_context_menu is always passing, it does not test any context menu feature
10386        as it ends before context menu is called.
10387        One single test was divided into two tests: testing WebKit2 created context menu and
10388        testing menus and items created by application.
10389
10390        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
10391        (EWK2UnitTest::EWK2UnitTestBase::waitUntilTrue): added function introducing internal loop until boolean value is changed to true
10392        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
10393        * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
10394        (customItemSelected):
10395        (showContextMenu):
10396        (showContextMenuForRemoveAndAppend):
10397        (showContextMenuForSubmenu):
10398        (hideContextMenu):
10399        (TEST_F):
10400
104012013-06-11  Ryuan Choi  <ryuan.choi@samsung.com>
10402
10403        [EFL][WK2] Add ewk_view_navigate API
10404        https://bugs.webkit.org/show_bug.cgi?id=117467
10405
10406        Reviewed by Christophe Dumez.
10407
10408        The applications will use this API to navigate history more than one step.
10409
10410        * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
10411        (EwkBackForwardListItem::wkItem): Return WKBackForwardListItemRef for page to navigate.
10412        * UIProcess/API/efl/ewk_view.cpp:
10413        (ewk_view_navigate_to): Added new API.
10414        * UIProcess/API/efl/ewk_view.h:
10415        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
10416        (TEST_F): Added more test case for navigation.
10417
104182013-06-10  Jae Hyun Park  <jae.park@company100.net>
10419
10420        [CoordinatedGraphics] Typos in custom shader support
10421        https://bugs.webkit.org/show_bug.cgi?id=117413
10422
10423        Reviewed by Noam Rosenthal.
10424
10425        Wrong keyframe is passed when assigning filterValue.
10426
10427        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
10428        (WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesIfNeeded):
10429
104302013-06-10  Seokju Kwon  <seokju.kwon@gmail.com>
10431
10432        [Qt][GTK] Build fix after r151403
10433        https://bugs.webkit.org/show_bug.cgi?id=117452
10434
10435        Reviewed by Csaba Osztrogonác.
10436
10437        * UIProcess/API/gtk/PageClientImpl.cpp:
10438        (WebKit::PageClientImpl::preferencesDidChange):
10439        * UIProcess/API/gtk/PageClientImpl.h:
10440        * UIProcess/API/qt/raw/qrawwebview_p_p.h:
10441        (QRawWebViewPrivate::preferencesDidChange):
10442        * UIProcess/qt/QtPageClient.h:
10443        (WebKit::QtPageClient::preferencesDidChange):
10444
104452013-06-10  Commit Queue  <commit-queue@webkit.org>
10446
10447        Unreviewed, rolling out r151411.
10448        http://trac.webkit.org/changeset/151411
10449        https://bugs.webkit.org/show_bug.cgi?id=117453
10450
10451        because it is duplicated with Bug 117441 (Requested by
10452        gyuyoung_ on #webkit).
10453
10454        * UIProcess/efl/WebViewEfl.cpp:
10455        * UIProcess/efl/WebViewEfl.h:
10456
104572013-06-10  Jaehun Lim  <ljaehun.lim@samsung.com>
10458
10459        Fix build error and warning
10460        https://bugs.webkit.org/show_bug.cgi?id=117441
10461
10462        Reviewed by Anders Carlsson.
10463
10464        * UIProcess/CoordinatedGraphics/WebView.cpp:
10465        (WebKit::WebView::preferencesDidChange): Added.
10466        (WebKit::WebView::createPopupMenuProxy): Remove 'page'.
10467        * UIProcess/CoordinatedGraphics/WebView.h:
10468
104692013-06-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
10470
10471        Unreviewed, EFL Build fix after r151403.
10472
10473        Added preferencesDidChange to WebViewEfl.
10474
10475        * UIProcess/efl/WebViewEfl.cpp:
10476        (WebKit::WebViewEfl::preferencesDidChange):
10477        * UIProcess/efl/WebViewEfl.h:
10478
104792013-06-10  Anders Carlsson  <andersca@apple.com>
10480
10481        Crash in StorageAreaMap::applyChange when clearing local storage in another web process
10482        https://bugs.webkit.org/show_bug.cgi?id=117440
10483        <rdar://problem/13961548>
10484
10485        Reviewed by Tim Horton.
10486
10487        Add an early return so we won't try to look up a null key in the m_pendingValueChanges map.
10488        Also, fix an assertion - it's fine for m_storageMap to be null in applyChange.
10489
10490        * WebProcess/Storage/StorageAreaMap.cpp:
10491        (WebKit::StorageAreaMap::applyChange):
10492
104932013-06-10  Sergio Correia  <sergio.correia@openbossa.org>
10494
10495        [WK2][CoordinatedGraphics] Add default case to switches to fix strict build
10496        https://bugs.webkit.org/show_bug.cgi?id=117416
10497
10498        Reviewed by Noam Rosenthal.
10499
10500        This patch fixes a strict build by asserting on the default case of two
10501        switch statements where gcc was previously complaining of unhandled cases.
10502
10503        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
10504        (CoreIPC::::encode):
10505        (CoreIPC::::decode):
10506
105072013-06-10  Anders Carlsson  <andersca@apple.com>
10508
10509        -[WKView _updateWindowAndViewFrames] should avoid updating the view frame in window coordinates if we don't have plugins
10510        https://bugs.webkit.org/show_bug.cgi?id=117420
10511        <rdar://problem/14073034>
10512
10513        Reviewed by Tim Horton.
10514
10515        If plug-ins are disabled there's no need for the web process to know about the view frame in window coordinates so only
10516        send it when plug-ins are enabled. In addition, if accessibility is disabled we don't need to send a message at all.
10517
10518        * UIProcess/API/mac/PageClientImpl.h:
10519        * UIProcess/API/mac/PageClientImpl.mm:
10520        (WebKit::PageClientImpl::preferencesDidChange):
10521        Call through to -[WKView _preferencesDidChange].
10522
10523        * UIProcess/API/mac/WKView.mm:
10524        (-[WKView _updateWindowAndViewFrames]):
10525        Don't compute viewFrameInWindowCoordinates or accessibilityPosition unless they're required. If neither are required,
10526        don't even send a message to the web process.
10527
10528        (-[WKView _preferencesDidChange]):
10529        Update _needsViewFrameInWindowCoordinates and call -[WKView _updateWindowAndViewFrames] if needed.
10530
10531        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
10532        Set _needsViewFrameInWindowCoordinates based on whether plug-ins are enabled or not.
10533
10534        * UIProcess/WebPageProxy.cpp:
10535        (WebKit::WebPageProxy::preferencesDidChange):
10536        Call the page client.
10537
105382013-06-10  Bear Travis  <betravis@adobe.com>
10539
10540        [CSS Shapes][CSS Exclusions] Split CSS Exclusions and CSS Shapes code
10541        https://bugs.webkit.org/show_bug.cgi?id=117162
10542
10543        Reviewed by Alexandru Chiculita.
10544
10545        Adding the WebCore/rendering/shapes directory to the include list.
10546
10547        * CMakeLists.txt:
10548
105492013-06-10  Iago Toral Quiroga  <itoral@igalia.com>
10550
10551        Use Cairo implementation of the WidgetBackingStore instead of X11 when running on Wayland
10552        https://bugs.webkit.org/show_bug.cgi?id=116717
10553
10554        Reviewed by Martin Robinson.
10555
10556        Decide which implementation of WidgetBackingStore to use (X11 or Cairo)
10557        depending on whether we are running on X11 or not. Select Cairo
10558        implementation when not running in X11.
10559
10560        * UIProcess/cairo/BackingStoreCairo.cpp:
10561        (WebKit):
10562        (WebKit::createBackingStoreForGTK):
10563        (WebKit::BackingStore::incorporateUpdate):
10564
105652013-06-09  Jae Hyun Park  <jae.park@company100.net>
10566
10567        [CoordinatedGraphics] Typo in argument decoder for CoordinatedGraphicsState
10568        https://bugs.webkit.org/show_bug.cgi?id=117384
10569
10570        Reviewed by Noam Rosenthal.
10571
10572        For CSS Shaders, it must decode state.customFiltersToRemove instead of
10573        state.updateAtlasesToRemove.
10574
10575        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
10576        (CoreIPC::::decode):
10577
105782013-06-08  Jae Hyun Park  <jae.park@company100.net>
10579
10580        [Coordinated Graphics] Pass the ownership of GraphicsSurface explicitly
10581        https://bugs.webkit.org/show_bug.cgi?id=117379
10582
10583        Reviewed by Noam Rosenthal.
10584
10585        When creating WebCoordinatedSurface with GraphicsSurface, it is clearer
10586        to pass the ownership of the created GraphicsSurface explicitly.
10587
10588        * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
10589        (WebKit::WebCoordinatedSurface::create):
10590
105912013-06-07  Anders Carlsson  <andersca@apple.com>
10592
10593        Coalesce multiple calls to WebPageProxy::windowAndViewFramesChanged
10594        https://bugs.webkit.org/show_bug.cgi?id=117364
10595        <rdar://problem/14042099>
10596
10597        Reviewed by Geoffrey Garen.
10598
10599        -[WKView _updateWindowAndViewFrames] can be called many times per run loop iteration so coalesce calls
10600        to WebPageProxy::windowAndViewFrames using dispatch_async.
10601
10602        * UIProcess/API/mac/WKView.mm:
10603        (-[WKView _updateWindowAndViewFrames]):
10604
106052013-06-07  Thomas Deniau  <deniau@apple.com>
10606
10607        Reproducible crash with triple-finger-tap "define word" gesture on a Netflix video
10608        https://bugs.webkit.org/show_bug.cgi?id=117020
10609
10610        Reviewed by Ryosuke Niwa.
10611
10612        * WebProcess/WebPage/mac/WebPageMac.mm:
10613        (WebKit::WebPage::performDictionaryLookupAtLocation):
10614        Don't invoke the Dictionary lookup when we failed to extract the range of the token
10615        surrounding the tapped position.
10616
106172013-06-07  Enrique Ocana Gonzalez  <eocanha@igalia.com>
10618
10619        [GTK] Weird behaviour and no clues to the user when the shared memory file can't be opened
10620        https://bugs.webkit.org/show_bug.cgi?id=117063
10621
10622        Reviewed by Anders Carlsson.
10623
10624        Log error message when the shared memory file can't be opened in
10625        Unix platform using a release build
10626
10627        * Platform/unix/SharedMemoryUnix.cpp:
10628        (WebKit::SharedMemory::create):
10629
106302013-06-07  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
10631
10632        [EFL][WK2] Context menu spellchecking items are not available when "Check Spelling While Typing" is off
10633        https://bugs.webkit.org/show_bug.cgi?id=117190
10634
10635        Reviewed by Christophe Dumez.
10636
10637        Context menu items (suggestions, learn and ignore word) are not available
10638        due to missing dictionary. To get the suggestions for the misspelled word,
10639        the dictionary has to be loaded first.
10640
10641        WebKit loads the default dictionary when check spelling while typing is being enabled.
10642        However, context menu spellchecking items should be present even if this setting is off.
10643
10644        * UIProcess/API/efl/ewk_context.cpp:
10645        (EwkContext::EwkContext):
10646        Load the user's default dictionary to ensure context menu spellchecking items.
10647        The dictionary is loaded asynchronously so it shouldn't delay application.
10648
10649        * UIProcess/API/efl/ewk_text_checker.h:
10650        Update doc. Spelling suggestions, learn and ignore word should be available
10651        independently of checking spelling while typing setting.
10652
10653        * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
10654        (onContextMenuShow):
10655        (TEST_F):
10656        Add two unit tests to check whether the default dictionary is loaded and
10657        whether the context menu spelling items are available.
10658
10659        * UIProcess/efl/TextCheckerEfl.cpp:
10660        (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
10661        (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
10662        Not set the default dictionary while enabling the setting, it's already loaded.
10663
106642013-06-07  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
10665
10666        [EFL][WK2] Implement customContextMenuItemSelected
10667        https://bugs.webkit.org/show_bug.cgi?id=117298
10668
10669        Reviewed by Christophe Dumez.
10670
10671        When custom context menu item is selected using ewk API, the feedback is not
10672        sent back to application, as customContextMenuItemSelected was unimplemented in
10673        contextMenuClientEfl.
10674
10675        * UIProcess/API/efl/EwkView.cpp:
10676        (EwkView::customContextMenuItemSelected):
10677        * UIProcess/API/efl/EwkView.h:
10678        * UIProcess/API/efl/ewk_view.h: added custom_item_selected callback.
10679        * UIProcess/efl/ContextMenuClientEfl.cpp:
10680        (customContextMenuItemSelected):
10681        (ContextMenuClientEfl::ContextMenuClientEfl):
10682
106832013-06-06  Oliver Hunt  <oliver@apple.com>
10684
10685        Completely initialize ChildProcess state on launch
10686        https://bugs.webkit.org/show_bug.cgi?id=117328
10687
10688        Reviewed by Sam Weinig.
10689
10690        Use setProcessSuppressionEnabledInternal to avoid setProcessSuppressionEnabled
10691        "optimizing" our initialization away.
10692
10693        * Shared/mac/ChildProcessMac.mm:
10694        (WebKit::ChildProcess::platformInitialize):
10695
106962013-06-06  Rafael Brandao  <rafael.lobo@openbossa.org>
10697
10698        [Gtk] Connection is leaking when WebProcess is terminated
10699        https://bugs.webkit.org/show_bug.cgi?id=117293
10700
10701        Reviewed by Martin Robinson.
10702
10703        Connection is leaking because WorkQueue::SocketEventSource inherits from
10704        WorkQueue::EventSource but when it is destroyed, the actual destructor running
10705        is the one from base class; however, subclass contains a function binded from
10706        Connection (m_closeFunction) and we need to do this extra cleanup, otherwise
10707        WorkQueue will keep Connection alive. A better explanation of this fix is provided
10708        on http://stackoverflow.com/questions/461203/when-to-use-virtual-destructors
10709
10710        A quick way to see the leak is to change WK2 test "ReloadPageAfterCrash" to terminate
10711        WebProcess N times and add a printf on Connection destructor.
10712
10713        * Platform/gtk/WorkQueueGtk.cpp:
10714        (WorkQueue::EventSource::~EventSource): Adds a virtual destructor to enable
10715        the subclass to do its own cleanup.
10716
107172013-06-06  Jae Hyun Park  <jae.park@company100.net>
10718
10719        Coordinated Graphics : Refactor CoordinatedSurface to manage the lifecycle of GraphicsContext
10720        https://bugs.webkit.org/show_bug.cgi?id=108899
10721
10722        Reviewed by Noam Rosenthal.
10723
10724        This is a preparation patch for Threaded Coordinated Graphics.
10725
10726        This patch changes CoordinatedSurface to be responsible for the
10727        lifecycle of GraphicsContext used in Coordinated Graphics System.
10728        CoordinatedImageBacking and UpdateAtlas do not ask for the ownership
10729        of GraphicsContext anymore. Instead, those classes use client pattern to
10730        ask the CoordiantedSurface to paint to the GraphicsContext.
10731
10732        This refactoring is needed to implement CoordinatedSurface for Threaded
10733        Coordinated Graphics.
10734
10735        * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
10736        (WebKit::WebCoordinatedSurface::paintToSurface):
10737        * Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
10738        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
10739        (WebKit::CoordinatedLayerTreeHost::paintToSurface):
10740        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
10741
107422013-06-05  Kangil Han  <kangil.han@samsung.com>
10743
10744        [EFL][WK2] Fix test_ewk2_view unit test timed out issue
10745        https://bugs.webkit.org/show_bug.cgi?id=117251
10746
10747        Reviewed by Christophe Dumez.
10748
10749        'ewk_view_contents_size_changed' unit test case has been timed out since r150802 because
10750        same size is filtered by WebView class. So create one different test html string that has
10751        different size to continue unit tests.
10752
10753        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
10754        (onContentsSizeChangedPortrait):
10755        (onContentsSizeChangedLandscape):
10756        (TEST_F):
10757
107582013-06-05  Bear Travis  <betravis@adobe.com>
10759
10760        [CSS Exclusions][CSS Shapes] Split CSS Exclusions & Shapes compile & runtime flags
10761        https://bugs.webkit.org/show_bug.cgi?id=117172
10762
10763        Reviewed by Alexandru Chiculita.
10764
10765        Adding the CSS_SHAPES compile flag.
10766
10767        * Configurations/FeatureDefines.xcconfig:
10768
107692013-06-05  Anders Carlsson  <andersca@apple.com>
10770
10771        Crash if an IPC connection is invalidated before it's completely set up
10772        https://bugs.webkit.org/show_bug.cgi?id=117274
10773        <rdar://problem/13319035>
10774
10775        Reviewed by Andreas Kling.
10776
10777        Resume our dispatch sources on the connection queue so we won't get invalidation callbacks before
10778        all sources have been set up.
10779
10780        * Platform/CoreIPC/mac/ConnectionMac.cpp:
10781        (CoreIPC::Connection::open):
10782        (CoreIPC::Connection::sendOutgoingMessage):
10783        (CoreIPC::Connection::initializeDeadNameSource):
10784        (CoreIPC::Connection::receiveSourceEventHandler):
10785
107862013-06-05  Tim Horton  <timothy_horton@apple.com>
10787
10788        [wk2] WebProcess' page-in-window count can be wrong
10789        https://bugs.webkit.org/show_bug.cgi?id=117106
10790        <rdar://problem/14040991>
10791
10792        Reviewed by Anders Carlsson.
10793
10794        If we're using a single WebProcess and a window is closed, we were
10795        not decrementing the page-in-window count (because we apparently don't
10796        setIsInWindow(false) a WebPage in a closing window before tearing it down).
10797
10798        Turn the page-in-window count into a HashSet of pageIDs instead.
10799
10800        * WebProcess/WebPage/WebPage.cpp:
10801        (WebKit::WebPage::WebPage):
10802        (WebKit::WebPage::setIsInWindow):
10803        Send the pageID instead (this change is just so that I don't need to
10804        fetch the WebPage in WebProcess::removeWebPage).
10805
10806        * WebProcess/WebProcess.cpp:
10807        (WebKit::WebProcess::WebProcess):
10808        Remove m_inWindowPageCount.
10809
10810        (WebKit::WebProcess::removeWebPage):
10811        Ensure that WebPages being torn-down are removed from the in-window WebPage set.
10812
10813        (WebKit::WebProcess::pageDidEnterWindow):
10814        (WebKit::WebProcess::pageWillLeaveWindow):
10815        Use our new HashSet instead of a count.
10816
10817        (WebKit::WebProcess::nonVisibleProcessCleanupTimerFired):
10818        Make sure that we don't have any visible pages before doing cleanup.
10819
10820        * WebProcess/WebProcess.h:
10821        Remove m_inWindowPageCount.
10822        Add m_inWindowPageSet.
10823        Make pageDidEnterWindow/pageWillLeaveWindow take pageID instead of WebPage.
10824
108252013-06-05  Tim Horton  <timothy_horton@apple.com>
10826
10827        REGRESSION (r148713): Crash under waitForDidUpdateInWindowState
10828        https://bugs.webkit.org/show_bug.cgi?id=117268
10829        <rdar://problem/13822353>
10830
10831        Reviewed by Anders Carlsson.
10832
10833        Check if the WebProcess is valid before waiting for a message from it.
10834        Reset the bool that tells us that we have an outstanding didUpdateInWindowState message if the WebProcess quits.
10835
10836        * UIProcess/WebPageProxy.cpp:
10837        (WebKit::WebPageProxy::waitForDidUpdateInWindowState):
10838        (WebKit::WebPageProxy::resetStateAfterProcessExited):
10839
108402013-06-05  Gwang Yoon Hwang  <ryumiel@company100.net>
10841
10842        [Coordinated Graphics] Prevent a recursive painting in CoordinatedGraphicsLayer
10843        https://bugs.webkit.org/show_bug.cgi?id=117222
10844
10845        Reviewed by Noam Rosenthal.
10846
10847        CoordinatedGraphicsLayer::flushCompositingState() will cross frame
10848        boundaries if the GraphicsLayers are connected. In this case,
10849        updateContentBuffers will invoke a painting of a sub-frame that causes
10850        flushCompositingState recursively.
10851
10852        To prevent this behavior this patch extracts updateContentBuffers from
10853        flushCompositingState, and places it in
10854        updateContentBuffersIncludeSublayers, which traverses the tree
10855        separately from flushing the state for painting.
10856
10857        No new tests, covered by existing tests.
10858
10859        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
10860        (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
10861
108622013-06-05  Gwang Yoon Hwang  <ryumiel@company100.net>
10863
10864        [Coordinated Graphics] Rename client classes for CoordinatedImageBacking and UpdateAtlas.
10865        https://bugs.webkit.org/show_bug.cgi?id=111948
10866
10867        Reviewed by Noam Rosenthal.
10868
10869        This patch renames CoordinatedImageBacking::Coordinator to
10870        CoordinatedImageBacking::Client, and UpdateAtlasClient to
10871        UpdateAtlas::Client for naming consistency and clarification.
10872
10873        No new tests, covered by existing tests.
10874
10875        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
10876
108772013-06-05  Gwang Yoon Hwang  <ryumiel@company100.net>
10878
10879        [Coordinated Graphics] Unify messages related object's lifecycles into CoordinatedGraphicsState.
10880        https://bugs.webkit.org/show_bug.cgi?id=111919
10881
10882        Reviewed by Noam Rosenthal.
10883
10884        CoordinatedLayerTreeHostProxy has several methods, which simply passes
10885        these calls to CoordinatedGraphicsScene.
10886
10887        This patch removes methods in CoordinatedLayerTreeHostProxy just for
10888        message chaining. Instead of that, messages for creation/deletion of objects
10889        (Layers, CustomFilters, UpdateAtlas, and ImageBacking) are unified into
10890        CommitCoordinatedGraphicsState.
10891
10892        And this patch also removes codes for WebCoordinatedSurface in
10893        CoordinatedLayerTreeHost, except for a factory method.
10894        CoordinatedGraphicsArgumentCoders [en|de]codes CoordinatedSurface itself
10895        using WebCoordinatedSurface.
10896
10897        No new tests, covered by existing tests.
10898
10899        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
10900        (CoreIPC::encodeCoordinatedSurface):
10901        (CoreIPC::decodeCoordinatedSurface):
10902        (CoreIPC::::encode):
10903        (CoreIPC::::decode):
10904        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
10905        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
10906        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
10907        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
10908        (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
10909        (WebKit::CoordinatedLayerTreeHost::clearPendingStateChanges):
10910        (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
10911        (WebKit::CoordinatedLayerTreeHost::removeCustomFilterProgramProxy):
10912        (WebKit::CoordinatedLayerTreeHost::detachLayer):
10913        (WebKit::CoordinatedLayerTreeHost::createImageBacking):
10914        (WebKit::CoordinatedLayerTreeHost::updateImageBacking):
10915        (WebKit::CoordinatedLayerTreeHost::clearImageBackingContents):
10916        (WebKit::CoordinatedLayerTreeHost::removeImageBacking):
10917        (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
10918        (WebKit::CoordinatedLayerTreeHost::createUpdateAtlas):
10919        (WebKit::CoordinatedLayerTreeHost::removeUpdateAtlas):
10920        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
10921
109222013-06-04  Simon Cooper  <scooper@apple.com>
10923
10924        Tighten plugin sandbox profiles against symlink attacks
10925        https://bugs.webkit.org/show_bug.cgi?id=117219
10926        <rdar://problem/13044569>
10927
10928        Reviewed by Sam Weinig.
10929
10930        This inserts deny rules for creating symbolic links. The rules are
10931        inserted at the end of sandbox profile compilation by overriding the
10932        finalizer.  The initial value of %finalize must be the last function
10933        called.
10934
10935        * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
10936
109372013-06-04  Chris Fleizach  <cfleizach@apple.com>
10938
10939        AX: WK2: accessibility position is calculated every time window frame is updated
10940        https://bugs.webkit.org/show_bug.cgi?id=117201
10941
10942        Reviewed by Tim Horton.
10943
10944        Only calculate the AX position if AX has already been enabled when updating the
10945        WKView's window and frame.
10946
10947        * UIProcess/API/mac/WKView.mm:
10948        (-[WKView _updateWindowAndViewFrames]):
10949        (-[WKView _accessibilityRegisterUIProcessTokens]):
10950            Don't call accessibilityAttributeValue: here because it could enable accessibility prematurely.
10951        (-[WKView enableAccessibilityIfNecessary]):
10952            After enabling AX for the first time, also update the frame so that the AX position is correct.
10953        (-[WKView accessibilityFocusedUIElement]):
10954        (-[WKView accessibilityHitTest:]):
10955        (-[WKView accessibilityAttributeValue:]):
10956            Tell the AXObjectCache that AX is now enabled.
10957
109582013-06-04  Mark Rowe  <mrowe@apple.com>
10959
10960        REGRESSION (r151043): Frequent crashes inside WebPageProxy::getPlugInInformation
10961        <http://webkit.org/b/117180>
10962
10963        Reviewed by Brady Eidson.
10964
10965        * UIProcess/mac/WebPageProxyMac.mm:
10966        (WebKit::WebPageProxy::getPlugInInformation): Return early when plugInProcessProxy is null
10967        since there's nothing we can do.
10968
109692013-06-04  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
10970
10971        [EFl][WK2] Sub menu items should be of EWK_SUBMENU_TYPE and not checkable
10972        https://bugs.webkit.org/show_bug.cgi?id=116959
10973
10974        Reviewed by Gyuyoung Kim.
10975
10976        Currently using ewk API it is possible to create a sub menu item which is not an EWK_SUBMENU_TYPE
10977        or set checkable flag for it, while it is not possible for items created by WebKit. 
10978        This patch changes ewk context menu API to match WebKit2 behaviour, by creating sub menus with
10979        proper type and checkable flags.
10980
10981        * UIProcess/API/efl/ewk_context_menu_item.cpp:
10982        (ewk_context_menu_item_new_with_submenu):
10983        * UIProcess/API/efl/ewk_context_menu_item.h:
10984        * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
10985        (showContextMenu):
10986
109872013-06-04  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
10988
10989        [EFL][WK2] Custom context menu items cannot be selected
10990        https://bugs.webkit.org/show_bug.cgi?id=116830
10991
10992        Reviewed by Gyuyoung Kim.
10993
10994        Custom item added using ewk_context_menu_item_append had no
10995        pointer to parent menu, and custom submenu added using with the
10996        the same function had no pointer to EwkView. Both issues
10997        prevented items to be selected.
10998
10999        * UIProcess/API/efl/ewk_context_menu.cpp:
11000        (EwkContextMenu::appendItem):
11001        (EwkContextMenu::contextMenuItemSelected):
11002        (ewk_context_menu_item_append):
11003        (ewk_context_menu_item_select):
11004        * UIProcess/API/efl/ewk_context_menu_private.h:
11005        (EwkContextMenu):
11006        (EwkContextMenu::setEwkView):
11007
110082013-06-03  Simon Cooper  <scooper@apple.com>
11009
11010        Unable to play videos in Safari using QuickTime plug-in until I've played those videos in Chrome first
11011        https://bugs.webkit.org/show_bug.cgi?id=117174
11012        <rdar://problem/13711687>
11013
11014        Reviewed by Alexey Proskuryakov.
11015
11016        Pull in fixes that allow https connections within the plugin
11017        environment.
11018
11019        * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
11020
110212013-06-03  Marcelo Lira  <marcelo.lira@openbossa.org>
11022
11023        [WK2] REGRESSION(r150798): scrolling coordinator is not being enabled when WebPage is set to use fixed layout
11024        https://bugs.webkit.org/show_bug.cgi?id=117163
11025
11026        Reviewed by Darin Adler.
11027
11028        Moved call to WebPage::settings()->setScrollingCoordinatorEnabled()
11029        from CoordinatedLayerTreeHost constructor to WebPage::setUseFixedLayout().
11030        The scrolling coordinator must be enabled or disabled following the
11031        WebPage's use of fixed layout.
11032
11033        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
11034        (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
11035        * WebProcess/WebPage/WebPage.cpp:
11036        (WebKit::WebPage::setUseFixedLayout):
11037
110382013-06-03  Anders Carlsson  <andersca@apple.com>
11039
11040        Send mouse events to the banner for as long as the mouse button is down
11041        https://bugs.webkit.org/show_bug.cgi?id=117161
11042        <rdar://problem/13821220>
11043
11044        Reviewed by Beth Dakin.
11045
11046        Keep track of whether the mouse was pressed in a banner and keep sending mouse events to it,
11047        even if they are outside the banner's bounds for as long as the mouse is down.
11048
11049        * WebProcess/WebPage/PageBanner.h:
11050        * WebProcess/WebPage/mac/PageBannerMac.mm:
11051        (WebKit::PageBanner::PageBanner):
11052        (WebKit::PageBanner::mouseEvent):
11053
110542013-06-03  Sergio Correia  <sergio.correia@openbossa.org>
11055
11056        [EFL][WK2] Process launcher uses system() for wrapping the WebProcess when using WEB_PROCESS_CMD_PREFIX
11057        https://bugs.webkit.org/show_bug.cgi?id=105156
11058
11059        Reviewed by Christophe Dumez.
11060
11061        When using WEB_PROCESS_CMD_PREFIX - which allows us for instance to analyze
11062        WebProcess under tools like valgrind or gdb -, the ProcessLauncher would
11063        spawn the new process using system(), which would, among other things, keep
11064        an extra UIProcess waiting and executing the shell.
11065
11066        This patch handles the normal case and the case where we have something to
11067        prefix WebProcess (i.e., by using WEB_PROCESS_CMD_PREFIX in a debug build)
11068        the same way, through a call to execvp().
11069
11070        To achieve this a function was introduced to create an array with the given
11071        arguments to the full command to be executed, to be used by execvp(). We use
11072        a Vector<OwnArrayPtr<char>>, so that we can take advantage of the destructor
11073        of OwnArrayPtr to handle the memory deallocation when it goes out of scope.
11074
11075        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
11076        (WebKit::createArgsArray):  This function creates the array to be used by
11077        execvp(), out of the Strings given as arguments.
11078        (WebKit::ProcessLauncher::launchProcess): Rework the logic to accomodate
11079        both the cases with and without WEB_PROCESS_CMD_PREFIX. The execl() call
11080        was replaced with an execvp() call, since now we should deal with having
11081        a variable number of arguments (WEB_PROCESS_CMD_PREFIX) as well.
11082
110832013-06-02  Arunprasad Rajkumar  <arurajku@cisco.com>
11084
11085        [Qt] Move Qt port off legacy clipboard
11086        https://bugs.webkit.org/show_bug.cgi?id=116416
11087
11088        Reviewed by Darin Adler.
11089
11090        * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp:
11091        (WebKit::WebDragClient::startDrag):
11092
110932013-06-02  Sergio Correia  <sergio.correia@openbossa.org>
11094
11095        [WK2][CoordinatedGraphics]: Use a properly initialized WebPage when creating a PageClient
11096        https://bugs.webkit.org/show_bug.cgi?id=117116
11097
11098        Reviewed by Tim Horton.
11099
11100        Valgrind reported a "conditional jump or move depends on uninitialised value"
11101        at WebPageProxy constructor, when checking the m_isVisible variable inside
11102        the ENABLE(PAGE_VISIBILITY_API) guard.
11103
11104        The issue was tracked down to the WebView constructor, which was creating a
11105        WebKit::PageClient* making use of `this' before having initialized all of its
11106        attributes.
11107
11108        The solution was to move the initialization of the `page' member to inside the
11109        constructor itself - out of the initialization list -, where we can guarantee
11110        all the relevant stuff has already been properly initialized.
11111
11112        Here's the relevant valgrind trace for reference:
11113
11114        Conditional jump or move depends on uninitialised value(s)
11115            at 0x65A35A4: WebKit::WebPageProxy::WebPageProxy(WebKit::PageClient*,
11116                          WTF::PassRefPtr<WebKit::WebProcessProxy>,
11117                          WebKit::WebPageGroup*, unsigned long) (WebPageProxy.cpp:322)
11118            by 0x65A2BA2: WebKit::WebPageProxy::create(WebKit::PageClient*,
11119                          WTF::PassRefPtr<WebKit::WebProcessProxy>,
11120                          WebKit::WebPageGroup*, unsigned long) (WebPageProxy.cpp:233)
11121            by 0x65E94BB: WebKit::WebProcessProxy::createWebPage(WebKit::PageClient*,
11122                          WebKit::WebContext*, WebKit::WebPageGroup*)
11123                          (WebProcessProxy.cpp:172)
11124            by 0x6570957: WebKit::WebContext::createWebPage(WebKit::PageClient*,
11125                          WebKit::WebPageGroup*, WebKit::WebPageProxy*)
11126                          (WebContext.cpp:735)
11127            by 0x67673E3: WebKit::WebView::WebView(WebKit::WebContext*,
11128                          WebKit::WebPageGroup*) (WebView.cpp:52)
11129            by 0x6775F18: WebKit::WebViewEfl::WebViewEfl(WebKit::WebContext*,
11130                          WebKit::WebPageGroup*) (WebViewEfl.cpp:54)
11131            by 0x6775EB4: WebKit::WebView::create(WebKit::WebContext*,
11132                          WebKit::WebPageGroup*) (WebViewEfl.cpp:49)
11133            by 0x673E13D: WKViewCreate (WKView.cpp:33)
11134            by 0x6763ECE: EWKViewCreate (ewk_view.cpp:92)
11135
11136        * UIProcess/CoordinatedGraphics/WebView.cpp:
11137        (WebKit::WebView::WebView):
11138
111392013-05-31  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
11140
11141        [EFL][WK2] Add a null checking condition to in hide() of EwkContextMenu
11142        https://bugs.webkit.org/show_bug.cgi?id=117014
11143
11144        Reviewed by Christophe Dumez.
11145
11146        m_viewImpl is able to be null. So, we need to protect this function against such case.
11147
11148        * UIProcess/API/efl/ewk_context_menu.cpp:
11149        (EwkContextMenu::hide):
11150        (ewk_context_menu_hide):
11151        * UIProcess/API/efl/ewk_context_menu_private.h:
11152        (EwkContextMenu):
11153
111542013-05-31  Oliver Hunt  <oliver@apple.com>
11155
11156        Fix bug in active page tracking that lead to plugins hanging during destruction
11157        https://bugs.webkit.org/show_bug.cgi?id=117099
11158
11159        Reviewed by Anders Carlsson.
11160
11161        NPRuntimeObjectMap no longer keeps its own reference to the
11162        throttler, and no longer reports activity during destruction.
11163
11164        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
11165        (WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap):
11166        (WebKit::NPRuntimeObjectMap::evaluate):
11167        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
11168        * WebProcess/Plugins/PluginView.cpp:
11169        (WebKit::PluginView::PluginView):
11170
111712013-05-31  Tim Horton  <timothy_horton@apple.com>
11172
11173        [wk2] All intrinsic content size changes should go through the 0-delay timer
11174        https://bugs.webkit.org/show_bug.cgi?id=117058
11175        <rdar://problem/13935042>
11176
11177        Reviewed by Anders Carlsson.
11178
11179        In r146913, I added a 0-delay timer so that we'd coalesce intrinsic
11180        content size changes. However, didUpdateGeometry was still immediately
11181        invalidating the intrinsic content size without coalescing.
11182
11183        Move that update to the WebProcess to share the timer.
11184
11185        * UIProcess/DrawingAreaProxy.h:
11186        (WebKit::DrawingAreaProxy::didUpdateGeometry):
11187        * UIProcess/DrawingAreaProxy.messages.in:
11188        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
11189        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
11190        (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
11191        Remove the newIntrinsicContentSize argument, and don't invalidate intrinsic
11192        content size inside didUpdateGeometry.
11193
11194        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
11195        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
11196        Start the intrinsic content size update timer when we finish updateGeometry.
11197
111982013-05-31  Alexey Proskuryakov  <ap@apple.com>
11199
11200        Sandbox violations when trying to access fonts in non-standard locations
11201        https://bugs.webkit.org/show_bug.cgi?id=117097
11202        <rdar://problem/9264746>
11203
11204        Reviewed by Anders Carlsson.
11205
11206        The issue was that lack of a main xib was resulting in font machinery being
11207        initialized too early, before we entered sandbox.
11208
11209        * Resources/WebContentProcess.xib: Added.
11210        * WebKit2.xcodeproj/project.pbxproj:
11211        * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
11212        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
11213        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
11214
112152013-05-31  Alexey Proskuryakov  <ap@apple.com>
11216
11217        <rdar://problem/14036464> Sandbox violation when using Web SpeechSynthesis
11218
11219        Reviewed by Anders Carlsson
11220
11221        * WebProcess/com.apple.WebProcess.sb.in: Allow com.apple.speech.synthesis.console.
11222
112232013-05-31  Jessie Berlin  <jberlin@apple.com>
11224
11225        Need the ability to get the information for a plug-in with a particular process id that may
11226        be running on a page
11227        https://bugs.webkit.org/show_bug.cgi?id=117090
11228
11229        Rubber-stamped by Anders Carlsson.
11230
11231        Follow-up to r151043 incorprating some feedback I got from Darin after I had already
11232        committed the patch.
11233
11234        * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
11235        (callGetPlugInInformationBlockAndDispose):
11236        Renamed to be less wordy.
11237        (WKPageGetPlugInInformation):
11238        Ditto.
11239        * UIProcess/API/C/mac/WKPagePrivateMac.h:
11240        Ditto.
11241
11242        * UIProcess/Plugins/PluginProcessManager.h:
11243        * UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
11244        (WebKit::PluginProcessManager::findPlugInProcessByID):
11245        Renamed to not use "Cocoa method style" in non-Cocoa functions.
11246        (WebKit::PluginProcessManager::findPlugInProcessByToken):
11247        Ditto.
11248
11249        * UIProcess/WebPageProxy.h:
11250        * UIProcess/mac/WebPageProxyMac.mm:
11251        (WebKit::WebPageProxy::getPlugInInformation):
11252        Reduce ref count churn and fix a variable name.
11253        Updated for the change to findPlugInProcessByID.
11254        (WebKit::WebPageProxy::containsPlugInCallback):
11255        Updated for the change to findPlugInProcessByToken.
11256
11257        * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
11258        Move the override of a virtual function to the private section.
11259
112602013-05-31  Jessie Berlin  <jberlin@apple.com>
11261
11262        Need the ability to get the information for a plug-in with a particular process id that may
11263        be running on a page
11264        https://bugs.webkit.org/show_bug.cgi?id=117090
11265
11266        Reviewed by Anders Carlsson.
11267
11268        * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
11269        (callGetInformationForPlugInWithProcessIDBlockAndDispose):
11270        Get the block from the context, invoke it with the result, and dispose of it.
11271        (WKPageGetInformationForPlugInWithProcessID):
11272        Ask the WebPageProxy and provide it with a dictionary callback that uses the
11273        above function to invoke the passed in block.
11274        * UIProcess/API/C/mac/WKPagePrivateMac.h:
11275        Add WKPageGetInformationForPlugInWithProcessID and a typedef for the callback block.
11276
11277        * UIProcess/Plugins/PluginProcessManager.h:
11278        Add ways to get the PluginProcessProxy associated with a process id or process token.
11279        * UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
11280        (WebKit::PluginProcessManager::plugInProcessWithProcessID):
11281        Return the first PluginProcessProxy with the passed in process ID.
11282        (WebKit::PluginProcessManager::plugInProcessWithToken):
11283        Return the first PluginProcessProxy with the passed in process token.
11284
11285        * UIProcess/WebPageProxy.cpp:
11286        (WebKit::WebPageProxy::close):
11287        Invalidate any outstanding requests for plug-in information.
11288        * UIProcess/WebPageProxy.h:
11289        Keep track of the callbacks for the requests for plug-in information.
11290        * UIProcess/WebPageProxy.messages.in:
11291        * UIProcess/mac/WebPageProxyMac.mm:
11292        (WebKit::WebPageProxy::getInformationForPlugInWithProcessID):
11293        If there are no known plug-ins with the provided process ID, invoke the callback with a null
11294        dictionary of plug-in information.
11295        Otherwise, keep track of the callback and send a message to the web process asking for the
11296        information.
11297        (WebKit::WebPageProxy::containsPlugInCallback):
11298        If the page did not contain the plug-in, invoke the callback with a null dictionary of
11299        plug-in information.
11300        Invoke the callback with a dictionary containing the PlugInModuleInfo.
11301
11302        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
11303        Return 0 for the plugInProcessToken.
11304        * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
11305        Ditto.
11306        * WebProcess/Plugins/Plugin.h:
11307        Add a pure virtual method for plugInProcessToken so it can be accessed from from the Plugin
11308        on the PluginView.
11309        * WebProcess/Plugins/PluginProxy.h:
11310        Return the actual plug-in process token.
11311
11312        * WebProcess/Plugins/PluginView.h:
11313        (WebKit::PluginView::plugIn):
11314        Make it possible to get at the plug-in process token through the Plugin.
11315
11316        * WebProcess/WebPage/WebPageMac.mm:
11317        (WebKit::WebPage::containsPluginViewsWithPluginProcessToken):
11318        If there is an instance of the plug-in with that token, send a confirmation to the ui
11319        process.
11320        * WebProcess/WebPage/WebPage.h:
11321        * WebProcess/WebPage/WebPage.messages.in:
11322
113232013-05-31  Alexey Proskuryakov  <ap@apple.com>
11324
11325        REGRESSION (r141445): MPEG-4 videos do not play on certain hardware configurations
11326        https://bugs.webkit.org/show_bug.cgi?id=117089
11327        <rdar://problem/13839717>
11328
11329        Reviewed by Mark Rowe.
11330
11331        * Configurations/WebContentProcess.xcconfig: Statically link to a framework that
11332        uses an XPC service to work around a libxpc limitation on Lion.
11333
113342013-05-31  Dean Jackson  <dino@apple.com>
11335
11336        Don't create an accelerated compositing layer unless we have to for snapshotting plug-ins
11337        https://bugs.webkit.org/show_bug.cgi?id=117076
11338        <rdar://problem/14030364>
11339
11340        Reviewed by Beth Dakin and Anders Carlsson.
11341
11342        If a plug-in can support software snapshotting, then don't create an
11343        accelerated compositing layer for it while in snapshot mode. This is a
11344        better user experience -- otherwise the page/plug-in looks like it broke.
11345
11346        * WebProcess/Plugins/PluginView.cpp:
11347        (WebKit::PluginView::isAcceleratedCompositingEnabled): If we are in snapshotting mode
11348        and we are a Flash plugin (the only one that supports software snapshots at the moment)
11349        then do not create an accelerated compositing layer.
11350
113512013-05-30  Tim Horton  <timothy_horton@apple.com>
11352
11353        It's easy to hit ASSERT_NOT_REACHED in WKDOMNodeClass
11354        https://bugs.webkit.org/show_bug.cgi?id=117051
11355
11356        Reviewed by Anders Carlsson.
11357
11358        Re-add the ASSERT_NOT_REACHED, and return [WKDOMNode class] in the case
11359        where we don't have a specific subclass.
11360
11361        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
11362        (WebKit::WKDOMNodeClass):
11363
113642013-05-31  Stephanie Lewis  <slewis@apple.com>
11365
11366        Update low memory handler to use new memory pressure notifications on new OS versions.
11367        <rdar://problem/14027095>
11368
11369        Reviewed by Mark Rowe.
11370
11371        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
11372        (InitWebCoreSystemInterface):
11373
113742013-05-30  Tim Horton  <timothy_horton@apple.com>
11375
11376        Remove ASSERT_NOT_REACHED from WKDOMNodeClass
11377        https://bugs.webkit.org/show_bug.cgi?id=117051
11378
11379        Reviewed by Anders Carlsson.
11380
11381        It's easy to fail this assertion in seemingly-legitimate cases.
11382
11383        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
11384        (WebKit::WKDOMNodeClass):
11385
113862013-05-29  Jeffrey Pfau  <jpfau@apple.com>
11387
11388        [Mac] Enable cache partitioning and the public suffix list on 10.8
11389        <rdar://problem/13679019>
11390
11391        Rubber-stamped by David Kilzer.
11392
11393        * Configurations/FeatureDefines.xcconfig:
11394
113952013-05-30  Andreas Kling  <akling@apple.com>
11396
11397        Fix double hash lookup in WebPage::determinePrimarySnapshottedPlugIn() loop.
11398        <http://webkit.org/b/117032>
11399
11400        Reviewed by Anders Carlsson.
11401
11402        * WebProcess/WebPage/WebPage.cpp:
11403        (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
11404
114052013-05-29  Tim Horton  <timothy_horton@apple.com>
11406
11407        Expose incrementalRenderingSuppressionTimeout via WK2
11408        https://bugs.webkit.org/show_bug.cgi?id=117015
11409        <rdar://problem/13992853>
11410
11411        Reviewed by Darin Adler.
11412
11413        * Shared/WebPreferencesStore.h:
11414        * UIProcess/API/C/WKPreferencesPrivate.h:
11415        Add IncrementalRenderingSuppressionTimeout preference.
11416
11417        * UIProcess/API/C/WKPreferences.cpp:
11418        (WKPreferencesSetIncrementalRenderingSuppressionTimeout): Added.
11419        (WKPreferencesGetIncrementalRenderingSuppressionTimeout): Added.
11420
11421        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
11422        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
11423        (WebKit::WebFrameLoaderClient::forcePageTransitionIfNeeded): Added.
11424        Call didCompletePageTransition, which un-freezes the layer tree.
11425
11426        * WebProcess/WebPage/WebPage.cpp:
11427        (WebKit::WebPage::didCompletePageTransition):
11428        Fix some indentation.
11429
11430        (WebKit::WebPage::updatePreferences):
11431        Forward the timeout value through to WebCore.
11432
114332013-05-29  Simon Fraser  <simon.fraser@apple.com>
11434
11435        Fix paint-related milestones to not fire when the layer tree is frozen
11436        https://bugs.webkit.org/show_bug.cgi?id=117012
11437
11438        Reviewed by Tim Horton.
11439        
11440        Implement ChromeClient::layerTreeStateIsFrozen() to return
11441        the frozen state of the drawing area.
11442
11443        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
11444        (WebKit::WebChromeClient::layerTreeStateIsFrozen):
11445        * WebProcess/WebCoreSupport/WebChromeClient.h:
11446        (WebChromeClient):
11447
114482013-05-29  Anders Carlsson  <andersca@apple.com>
11449
11450        WebKit should expose HSTS APIs to determine whether a host is in the HSTS cache and to reset HSTS policies
11451        https://bugs.webkit.org/show_bug.cgi?id=117010
11452        <rdar://problem/13689666>
11453
11454        Reviewed by Tim Horton.
11455
11456        * UIProcess/API/C/mac/WKContextPrivateMac.h:
11457        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
11458        * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
11459        * UIProcess/API/C/mac/WKPagePrivateMac.h:
11460        * UIProcess/WebContext.h:
11461        (WebContext):
11462        * UIProcess/mac/WebContextMac.mm:
11463        (WebKit):
11464        (WebKit::privateBrowsingSession):
11465        (WebKit::WebContext::isURLKnownHSTSHost):
11466        (WebKit::WebContext::resetHSTSHosts):
11467
114682013-05-29  Tim Horton  <timothy_horton@apple.com>
11469
11470        WKViews using shouldClipToVisibleRect=YES should respect prepareContentInRect: if called
11471        https://bugs.webkit.org/show_bug.cgi?id=116989
11472        <rdar://problem/14007440>
11473
11474        Reviewed by Anders Carlsson.
11475
11476        * UIProcess/API/mac/WKView.mm:
11477        (-[WKView prepareContentInRect:]):
11478        If prepareContentInRect: is called, save the rect and set a flag so we know we should use it.
11479
11480        (-[WKView _updateViewExposedRect]):
11481        Give the WebPage (and later the DrawingArea) the union of the rect handed to prepareContentInRect:
11482        and the WKView's visibleRect, if we're in that mode, so that applications that do their own scrolling
11483        can cause tiles to be created in currently offscreen views (for overdraw).
11484
11485        (-[WKView setFrameSize:]):
11486        (-[WKView _updateWindowAndViewFrames]):
11487        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
11488        (-[WKView enableFrameSizeUpdates]):
11489        (-[WKView setShouldClipToVisibleRect:]):
11490        (-[WKView forceAsyncDrawingAreaSizeUpdate:]):
11491        Use [_updateViewExposedRect].
11492
114932013-05-28  Oliver Hunt  <oliver@apple.com>
11494
11495        Add more accurate activity state tracking
11496        https://bugs.webkit.org/show_bug.cgi?id=116893
11497
11498        Reviewed by Gavin Barraclough.
11499
11500        This extends the logic in WebCore from a Page to Process
11501        granularity, so we will avoid lowering the child process
11502        priority if there is active content.  This also plumbs in
11503        the logic to allow plugins to report that they have done
11504        something "interesting".  Currently this is somewhat conservative
11505        but even this is sufficient to fix some stuttering issues
11506        that we've seen.
11507
11508        * Shared/ChildProcess.cpp:
11509        (WebKit::ChildProcess::ChildProcess):
11510        * Shared/ChildProcess.h:
11511        (ChildProcess):
11512        (WebKit::ChildProcess::processSuppressionEnabled):
11513        (WebKit::ChildProcess::incrementActiveTaskCount):
11514        (WebKit::ChildProcess::decrementActiveTaskCount):
11515        * Shared/mac/ChildProcessMac.mm:
11516        (WebKit):
11517        (WebKit::ChildProcess::setProcessSuppressionEnabledInternal):
11518        (WebKit::ChildProcess::setProcessSuppressionEnabled):
11519        (WebKit::ChildProcess::incrementActiveTaskCount):
11520        (WebKit::ChildProcess::decrementActiveTaskCount):
11521        (WebKit::ChildProcess::suspensionHysteresisTimerFired):
11522        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
11523        (WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap):
11524        (WebKit::NPRuntimeObjectMap::evaluate):
11525        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
11526        (WebCore):
11527        (NPRuntimeObjectMap):
11528        * WebProcess/Plugins/PluginView.cpp:
11529        (WebKit::PluginView::PluginView):
11530        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
11531        (WebKit::WebChromeClient::incrementActivePageCount):
11532        (WebKit):
11533        (WebKit::WebChromeClient::decrementActivePageCount):
11534        * WebProcess/WebCoreSupport/WebChromeClient.h:
11535        (WebChromeClient):
11536
115372013-05-29  Anders Carlsson  <andersca@apple.com>
11538
11539        Return earlier if there's no session storage namespace
11540        https://bugs.webkit.org/show_bug.cgi?id=116984
11541        <rdar://problem/13976781>
11542
11543        Reviewed by Tim Horton.
11544
11545        If we can't find a session storage namespace, return before creating an entry in the m_storageAreasByConnection
11546        hash map since then we'll crash trying to remove it later.
11547
11548        * UIProcess/Storage/StorageManager.cpp:
11549        (WebKit::StorageManager::createSessionStorageMap):
11550
115512013-05-29  Martin Robinson  <mrobinson@igalia.com>
11552
11553        Fix more CMake GTK+ build issues after r150336
11554
11555        * CMakeLists.txt: We need to allow for setting the WebProcess output name, since
11556        WebKitGTK+ expects it to be called WebKitWebProcess.
11557        * PlatformGTK.cmake: No longer set WebProcess_EXECUTABLE_NAME as it's been replaced
11558        by WebKit2_WebProcess_OUTPUT_NAME.
11559
115602013-05-29  Marcelo Lira  <marcelo.lira@openbossa.org>
11561
11562        [WK2][CoordinatedGraphics][EFL] WKViewUserViewportToContents() function doesn't do what it says
11563        https://bugs.webkit.org/show_bug.cgi?id=116683
11564
11565        Reviewed by Noam Rosenthal.
11566
11567        WKViewUserViewportToContents now converts WebView coordinates to
11568        page contents coordinates, taking into account factors as content
11569        scale and scroll, and also device scale.
11570
11571        The function WKViewUserViewportToScene was added to convert WebView
11572        coordinates to the coordinates of the canvas/scene where the view
11573        is drawn, and EwkView was fixed to use it, instead of
11574        WKViewUserViewportToContents.
11575
11576        * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
11577        (WKViewUserViewportToScene):
11578        * UIProcess/API/C/CoordinatedGraphics/WKView.h:
11579        * UIProcess/API/efl/EwkView.cpp:
11580        (EwkView::createGLSurface):
11581        * UIProcess/CoordinatedGraphics/WebView.cpp:
11582        (WebKit::WebView::userViewportToContents):
11583        (WebKit):
11584        (WebKit::WebView::userViewportToScene):
11585        (WebKit::WebView::transformToScene):
11586        * UIProcess/CoordinatedGraphics/WebView.h:
11587        (WebView):
11588
115892013-05-29  Carlos Garcia Campos  <cgarcia@igalia.com>
11590
11591        Unreviewed. Fix make distcheck.
11592
11593        * GNUmakefile.am: Add WebCoreLayerGtk2.a to DISTCLEANFILES.
11594
115952013-05-29  Seokju Kwon  <seokju.kwon@gmail.com>
11596
11597        [GTK] Clean up WebKit2 GNUmakefile.am
11598        https://bugs.webkit.org/show_bug.cgi?id=116907
11599
11600        Reviewed by Martin Robinson.
11601
11602        Removed WebNotificationManagerProxy.messages.in after r150785.
11603
11604        * GNUmakefile.am:
11605
116062013-05-28  Alexey Proskuryakov  <ap@apple.com>
11607
11608        Freeze when loading a particular page on washingtonpost.com with NetworkProcess enabled
11609        https://bugs.webkit.org/show_bug.cgi?id=116887
11610        <rdar://problem/12965959>
11611
11612        Reviewed by Darin Adler.
11613
11614        * Shared/cf/ArgumentCodersCF.cpp:
11615        (CoreIPC::encode):
11616        (CoreIPC::decode):
11617        Fix for the bug: use good shared WebCore code to manipulate CFURLs. Also, added
11618        a FIXME about empty URLs.
11619
11620        * Shared/API/c/cf/WKURLCF.cpp: (WKURLCreateWithCFURL): Fixed to not use
11621        CFURLGetString, as that could prevent loading certain resources, like ones with
11622        curly braces in resource specifiers. We want KURL normalization, not CFURL one.
11623
116242013-05-28  Tim Horton  <timothy_horton@apple.com>
11625
11626        Rendering suppression extension tokens shouldn't be 0, should handle overflow
11627        https://bugs.webkit.org/show_bug.cgi?id=116886
11628        <rdar://problem/14004474>
11629
11630        Reviewed by Darin Adler.
11631
11632        Don't use invalid HashSet values as tokens, and ensure that
11633        we're not already using a token before returning it.
11634
11635        * WebProcess/WebPage/WebPage.cpp:
11636        (WebKit::WebPage::extendIncrementalRenderingSuppression):
11637
116382013-05-28  Lauro Neto <lauro.neto@openbossa.org>
11639
11640        [GTK] Connection issues in repeated WebProcess crash/reloads.
11641        https://bugs.webkit.org/show_bug.cgi?id=115880
11642
11643        Reviewed by Anders Carlsson.
11644
11645        When stressing the WebProcess creation/destruction, WebKitGTK can
11646        often run into socket issues like bad file descriptor errors or
11647        polling a socket indefinitely.
11648
11649        Currently WebKitGTK has three places where a socket can be
11650        closed.
11651
11652        - childFinishedFunction (in ProcessLauncherGtk.cpp)
11653        - Connection::platformInvalidate (in ConnectionUnix.cpp)
11654        - WorkQueue EventSource destruction (in WorkQueueGtk.cpp)
11655
11656        To avoid these race conditions, socket closing will be handled
11657        by the event source callback in WorkQueueGtk.cpp.
11658
11659        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
11660        (CoreIPC::Connection::platformInvalidate): Do not close the socket
11661        when the connection is invalidated, the socket event source is
11662        unregistered in this method and the socket is closed when the
11663        GSocket associated to the event source is destroyed.
11664        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
11665        (WebKit::ProcessLauncher::launchProcess): Do not monitor child
11666        process to close the connection on termination. This was needed in
11667        the past when we used DGRAM sockets, we currently use always
11668        connection oriented sockets, so that when the other end closes
11669        the connection we are notified and the connection is invalidated.
11670
116712013-05-28  Martin Robinson  <mrobinson@igalia.com>
11672
11673        Fix GTK+ CMake build
11674
11675        * PlatformGTK.cmake: After r150336, the name of the WebKit2
11676        library target is simply "WebKit2."
11677
116782013-05-28  Marcelo Lira  <marcelo.lira@openbossa.org>
11679
11680        [WK2][CoordinatedGraphics] DrawingArea's visible content area must be updated when contents size changes
11681        https://bugs.webkit.org/show_bug.cgi?id=116845
11682
11683        Reviewed by Noam Rosenthal.
11684
11685        * UIProcess/CoordinatedGraphics/WebView.cpp:
11686        (WebKit::WebView::didChangeContentsSize):
11687
116882013-05-28  Noam Rosenthal  <noam@webkit.org>
11689
11690        [Qt] REGRESSION(r149292): broke scrolling in Qt WK2 desktop mode
11691        https://bugs.webkit.org/show_bug.cgi?id=116597
11692
11693        ScrollingCoordinatorCoordinatedGraphics is tailored specifically for
11694        fixedLayout mode. When fixedLayout is not set, it should be turned off.
11695
11696        Reviewed by Allan Sandfeld Jensen.
11697
11698        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
11699        (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
11700
117012013-05-28  Andreas Kling  <akling@apple.com>
11702
11703        Document::setFocusedNode() should be setFocusedElement().
11704        <http://webkit.org/b/116857>
11705
11706        Reviewed by Antti Koivisto.
11707
11708        * WebProcess/Plugins/PluginView.cpp:
11709        (WebKit::PluginView::focusPluginElement):
11710        * WebProcess/WebPage/WebPage.cpp:
11711        (WebKit::WebPage::focusedPluginViewForFrame):
11712        (WebKit::WebPage::setInitialFocus):
11713
117142013-05-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
11715
11716        [EFL][WK2] Clean up duplicated include files.
11717        https://bugs.webkit.org/show_bug.cgi?id=116851
11718
11719        Reviewed by Christophe Dumez.
11720
11721        Remove some of duplicated include file in ewk files.
11722
11723        * UIProcess/API/efl/EwkView.h:
11724        * UIProcess/API/efl/ewk_color_picker.cpp:
11725        * UIProcess/API/efl/ewk_context_menu.cpp:
11726        * UIProcess/API/efl/ewk_security_origin_private.h:
11727
117282013-05-28  Ryuan Choi  <ryuan.choi@samsung.com>
11729
11730        [EFL] pc files should have harfbuzz dependency.
11731        https://bugs.webkit.org/show_bug.cgi?id=116852
11732
11733        Reviewed by Gyuyoung Kim.
11734
11735        * efl/ewebkit2.pc.in: Added harfbuzz as Required package.
11736
117372013-05-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
11738
11739        [EFL][WK2] Remove unneeded WebCore namespace use in ewk
11740        https://bugs.webkit.org/show_bug.cgi?id=116707
11741
11742        Reviewed by Christophe Dumez.
11743
11744        * UIProcess/API/efl/ewk_security_origin.cpp: Remove "using namespace WebCore".
11745        * UIProcess/API/efl/ewk_text_checker.cpp: ditto.
11746
117472013-05-26  Jon Lee  <jonlee@apple.com>
11748
11749        [WK2] Notifications clobber each other with multiple processes
11750        https://bugs.webkit.org/show_bug.cgi?id=116428
11751        <rdar://problem/13935191>
11752
11753        Reviewed by Darin Adler.
11754
11755        With multiple processes, the notification IDs, when passed up to the UI process, can clobber
11756        each other. To fix this, we need to maintain a global map of notification IDs. This map is
11757        keyed by its own unique notification ID, and maps to a pair containing the web page ID and that
11758        web page's ID for the notification.
11759
11760        Now that we maintain groups of notifications based on the web page, we no longer send IPC messages
11761        from WebNotificationManager to WebNotificationManagerProxy; instead we send messages to the
11762        WebPageProxy. This removes the need for WebNotificationManagerProxy to be a message receiver.
11763
11764        When a page closes, all of the web notifications are cleared out. However, by the time the
11765        WebPage::close() is called, the connection between WebPage and WebPageProxy is destroyed. Since
11766        the WebPage is told to close from the UI process anyway, we clear out the notifications separately,
11767        instead of waiting for a message from the WebPage.
11768
11769        * UIProcess/Notifications/WebNotificationManagerProxy.h: Update to take into account the
11770        notification's web page. Remove inheritance of CoreIPC::MessageReceiver. Expose the original message
11771        handlers as public functions, since they will be called from WebPageProxy. Add a new map that
11772        associates a global ID with a notification ID that came from a web page.
11773            There are now two flavors of clearNotifications(). One clears out all notifications associated
11774        with a web page. This is called when the page is closed. The other clears out a subset of
11775        notifications associated with a web page. This is called when notifications associated with a sub-frame
11776        is closed.
11777        * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Removed. All messages from
11778        the web process go to WebPageProxy now.
11779
11780        * UIProcess/Notifications/WebNotificationManagerProxy.cpp: Update to take into account the
11781        notification's web page.
11782
11783        (WebKit::generateGlobalNotificationID): The manager proxy now maintains its own global notification
11784        ID generator.
11785        (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy): The proxy is no longer a
11786        message receiver. Remove code that registers it as such.
11787
11788        (WebKit::WebNotificationManagerProxy::show): Refactor to differentiate between the notification ID
11789        that came from the web process, and the global notification ID the proxy maintains. Add the mapping
11790        from the global ID to the (web page ID, notification ID) pair.
11791        (WebKit::WebNotificationManagerProxy::cancel): Refactor to take into consideration the web page.
11792        (WebKit::WebNotificationManagerProxy::didDestroyNotification): Refactor to take into consideration
11793        the web page. Fixes a leak where we did not remove the item from the maps. This function is called
11794        from the web process, when the ScriptExecutionContext is destroyed, so we remove it from our maps
11795        before we pass the message along to the provider.
11796
11797        Helper functions that evaluate when a given notification in the map matches the desired parameters.
11798        (WebKit::pageIDsMatch): The notification is associated with the provided page.
11799        (WebKit::pageAndNotificationIDsMatch): The notification is associated with the provided page and is
11800        contained within the list of provided notifications.
11801
11802        (WebKit::WebNotificationManagerProxy::clearNotifications): Changed to only remove notifications
11803        associated with the provided web page, and could include a specific list of notifications. This latter
11804        situation occurs if notifications were associated with an iframe, and that iframe was removed.
11805        There is an O(n) walk that could be make more efficient using another hash map, but that's overhead
11806        for a map that should be small in size anyway.
11807
11808        (WebKit::WebNotificationManagerProxy::providerDidShowNotification): Refactor to take into
11809        consideration the web page.
11810        (WebKit::WebNotificationManagerProxy::providerDidClickNotification): Refactor to take into
11811        consideration the web page.
11812        (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications): Now we need to comb through
11813        the list of global IDs and put them in buckets based on the notification's web pages. After that
11814        is done we can send the DidCloseNotifications() to those pages' processes. There is a possible
11815        extra optimization here where we group based on the page's process instead, to reduce the number
11816        of messages sent to processes.
11817
11818        * UIProcess/WebPageProxy.cpp:
11819        (WebKit::WebPageProxy::close): When a web page is closed, we clear the notifications associated
11820        with the page.
11821        (WebKit::WebPageProxy::cancelNotification): Forward call to WebNotificationManagerProxy.
11822        (WebKit::WebPageProxy::clearNotifications): Ditto.
11823        (WebKit::WebPageProxy::didDestroyNotification): Ditto.
11824        * UIProcess/WebPageProxy.h:
11825        * UIProcess/WebPageProxy.messages.in:
11826
11827        * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
11828        * WebProcess/Notifications/WebNotificationManager.cpp:
11829        (WebKit::WebNotificationManager::cancel):
11830        (WebKit::WebNotificationManager::clearNotifications):
11831        (WebKit::WebNotificationManager::didDestroyNotification):
11832        * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: Remove extraneous include.
11833
11834        * CMakeLists.txt: Remove WebNotificationManagerProxy.messages.in and related files.
11835        * DerivedSources.pri: Ditto.
11836        * DerivedSources.make: Ditto.
11837        * GNUmakefile.list.am: Ditto.
11838        * WebKit2.xcodeproj/project.pbxproj: Ditto.
11839
118402013-05-27  Tim Horton  <timothy_horton@apple.com>
11841
11842        Unreviewed build fix take 2.
11843
11844        * WebProcess/Plugins/PDF/PDFPlugin.mm:
11845
118462013-05-27  Tim Horton  <timothy_horton@apple.com>
11847
11848        Unreviewed build fix.
11849
11850        * WebProcess/Plugins/PDF/PDFPlugin.mm:
11851
118522013-05-27  Tim Horton  <timothy_horton@apple.com>
11853
11854        PDFPlugin: Main-frame PDFPlugin Accessibility
11855        https://bugs.webkit.org/show_bug.cgi?id=116563
11856        <rdar://problem/13458534>
11857
11858        Reviewed by Sam Weinig.
11859
11860        * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
11861        Forward-declare a variety of accessibility methods.
11862
11863        * WebProcess/Plugins/PDF/PDFPlugin.h:
11864        Add convertFromPDFViewToScreen, boundsOnScreen, accessibilityObject, and
11865        storage for our accessibility wrapper.
11866        * WebProcess/Plugins/PDF/PDFPlugin.mm:
11867        Add WKPDFPluginAccessibilityObject.
11868
11869        (-[WKPDFPluginAccessibilityObject accessibilityIsIgnored]):
11870        We want to be included in the accessibility tree.
11871
11872        (-[WKPDFPluginAccessibilityObject accessibilityAttributeValue:]):
11873        (-[WKPDFPluginAccessibilityObject accessibilityAttributeValue:forParameter:]):
11874        Grab values for accessibility attributes from the relevant sources
11875        (mostly from PDFLayerController).
11876
11877        (-[WKPDFPluginAccessibilityObject readingModel]): Ditto.
11878        (-[WKPDFPluginAccessibilityObject accessibilityAttributeNames]):
11879        (-[WKPDFPluginAccessibilityObject accessibilityParameterizedAttributeNames]):
11880        (-[WKPDFPluginAccessibilityObject accessibilityActionNames]):
11881        Return the set of accessibility attributes, actions, and parameterized
11882        attributes that we support.
11883
11884        (-[WKPDFPluginAccessibilityObject accessibilityIsAttributeSettable:]):
11885        (-[WKPDFPluginAccessibilityObject accessibilitySetValue:forAttribute:]):
11886        Forward some other accessibility methods to PDFLayerController.
11887
11888        (-[WKPDFPluginAccessibilityObject accessibilityFocusedUIElement]):
11889        (-[WKPDFPluginAccessibilityObject accessibilityHitTest:]):
11890        We have no children, so if a hit test makes it to us, it's ours.
11891
11892        (WebKit::PDFPlugin::PDFPlugin):
11893        Make a WKPDFPluginAccessibilityObject and hook it up.
11894        [FIXME: this could use some de-crapifying]
11895
11896        (WebKit::PDFPlugin::convertFromPluginToPDFView):
11897        Transform a point from plugin space to PDFLayerController space.
11898
11899        (WebKit::PDFPlugin::convertFromPDFViewToRootView):
11900        (WebKit::PDFPlugin::convertFromPDFViewToScreen): Added.
11901        (WebKit::PDFPlugin::boundsOnScreen):
11902        Return the PDFPlugin's frame in screen coordinates.
11903
11904        (WebKit::PDFPlugin::accessibilityObject):
11905        Return our accessibility wrapper.
11906
11907        * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
11908        * WebProcess/Plugins/Plugin.h:
11909        (WebKit::Plugin::accessibilityObject):
11910        * WebProcess/Plugins/PluginView.cpp:
11911        (WebKit::PluginView::accessibilityObject):
11912        * WebProcess/Plugins/PluginView.h:
11913        Add accessibilityObject(), to acquire accessibility wrappers from plugins.
11914
11915        * WebProcess/WebPage/WebPage.h:
11916        (WebPage): Add accessibilityObjectForMainFramePlugin();
11917        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
11918        (-[WKAccessibilityWebPageObject accessibilityRootObjectWrapper]):
11919        If the main frame has a PluginDocument that has an accessibilityObject,
11920        use that one instead of the WebPage's.
11921
11922        * WebProcess/WebPage/mac/WebPageMac.mm:
11923        (WebKit::WebPage::accessibilityObjectForMainFramePlugin):
11924        Return the accessibilityObject from the main-frame PluginDocument, if
11925        there is one.
11926
119272013-05-27  Marcelo Lira  <marcelo.lira@openbossa.org>
11928
11929        [WK2][CoordinatedGraphics] Misuse of DrawingAreaProxy::setVisibleContentsRect() in WebView::updateViewportSize()
11930        https://bugs.webkit.org/show_bug.cgi?id=116688
11931
11932        Reviewed by Noam Rosenthal.
11933
11934        Visible contents area passed to DrawingAreaProxy::setVisibleContentsRect()
11935        must be calculated including the page scale factor and avoid crossing the
11936        boundaries of the page contents size. In other words the DrawingArea
11937        must know the actual dimensions of what it being drawn. If the
11938        DrawingArea thinks the visible rectangle is bigger than it is, the
11939        contents will be drawn pixelated and blurry.
11940
11941        * UIProcess/CoordinatedGraphics/WebView.cpp:
11942        (WebKit::WebView::didChangeContentsSize):
11943        (WebKit::WebView::updateViewportSize):
11944        (WebKit::WebView::visibleContentsSize):
11945        (WebKit):
11946        * UIProcess/CoordinatedGraphics/WebView.h:
11947        (WebKit::WebView::contentsSize):
11948        (WebView):
11949
119502013-05-27  Carlos Garcia Campos  <cgarcia@igalia.com>
11951
11952        [GTK] WebKitWebView child widgets are not rendered with recent GTK+
11953        https://bugs.webkit.org/show_bug.cgi?id=116794
11954
11955        Reviewed by Xan Lopez.
11956
11957        Since rev d22fd7223c75f4720ddb982c659efb0d8d7543c4 of GTK+ expose
11958        events are not propagated to child GdkWindows anymore, and child
11959        widgets are rendered via gtk_container_propagate_draw(). Since all
11960        our children have its own GdkWindow (auth widget, inspector view
11961        and windowed plugins) we don't propagate the draw signal making
11962        them invisible with current GTK+.
11963
11964        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
11965        (webkitWebViewBaseDraw): Chain up to the parent draw(), so it's
11966        propagated to the children. This shouldn't have any effect in
11967        previous versions of GTK+ because gtk_container_propagate_draw()
11968        returned early when the child widget had its own GdkWindow.
11969
119702013-05-27  Xan Lopez  <xlopez@igalia.com>
11971
11972        Reset all clients on WebPage close
11973        https://bugs.webkit.org/show_bug.cgi?id=112334
11974
11975        Reviewed by Anders Carlsson.
11976
11977        We do not reset the clients on WebPage::close(), so there's a
11978        small chance that someone will try to access them after that. This
11979        won't work and will generally cause runtime warnings, crashes or
11980        other issues. Reset them all to null to prevent this situation.
11981
11982        * WebProcess/WebPage/WebPage.cpp:
11983        (WebKit::WebPage::close):
11984
119852013-05-27  Manuel Rego Casasnovas  <rego@igalia.com>
11986
11987        [GTK] Notify WebProcess in WebKitURISchemeRequest when we fail to read the user InputStream
11988        https://bugs.webkit.org/show_bug.cgi?id=114347
11989
11990        Reviewed by Carlos Garcia Campos.
11991
11992        While processing a WebKitURISchemeRequest if there is any error reading
11993        the InputStream provided by the user (for example the stream is already
11994        closed) we have to notify the WebProcess that the request has failed.
11995
11996        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
11997        (webkitURISchemeRequestReadCallback): Get the error from
11998        g_input_stream_read_finish() and use it to call
11999        webkit_uri_scheme_request_finish_error() in order to finish the failing
12000        WebKitURISchemeRequest properly.
12001        * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
12002        (testWebContextURIScheme): Modify test to check the new situation using
12003        an already closed InputStream.
12004
120052013-05-27  Carlos Garcia Campos  <cgarcia@igalia.com>
12006
12007        Unreviewed. Fix make distcheck.
12008
12009        * GNUmakefile.list.am: Add missing header file.
12010
120112013-05-26  Changhun Kang  <temoochin@company100.net>
12012
12013        The public WK header file should not include WKAPICast.h
12014        https://bugs.webkit.org/show_bug.cgi?id=115230
12015
12016        Reviewed by Darin Adler.
12017
12018        Otherwise, WebKit internal headers are exposed.
12019        No new tests. No change in behavior.
12020        * UIProcess/API/C/soup/WKSoupRequestManager.h:
12021        * UIProcess/soup/WebSoupRequestManagerClient.h:
12022
120232013-05-26  Andreas Kling  <akling@apple.com>
12024
12025        FocusController::setFocusedNode() should be setFocusedElement().
12026        <http://webkit.org/b/116780>
12027
12028        Reviewed by Antti Koivisto.
12029
12030        * WebProcess/Plugins/PluginView.cpp:
12031        (WebKit::PluginView::focusPluginElement):
12032
120332013-05-25  Andreas Kling  <akling@apple.com>
12034
12035        PluginDocument::pluginNode() should be pluginElement() instead.
12036        <http://webkit.org/b/116774>
12037
12038        Reviewed by Anders Carlsson.
12039
12040        * WebProcess/WebPage/WebPage.cpp:
12041        (WebKit::WebPage::focusedPluginViewForFrame):
12042
120432013-05-25  Simon Fraser  <simon.fraser@apple.com>
12044
12045        Unprefix Page Visibility API
12046        https://bugs.webkit.org/show_bug.cgi?id=102340
12047
12048        Reviewed by Tim Horton.
12049        
12050        Renaming of the "preview" state to "unloaded".
12051
12052        * Shared/API/c/WKPageVisibilityTypes.h:
12053        * Shared/API/c/WKSharedAPICast.h:
12054        (WebKit::toPageVisibilityState):
12055
120562013-05-25  Andreas Kling  <akling@apple.com>
12057
12058        Move Node::isMouseFocusable() to Element.
12059        <http://webkit.org/b/116762>
12060
12061        Reviewed by Anders Carlsson.
12062
12063        * WebProcess/WebPage/WebPage.cpp:
12064        (WebKit::WebPage::highlightPotentialActivation):
12065
12066            Check that the potentially activated Node is an Element before asking if it's mouse-focusable.
12067
120682013-05-25  Andreas Kling  <akling@apple.com>
12069
12070        REGRESSION: WebProcess is terminated when all Safari windows are closed.
12071        <rdar://problem/13990901>
12072        <http://webkit.org/b/116766>
12073
12074        Reviewed by Alexey Proskuryakov.
12075
12076        When closing the last page, only disconnect the web process if we're using a network process.
12077        Otherwise there might be session state in the web process getting lost.
12078
12079        * UIProcess/WebProcessProxy.cpp:
12080        (WebKit::WebProcessProxy::removeWebPage):
12081
120822013-05-25  Santosh Mahto  <santosh.ma@samsung.com>
12083
12084        WebFrameProxy::didFailLoad clears frame title for no apparent reason
12085        https://bugs.webkit.org/show_bug.cgi?id=116655
12086
12087        Reviewed by Alexey Proskuryakov.
12088
12089        * UIProcess/WebFrameProxy.cpp:
12090        (WebKit::WebFrameProxy::didFailLoad):
12091
120922013-05-24  Seokju Kwon  <seokju.kwon@gmail.com>
12093
12094        [Qt][GTK] Build fix after r150669
12095        https://bugs.webkit.org/show_bug.cgi?id=116751
12096
12097        Reviewed by Christophe Dumez.
12098
12099        * GNUmakefile.list.am:
12100        * Target.pri:
12101        * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
12102        (WebKit::WebEditorClient::getEditorCommandsForKeyEvent):
12103
121042013-05-24  Seokju Kwon  <seokju.kwon@gmail.com>
12105
12106        [EFL] Build fix after r150669
12107        https://bugs.webkit.org/show_bug.cgi?id=116750
12108
12109        Reviewed by Anders Carlsson.
12110
12111        * CMakeLists.txt:
12112        * WebProcess/Battery/WebBatteryManager.cpp:
12113        (WebKit::WebBatteryManager::registerWebPage):
12114        (WebKit::WebBatteryManager::unregisterWebPage):
12115        * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:
12116        (WebKit::WebNetworkInfoManager::registerWebPage):
12117        (WebKit::WebNetworkInfoManager::unregisterWebPage):
12118        (WebKit::WebNetworkInfoManager::bandwidth):
12119        (WebKit::WebNetworkInfoManager::metered):
12120        * WebProcess/WebCoreSupport/WebVibrationClient.cpp:
12121        (WebKit::WebVibrationClient::vibrate):
12122        (WebKit::WebVibrationClient::cancelVibration):
12123        * WebProcess/soup/WebSoupRequestManager.cpp:
12124        (WebKit::WebSoupRequestManager::didReceiveURIRequestData):
12125        (WebKit::WebSoupRequestManager::send):
12126
121272013-05-24  Anders Carlsson  <andersca@apple.com>
12128
12129        MessageSender shouldn't be a class template
12130        https://bugs.webkit.org/show_bug.cgi?id=116743
12131
12132        Reviewed by Andreas Kling.
12133
12134        Change MessageSender to be a proper abstract base class. Subclasses of MessageSender must
12135        implement messageSenderConnection() as well as messageSenderDestinationID().
12136
12137        This reduces code size and will allow us to be more flexible with MessageSender in the future.
12138
12139        * NetworkProcess/NetworkResourceLoader.cpp:
12140        (WebKit::NetworkResourceLoader::sendAbortingOnFailure):
12141        (WebKit::NetworkResourceLoader::messageSenderConnection):
12142        (WebKit):
12143        (WebKit::NetworkResourceLoader::messageSenderDestinationID):
12144        * NetworkProcess/NetworkResourceLoader.h:
12145        (NetworkResourceLoader):
12146        * NetworkProcess/mac/DiskCacheMonitor.h:
12147        (DiskCacheMonitor):
12148        * NetworkProcess/mac/DiskCacheMonitor.mm:
12149        (WebKit::DiskCacheMonitor::messageSenderConnection):
12150        (WebKit::DiskCacheMonitor::messageSenderDestinationID):
12151        (WebKit):
12152        * Platform/CoreIPC/MessageSender.h:
12153        (CoreIPC):
12154        (MessageSender):
12155        (CoreIPC::MessageSender::send):
12156        (CoreIPC::MessageSender::sendSync):
12157        * Shared/ChildProcess.cpp:
12158        (WebKit::ChildProcess::messageSenderConnection):
12159        (WebKit):
12160        (WebKit::ChildProcess::messageSenderDestinationID):
12161        * Shared/ChildProcess.h:
12162        (ChildProcess):
12163        * Shared/Downloads/Download.cpp:
12164        (WebKit::Download::messageSenderConnection):
12165        (WebKit):
12166        (WebKit::Download::messageSenderDestinationID):
12167        * Shared/Downloads/Download.h:
12168        (Download):
12169        * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
12170        (WebKit::CustomProtocolManager::initialize):
12171        * Shared/WebConnection.h:
12172        (WebConnection):
12173        * Shared/mac/SecItemShim.cpp:
12174        (WebKit::sendSecItemRequest):
12175        * UIProcess/WebConnectionToWebProcess.cpp:
12176        (WebKit::WebConnectionToWebProcess::hasValidConnection):
12177        (WebKit::WebConnectionToWebProcess::messageSenderConnection):
12178        (WebKit::WebConnectionToWebProcess::messageSenderDestinationID):
12179        * UIProcess/WebConnectionToWebProcess.h:
12180        (WebConnectionToWebProcess):
12181        * WebKit2.xcodeproj/project.pbxproj:
12182        * WebProcess/Geolocation/WebGeolocationManager.cpp:
12183        (WebKit::WebGeolocationManager::registerWebPage):
12184        (WebKit::WebGeolocationManager::unregisterWebPage):
12185        * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
12186        (WebKit::WebIconDatabaseProxy::retainIconForPageURL):
12187        (WebKit::WebIconDatabaseProxy::releaseIconForPageURL):
12188        (WebKit::WebIconDatabaseProxy::synchronousIconForPageURL):
12189        (WebKit::WebIconDatabaseProxy::loadDecisionForIconURL):
12190        (WebKit::WebIconDatabaseProxy::setIconURLForPageURL):
12191        (WebKit::WebIconDatabaseProxy::setIconDataForIconURL):
12192        * WebProcess/InjectedBundle/InjectedBundle.cpp:
12193        (WebKit::InjectedBundle::postMessage):
12194        (WebKit::InjectedBundle::postSynchronousMessage):
12195        * WebProcess/Network/WebResourceLoader.cpp:
12196        (WebKit::WebResourceLoader::messageSenderConnection):
12197        (WebKit::WebResourceLoader::messageSenderDestinationID):
12198        * WebProcess/Network/WebResourceLoader.h:
12199        (WebResourceLoader):
12200        * WebProcess/Notifications/WebNotificationManager.cpp:
12201        (WebKit::WebNotificationManager::show):
12202        (WebKit::WebNotificationManager::cancel):
12203        (WebKit::WebNotificationManager::clearNotifications):
12204        (WebKit::WebNotificationManager::didDestroyNotification):
12205        * WebProcess/Plugins/PDF/PDFPlugin.mm:
12206        (WebKit::PDFPlugin::writeItemsToPasteboard):
12207        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
12208        (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
12209        * WebProcess/Storage/StorageAreaMap.cpp:
12210        (WebKit::StorageAreaMap::StorageAreaMap):
12211        (WebKit::StorageAreaMap::~StorageAreaMap):
12212        (WebKit::StorageAreaMap::setItem):
12213        (WebKit::StorageAreaMap::removeItem):
12214        (WebKit::StorageAreaMap::clear):
12215        (WebKit::StorageAreaMap::loadValuesIfNeeded):
12216        * WebProcess/WebConnectionToUIProcess.cpp:
12217        (WebKit::WebConnectionToUIProcess::hasValidConnection):
12218        (WebKit::WebConnectionToUIProcess::messageSenderConnection):
12219        (WebKit::WebConnectionToUIProcess::messageSenderDestinationID):
12220        * WebProcess/WebConnectionToUIProcess.h:
12221        (WebConnectionToUIProcess):
12222        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
12223        (WebKit::WebChromeClient::windowRect):
12224        (WebKit::WebChromeClient::focusedFrameChanged):
12225        (WebKit::WebChromeClient::createWindow):
12226        (WebKit::WebChromeClient::toolbarsVisible):
12227        (WebKit::WebChromeClient::statusbarVisible):
12228        (WebKit::WebChromeClient::menubarVisible):
12229        (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
12230        (WebKit::WebChromeClient::runJavaScriptAlert):
12231        (WebKit::WebChromeClient::runJavaScriptConfirm):
12232        (WebKit::WebChromeClient::runJavaScriptPrompt):
12233        (WebKit::WebChromeClient::shouldInterruptJavaScript):
12234        (WebKit::WebChromeClient::exceededDatabaseQuota):
12235        * WebProcess/WebCoreSupport/WebColorChooser.cpp:
12236        (WebKit::WebColorChooser::WebColorChooser):
12237        (WebKit::WebColorChooser::setSelectedColor):
12238        (WebKit::WebColorChooser::endChooser):
12239        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
12240        (WebKit::WebFrameLoaderClient::dispatchDidReceiveIcon):
12241        (WebKit::WebFrameLoaderClient::updateGlobalHistory):
12242        (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
12243        (WebKit::WebFrameLoaderClient::setTitle):
12244        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
12245        (WebKit::WebPlatformStrategies::populatePluginCache):
12246        (WebKit::WebPlatformStrategies::getTypes):
12247        (WebKit::WebPlatformStrategies::bufferForType):
12248        (WebKit::WebPlatformStrategies::getPathnamesForType):
12249        (WebKit::WebPlatformStrategies::stringForType):
12250        (WebKit::WebPlatformStrategies::copy):
12251        (WebKit::WebPlatformStrategies::changeCount):
12252        (WebKit::WebPlatformStrategies::uniqueName):
12253        (WebKit::WebPlatformStrategies::color):
12254        (WebKit::WebPlatformStrategies::url):
12255        (WebKit::WebPlatformStrategies::addTypes):
12256        (WebKit::WebPlatformStrategies::setTypes):
12257        (WebKit::WebPlatformStrategies::setBufferForType):
12258        (WebKit::WebPlatformStrategies::setPathnamesForType):
12259        (WebKit::WebPlatformStrategies::setStringForType):
12260        * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
12261        (WebKit::WebPopupMenu::show):
12262        (WebKit::WebPopupMenu::hide):
12263        * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
12264        (WebKit::WebSearchPopupMenu::saveRecentSearches):
12265        (WebKit::WebSearchPopupMenu::loadRecentSearches):
12266        * WebProcess/WebPage/EventDispatcher.cpp:
12267        (WebKit::EventDispatcher::sendDidReceiveEvent):
12268        * WebProcess/WebPage/WebBackForwardListProxy.cpp:
12269        (WebKit::updateBackForwardItem):
12270        (WebKit::WebBackForwardListProxy::itemAtIndex):
12271        (WebKit::WebBackForwardListProxy::backListCount):
12272        (WebKit::WebBackForwardListProxy::forwardListCount):
12273        * WebProcess/WebPage/WebInspector.cpp:
12274        (WebKit::WebInspector::createInspectorPage):
12275        (WebKit::WebInspector::didClose):
12276        (WebKit::WebInspector::bringToFront):
12277        (WebKit::WebInspector::inspectedURLChanged):
12278        (WebKit::WebInspector::save):
12279        (WebKit::WebInspector::append):
12280        (WebKit::WebInspector::attachBottom):
12281        (WebKit::WebInspector::attachRight):
12282        (WebKit::WebInspector::detach):
12283        (WebKit::WebInspector::setAttachedWindowHeight):
12284        (WebKit::WebInspector::setAttachedWindowWidth):
12285        (WebKit::WebInspector::setToolbarHeight):
12286        (WebKit::WebInspector::updateDockingAvailability):
12287        (WebKit::WebInspector::sendMessageToRemoteFrontend):
12288        * WebProcess/WebPage/WebPage.cpp:
12289        (WebKit::WebPage::messageSenderConnection):
12290        (WebKit):
12291        (WebKit::WebPage::messageSenderDestinationID):
12292        * WebProcess/WebPage/WebPage.h:
12293        (WebPage):
12294        * WebProcess/WebPage/mac/WebPageMac.mm:
12295        (WebKit::WebPage::executeKeypressCommandsInternal):
12296        (WebKit::WebPage::handleEditingKeyboardEvent):
12297        * WebProcess/WebProcess.cpp:
12298        (WebKit::WebProcess::ensureNetworkProcessConnection):
12299        (WebKit::WebProcess::shouldTerminate):
12300
123012013-05-24  Tim Horton  <timothy_horton@apple.com>
12302
12303        Animated GIFs don't repaint after TiledCoreAnimationDrawingArea un-suspends painting
12304        https://bugs.webkit.org/show_bug.cgi?id=116744
12305        <rdar://problem/13973514>
12306
12307        Reviewed by Simon Fraser.
12308
12309        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
12310        (WebKit::TiledCoreAnimationDrawingArea::resumePainting):
12311        Force WebCore to repaint animated images when painting is resumed.
12312
123132013-05-24  Christophe Dumez  <ch.dumez@sisa.samsung.com>
12314
12315        Remove custom code for webkitAudioContext global constructor getter
12316        https://bugs.webkit.org/show_bug.cgi?id=116530
12317
12318        Reviewed by Geoffrey Garen.
12319
12320        Use RuntimeEnabledFeatures instead of WebCore Settings to toggle Web Audio support.
12321
12322        * WebProcess/InjectedBundle/InjectedBundle.cpp:
12323        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
12324        * WebProcess/WebPage/WebPage.cpp:
12325        (WebKit::WebPage::updatePreferences):
12326
123272013-05-24  Thomas Deniau  <deniau@apple.com>
12328
12329        Add more lines to the context during Dictionary lookups
12330        https://bugs.webkit.org/show_bug.cgi?id=115256
12331
12332        Reviewed by Ryosuke Niwa.
12333
12334        * WebProcess/WebPage/mac/WebPageMac.mm:
12335        (WebKit::WebPage::performDictionaryLookupAtLocation):
12336        Instead of using the current paragraph as the context (which stops at
12337        line breaks), get a few lines before and after the point, so that the
12338        context contains at least four lines in each direction.
12339        This way the Dictionary will be able to look up things that extend past
12340        the current line.
12341
123422013-05-24  Anders Carlsson  <andersca@apple.com>
12343
12344        Intermittent crash when typing in Address Bar
12345        https://bugs.webkit.org/show_bug.cgi?id=116728
12346        <rdar://problem/13976781>
12347
12348        Reviewed by Sam Weinig.
12349
12350        If a web process connection has been removed from the storage manager because we disconnected it
12351        since there were no more active pages associated with the web process, we'll fail to find it here
12352        so just return early instead of crashing.
12353
12354        * UIProcess/Storage/StorageManager.cpp:
12355        (WebKit::StorageManager::destroyStorageMap):
12356
123572013-05-24  Andreas Kling  <akling@apple.com>
12358
12359        Typing in Safari's unified field causes unnecessary web content repaints.
12360        <http://webkit.org/b/116703>
12361
12362        Reviewed by Andy Estes.
12363
12364        * WebProcess/WebPage/FindController.cpp:
12365        (WebKit::FindController::countStringMatches):
12366
12367            Call WebCore::Page::countMatchesForText() instead of markAllMatchesForText(). If the search string
12368            is found inside the page content, the renderer containing that text will no longer be repainted.
12369
123702013-05-23  Ryuan Choi  <ryuan.choi@samsung.com>
12371
12372        [WK2][EFL][QT] Build break after r150610
12373        https://bugs.webkit.org/show_bug.cgi?id=116699
12374
12375        Reviewed by Csaba Osztrogonác.
12376
12377        * UIProcess/WebPageProxy.cpp:
12378        (WebKit::WebPageProxy::findPlugin): Initialized pluginProcessSandboxPolicy.
12379
123802013-05-23  Anders Carlsson  <andersca@apple.com>
12381
12382        Shim Flash plug-in to allow its updater to run
12383        https://bugs.webkit.org/show_bug.cgi?id=116692
12384        <rdar://problem/13938510>
12385
12386        Reviewed by Sam Weinig.
12387
12388        * PluginProcess/PluginProcess.h:
12389        * PluginProcess/mac/PluginProcessMac.mm:
12390        (WebKit::replacedNSConcreteTask_launch):
12391        (WebKit::initializeCocoaOverrides):
12392        Patch -[NSConcreteTask launch] to call PluginProcess::launchProcess.
12393
12394        (WebKit::PluginProcess::launchProcess):
12395        Send a LaunchProcess message to the UI process.
12396
12397        * UIProcess/Plugins/PluginProcessProxy.cpp:
12398        * UIProcess/Plugins/PluginProcessProxy.h:
12399        Remove PluginProcessProxy::didReceiveMessage.
12400
12401        (PluginProcessProxy):
12402        * UIProcess/Plugins/PluginProcessProxy.messages.in:
12403        Add LaunchProcess message and remove LegacyReceiver attribute.
12404
12405        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
12406        (WebKit::isFlashUpdater):
12407        Helper function to determine whether the process is the flash updater.
12408
12409        (WebKit::shouldLaunchProcess):
12410        Return whether we should launch this process.
12411
12412        (WebKit::PluginProcessProxy::launchProcess):
12413        Determine if we should launch this process and then do so.
12414
124152013-05-23  Anders Carlsson  <andersca@apple.com>
12416
12417        Don't run all plug-ins unsandboxed
12418        https://bugs.webkit.org/show_bug.cgi?id=116690
12419        <rdar://problem/13975569>
12420
12421        Reviewed by Jessie Berlin.
12422
12423        Remove debugging code.
12424
12425        * UIProcess/WebPageProxy.cpp:
12426        (WebKit::WebPageProxy::findPlugin):
12427
124282013-05-23  Anders Carlsson  <andersca@apple.com>
12429
12430        Crash in convertMainResourceLoadToDownload when downloading file by option-return
12431        https://bugs.webkit.org/show_bug.cgi?id=116451
12432
12433        Reviewed by Andreas Kling.
12434
12435        If the main resource loader is null, create a new download instead since there's no existing loader to convert.
12436
12437        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
12438        (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
12439        * WebProcess/WebPage/WebFrame.cpp:
12440        (WebKit::WebFrame::convertMainResourceLoadToDownload):
12441
124422013-05-22  Alexey Proskuryakov  <ap@apple.com>
12443
12444        <rdar://problem/13849260> Sandbox violations reading .CFUserTextEncoding
12445
12446        Reviewed by Dan Bernstein.
12447
12448        * WebProcess/com.apple.WebProcess.sb.in: Allow this.
12449
124502013-05-23  Gavin Barraclough  <barraclough@apple.com>
12451
12452        Move posix_spawn onto a zero delay timer
12453        https://bugs.webkit.org/show_bug.cgi?id=116682
12454
12455        Reviewed by Anders Carlson.
12456
12457        <rdar://problem/13973468>
12458
12459        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
12460        (ReexecInfo):
12461            - struct to hold info from the XPC message.
12462        (WebKit::reexec):
12463            - moved call to posix_spawn out to this helper.
12464        (WebKit::reexecCallBack):
12465            - calls reexec.
12466        (WebKit::XPCServiceEventHandler):
12467            - removed call to posix_spawn; schedule a call to reexecCallBack.
12468
124692013-05-23  Csaba Osztrogonác  <ossy@webkit.org>
12470
12471        [cmake] Fix generating-forwarding-headers rule after r150460
12472        https://bugs.webkit.org/show_bug.cgi?id=116659
12473
12474        Reviewed by Christophe Dumez.
12475
12476        * CMakeLists.txt: Typo fix.
12477
124782013-05-23  Anton Obzhirov  <a.obzhirov@samsung.com>
12479
12480        [GTK] Remote Web Inspector sometimes won't serve any content
12481        https://bugs.webkit.org/show_bug.cgi?id=116225
12482
12483        Reviewed by Gustavo Noronha Silva.
12484
12485        Added an option to use environment variable to set up path to
12486        inspector server files. Implementation is similar to InspectorClientGtk
12487        implementation.
12488
12489        * UIProcess/InspectorServer/WebInspectorServer.h:
12490        (WebInspectorServer):
12491        * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
12492        (WebKit::WebInspectorServer::platformResourceForPath):
12493        (WebKit::WebInspectorServer::inspectorServerFilesPath):
12494        (WebKit):
12495
124962013-05-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
12497
12498        [EFL][WK2] Use WK2 C API in ewk_view_pagination_mode_set|get
12499        https://bugs.webkit.org/show_bug.cgi?id=116657
12500
12501        Reviewed by Christophe Dumez.
12502
12503        WKPageGet|SetPaginationMode APIs is present in WK2 C APIs. So, we need to use them for
12504        ewk_view_pagination_mode_set|get.
12505
12506        Besides we don't need to use WebCore namespace anymore.
12507
12508        * UIProcess/API/efl/ewk_view.cpp:
12509        (ewk_view_pagination_mode_set):
12510        (ewk_view_pagination_mode_get):
12511
125122013-05-23  Roland Takacs  <rtakacs@inf.u-szeged.hu>
12513
12514        Support frame instrumentation for coordinated graphics
12515        https://bugs.webkit.org/show_bug.cgi?id=115260
12516
12517        Reviewed by Andreas Kling.
12518
12519        Enabled supportsFrameInstrumentation on ports that use coordinated graphics
12520        by calling didBeginFrame().
12521
12522        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
12523        (WebKit::WebInspectorClient::supportsFrameInstrumentation):
12524        (WebKit):
12525        * WebProcess/WebCoreSupport/WebInspectorClient.h:
12526        (WebInspectorClient):
12527        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
12528        (WebKit::CoordinatedLayerTreeHost::syncDisplayState):
12529
125302013-05-22  Dean Jackson  <dino@apple.com>
12531
12532        Don't snapshot plugins that can't be snapshotted
12533        https://bugs.webkit.org/show_bug.cgi?id=116490
12534
12535        Reviewed by Tim Horton.
12536
12537        Some plugins, such as QuickTime, don't support snapshotting. We're
12538        planning on another way to capture snapshots, but in the meantime make
12539        sure that they don't fail to initialise because they were told to
12540        not use accelerated rendering.
12541
12542        Expose a new message on the plugins so that they can tell the PluginView
12543        if they support snapshotting or not.
12544
12545        * PluginProcess/PluginControllerProxy.cpp:
12546        (WebKit::PluginControllerProxy::supportsSnapshotting): New method.
12547        * PluginProcess/PluginControllerProxy.h: Ditto.
12548        * PluginProcess/PluginControllerProxy.messages.in: Message signature.
12549
12550        * WebProcess/Plugins/Netscape/NetscapePlugin.h: Add supportsSnapshotting.
12551        * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Ditto.
12552        * WebProcess/Plugins/Plugin.h: Ditto - pure virtual here.
12553
12554        * WebProcess/Plugins/PluginProxy.cpp:
12555        (WebKit::PluginProxy::supportsSnapshotting): Send the message to the plugin process and return the results.
12556        * WebProcess/Plugins/PluginProxy.h:
12557
12558        * WebProcess/Plugins/PluginView.cpp:
12559        (WebKit::PluginView::didInitializePlugin): If the snapshotting plugin has a layer, make
12560            sure to add it to the tree.
12561        (WebKit::PluginView::isAcceleratedCompositingEnabled): Snapshotting plugins can use
12562            accelerated compositing, just like normal plugins.
12563        (WebKit::PluginView::pluginSnapshotTimerFired): If the plugin doesn't allow snapshotting,
12564            immediately restart it.
12565
125662013-05-22  Anders Carlsson  <andersca@apple.com>
12567
12568        Fix crash when closing a page that's trying to access session storage
12569        https://bugs.webkit.org/show_bug.cgi?id=116634
12570        <rdar://problem/13904054>
12571
12572        Reviewed by Geoffrey Garen.
12573
12574        It is possible for the StorageManager to get messages from a web page that has already been closed by the UI process.
12575        If that happens, just ignore the messages.
12576
12577        * UIProcess/Storage/StorageManager.cpp:
12578        (WebKit::StorageManager::createSessionStorageMap):
12579        (WebKit::StorageManager::getValues):
12580        (WebKit::StorageManager::setItem):
12581        (WebKit::StorageManager::removeItem):
12582        (WebKit::StorageManager::clear):
12583        (WebKit::StorageManager::destroySessionStorageNamespaceInternal):
12584
125852013-05-22  Alexey Proskuryakov  <ap@apple.com>
12586
12587        Crashes in NetworkProcess due to incorrect private browsing session tracking
12588        https://bugs.webkit.org/show_bug.cgi?id=116628
12589
12590        Reviewed by Brady Eidson.
12591
12592        The current API for private browsing makes it extremely difficult to track sessions.
12593        Private browsing is enabled via WKPreferences, but the session is shared, so it
12594        has to be maintained while there is any chance that any page group anywhere still
12595        needs it.
12596
12597        This patch fixes some of the issues, but ultimately, I think that we'll just need
12598        to deprecate and replace the API.
12599
12600        * NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::storageSession):
12601        There are valid scenarios where privateBrowsingEnabled is true, but there is no
12602        private browsing session. Handle that without crashing, although this unfortunately
12603        means that it will be harder to spot logic errors when using a wrong session.
12604        (WebKit::NetworkConnectionToWebProcess::registerBlobURL): Removed an obsolete FIXME.
12605
12606        * NetworkProcess/mac/RemoteNetworkingContext.h: Changed privateBrowsingSession()
12607        to return a pointer, as no caller could know when it was safe to call it.
12608
12609        * NetworkProcess/mac/RemoteNetworkingContext.mm:
12610        (WebKit::RemoteNetworkingContext::storageSession): Handle the case where private
12611        browsing session is unexpectedly missing without crashing.
12612        (WebKit::RemoteNetworkingContext::privateBrowsingSession): Changed to return a pointer.
12613
12614        * UIProcess/WebContext.cpp: (WebKit::WebContext::ensureNetworkProcess):
12615        Actually initialize privateBrowsingEnabled creation parameter. It would be very
12616        difficult to figure out 100% reliably whether NetworkProcess needs a private browsing
12617        session with the current API, but for existing clients, looking at
12618        m_privateBrowsingEnterCount is good enough. Certainly better than not initializing.
12619
12620        * WebProcess/InjectedBundle/InjectedBundle.cpp:
12621        (WebKit::InjectedBundle::setPrivateBrowsingEnabled): Added a FIXME.
12622
126232013-05-22  Tim Horton  <timothy_horton@apple.com>
12624
12625        [wk2] Should be able to make tiled WKViews clip to the view's exposed rect without using autolayout
12626        https://bugs.webkit.org/show_bug.cgi?id=116625
12627        <rdar://problem/13962816>
12628
12629        Reviewed by Anders Carlsson.
12630
12631        The two modes are not dependent; it should be possible to enable
12632        clips-to-exposed-rect without using autolayout. This enables apps to
12633        make very large tiled WKViews that don't create tiles for the whole
12634        area of the view (and also disables scrolling, since that is currently
12635        incompatible with clipping to the exposed rect).
12636
12637        * UIProcess/API/mac/WKView.mm:
12638        (-[WKView setFrameSize:]):
12639        (-[WKView _updateWindowAndViewFrames]):
12640        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
12641        (-[WKView enableFrameSizeUpdates]):
12642        (-[WKView forceAsyncDrawingAreaSizeUpdate:]):
12643        Rename _expandsToFitContentViaAutoLayout to _clipsToVisibleRect for accuracy.
12644
12645        (-[WKView setMinimumWidthForAutoLayout:]):
12646        Factor clips-to-sisible-rect toggle out into setShouldClipToVisibleRect.
12647
12648        (-[WKView shouldClipToVisibleRect]):
12649        (-[WKView setShouldClipToVisibleRect:]):
12650        Allow setting clips-to-visible-rect without autolayout.
12651
12652        * UIProcess/API/mac/WKViewPrivate.h:
12653        Add shouldClipToVisibleRect property.
12654
126552013-05-22  Alexey Proskuryakov  <ap@apple.com>
12656
12657        Remove unused private browsing override support
12658        <rdar://problem/11969491>
12659
12660        Rubber-stamped by Sam Weinig.
12661
12662        Private browsing override is unused, and it complicates tracking of private
12663        browsing sessions in UI process (in fact, it doesn't plug into this tracking at all,
12664        so we would just assert if we used the API).
12665
12666        * Shared/WebPageCreationParameters.cpp:
12667        (WebKit::WebPageCreationParameters::encode):
12668        (WebKit::WebPageCreationParameters::decode):
12669        * Shared/WebPageCreationParameters.h:
12670        * UIProcess/API/C/WKPage.cpp:
12671        * UIProcess/API/C/WKPagePrivate.h:
12672        * UIProcess/WebPageProxy.cpp:
12673        (WebKit::WebPageProxy::WebPageProxy):
12674        (WebKit::WebPageProxy::creationParameters):
12675        * UIProcess/WebPageProxy.h:
12676        * WebProcess/WebPage/WebPage.cpp:
12677        (WebKit::WebPage::WebPage):
12678        (WebKit::WebPage::updatePreferences):
12679        * WebProcess/WebPage/WebPage.h:
12680        * WebProcess/WebPage/WebPage.messages.in:
12681
126822013-05-22  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
12683
12684        [EFL][WK2] Change Ewk_Context_Menu_Item's parent menu to raw pointer
12685        https://bugs.webkit.org/show_bug.cgi?id=116549
12686
12687        Reviewed by Christophe Dumez.
12688
12689        A context menu item should have only a pointer to parent menu instead
12690        of owning parent menu.
12691
12692        * UIProcess/API/efl/ewk_context_menu_item.cpp:
12693        (EwkContextMenuItem::EwkContextMenuItem):
12694        * UIProcess/API/efl/ewk_context_menu_item_private.h:
12695        (EwkContextMenuItem::create):
12696        (EwkContextMenuItem::parentMenu):
12697        (EwkContextMenuItem):
12698
126992013-05-22  Csaba Osztrogonác  <ossy@webkit.org>
12700
12701        [Qt][WK2] Unreviewed buildfix after r150484.
12702
12703        * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
12704        (WebKit::PluginProcessProxy::platformGetLaunchOptions):
12705
127062013-05-21  Andreas Kling  <akling@apple.com>
12707
12708        REGRESSION(r150491): WebKit2.CloseThenTerminate asserting below WebContext::disconnectProcess().
12709        <http://webkit.org/b/116588>
12710
12711        Reviewed by Sam Weinig.
12712
12713        Do an early return from WebProcessProxy::requestTermination() if there is no child process
12714        connection to terminate.
12715
12716        * UIProcess/WebProcessProxy.cpp:
12717        (WebKit::WebProcessProxy::requestTermination):
12718
127192013-05-21  Mark Rowe  <mrowe@apple.com>
12720
12721        <rdar://problem/13915556> Sluggish scrolling in web content
12722
12723        Reviewed by Gavin Barraclough.
12724
12725        * Shared/mac/ChildProcessMac.mm:
12726        (WebKit::ChildProcess::setProcessSuppressionEnabled): When process suppression is disabled, low latency is important.
12727
127282013-05-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
12729
12730        Fix build break after r150484
12731
12732        Unreviewed, fix build break on EFL, GTK.
12733
12734        * UIProcess/Plugins/PluginInfoStore.cpp:
12735        (WebKit::PluginInfoStore::defaultLoadPolicyForPlugin):
12736        * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
12737        (WebKit::PluginProcessProxy::platformGetLaunchOptions):
12738
127392013-05-21  Andreas Kling  <akling@apple.com>
12740
12741        PPT: Closing tab that is hung or chewing 100% CPU leaves abandoned WebProcess.
12742        <http://webkit.org/b/116464>
12743        <rdar://problem/10103795>
12744
12745        Reviewed by Anders Carlsson.
12746
12747        Simplify the web process sacrifice ritual. Instead of murderizing the process when its last tab closes,
12748        just shut down the CoreIPC connection from the UI process. The web process, upon noticing this,
12749        will start a 10 second watchdog timer, and if it hasn't shut down by the time it fires, well, it'll shut down.
12750
12751        (WebKit::WebProcessProxy::removeWebPage):
12752
12753            When the last page is removed from a WebProcessProxy, disconnect the process so that it'll die off
12754            eventually, even if the WebPage::Close message never gets properly handled.
12755
12756        * Shared/ChildProcessProxy.h:
12757        * Shared/ChildProcessProxy.cpp:
12758        (WebKit::ChildProcessProxy::abortProcessLaunchIfNeeded):
12759
12760            Added a helper to abort any in-progress launch of a new web process. Otherwise we'll have a race
12761            where the exiting web process may get re-used for a new tab.
12762
12763        * UIProcess/WebProcessProxy.h:
12764        * UIProcess/WebProcessProxy.cpp:
12765        (WebKit::WebProcessProxy::WebProcessProxy):
12766        (WebKit::WebProcessProxy::enableSuddenTermination):
12767        (WebKit::WebProcessProxy::disableSuddenTermination):
12768
12769            Remove WebProcessProxy's sudden termination counter. The web process will do what it needs in
12770            response to the WebPage::Close message. We still forward these calls to NSProcessInfo on Mac though.
12771
127722013-05-21  Anders Carlsson  <andersca@apple.com>
12773
12774        Fix build.
12775
12776        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
12777        (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
12778        Stop using lambdas :(
12779
127802013-05-21  Anders Carlsson  <andersca@apple.com>
12781
12782        Provide an API to run sandboxed plug-ins outside of their sandbox
12783        https://bugs.webkit.org/show_bug.cgi?id=116578
12784
12785        Reviewed by Andreas Kling.
12786
12787        * Platform/CoreIPC/HandleMessage.h:
12788        (CoreIPC::callMemberFunction):
12789        Add new overload.
12790
12791        * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
12792        (WebKit::PluginProcessMainDelegate::getExtraInitializationData):
12793        Handle "disable-sandbox".
12794
12795        * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
12796        (WebKit::PluginServiceInitializerDelegate::getExtraInitializationData):
12797        Handle "disable-sandbox".
12798        
12799        * PluginProcess/PluginProcess.h:
12800        Move Type to PluginProcessAttributes and remove hash traits for type.
12801        
12802        * PluginProcess/mac/PluginProcessMac.mm:
12803        (WebKit::PluginProcess::platformInitializePluginProcess):
12804        Update for new type name.
12805
12806        (WebKit::PluginProcess::initializeSandbox):
12807        Return early if the sandbox is disabled.
12808
12809        * Shared/Plugins/Netscape/PluginInformation.cpp:
12810        (WebKit::getPluginModuleInformation):
12811        PluginInfoStore::policyForPlugin has been renamed to PluginInfoStore::defaultLoadPolicyForPlugin.
12812
12813        * Shared/Plugins/PluginModuleInfo.h:
12814        Add PluginModuleLoadUnsandboxed.
12815
12816        * Shared/Plugins/PluginProcessAttributes.h: Added.
12817        Add new header with various plug-in process attributes.
12818
12819        * Shared/Plugins/PluginProcessCreationParameters.h:
12820        Change type enum.
12821
12822        * UIProcess/API/C/WKAPICast.h:
12823        (WebKit::toWKPluginLoadPolicy):
12824        (WebKit::toPluginModuleLoadPolicy):
12825        Handle the unsandboxed enum.
12826
12827        * UIProcess/API/C/WKPage.h:
12828        Add kWKPluginLoadPolicyLoadUnsandboxed.
12829
12830        * UIProcess/Plugins/PluginInfoStore.h:
12831        Rename policyForPlugin to defaultLoadPolicyForPlugin.
12832
12833        * UIProcess/Plugins/PluginProcessManager.cpp:
12834        (WebKit::PluginProcessManager::pluginProcessToken):
12835        Add new helper function for getting a token given plug-in attributes.
12836
12837        (WebKit::PluginProcessManager::getPluginProcessConnection):
12838        This now takes a pluginProcessToken.
12839
12840        (WebKit::PluginProcessManager::getSitesWithData):
12841        Make sure to call pluginProcessToken.
12842
12843        (WebKit::PluginProcessManager::clearSiteData):
12844        Ditto.
12845
12846        (WebKit::PluginProcessManager::getOrCreatePluginProcess):
12847        This now takes a token.
12848
12849        * UIProcess/Plugins/PluginProcessProxy.cpp:
12850        (WebKit::PluginProcessProxy::create):
12851        (WebKit::PluginProcessProxy::PluginProcessProxy):
12852        Pass the PluginProcessAttributes as well as the plug-in process token.
12853
12854        (WebKit::PluginProcessProxy::getLaunchOptions):
12855        Pass the plug-in process attributes to platformGetLaunchOptions.
12856
12857        (WebKit::PluginProcessProxy::didClose):
12858        Pass the token to PluginProcessCrashed.
12859
12860        (WebKit::PluginProcessProxy::didFinishLaunching):
12861        Update for type change.
12862
12863        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
12864        (WebKit::shouldBlockPlugin):
12865        (WebKit::PluginInfoStore::defaultLoadPolicyForPlugin):
12866        Rename policyForPlugin to defaultLoadPolicyForPlugin.
12867
12868        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
12869        (WebKit::PluginProcessProxy::platformGetLaunchOptions):
12870        Set the "disable-sandbox" data if needed.
12871
12872        (WebKit::PluginProcessProxy::platformInitializePluginProcess):
12873        (WebKit::PluginProcessProxy::openPluginPreferencePane):
12874        Get the module info from m_pluginProcessAttributes.
12875
12876        * UIProcess/WebPageProxy.cpp:
12877        (WebKit::WebPageProxy::findPlugin):
12878        This now returns a token.
12879
12880        * UIProcess/WebPageProxy.messages.in:
12881        FindPlugin now returns a token instead of the path.
12882
12883        * UIProcess/WebProcessProxy.cpp:
12884        (WebKit::WebProcessProxy::getPluginProcessConnection):
12885        Pass the token to the plug-in process manager.
12886
12887        * UIProcess/WebProcessProxy.messages.in:
12888        This now takes a token.
12889
12890        * WebKit2.xcodeproj/project.pbxproj:
12891        Add new files.
12892
12893        * WebProcess/Plugins/PluginProcessConnection.cpp:
12894        (WebKit::PluginProcessConnection::PluginProcessConnection):
12895        This now takes a token.
12896
12897        * WebProcess/Plugins/PluginProcessConnection.h:
12898        (WebKit::PluginProcessConnection::create):
12899        (WebKit::PluginProcessConnection::pluginProcessToken):
12900        Create this with a token instead of a path and process type.
12901
12902        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
12903        (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
12904        This now takes a token.
12905
12906        (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
12907        Ditto.
12908
12909        * WebProcess/Plugins/PluginProcessConnectionManager.messages.in:
12910        PluginProcessCrashed now takes a token.
12911
12912        * WebProcess/Plugins/PluginProxy.cpp:
12913        (WebKit::PluginProxy::create):
12914        (WebKit::PluginProxy::PluginProxy):
12915        These now take tokens.
12916
12917        (WebKit::PluginProxy::initialize):
12918        Pass the token when getting the connection.
12919
12920        * WebProcess/WebPage/WebPage.cpp:
12921        (WebKit::WebPage::createPlugin):
12922        Get the token from the UI process and pass it to the PluginProxy.
12923
12924        (WebKit::WebPage::canPluginHandleResponse):
12925        Update now that FindPlugin returns a token.
12926
129272013-05-21  Martin Robinson  <mrobinson@igalia.com>
12928
12929        [GTK] [CMake] Add support for building WebKit2
12930        https://bugs.webkit.org/show_bug.cgi?id=116372
12931
12932        Reviewed by Gustavo Noronha Silva.
12933
12934        * CMakeLists.txt: Add common directories to the common include list and remove UIProcess/PageViewportController.cpp
12935        from the source list since it should only be compiled for WebKitEFL. Instead of taking explicit forwarding-header
12936        dependencies accept a list of "tacked-on" dependencies for WebKit2. This allows GTK+ to specify its extra fake
12937        installed header step.
12938        * PlatformEfl.cmake: Remove common include directories and add UIProcess/PageViewportController.cpp to the source
12939        list. Fix up forwarding header dependencies now.
12940        * PlatformGTK.cmake: Added.
12941        * config.h: First check whether this is a CMake build and then fall back to the autotools header.
12942
129432013-05-21  Zan Dobersek  <zdobersek@igalia.com>
12944
12945        [GTK] Compile everything in C++11 mode
12946        https://bugs.webkit.org/show_bug.cgi?id=116452
12947
12948        Reviewed by Anders Carlsson.
12949
12950        * GNUmakefile.am: Remove the -std=c++11 flags from the various CPPFLAGS lists, the mode is now specified
12951        by default for all the C++ source code in SetupCompilerFlags.m4.
12952
129532013-05-21  Jessie Berlin  <jberlin@apple.com>
12954
12955        Expose a way to know when forms are added to a page or when form controls are added to a form
12956        in the injected bundle
12957        https://bugs.webkit.org/show_bug.cgi?id=116334
12958
12959        Reviewed by Alexey Proskuryakov.
12960
12961        Add shouldNotifyOnFormChanges and didAssociateFormControls to the WKBundlePageFormClient.
12962
12963        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
12964        Add the new callbacks as part of version 2 of the WKBundlePageFormClient.
12965
12966        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
12967        (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
12968        Pass the message along to the client if the client has a handler.
12969        (WebKit::InjectedBundlePageFormClient::shouldNotifyOnFormChanges):
12970        Ditto.
12971        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
12972
12973        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
12974        (WebKit::WebChromeClient::didAssociateFormControls):
12975        Tell the injected bundle form client for the page.
12976        (WebKit::WebChromeClient::shouldNotifyOnFormChanges):
12977        Ditto.
12978        * WebProcess/WebCoreSupport/WebChromeClient.h:
12979
129802013-05-21  Michael Brüning  <michael.bruning@digia.com>
12981
12982        [Qt][WK2] Fix Mountain Lion builds after r150277.
12983        https://bugs.webkit.org/show_bug.cgi?id=116467
12984
12985        Reviewed by Jocelyn Turcotte.
12986
12987        * Shared/API/c/WKBase.h:
12988
129892013-05-20  Lucas Forschler  <lforschler@apple.com>
12990
12991    Rollout r150398.
12992
129932013-05-20  Zan Dobersek  <zdobersek@igalia.com>
12994
12995        [GTK] Fix concatenations of string literals that are not C++11-compliant
12996        https://bugs.webkit.org/show_bug.cgi?id=116449
12997
12998        Reviewed by Martin Robinson.
12999
13000        Fix the problematic concatenations of string literals so they are compilable under the C++11 standard. This
13001        is simply a matter of separating the string and the string literal that are being concatenated with a space.
13002
13003        * UIProcess/API/gtk/tests/TestPrinting.cpp:
13004        (testPrintOperationPrint):
13005        * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
13006        (methodCallCallback):
13007
130082013-05-20  Commit Queue  <commit-queue@webkit.org>
13009
13010        Unreviewed, rolling out r150384.
13011        http://trac.webkit.org/changeset/150384
13012        https://bugs.webkit.org/show_bug.cgi?id=116513
13013
13014        Not ready for primetime. (Requested by kling on #webkit).
13015
13016        * UIProcess/WebProcessProxy.cpp:
13017        (WebKit::WebProcessProxy::WebProcessProxy):
13018        (WebKit::WebProcessProxy::removeWebPage):
13019        * UIProcess/WebProcessProxy.h:
13020        (WebProcessProxy):
13021
130222013-05-20  Martin Robinson  <mrobinson@igalia.com>
13023
13024        Remove SharedMemoryGtk.cpp
13025        https://bugs.webkit.org/show_bug.cgi?id=116457
13026
13027        Reviewed by Andreas Kling.
13028
13029        * Platform/gtk/SharedMemoryGtk.cpp: Removed.
13030
130312013-05-20  Jessie Berlin  <jberlin@apple.com>
13032
13033        Expose a way to know when forms are added to a page or when form controls are added to a form
13034        in the injected bundle
13035        https://bugs.webkit.org/show_bug.cgi?id=116334
13036
13037        Reviewed by Alexey Proskuryakov.
13038
13039        Add shouldNotifyOnFormChanges and didAssociateFormControls to the WKBundlePageFormClient.
13040
13041        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
13042        Add the new callbacks as part of version 2 of the WKBundlePageFormClient.
13043
13044        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
13045        (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
13046        Pass the message along to the client if the client has a handler.
13047        (WebKit::InjectedBundlePageFormClient::shouldNotifyOnFormChanges):
13048        Ditto.
13049        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
13050
13051        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
13052        (WebKit::WebChromeClient::didAssociateFormControls):
13053        Tell the injected bundle form client for the page.
13054        (WebKit::WebChromeClient::shouldNotifyOnFormChanges):
13055        Ditto.
13056        * WebProcess/WebCoreSupport/WebChromeClient.h:
13057
130582013-05-20  Tim Horton  <timothy_horton@apple.com>
13059
13060        Clients should have a way to extend rendering suppression
13061        https://bugs.webkit.org/show_bug.cgi?id=116463
13062        <rdar://problem/13738496>
13063
13064        Reviewed by Andy Estes.
13065
13066        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
13067        (WKBundlePageExtendIncrementalRenderingSuppression): Added.
13068        (WKBundlePageStopExtendingIncrementalRenderingSuppression): Added.
13069        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
13070        These only have any effect if SuppressesIncrementalRendering is also enabled.
13071
13072        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
13073        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
13074        Inform the FrameView if there are any outstanding rendering suppression tokens.
13075
13076        * WebProcess/WebPage/WebPage.cpp:
13077        (WebKit::WebPage::WebPage):
13078        (WebKit::WebPage::extendIncrementalRenderingSuppression):
13079        Return the next available rendering suppression token.
13080        Add it to the list of active tokens.
13081        Inform the FrameView that we want to suppress rendering.
13082
13083        (WebKit::WebPage::stopExtendingIncrementalRenderingSuppression):
13084        Remove the given token from the list of active tokens.
13085        Un-suppress rendering if appropriate.
13086
13087        * WebProcess/WebPage/WebPage.h:
13088        (WebKit::WebPage::shouldExtendIncrementalRenderingSuppression):
13089        Return if there are any active rendering suppression tokens.
13090
130912013-05-20  Andreas Kling  <akling@apple.com>
13092
13093        PPT: Closing tab that is hung or chewing 100% CPU leaves abandoned WebProcess.
13094        <http://webkit.org/b/116464>
13095        <rdar://problem/10103795>
13096
13097        Reviewed by Anders Carlsson.
13098
13099        Give the web process a 10 second chance to exit nicely after closing the last tab belonging to it.
13100        This code only runs if there was something on the page (e.g an unload/beforeunload event handler)
13101        preventing the UI process from killing it right away.
13102
13103        * UIProcess/WebProcessProxy.cpp:
13104        (WebKit::WebProcessProxy::WebProcessProxy):
13105        (WebKit::WebProcessProxy::removeWebPage):
13106        (WebKit::WebProcessProxy::forcefulTerminationTimerFired):
13107        * UIProcess/WebProcessProxy.h:
13108        (WebProcessProxy):
13109
131102013-05-20  Anders Carlsson  <andersca@apple.com>
13111
13112        Add helper function for converting a KeyedCodingValue to a CFTypeRef
13113        https://bugs.webkit.org/show_bug.cgi?id=116461
13114
13115        Reviewed by Tim Horton.
13116
13117        * Shared/cf/KeyedCodingValueCF.cpp: Added.
13118        * Shared/cf/KeyedCodingValueCF.h: Added.
13119
13120        * WebKit2.xcodeproj/project.pbxproj:
13121
131222013-05-20  Anders Carlsson  <andersca@apple.com>
13123
13124        Begin stubbing out a new KeyedEncoder class
13125        https://bugs.webkit.org/show_bug.cgi?id=116456
13126
13127        Reviewed by Sam Weinig.
13128
13129        This class (and it's coming counterpart, KeyedDecoder) will be used for serializing
13130        object graphs to a tree-like structure of dictionaries. It is up to individual ports to
13131        serialize them further (for example, on Mac they could be serialized to CFPropertyList objects).
13132        
13133        This will be used for serializing session storage state but I hope that it can be used for serializing
13134        back forward state in the future as our current implementation of back forward state serialization
13135        is fragile and depends on our IPC layer's binary encoding(!).
13136        
13137        * Shared/KeyedCodingValue.h: Added.
13138        * Shared/KeyedEncoder.cpp: Added.
13139        * Shared/KeyedEncoder.h: Added.
13140
13141        * WebKit2.xcodeproj/project.pbxproj:
13142
131432013-05-19  Sam Weinig  <sam@webkit.org>
13144
13145        Bump WKBundlePageLoaderClient version number so as not to break some clients
13146        https://bugs.webkit.org/show_bug.cgi?id=116426
13147
13148        Reviewed by Anders Carlsson.
13149
13150        * Shared/APIClientTraits.cpp:
13151        (WebKit):
13152        * Shared/APIClientTraits.h:
13153        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
13154
131552013-05-19  Anders Carlsson  <andersca@apple.com>
13156
13157        Remove link prerendering code
13158        https://bugs.webkit.org/show_bug.cgi?id=116415
13159
13160        Reviewed by Darin Adler.
13161
13162        This code was only used by Chromium and is dead now.
13163
13164        * Configurations/FeatureDefines.xcconfig:
13165
131662013-05-18  Anders Carlsson  <andersca@apple.com>
13167
13168        Simplify the StorageArea setter functions
13169        https://bugs.webkit.org/show_bug.cgi?id=116402
13170
13171        Reviewed by Sam Weinig.
13172
13173        Remove security checking code that lives in Storage now.
13174
13175        * WebProcess/Storage/StorageAreaImpl.cpp:
13176        (WebKit::StorageAreaImpl::setItem):
13177        (WebKit::StorageAreaImpl::removeItem):
13178        (WebKit::StorageAreaImpl::clear):
13179        * WebProcess/Storage/StorageAreaImpl.h:
13180
131812013-05-18  Sam Weinig  <sam@webkit.org>
13182
13183        Fix some builds.
13184
13185        * UIProcess/API/mac/WKTypeRefWrapper.mm:
13186
131872013-05-18  Carlos Garcia Campos  <cgarcia@igalia.com>
13188
13189        REGRESSION(r150305): WebKit2 build broken with INDEXED_DATABASE enabled
13190        https://bugs.webkit.org/show_bug.cgi?id=116389
13191
13192        Reviewed by Martin Robinson.
13193
13194        There's no longer WebKeyValueStorageManager in the web process
13195        after r150305.
13196
13197        * WebProcess/WebPage/WebPageGroupProxy.cpp:
13198        (WebKit::WebPageGroupProxy::WebPageGroupProxy):
13199
132002013-05-17  Sam Weinig  <sam@webkit.org>
13201
13202        Add a way to pass WebKit2 WKTypeRefs in Objective-C style user data messages
13203        https://bugs.webkit.org/show_bug.cgi?id=116345
13204
13205        Reviewed by Anders Carlsson.
13206
13207        In order to efficiently send a WKImageRef to another process when using the
13208        Objective-C WKConnection (or other user data messages), we need a way to encode
13209        WKTypeRefs in the objective-c object graph. Thus was born WKTypeRefWrapper.
13210
13211        * Shared/mac/ObjCObjectGraphCoders.mm:
13212        (WebKit::typeFromObject):
13213        (WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
13214        (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
13215        (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
13216        (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
13217        * UIProcess/API/mac/WKTypeRefWrapper.h: Added.
13218        * UIProcess/API/mac/WKTypeRefWrapper.mm: Added.
13219        (-[WKTypeRefWrapper initWithObject:]):
13220        (-[WKTypeRefWrapper object]):
13221        * WebKit2.xcodeproj/project.pbxproj:
13222
132232013-05-18  Anders Carlsson  <andersca@apple.com>
13224
13225        Simplify StorageArea getter functions
13226        https://bugs.webkit.org/show_bug.cgi?id=116399
13227
13228        Reviewed by Sam Weinig.
13229
13230        Remove security and private browsing checks.
13231
13232        * WebProcess/Storage/StorageAreaImpl.cpp:
13233        (WebKit::StorageAreaImpl::key):
13234        (WebKit::StorageAreaImpl::item):
13235        (WebKit::StorageAreaImpl::contains):
13236        * WebProcess/Storage/StorageAreaImpl.h:
13237
132382013-05-18  Patrick Gansterer  <paroga@webkit.org>
13239
13240        [CMake] Replace *_LIBRARY_NAME with *_OUTPUT_NAME
13241        https://bugs.webkit.org/show_bug.cgi?id=114554
13242
13243        Reviewed by Gyuyoung Kim.
13244
13245        Using variables as target names is very uncommon in CMake.
13246        The usual way to specify the name of the resulting binary
13247        is to set the OUTPUT_NAME target property.
13248
13249        * CMakeLists.txt:
13250        * PlatformEfl.cmake:
13251        * efl/ewebkit2.pc.in:
13252
132532013-05-18  Carlos Garcia Campos  <cgarcia@igalia.com>
13254
13255        [GTK] Move GTK port off legacy clipboard
13256        https://bugs.webkit.org/show_bug.cgi?id=116221
13257
13258        Reviewed by Martin Robinson.
13259
13260        * UIProcess/API/gtk/WebKitWebViewBase.cpp: Remove ClipboardGtk.h
13261        include.
13262        * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
13263        (WebKit::WebDragClient::startDrag): Get the DataObjectGtk from the
13264        Pasteboard associated to the given Clipboard.
13265
132662013-05-18  Jinwoo Song  <jinwoo7.song@samsung.com>
13267
13268        [EFL][WK2] Refactor ewk_view_custom_encoding_set/get API
13269        https://bugs.webkit.org/show_bug.cgi?id=116386
13270
13271        Reviewed by Christophe Dumez.
13272
13273        Refactor the API to handle 'const char*' parameter in right way and
13274        enable the unit test which was disabled in r136230 as there is no assertion now.
13275
13276        * UIProcess/API/efl/EwkView.cpp:
13277        (EwkView::setCustomTextEncodingName):
13278        * UIProcess/API/efl/EwkView.h:
13279        (EwkView::customTextEncodingName):
13280        (EwkView):
13281        * UIProcess/API/efl/ewk_view.cpp:
13282        (ewk_view_custom_encoding_set):
13283        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
13284        (TEST_F):
13285
132862013-05-18  Csaba Osztrogonác  <ossy@webkit.org>
13287
13288        [CMake] Unreviewed speculative build fix after r150305 and r150306.
13289
13290        * CMakeLists.txt:
13291
132922013-05-18  Csaba Osztrogonác  <ossy@webkit.org>
13293
13294        [Qt][WK2] Unreviewed build fix after r150305 and r150306.
13295
13296        * DerivedSources.pri:
13297        * Target.pri:
13298
132992013-05-18  Zan Dobersek  <zdobersek@igalia.com>
13300
13301        Unreviewed build fix for the GTK port after r150305 and r150306.
13302
13303        * GNUmakefile.list.am:
13304
133052013-05-17  Alexey Proskuryakov  <ap@apple.com>
13306
13307        <rdar://problem/13819878> Disable SharedWorker when in multiple web process model
13308        https://bugs.webkit.org/show_bug.cgi?id=116359
13309
13310        The condition was accidentally negated, fixing.
13311
13312        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
13313        (WebKit::WebPlatformStrategies::isAvailable):
13314
133152013-05-17  Gavin Barraclough  <barraclough@apple.com>
13316
13317        Only allow 1 WebProcess to hold a PageCache
13318        https://bugs.webkit.org/show_bug.cgi?id=116368
13319        <rdar://problem/13392600>
13320
13321        Reviewed by Geoff Garen & Anders Carlson.
13322
13323        * UIProcess/WebContext.cpp:
13324        (WebKit::WebContext::WebContext):
13325        (WebKit::WebContext::processDidSaveToPageCache):
13326        (WebKit):
13327        (WebKit::WebContext::disconnectProcess):
13328        * UIProcess/WebContext.h:
13329            - Added m_processWithPageCache, only allow one process to keep a PageCache.
13330        (WebContext):
13331        * UIProcess/WebPageProxy.cpp:
13332        (WebKit::WebPageProxy::didSaveToPageCache):
13333        (WebKit):
13334        * UIProcess/WebPageProxy.h:
13335        (WebPageProxy):
13336        * UIProcess/WebPageProxy.messages.in:
13337            - Forward didSaveToPageCache to the WebProcessProxy.
13338        * UIProcess/WebProcessProxy.cpp:
13339        (WebKit::WebProcessProxy::addBackForwardItem):
13340        (WebKit::WebProcessProxy::didSaveToPageCache):
13341        (WebKit):
13342        (WebKit::WebProcessProxy::releasePageCache):
13343            - Forward releasePageCache to the WebProcess.
13344            - Forward didSaveToPageCache to the WebContext.
13345        * UIProcess/WebProcessProxy.h:
13346        (WebProcessProxy):
13347        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
13348        (WebKit::WebFrameLoaderClient::didSaveToPageCache):
13349            - Forward didSaveToPageCache to the WebPageProxy.
13350        * WebProcess/WebProcess.cpp:
13351        (WebKit::WebProcess::releasePageCache):
13352        (WebKit):
13353        * WebProcess/WebProcess.h:
13354        (WebProcess):
13355        * WebProcess/WebProcess.messages.in:
13356            - Added 'ReleasePageCache' to instruct a web process to drop any cached pages.
13357
133582013-05-17  Anders Carlsson  <andersca@apple.com>
13359
13360        Share code between WebKit1 and WebKit2 StorageArea subclasses
13361        https://bugs.webkit.org/show_bug.cgi?id=116367
13362
13363        Reviewed by Andreas Kling.
13364
13365        * WebProcess/Storage/StorageAreaImpl.cpp:
13366        (WebKit::StorageAreaImpl::length):
13367        Remove code that's now in Storage::length.
13368
13369        (WebKit::StorageAreaImpl::storageType):
13370        Make this a virtual member function.
13371
13372        * WebProcess/Storage/StorageAreaImpl.h:
13373
133742013-05-17  Alexey Proskuryakov  <ap@apple.com>
13375
13376        <rdar://problem/13819878> Disable SharedWorker when in multiple web process model
13377        https://bugs.webkit.org/show_bug.cgi?id=116359
13378
13379        Reviewed by Anders Carlsson.
13380
13381        Implement SharedWorkerStrategy::isAvailable.
13382
13383        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
13384        (WebKit::WebPlatformStrategies::isAvailable):
13385        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
13386
133872013-05-17  Beth Dakin  <bdakin@apple.com>
13388
13389        Headers and footers will sometimes disappear and re-appear during page loads
13390        https://bugs.webkit.org/show_bug.cgi?id=116336
13391        -and corresponding-
13392        <rdar://problem/13886753>
13393
13394        Reviewed by Simon Fraser.
13395
13396        This patch changes the WebCore-level API that WebKit uses to create a banner. 
13397        Specifically this patch removes FrameView::setWantsLayerForHeader(), which created 
13398        and returned a layer. Instead, WK2 will call Page::addHeaderWithHeight(). When the 
13399        layer has been created, it will call back into WK2 via ChromeClient. This will 
13400        allow WebCore to re-create the header/footer layers as needed whenever the 
13401        FrameView/RenderLayerCompositor have been destroyed and recreated.
13402
13403        Send the layers over to PageBanner.
13404        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
13405        (WebKit::WebChromeClient::didAddHeaderLayer):
13406        (WebKit::WebChromeClient::didAddFooterLayer):
13407        * WebProcess/WebCoreSupport/WebChromeClient.h:
13408        (WebChromeClient):
13409
13410        PageBanner::addToPage() now does much less work since it can’t get the parent 
13411        layer right away. The work that is used to do once it had the parent layer is now 
13412        performed in didAddParentLayer()
13413        * WebProcess/WebPage/PageBanner.cpp:
13414        (WebKit::PageBanner::didAddParentLayer):
13415        * WebProcess/WebPage/PageBanner.h:
13416        * WebProcess/WebPage/mac/PageBannerMac.mm:
13417        (WebKit::PageBanner::addToPage):
13418        (WebKit::PageBanner::didAddParentLayer):
13419
134202013-05-17  Anders Carlsson  <andersca@apple.com>
13421
13422        Rename WebKeyValueStorageManagerProxy to WebKeyValueStorageManager
13423        https://bugs.webkit.org/show_bug.cgi?id=116361
13424
13425        Reviewed by Andreas Kling.
13426
13427        There's nothing proxy about this class anymore!
13428
13429        * UIProcess/API/C/WKAPICast.h:
13430        * UIProcess/API/C/WKContext.cpp:
13431        * UIProcess/API/C/WKKeyValueStorageManager.cpp:
13432        * UIProcess/WebKeyValueStorageManager.cpp: Renamed from Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp.
13433        * UIProcess/WebKeyValueStorageManager.h: Renamed from Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.h.
13434        * WebKit2.xcodeproj/project.pbxproj:
13435
134362013-05-17  Anders Carlsson  <andersca@apple.com>
13437
13438        Remove dead local storage code
13439        https://bugs.webkit.org/show_bug.cgi?id=116360
13440
13441        Reviewed by Beth Dakin.
13442
13443        Storage is all handled in the UI process now so we no longer need a WebKeyValueStorageManager in the web process.
13444
13445        * DerivedSources.make:
13446        * UIProcess/WebKeyValueStorageManagerProxy.cpp:
13447        (WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
13448        (WebKit):
13449        (WebKit::didGetKeyValueStorageOrigins):
13450        (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
13451        * UIProcess/WebKeyValueStorageManagerProxy.h:
13452        (WebKeyValueStorageManagerProxy):
13453        * UIProcess/WebKeyValueStorageManagerProxy.messages.in: Removed.
13454        * WebKit2.xcodeproj/project.pbxproj:
13455        * WebProcess/Storage/WebKeyValueStorageManager.cpp: Removed.
13456        * WebProcess/Storage/WebKeyValueStorageManager.h: Removed.
13457        * WebProcess/Storage/WebKeyValueStorageManager.messages.in: Removed.
13458        * WebProcess/WebPage/WebPage.cpp:
13459        (WebKit::WebPage::updatePreferences):
13460        * WebProcess/WebProcess.cpp:
13461        (WebKit::WebProcess::WebProcess):
13462
134632013-05-17  Anders Carlsson  <andersca@apple.com>
13464
13465        Use the UI process storage manager for deleting local storage data
13466        https://bugs.webkit.org/show_bug.cgi?id=116358
13467        <rdar://problem/13852829>
13468
13469        Reviewed by Andreas Kling.
13470
13471        * Shared/WebSecurityOrigin.h:
13472        (WebKit::WebSecurityOrigin::protocol):
13473        (WebKit::WebSecurityOrigin::host):
13474        (WebKit::WebSecurityOrigin::databaseIdentifier):
13475        (WebKit::WebSecurityOrigin::toString):
13476        Remove unneeded consts.
13477
13478        (WebKit::WebSecurityOrigin::securityOrigin):
13479        Add getter.
13480
13481        * UIProcess/Storage/LocalStorageDatabase.cpp:
13482        (WebKit::LocalStorageDatabase::close):
13483        deleteEmptyDatabaseWithOrigin has been renamed to deleteDatabaseWithOrigin.
13484
13485        * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
13486        (WebKit::LocalStorageDatabaseTracker::deleteDatabaseWithOrigin):
13487        Rename since this is no longer used only for empty databases.
13488
13489        (WebKit::LocalStorageDatabaseTracker::deleteAllDatabases):
13490        Loop over the tracker database and delete all database files.
13491
13492        * UIProcess/Storage/StorageManager.cpp:
13493        (WebKit::StorageManager::StorageArea::clear):
13494        Clear the map, close the database and tell all event listeners to reset their caches.
13495
13496        (WebKit::StorageManager::LocalStorageNamespace::clearStorageAreasMatchingOrigin):
13497        Loop over all storage areas and call clear on those matching the security origin.
13498
13499        (WebKit::StorageManager::LocalStorageNamespace::clearAllStorageAreas):
13500        Loop over all storage areas and call clear on them.
13501        
13502        (WebKit::StorageManager::deleteEntriesForOrigin):
13503        Dispatch deleteEntriesForOriginInternal on the work queue.
13504
13505        (WebKit::StorageManager::deleteAllEntries):
13506        Dispatch deleteAllEntriesInternal on the work queue.
13507
13508        (WebKit::StorageManager::deleteEntriesForOriginInternal):
13509        Call clearStorageAreasMatchingOrigin on all local storage namespaces and then delete the database.
13510
13511        (WebKit::StorageManager::deleteAllEntriesInternal):
13512        Call clearAllStorageAreas on all local storage namespaces and then delete all databases.
13513
13514        * UIProcess/WebKeyValueStorageManagerProxy.cpp:
13515        (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
13516        Call out to the storage manager.
13517
13518        (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):
13519        Ditto.
13520
13521        * WebProcess/Storage/StorageAreaMap.cpp:
13522        (WebKit::StorageAreaMap::clearCache):
13523        Call resetValues which will null out the storage map.
13524
13525        * WebProcess/Storage/StorageAreaMap.messages.in:
13526        Add ClearCache message.
13527
135282013-05-17  Anders Carlsson  <andersca@apple.com>
13529
13530        Only import local storage items from the database once
13531        https://bugs.webkit.org/show_bug.cgi?id=116354
13532
13533        Reviewed by Andreas Kling.
13534
13535        We import items from the database over and over, when we only want to do it once. Use a 
13536        boolean flag to guard against doing it more than once. 
13537        
13538        Also, rename importItemsFromDatabase to openDatabaseAndImportItemsIfNeeded since it now
13539        also opens the database (even if it doesn't need to import anything). This is preparation for an
13540        upcoming patch where the database will be closed when it's cleared.
13541
13542        * UIProcess/Storage/StorageManager.cpp:
13543        (StorageManager::StorageArea):
13544        (WebKit::StorageManager::StorageArea::StorageArea):
13545        (WebKit::StorageManager::StorageArea::setItem):
13546        (WebKit::StorageManager::StorageArea::removeItem):
13547        (WebKit::StorageManager::StorageArea::clear):
13548        (WebKit::StorageManager::StorageArea::items):
13549        (WebKit::StorageManager::StorageArea::openDatabaseAndImportItemsIfNeeded):
13550
135512013-05-17  Alexey Proskuryakov  <ap@apple.com>
13552
13553        <rdar://problem/13869765> Lion: Crashes in islcCanLoadInputMethodFromBundleID.
13554
13555        Reviewed by Anders Carlsson.
13556
13557        * WebProcess/com.apple.WebProcess.sb.in: Allow text input directories.
13558
135592013-05-17  Anders Carlsson  <andersca@apple.com>
13560
13561        WKKeyValueStorageManagerGetKeyValueStorageOrigins should get origins from the UI process
13562        https://bugs.webkit.org/show_bug.cgi?id=116346
13563        <rdar://problem/13852829>
13564
13565        Reviewed by Andreas Kling.
13566
13567        * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
13568        (WebKit::LocalStorageDatabaseTracker::origins):
13569        New helper function to return all the tracked origins.
13570
13571        * UIProcess/Storage/StorageManager.cpp:
13572        (WebKit::StorageManager::StorageManager):
13573        Initialize the UTF-8 encoding.
13574
13575        (WebKit::StorageManager::getOrigins):
13576        Call getOriginsInternal on our queue.
13577
13578        (WebKit::callCallbackFunction):
13579        Helper function for calling the callback function.
13580
13581        (WebKit::StorageManager::getOriginsInternal):
13582        Get the origins and make sure we call the callback with the given function dispatcher.
13583
13584        * UIProcess/WebKeyValueStorageManagerProxy.cpp:
13585        (WebKit::didGetKeyValueStorageOriginsCallback):
13586        Construct the array of WebSecurityOrigin objects and call the callback.
13587
13588        (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
13589        Call StorageManager::getOrigins.
13590
135912013-05-16  Alexey Proskuryakov  <ap@apple.com>
13592
13593        Text input is largely broken when there are subframes loading
13594        http://bugs.webkit.org/show_bug.cgi?id=59121
13595        <rdar://problem/9320468>
13596
13597        Reviewed by Darin Adler.
13598
13599        * UIProcess/PageClient.h:
13600        * UIProcess/API/mac/PageClientImpl.h:
13601        * UIProcess/API/mac/PageClientImpl.mm:
13602        (WebKit::PageClientImpl::updateSecureInputState): Separated secure input state
13603        updating into a separate function. Removed updateTextInputState, we don't need
13604        to go through PageClient to implement its behavior at all.
13605        (WebKit::PageClientImpl::dismissDictionaryLookupPanel): Added a FIXME.
13606
13607        * UIProcess/API/mac/WKView.mm:
13608        * UIProcess/API/mac/WKViewInternal.h:
13609        Removed _updateTextInputStateIncludingSecureInputState.
13610
13611        * UIProcess/WebPageProxy.h: Added m_temporarilyClosedComposition, which helps
13612        to figure out that WebCore decided to close a composition. The issue is that WebCore
13613        would first send an EditorState with hasComposition set to false, and with
13614        shouldIgnoreCompositionSelectionChange set to true, at which time we forget the
13615        previous m_editorState, but can't make any decisions based on this transient state.
13616        We should find a way to simplify this (maybe not send these updates with
13617        shouldIgnoreCompositionSelectionChange at all?)
13618
13619        * UIProcess/WebPageProxy.cpp:
13620        (WebKit::WebPageProxy::WebPageProxy): Initialize m_temporarilyClosedComposition.
13621        (WebKit::WebPageProxy::didCommitLoadForFrame): Removed the code to kill a composition
13622        when any frame commits a load, which made no sense (along with surrounding code,
13623        which will unfortunately survive longer).
13624        (WebKit::WebPageProxy::editorStateChanged): Implemented state updating here,
13625        we don't need to go to WKView.mm to implement this logic. Figure out when WebCore
13626        discards a composition, and notify input methods about this.
13627        (WebKit::WebPageProxy::resetStateAfterProcessExited): Reset m_temporarilyClosedComposition.
13628        Added some FIXMEs.
13629
136302013-05-17  Manuel Rego Casasnovas  <rego@igalia.com>
13631
13632        [WK2] Add support for selectTrailingWhitespaceEnabled setting
13633        https://bugs.webkit.org/show_bug.cgi?id=112426
13634
13635        Reviewed by Ryosuke Niwa.
13636
13637        * Shared/WebPreferencesStore.h:
13638        (WebKit): Add macro for selectTrailingWhitespaceEnabled.
13639        * UIProcess/API/C/WKPreferences.cpp:
13640        (WKPreferencesSetSelectTrailingWhitespaceEnabled):
13641        (WKPreferencesGetSelectTrailingWhitespaceEnabled): Implement methods
13642        using the new setting.
13643        * UIProcess/API/C/WKPreferencesPrivate.h: Add new methods headers.
13644        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
13645        (WebKit::WebEditorClient::isSelectTrailingWhitespaceEnabled): Implement
13646        method delegating in WebPage.
13647        * WebProcess/WebPage/WebPage.cpp:
13648        (WebKit::WebPage::updatePreferences): Set
13649        selectTrailingWhitespaceEnabled setting.
13650        (WebKit::WebPage::setSmartInsertDeleteEnabled): Set
13651        selectTrailingWhitespaceEnabled as they are mutually exclusive.
13652        (WebKit):
13653        (WebKit::WebPage::isSelectTrailingWhitespaceEnabled): Implement method
13654        using settings.
13655        (WebKit::WebPage::setSelectTrailingWhitespaceEnabled): Implement method
13656        using settings and set smartInsertDeleteEnabled as they are mutually
13657        exclusive.
13658        * WebProcess/WebPage/WebPage.h:
13659        (WebPage): Add new methods headers.
13660
136612013-05-17  Brady Eidson  <beidson@apple.com>
13662
13663        Fix crash introduced by http://trac.webkit.org/changeset/150282
13664        Followup to https://bugs.webkit.org/show_bug.cgi?id=116253
13665
13666        Reviewed by Andreas Kling.
13667
13668        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
13669        (WebKit::WebChromeClient::focusedFrameChanged): Frame might be null.
13670
136712013-05-17  Brady Eidson  <beidson@apple.com>
13672
13673        Replace WebFrameLoaderClient static_casts with a function that might return null.
13674        https://bugs.webkit.org/show_bug.cgi?id=116253
13675
13676        The general approach here is:
13677        1 - Introduce a toWebFrameLoaderClient() function to convert FrameLoaderClients, and that may return null.
13678        2 - Adopt toWebFrameLoaderClient() everywhere we used to do a direct static_cast<WebFrameLoaderClient*>
13679        3 - In functions that already support a "return 0" scenario, a failed cast results in a return 0.
13680        4 - In other functions that assume no failure to get the WebFrameLoaderClient, add an ASSERT.
13681
13682        Reviewed by Alexey Proskuryakov.
13683
13684        Add the utility function to cast:
13685        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
13686        (WebKit::toWebFrameLoaderClient):
13687
13688        Adopt it everywhere:
13689        * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
13690        (WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation):
13691
13692        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
13693        (WebKit::InjectedBundleNodeHandle::documentFrame):
13694        (WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame):
13695        (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
13696
13697        * WebProcess/InjectedBundle/InjectedBundle.cpp:
13698        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
13699
13700        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
13701        (WebKit::InjectedBundleDOMWindowExtension::frame):
13702
13703        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
13704        (WebKit::InjectedBundleHitTestResult::frame):
13705        (WebKit::InjectedBundleHitTestResult::targetFrame):
13706
13707        * WebProcess/Network/WebResourceLoadScheduler.cpp:
13708        (WebKit::WebResourceLoadScheduler::scheduleLoad):
13709
13710        * WebProcess/Plugins/PluginView.cpp:
13711        (WebKit::webPage):
13712        (WebKit::PluginView::performFrameLoadURLRequest):
13713
13714        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
13715        (WebKit::WebChromeClient::focusedNodeChanged):
13716        (WebKit::WebChromeClient::focusedFrameChanged):
13717        (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
13718        (WebKit::WebChromeClient::runJavaScriptAlert):
13719        (WebKit::WebChromeClient::runJavaScriptConfirm):
13720        (WebKit::WebChromeClient::runJavaScriptPrompt):
13721        (WebKit::WebChromeClient::print):
13722        (WebKit::WebChromeClient::exceededDatabaseQuota):
13723        (WebKit::WebChromeClient::runOpenPanel):
13724
13725        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
13726        (WebKit::WebEditorClient::textFieldDidBeginEditing):
13727        (WebKit::WebEditorClient::textFieldDidEndEditing):
13728        (WebKit::WebEditorClient::textDidChangeInTextField):
13729        (WebKit::WebEditorClient::textDidChangeInTextArea):
13730        (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
13731        (WebKit::WebEditorClient::textWillBeDeletedInTextField):
13732
13733        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
13734        (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
13735        (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
13736
13737        * WebProcess/WebPage/WebFrame.cpp:
13738        (WebKit::WebFrame::contentsAsString):
13739        (WebKit::WebFrame::parentFrame):
13740        (WebKit::WebFrame::childFrames):
13741        (WebKit::WebFrame::frameForContext):
13742        (WebKit::WebFrameFilter::shouldIncludeSubframe):
13743
13744        * WebProcess/WebPage/WebPage.cpp:
13745        (WebKit::WebPage::mainFrameHasCustomRepresentation):
13746
137472013-05-17  Sam Weinig  <sam@webkit.org>
13748
13749        Expose new load-with-userData API to Objective-C
13750        https://bugs.webkit.org/show_bug.cgi?id=116335
13751
13752        Reviewed by Anders Carlsson.
13753
13754        - Adds loadRequest:userData:, loadFileURL:restrictToFilesWithin:userData:, loadHTMLString:baseURL:userData:
13755          loadData:MIMEType:textEncodingName:baseURL:, and loadData:MIMEType:textEncodingName:baseURL:userData.
13756        - Adds a WKObjCTypeWrapperRef (which is a ObjCObjectGraph under the covers) to allow the userData to be unwrapped
13757          in the injected bundles willLoadURLRequest and willLoadDataRequest C-SPI callbacks.
13758
13759        * Shared/API/c/WKBase.h:
13760        * Shared/API/c/WKSharedAPICast.h:
13761        * Shared/API/c/mac/WKBaseMac.h: Added.
13762        * Shared/API/c/mac/WKObjCTypeWrapperRef.h: Added.
13763        * Shared/API/c/mac/WKObjCTypeWrapperRef.mm: Added.
13764        (WKObjCTypeWrapperGetTypeID):
13765        (WKObjCTypeWrapperCreate):
13766        (WKObjCTypeWrapperGetObject):
13767        * UIProcess/API/mac/WKBrowsingContextController.h:
13768        * UIProcess/API/mac/WKBrowsingContextController.mm:
13769        (+[WKBrowsingContextController registerSchemeForCustomProtocol:]):
13770        (+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]):
13771        (-[WKBrowsingContextController loadRequest:]):
13772        (-[WKBrowsingContextController loadRequest:userData:]):
13773        (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
13774        (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]):
13775        (-[WKBrowsingContextController loadHTMLString:baseURL:]):
13776        (-[WKBrowsingContextController loadHTMLString:baseURL:userData:]):
13777        (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:]):
13778        (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
13779        * WebKit2.xcodeproj/project.pbxproj:
13780
137812013-05-17  Sam Weinig  <sam@webkit.org>
13782
13783        Add WKPageLoadData and WKPageLoadDataWithUserData SPI to support loading arbitrary data blobs
13784        https://bugs.webkit.org/show_bug.cgi?id=116325
13785
13786        Reviewed by Simon Fraser.
13787
13788        * UIProcess/API/C/WKPage.cpp:
13789        (WKPageLoadData):
13790        (WKPageLoadDataWithUserData):
13791        Add new SPI.
13792
13793        * UIProcess/API/C/WKPage.h:
13794        * UIProcess/WebPageProxy.cpp:
13795        (WebKit::WebPageProxy::loadData):
13796        * UIProcess/WebPageProxy.h:
13797        Pipe through to the WebProcess.
13798
13799        * WebProcess/WebPage/WebPage.h:
13800        * WebProcess/WebPage/WebPage.messages.in:
13801        * WebProcess/WebPage/WebPage.cpp:
13802        (WebKit::WebPage::loadDataImpl):
13803        (WebKit::WebPage::loadData):
13804        (WebKit::WebPage::loadHTMLString):
13805        (WebKit::WebPage::loadAlternateHTMLString):
13806        (WebKit::WebPage::loadPlainTextString):
13807        (WebKit::WebPage::loadWebArchiveData):
13808        Rename existing loadData function to loadDataImpl (I hate it) to avoid overload conflict
13809        from IPC magic.
13810
13811
138122013-05-17  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
13813
13814        [EFL][WK2] Fix sub menu initialization in ewk_context_menu_item
13815        https://bugs.webkit.org/show_bug.cgi?id=116321
13816
13817        Reviewed by Christophe Dumez.
13818
13819        During sub menu creation, after initializing m_parentMenu, parentMenu
13820        pointer became null which may cause segfaults. This patch fixes it by
13821        using m_parentMenu.
13822
13823        * UIProcess/API/efl/ewk_context_menu_item.cpp:
13824        (EwkContextMenuItem::EwkContextMenuItem):
13825
138262013-05-17  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
13827
13828        [EFL][WK2] Support sub menu in ewk context menus
13829        https://bugs.webkit.org/show_bug.cgi?id=114729
13830
13831        Reviewed by Christophe Dumez.
13832
13833        Added submenu support in EwkContextMenu and an API function to receive
13834        Ewk_Context_Menu from submenu context menu item. A test case was added
13835        for new API function.
13836        EwkContextMenu is now an EwkObject allowing multiple instances of submenu
13837        to be used in different submenu type context menu items.
13838
13839        * UIProcess/API/efl/ewk_context_menu_item.cpp:
13840        (EwkContextMenuItem::EwkContextMenuItem):
13841        (ewk_context_menu_item_new):
13842        (ewk_context_menu_item_parent_menu_get):
13843        (ewk_context_menu_item_submenu_get):
13844        * UIProcess/API/efl/ewk_context_menu_item.h:
13845        * UIProcess/API/efl/ewk_context_menu_item_private.h:
13846        (EwkContextMenuItem::create):
13847        (EwkContextMenuItem::parentMenu):
13848        (EwkContextMenuItem::subMenu):
13849        (EwkContextMenuItem):
13850        * UIProcess/API/efl/ewk_context_menu_private.h:
13851        (EwkContextMenu::ewkView):
13852        (EwkContextMenu):
13853        * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
13854        (showContextMenu):
13855
138562013-05-17  Zoltan Arvai  <zarvai@inf.u-szeged.hu>, Ádám Kallai  <kadam@inf.u-szeged.hu>
13857
13858        [Qt] Unreviewed build fix.
13859
13860        Add missing Qt specific initializer for willLoadURLRequest and willLoadDataRequest.
13861
13862        * WebProcess/qt/QtBuiltinBundlePage.cpp:
13863        (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
13864
138652013-05-16  Beth Dakin  <bdakin@apple.com>
13866
13867        Remove WKBundlePageGetHeaderLayer/Footer SPI
13868        https://bugs.webkit.org/show_bug.cgi?id=116254
13869
13870        Reviewed by Benjamin Poulain.
13871
13872        We should remove the Remove WKBundlePageGetHeaderLayer/Footer SPI. It was only 
13873        recently added and have been replaced by WKBundlePageSetHeaderBanner/Footer.
13874
13875        * WebKit2.xcodeproj/project.pbxproj:
13876        * WebProcess/InjectedBundle/API/c/mac/WKBundlePagePrivateMac.h: Removed.
13877        * WebProcess/InjectedBundle/API/c/mac/WKBundlePagePrivateMac.mm: Removed.
13878        * WebProcess/WebPage/WebPage.h:
13879        (WebPage):
13880        * WebProcess/WebPage/mac/WebPageMac.mm:
13881        (WebKit):
13882        (WebKit::WebPage::updateHeaderAndFooterLayersForDeviceScaleChange):
13883
138842013-05-14  Sam Weinig  <sam@webkit.org>
13885
13886        Add variants of the loading APIs that take user data and a way for the injected bundle to find out about them
13887        https://bugs.webkit.org/show_bug.cgi?id=116132
13888
13889        Reviewed by Anders Carlsson.
13890
13891        Adds "WithUserData" versions of all the load APIs and two new WKBundlePageLoaderClient functions,
13892        willLoadURLRequest and willLoadDataRequest to let the bundle access them.
13893
13894        Adds WebKit2WillLoadTest.* API tests.
13895
13896        * UIProcess/API/C/WKPage.cpp:
13897        (WKPageLoadURLWithUserData):
13898        (WKPageLoadURLRequestWithUserData):
13899        (WKPageLoadFile):
13900        (WKPageLoadFileWithUserData):
13901        (WKPageLoadHTMLStringWithUserData):
13902        (WKPageLoadAlternateHTMLStringWithUserData):
13903        (WKPageLoadPlainTextStringWithUserData):
13904        (WKPageLoadWebArchiveDataWithUserData):
13905        * UIProcess/API/C/WKPage.h:
13906        * UIProcess/WebPageProxy.cpp:
13907        * UIProcess/WebPageProxy.h:
13908        (WebPageProxy):
13909        * WebKit2.xcodeproj/project.pbxproj:
13910        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
13911        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
13912        (WebKit::InjectedBundlePageLoaderClient::willLoadURLRequest):
13913        (WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest):
13914        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
13915        (WebCore):
13916        (InjectedBundlePageLoaderClient):
13917        * WebProcess/WebPage/WebPage.cpp:
13918        * WebProcess/WebPage/WebPage.h:
13919        * WebProcess/WebPage/WebPage.messages.in:
13920
139212013-05-16  Manuel Rego Casasnovas  <rego@igalia.com>
13922
13923        [GTK] Fix memory leak in WebKitBackForwardList
13924        https://bugs.webkit.org/show_bug.cgi?id=116222
13925
13926        Reviewed by Carlos Garcia Campos.
13927
13928        Due to the use of leakRef() the ImmutableArray is not being released
13929        automatically. Adding a local variable in the methods to make sure that
13930        the ImmutableArray is freed.
13931
13932        * UIProcess/API/gtk/WebKitBackForwardList.cpp:
13933        (webkit_back_forward_list_get_back_list_with_limit): Add local variable
13934        RefPtr and pass the ImmutableArray to
13935        WebKitBackForwardList::webkitBackForwardListCreateList() using
13936        RefPtr::get().
13937        (webkit_back_forward_list_get_forward_list_with_limit): Ditto.
13938
139392013-05-16  Commit Queue  <commit-queue@webkit.org>
13940
13941        Unreviewed, rolling out r150034.
13942        http://trac.webkit.org/changeset/150034
13943        https://bugs.webkit.org/show_bug.cgi?id=116257
13944
13945        This work around doesn't work due to another bug NSUndoManager
13946        has (Requested by rniwa on #webkit).
13947
13948        * UIProcess/API/mac/PageClientImpl.mm:
13949        (WebKit::PageClientImpl::registerEditCommand):
13950
139512013-05-16  Tim Horton  <timothy_horton@apple.com>
13952
13953        PDFPlugins don't load when plugins are disabled, but they should
13954        https://bugs.webkit.org/show_bug.cgi?id=75790
13955        <rdar://problem/11650197>
13956
13957        Reviewed by Anders Carlsson.
13958
13959        Support loading "application" plug-ins even if plug-ins are explicitly disabled.
13960
13961        Make PDFPlugin and SimplePDFPlugin "application" plug-ins, so they can
13962        be loaded even if plug-ins are disabled.
13963
13964        * Platform/CoreIPC/HandleMessage.h:
13965        (CoreIPC::callMemberFunction):
13966        Add a 5-argument, 3-reply version of callMemberFunction.
13967
13968        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
13969        (WebKit::NetscapePluginModule::getPluginInfo):
13970        NPAPI plug-ins are not application plug-ins.
13971
13972        * Shared/WebCoreArgumentCoders.cpp:
13973        (CoreIPC::::encode):
13974        (CoreIPC::::decode):
13975        Encode/decode the new isApplicationPlugin field on PluginInfo.
13976
13977        * UIProcess/Plugins/PluginInfoStore.cpp:
13978        (WebKit::PluginInfoStore::findPluginForMIMEType):
13979        (WebKit::PluginInfoStore::findPluginForExtension):
13980        (WebKit::PluginInfoStore::findPlugin):
13981        * UIProcess/Plugins/PluginInfoStore.h:
13982        (PluginInfoStore):
13983        Give PluginInfoStore's findPlugin method and its private helper
13984        methods an argument allowing them to only match application plug-ins.
13985
13986        (WebKit::WebPageProxy::findPlugin):
13987        * UIProcess/WebPageProxy.h:
13988        (WebPageProxy):
13989        * UIProcess/WebPageProxy.messages.in:
13990        Add an argument allowing findPlugin to restrict its search to only application plug-ins.
13991
13992        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
13993        (WebKit::WebFrameLoaderClient::objectContentType):
13994        Previously, this caller depended on pluginData() returning null if
13995        plug-ins were disabled. Since that is no longer the case, we have to
13996        check if we can use plug-ins, and otherwise ignore non-application-plug-ins.
13997
13998        * WebProcess/WebPage/WebPage.cpp:
13999        (WebKit::WebPage::createPlugin):
14000        When going to search for a plug-in, ask subframeLoader whether or not
14001        it's OK to use ordinary non-application plug-ins, and pass that information
14002        on to the UIProcess when performing the search.
14003
14004        (WebKit::WebPage::canPluginHandleResponse): Ditto.
14005        (WebKit::WebPage::canShowMIMEType):
14006        Ensure that canShowMIMEType returns true if we have an application plug-in
14007        that can display a particular MIME type, even if we're not allowed to load plug-ins.
14008
140092013-05-16  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
14010
14011        [EFL][WK2] Make Ewk_Context_Menu Ewk_Object
14012        https://bugs.webkit.org/show_bug.cgi?id=116097
14013
14014        Reviewed by Gyuyoung Kim.
14015
14016        Changed Ewk_Context_Menu to be an Ewk_Object so pointer to menu
14017        object can be shared between different modules.
14018
14019        * UIProcess/API/efl/EwkView.cpp:
14020        (EwkView::showContextMenu):
14021        * UIProcess/API/efl/EwkView.h:
14022        (EwkView):
14023        * UIProcess/API/efl/ewk_context_menu.cpp:
14024        (EwkContextMenu::appendItem):
14025        (EwkContextMenu::removeItem):
14026        (ewk_context_menu_new):
14027        (ewk_context_menu_new_with_items):
14028        (ewk_context_menu_item_append):
14029        (ewk_context_menu_item_remove):
14030        (ewk_context_menu_hide):
14031        (ewk_context_menu_items_get):
14032        (ewk_context_menu_item_select):
14033        * UIProcess/API/efl/ewk_context_menu_item.cpp:
14034        (EwkContextMenuItem::EwkContextMenuItem):
14035        (ewk_context_menu_item_new_with_submenu):
14036        * UIProcess/API/efl/ewk_context_menu_item_private.h:
14037        (EwkContextMenuItem):
14038        * UIProcess/API/efl/ewk_context_menu_private.h:
14039        (EwkContextMenu):
14040        (EwkContextMenu::create):
14041        * UIProcess/API/efl/ewk_defines.h:
14042
140432013-05-16  Andreas Kling  <akling@apple.com>
14044
14045        Page::chrome() should return a reference.
14046        <http://webkit.org/b/116185>
14047
14048        Reviewed by Anders Carlsson.
14049
140502013-05-16  Brady Eidson  <beidson@apple.com>
14051
14052        svg/as-image/img-zoom-svg-stylesheet.html crashes with NetworkProcess enabled.
14053        <rdar://problem/13837408> and https://bugs.webkit.org/show_bug.cgi?id=115917
14054
14055        Reviewed by Sam Weinig.
14056
14057        * NetworkProcess/SchedulableLoader.cpp:
14058        (WebKit::SchedulableLoader::SchedulableLoader): ASSERT that either there’s a frame and page ID, or
14059          that the client cannot be asked for credentials.
14060
14061        * WebProcess/Network/WebResourceLoadScheduler.cpp:
14062        (WebKit::WebResourceLoadScheduler::scheduleLoad): Only cast the FrameLoaderClient and get WebFrame/WebPage
14063          if that is actually possible. Set the clientCredentialPolicy based on whether or not WebFrame/WebPage are
14064          available since they are needed to ask the UIProcess for credentials. ASSERT that either there’s both
14065          a frame and page ID or that the client won’t be asked for credentials.
14066
140672013-05-16  Timothy Hatcher  <timothy@apple.com>
14068
14069        Make the Find Banner in Safari work again with the docked Web Inspector.
14070
14071        https://webkit.org/b/116182
14072        rdar://problem/13857423
14073
14074        Reviewed by Benjamin Poulain.
14075
14076        * UIProcess/mac/WebInspectorProxyMac.mm:
14077        (WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
14078        (WebKit::WebInspectorProxy::platformDetach):
14079        Preserve the top position of the inspected view so banners in Safari still work.
14080
140812013-05-16  Tim Horton  <timothy_horton@apple.com>
14082
14083        [wk2] didGetImageForFindMatch can return a null image
14084        https://bugs.webkit.org/show_bug.cgi?id=116251
14085        <rdar://problem/13277246>
14086
14087        Reviewed by Simon Fraser.
14088
14089        Don't send didGetImageForFindMatch if we didn't get an image for
14090        the find match, which can happen if the selection is not visible.
14091
14092        * WebProcess/WebPage/FindController.cpp:
14093        (WebKit::FindController::getImageForFindMatch):
14094
140952013-05-16  Tim Horton  <timothy_horton@apple.com>
14096
14097        [wk2] Minimum layout width is lost if the WebProcess crashes
14098        https://bugs.webkit.org/show_bug.cgi?id=116202
14099        <rdar://problem/13202320>
14100
14101        Reviewed by Darin Adler.
14102
14103        Send the minimum layout width to the WebProcess upon initialization,
14104        so that crashed-and-restarted WebProcesses have the correct width.
14105
14106        * Shared/WebPageCreationParameters.cpp:
14107        (WebKit::WebPageCreationParameters::encode):
14108        (WebKit::WebPageCreationParameters::decode):
14109        * Shared/WebPageCreationParameters.h:
14110        (WebPageCreationParameters):
14111        Add minimumLayoutWidth WebPage creation parameter.
14112
14113        * UIProcess/WebPageProxy.cpp:
14114        (WebKit::WebPageProxy::creationParameters):
14115        Send the current minimumLayoutWidth to the WebPage when it's created.
14116
14117        (WebKit::WebPageProxy::setMinimumLayoutWidth):
14118        Store minimumLayoutWidth changes that come in while the WebProcess is
14119        not valid, so that the correct width is sent once it is restarted.
14120
14121        * WebProcess/WebPage/WebPage.cpp:
14122        (WebKit::WebPage::WebPage):
14123        Set minimumLayoutWidth to the value provided by our creation parameters.
14124
141252013-05-16  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
14126
14127        [Win] Unreviewed buildfix after r150161.
14128
14129        'Unknown' in HTTPRequest.cpp is ambiguous symbol with MSVC,
14130        because it is also defined in MS SDK 7.1 winioctl.h.
14131
14132        * UIProcess/InspectorServer/HTTPRequest.cpp:
14133        (WebKit::HTTPRequest::HTTPRequest):
14134
141352013-05-16  Andras Becsi  <andras.becsi@digia.com>
14136
14137        [WK2] PluginInformation.cpp fails to build because of missing ENABLE(NETSCAPE_PLUGIN_API) guard
14138        https://bugs.webkit.org/show_bug.cgi?id=116018
14139
14140        Rubber-stamped by Jocelyn Turcotte.
14141
14142        * Shared/Plugins/Netscape/PluginInformation.cpp:
14143        (WebKit::getPluginModuleInformation):
14144
141452013-05-15  Simon Cooper  <scooper@apple.com>
14146
14147        Enable printing in plugins
14148        https://bugs.webkit.org/show_bug.cgi?id=116201
14149        <rdar://problem/12347902>
14150
14151        Reviewed by Alexey Proskuryakov.
14152
14153        Add the printing entitlement so that legacy printing drivers can
14154        customize the print panel. Update the printing rules and enable them
14155        for the plugins.
14156
14157        * Configurations/PluginService.entitlements:
14158        * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
14159        * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
14160        * Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb:
14161        * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
14162
141632013-05-15  Anders Carlsson  <andersca@apple.com>
14164
14165        Move HTTPRequest class to WebKit2
14166        https://bugs.webkit.org/show_bug.cgi?id=116192
14167
14168        Reviewed by Darin Adler.
14169
14170        Move HTTPRequest to WebKit2 and put it in the WebKit namespace.
14171
14172        * CMakeLists.txt:
14173        * GNUmakefile.list.am:
14174        * Target.pri:
14175        * UIProcess/InspectorServer/HTTPRequest.cpp: Renamed from Source/WebCore/platform/network/HTTPRequest.cpp.
14176        * UIProcess/InspectorServer/HTTPRequest.h: Renamed from Source/WebCore/platform/network/HTTPRequest.h.
14177        * UIProcess/InspectorServer/WebInspectorServer.cpp:
14178        * UIProcess/InspectorServer/WebInspectorServer.h:
14179        (WebInspectorServer):
14180        * UIProcess/InspectorServer/WebSocketServerClient.h:
14181        (WebKit::WebSocketServerClient::didReceiveUnrecognizedHTTPRequest):
14182        (WebKit::WebSocketServerClient::didReceiveWebSocketUpgradeHTTPRequest):
14183        (WebKit::WebSocketServerClient::didEstablishWebSocketConnection):
14184        * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
14185        * UIProcess/InspectorServer/WebSocketServerConnection.h:
14186        (WebKit):
14187        (WebSocketServerConnection):
14188
141892013-05-15  Arnaud Renevier  <a.renevier@sisa.samsung.com>
14190
14191        [GTK] [WebKit2] enable displaying console.log messages to system console
14192        https://bugs.webkit.org/show_bug.cgi?id=115578
14193
14194        Reviewed by Martin Robinson.
14195
14196        Add a setting to enable/disable displaying of page messages to system
14197        console. Property is called enable-write-console-messages-to-stdout.
14198        Getter API function is
14199        webkit_settings_get_enable_write_console_messages_to_stdout
14200        Setter API function is
14201        webkit_settings_set_enable_write_console_messages_to_stdout
14202
14203        * UIProcess/API/gtk/WebKitSettings.cpp:
14204        (webKitSettingsSetProperty):
14205        (webKitSettingsGetProperty):
14206        (webkit_settings_class_init):
14207        (webkit_settings_get_enable_write_console_messages_to_stdout):
14208        (webkit_settings_set_enable_write_console_messages_to_stdout):
14209        * UIProcess/API/gtk/WebKitSettings.h:
14210        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
14211        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
14212        (testWebKitSettings):
14213
142142013-05-08  Gavin Barraclough  <barraclough@apple.com>
14215
14216        Process suppression should throttle scripted animations
14217        https://bugs.webkit.org/show_bug.cgi?id=115812
14218
14219        Reviewed by Simon Fraser.
14220
14221        <rdar://problem/13799726>
14222
14223        * WebProcess/WebPage/WebPage.cpp:
14224        (WebKit::WebPage::setThrottled):
14225        (WebKit):
14226        * WebProcess/WebPage/WebPage.h:
14227        (WebPage):
14228            - Added setThrottled, forwards to WebCore::Page.
14229        * WebProcess/WebProcess.cpp:
14230        (WebKit):
14231        (WebKit::WebProcess::setProcessSuppressionEnabled):
14232        * WebProcess/WebProcess.h:
14233        (WebProcess):
14234            - Intercept calls to setProcessSuppressionEnabled, also mark all pages as being throttled.
14235
142362013-05-15  Anders Carlsson  <andersca@apple.com>
14237
14238        WKPageGetPluginInformationDisplayNameKey doesn't return the right key
14239        https://bugs.webkit.org/show_bug.cgi?id=116188
14240
14241        Reviewed by Andreas Kling.
14242
14243        * UIProcess/API/C/WKPage.cpp:
14244        (WKPageGetPluginInformationDisplayNameKey):
14245
142462013-05-15  Alexey Proskuryakov  <ap@apple.com>
14247
14248        More fixing after WebProcessShim renaming in r149074.
14249
14250        * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
14251        (WebContentServiceInitializer): Updated a comment to mention the shim by its new name.
14252
142532013-05-15  Alexey Proskuryakov  <ap@apple.com>
14254
14255        <rdar://problem/13902706> Lion: com.apple.tsm.uiserver sandbox error in Console when
14256        launching Safari
14257
14258        Reviewed by Anders Carlsson.
14259
14260        * WebProcess/com.apple.WebProcess.sb.in: Silence the violation.
14261
142622013-05-13  Anders Carlsson  <andersca@apple.com>
14263
14264        Frame::editor() should return a reference
14265        https://bugs.webkit.org/show_bug.cgi?id=116037
14266
14267        Reviewed by Darin Adler.
14268
14269        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
14270        (WebKit::WebContextMenuClient::searchWithGoogle):
14271        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
14272        (WebKit::WebEditorClient::updateGlobalSelection):
14273        * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
14274        (WebKit::WebEditorClient::handleInputMethodKeydown):
14275        * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
14276        (WebKit::WebEditorClient::executePendingEditorCommands):
14277        (WebKit::WebEditorClient::handleKeyboardEvent):
14278        * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
14279        (WebKit::WebContextMenuClient::searchWithGoogle):
14280        (WebKit::WebContextMenuClient::searchWithSpotlight):
14281        * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
14282        (WebKit::changeWordCase):
14283        * WebProcess/WebPage/WebFrame.cpp:
14284        (WebKit::WebFrame::selectionAsString):
14285        (WebKit::WebFrame::setTextDirection):
14286        * WebProcess/WebPage/WebPage.cpp:
14287        (WebKit::WebPage::editorState):
14288        (WebKit::WebPage::executeEditingCommand):
14289        (WebKit::WebPage::isEditingCommandEnabled):
14290        (WebKit::WebPage::validateCommand):
14291        (WebKit::WebPage::handleEditingKeyboardEvent):
14292        (WebKit::WebPage::advanceToNextMisspelling):
14293        (WebKit::WebPage::uppercaseWord):
14294        (WebKit::WebPage::lowercaseWord):
14295        (WebKit::WebPage::capitalizeWord):
14296        (WebKit::WebPage::replaceSelectionWithText):
14297        (WebKit::WebPage::handleAlternativeTextUIResult):
14298        (WebKit::WebPage::setCompositionForTesting):
14299        (WebKit::WebPage::hasCompositionForTesting):
14300        (WebKit::WebPage::confirmCompositionForTesting):
14301        (WebKit::WebPage::setComposition):
14302        (WebKit::WebPage::cancelComposition):
14303        * WebProcess/WebPage/efl/WebPageEfl.cpp:
14304        (WebKit::WebPage::confirmComposition):
14305        (WebKit::WebPage::setComposition):
14306        (WebKit::WebPage::cancelComposition):
14307        * WebProcess/WebPage/mac/WebPageMac.mm:
14308        (WebKit::WebPage::executeKeypressCommandsInternal):
14309        (WebKit::WebPage::handleEditingKeyboardEvent):
14310        (WebKit::WebPage::setComposition):
14311        (WebKit::WebPage::confirmComposition):
14312        (WebKit::WebPage::cancelComposition):
14313        (WebKit::WebPage::insertText):
14314        (WebKit::WebPage::insertDictatedText):
14315        (WebKit::WebPage::getMarkedRange):
14316        (WebKit::WebPage::firstRectForCharacterRange):
14317        (WebKit::WebPage::readSelectionFromPasteboard):
14318        (WebKit::WebPage::getStringSelectionForPasteboard):
14319        (WebKit::WebPage::getDataSelectionForPasteboard):
14320
143212013-05-15  Anders Carlsson  <andersca@apple.com>
14322
14323        Need a way for NPAPI plug-ins to open preference panes
14324        https://bugs.webkit.org/show_bug.cgi?id=116173
14325        <rdar://problem/13503848>
14326
14327        Reviewed by Sam Weinig.
14328
14329        * PluginProcess/PluginControllerProxy.h:
14330        Add openPluginPreferencePane().
14331
14332        * PluginProcess/mac/PluginControllerProxyMac.mm:
14333        (WebKit::PluginControllerProxy::openPluginPreferencePane):
14334        Send OpenPluginPreferencePane to the UI process.
14335
14336        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
14337        (WebKit::NetscapePluginModule::getPluginInfo):
14338        Get the preference pane path.
14339        
14340        * Shared/Plugins/PluginModuleInfo.h:
14341        Add preferencePanePath member variable.
14342
14343        * UIProcess/Plugins/PluginProcessProxy.h:
14344        Add openPluginPreferencePane message handler.
14345
14346        * UIProcess/Plugins/PluginProcessProxy.messages.in:
14347        ADd OpenPluginPreferencePane message.
14348
14349        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
14350        (WebKit::PluginProcessProxy::openPluginPreferencePane):
14351        Get the path to the preference pane and use LS to open it.
14352
14353        * WebKit2.xcodeproj/project.pbxproj:
14354        Add new files.
14355
14356        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
14357        (WebKit::NPN_GetValue):
14358        Handle WKNVPlugInContainer.
14359
14360        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
14361        Add WKNVPlugInContainer member variable.
14362
14363        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
14364        (WebKit::NetscapePlugin::openPluginPreferencePane):
14365        Call through to the plug-in controller.
14366
14367        (WebKit::NetscapePlugin::plugInContainer):
14368        Create a WKNPAPIPlugInContainer object if necessary.
14369
14370        (WebKit::NetscapePlugin::platformDestroy):
14371        Invalidate the WKNPAPIPlugInContainer object.
14372
14373        * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.h:
14374        New file with the protocol definition.
14375
14376        * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.mm:
14377        (-[WKNPAPIPlugInContainer dealloc]):
14378        Assert that the plug-in is null (that we've been invalidated).
14379
14380        (-[WKNPAPIPlugInContainer _invalidate]):
14381        Set the plug-in to null.
14382
14383        (-[WKNPAPIPlugInContainer openPlugInPreferencePane]):
14384        Call through to the plug-in.
14385
14386        * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainerInternal.h:
14387        New file with the interface declaration for the object that implements the protocol.
14388
14389        * WebProcess/Plugins/PluginController.h:
14390        Add openPluginPreferencePane member function.
14391
14392        * WebProcess/Plugins/PluginView.cpp:
14393        (WebKit::PluginView::openPluginPreferencePane):
14394        Add stub; this should never be called since we always go through the UI process.
14395
143962013-05-15  Alexey Proskuryakov  <ap@apple.com>
14397
14398        [WK2][Mac] Split resetTextInputState into two functions
14399        https://bugs.webkit.org/show_bug.cgi?id=116174
14400
14401        Reviewed by Anders Carlsson.
14402
14403        Splitting resetTextInputState into resetSecureInputState and
14404        notifyInputContextAboutDiscardedComposition, paving the way for a fix where these
14405        won't be happening simultaneously.
14406
14407        * UIProcess/API/mac/PageClientImpl.h:
14408        * UIProcess/API/mac/PageClientImpl.mm:
14409        (WebKit::PageClientImpl::resetSecureInputState):
14410        (WebKit::PageClientImpl::notifyInputContextAboutDiscardedComposition):
14411        * UIProcess/API/mac/WKView.mm:
14412        (-[WKView resignFirstResponder]):
14413        (-[WKView _resetSecureInputState]):
14414        (-[WKView _notifyInputContextAboutDiscardedComposition]):
14415        * UIProcess/API/mac/WKViewInternal.h:
14416        * UIProcess/PageClient.h:
14417        * UIProcess/WebPageProxy.cpp:
14418        (WebKit::WebPageProxy::didCommitLoadForFrame):
14419
144202013-05-15  Carlos Garcia Campos  <cgarcia@igalia.com>
14421
14422        [GTK] Add padding to all public class structs for future expansion without breaking ABI
14423        https://bugs.webkit.org/show_bug.cgi?id=112565
14424
14425        Reviewed by Anders Carlsson.
14426
14427        Use 4 pointers for most of the classes that are unlikely to grow
14428        and 8 for WebKitWebView and WebKitWebContext.
14429
14430        * UIProcess/API/gtk/WebKitBackForwardList.h:
14431        (_WebKitBackForwardListClass):
14432        * UIProcess/API/gtk/WebKitBackForwardListItem.h:
14433        (_WebKitBackForwardListItemClass):
14434        * UIProcess/API/gtk/WebKitContextMenu.h:
14435        (_WebKitContextMenuClass):
14436        * UIProcess/API/gtk/WebKitContextMenuItem.h:
14437        (_WebKitContextMenuItemClass):
14438        * UIProcess/API/gtk/WebKitCookieManager.h:
14439        (_WebKitCookieManagerClass):
14440        * UIProcess/API/gtk/WebKitDownload.h:
14441        (_WebKitDownloadClass):
14442        * UIProcess/API/gtk/WebKitFaviconDatabase.h:
14443        (_WebKitFaviconDatabaseClass):
14444        * UIProcess/API/gtk/WebKitFileChooserRequest.h:
14445        (_WebKitFileChooserRequestClass):
14446        * UIProcess/API/gtk/WebKitFindController.h:
14447        (_WebKitFindControllerClass):
14448        * UIProcess/API/gtk/WebKitFormSubmissionRequest.h:
14449        (_WebKitFormSubmissionRequestClass):
14450        * UIProcess/API/gtk/WebKitGeolocationPermissionRequest.h:
14451        (_WebKitGeolocationPermissionRequestClass):
14452        * UIProcess/API/gtk/WebKitHitTestResult.h:
14453        (_WebKitHitTestResultClass):
14454        * UIProcess/API/gtk/WebKitNavigationPolicyDecision.h:
14455        (_WebKitNavigationPolicyDecisionClass):
14456        * UIProcess/API/gtk/WebKitPlugin.h:
14457        (_WebKitPluginClass):
14458        * UIProcess/API/gtk/WebKitPolicyDecision.h:
14459        (_WebKitPolicyDecisionClass):
14460        * UIProcess/API/gtk/WebKitPrintOperation.h:
14461        (_WebKitPrintOperationClass):
14462        * UIProcess/API/gtk/WebKitResponsePolicyDecision.h:
14463        (_WebKitResponsePolicyDecisionClass):
14464        * UIProcess/API/gtk/WebKitSecurityManager.h:
14465        (_WebKitSecurityManagerClass):
14466        * UIProcess/API/gtk/WebKitSettings.h:
14467        (_WebKitSettingsClass):
14468        * UIProcess/API/gtk/WebKitURIRequest.h:
14469        (_WebKitURIRequestClass):
14470        * UIProcess/API/gtk/WebKitURIResponse.h:
14471        (_WebKitURIResponseClass):
14472        * UIProcess/API/gtk/WebKitURISchemeRequest.h:
14473        (_WebKitURISchemeRequestClass):
14474        * UIProcess/API/gtk/WebKitWebContext.h:
14475        (_WebKitWebContextClass):
14476        * UIProcess/API/gtk/WebKitWebInspector.h:
14477        (_WebKitWebInspectorClass):
14478        * UIProcess/API/gtk/WebKitWebResource.h:
14479        (_WebKitWebResourceClass):
14480        * UIProcess/API/gtk/WebKitWebView.h:
14481        (_WebKitWebViewClass):
14482        * UIProcess/API/gtk/WebKitWebViewBase.h:
14483        (_WebKitWebViewBaseClass):
14484        * UIProcess/API/gtk/WebKitWebViewGroup.h:
14485        (_WebKitWebViewGroupClass):
14486        * UIProcess/API/gtk/WebKitWindowProperties.h:
14487        (_WebKitWindowPropertiesClass):
14488
144892013-05-14  Carlos Garcia Campos  <cgarcia@igalia.com>
14490
14491        Remove WTF_USE_PLATFORM_STRATEGIES
14492        https://bugs.webkit.org/show_bug.cgi?id=114431
14493
14494        Reviewed by Darin Adler.
14495
14496        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
14497        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
14498        * WebProcess/WebProcess.cpp:
14499        (WebKit::WebProcess::WebProcess):
14500
145012013-05-14  Simon Cooper  <scooper@apple.com>
14502
14503        Add a preference that can disable the fake SYSV SHM shim
14504        https://bugs.webkit.org/show_bug.cgi?id=116127
14505        <rdar://problem/13810524>
14506
14507        Reviewed by Alexey Proskuryakov.
14508
14509        * PluginProcess/mac/PluginProcessShim.mm:
14510        (WebKit::shim_disabled):
14511        (WebKit::shim_shmdt):
14512        (WebKit::shim_shmat):
14513        (WebKit::shim_shmget):
14514        (WebKit::shim_shmctl):
14515
145162013-05-14  Tim Horton  <timothy_horton@apple.com>
14517
14518        [wk2] Not updating tiled backing coverage when main frame scrollability changes
14519        https://bugs.webkit.org/show_bug.cgi?id=116123
14520        <rdar://problem/13836559>
14521
14522        Reviewed by Simon Fraser.
14523
14524        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
14525        (TiledCoreAnimationDrawingArea):
14526        Add updateMainFrameClipsToExposedRect.
14527
14528        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
14529        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
14530        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
14531        Remove m_clipsToExposedRect. We don't actually need it.
14532
14533        (WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged):
14534        Call updateMainFrameClipsToExposedRect so that we can always update
14535        tiled backing coverage and can factor out our calls to setClipsToExposedRect.
14536
14537        (WebKit::TiledCoreAnimationDrawingArea::updateMainFrameClipsToExposedRect):
14538        Factor out setClipsToExposedRect calls to here, and also call
14539        FrameView::adjustTiledBackingCoverage so that the FrameView's tiled
14540        backing is informed to allow overdraw in the UI-process-scrolling case.
14541
14542        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
14543        Use updateMainFrameClipsToExposedRect.
14544
145452013-05-14  Alexey Proskuryakov  <ap@apple.com>
14546
14547        [Mac] Add a testing shim for secure event input functions
14548        https://bugs.webkit.org/show_bug.cgi?id=116122
14549
14550        Reviewed by Mark Rowe.
14551
14552        Moved DyldInterpose.h to WebCore, as we now use it there too.
14553
14554        * PluginProcess/mac/PluginProcessShim.mm:
14555        * Shared/mac/CookieStorageShimLibrary.cpp:
14556        * Shared/mac/DyldInterpose.h: Removed.
14557        * WebKit2.xcodeproj/project.pbxproj:
14558        * WebProcess/mac/SecItemShimLibrary.mm:
14559
145602013-05-14  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
14561
14562        [Win] REGRESSION(r149944): mmap is not available on Windows
14563        https://bugs.webkit.org/show_bug.cgi?id=116015
14564
14565        Reviewed by Anders Carlsson.
14566
14567        Use fastAlloc/fastFree for platforms other than OS(DARWIN) where
14568        using mmap is not necessary and maybe not available.
14569
14570        * Platform/CoreIPC/ArgumentEncoder.cpp:
14571        (CoreIPC::allocBuffer):
14572        (CoreIPC::freeBuffer):
14573        (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
14574        (CoreIPC::ArgumentEncoder::grow):
14575
145762013-05-14  Zan Dobersek  <zdobersek@igalia.com>
14577
14578        [GTK] Move generated ColorData.cpp, WebKitFontFamilyNames.(cpp|h) build targets into libPlatform
14579        https://bugs.webkit.org/show_bug.cgi?id=115921
14580
14581        Reviewed by Gustavo Noronha Silva.
14582
14583        * GNUmakefile.am: Add platform_cppflags to the list of libwebkit2gtk CPPFLAGS.
14584
145852013-05-14  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
14586
14587        [WK2][Win] Fix ASSERT(DeleteTimerQueueTimer...)
14588        https://bugs.webkit.org/show_bug.cgi?id=116039
14589
14590        Reviewed by Benjamin Poulain.
14591
14592        According to the documentation, DeleteTimerQueueTimer can be expected to return
14593        false with an ERROR_IO_PENDING error when called from the timer's callback.
14594
14595        * Platform/win/WorkQueueWin.cpp:
14596        (WorkQueue::timerCallback):
14597
145982013-05-14  Alexey Proskuryakov  <ap@apple.com>
14599
14600        Remove unused "type" field from DictionaryPopupInfo
14601        https://bugs.webkit.org/show_bug.cgi?id=116011
14602
14603        Reviewed by Darin Adler.
14604
14605        It is unused, and furthermore, PDFPlugin sets it incorrectly anyway.
14606
14607        * Shared/DictionaryPopupInfo.cpp:
14608        (WebKit::DictionaryPopupInfo::encode):
14609        (WebKit::DictionaryPopupInfo::decode):
14610        * Shared/DictionaryPopupInfo.h:
14611        * WebProcess/Plugins/PDF/PDFPlugin.mm:
14612        (WebKit::PDFPlugin::showDefinitionForAttributedString):
14613        * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
14614        (WebKit::WebContextMenuClient::lookUpInDictionary):
14615        * WebProcess/WebPage/WebPage.h:
14616        * WebProcess/WebPage/mac/WebPageMac.mm:
14617        (WebKit::WebPage::performDictionaryLookupAtLocation):
14618        (WebKit::WebPage::performDictionaryLookupForSelection):
14619        (WebKit::WebPage::performDictionaryLookupForRange):
14620
146212013-05-14  Michael Brüning  <michael.bruning@digia.com>
14622
14623        [WK2] Make WebPageProxy use deviceScaleFactor() in creationParameters().
14624        https://bugs.webkit.org/show_bug.cgi?id=110218
14625
14626        Reviewed by Darin Adler.
14627
14628        Make the WebPageProxy::creationParameters use the accessor
14629        deviceScaleFactor() instead of using m_intrinsicDeviceScaleFactor
14630        directly. This will restore the custom device scale factor when
14631        reattaching to the WebProcess after a crash.
14632
14633        Moreover, it will enable the Qt and ELF ports to use the
14634        existing C API for overriding the device scale factor instead
14635        of using the WebPageProxy directly or adding new C API to set
14636        the intrinsic device scale factor.
14637
14638        * UIProcess/API/efl/EwkView.cpp:
14639        (EwkView::setDeviceScaleFactor):
14640        * UIProcess/API/qt/qquickwebpage.cpp:
14641        (QQuickWebPage::updatePaintNode):
14642        * UIProcess/WebPageProxy.cpp:
14643        (WebKit::WebPageProxy::creationParameters):
14644
146452013-05-13  Alex Christensen  <achristensen@apple.com>
14646
14647        Added testRunner.setPrinting.
14648        https://bugs.webkit.org/show_bug.cgi?id=42693
14649        rdar://problem/8213845
14650
14651        Reviewed by Darin Adler.
14652
14653        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
14654        (WKBundlePageCopyRenderTreeExternalRepresentationForPrinting): Added.
14655        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
14656        Added WKBundlePageCopyRenderTreeExternalRepresentationForPrinting declaration.
14657        * WebProcess/WebPage/WebPage.cpp:
14658        (WebKit::WebPage::renderTreeExternalRepresentationForPrinting): Added.
14659        * WebProcess/WebPage/WebPage.h:
14660        Added renderTreeExternalRepresentationForPrinting declaration.
14661
146622013-05-13  Timothy Hatcher  <timothy@apple.com>
14663
14664        Add support for updating the Web Inspector toolbar height.
14665
14666        https://bugs.webkit.org/show_bug.cgi?id=115996
14667
14668        Reviewed by Joseph Pecoraro and Benjamin Poulain.
14669
14670        * UIProcess/WebInspectorProxy.h:
14671        (WebKit::WebInspectorProxy::setToolbarHeight):
14672        (WebInspectorProxy):
14673        * UIProcess/WebInspectorProxy.messages.in:
14674        * UIProcess/efl/WebInspectorProxyEfl.cpp:
14675        (WebKit::WebInspectorProxy::platformSetToolbarHeight):
14676        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
14677        (WebKit::WebInspectorProxy::platformSetToolbarHeight):
14678        (WebKit):
14679        * UIProcess/mac/WebInspectorProxyMac.mm:
14680        (WebKit::WebInspectorProxy::platformSetToolbarHeight):
14681        * UIProcess/qt/WebInspectorProxyQt.cpp:
14682        (WebKit::WebInspectorProxy::platformSetToolbarHeight):
14683        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
14684        (WebKit::WebInspectorFrontendClient::setToolbarHeight):
14685        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
14686        (WebInspectorFrontendClient):
14687        * WebProcess/WebPage/WebInspector.cpp:
14688        (WebKit::WebInspector::setToolbarHeight):
14689        * WebProcess/WebPage/WebInspector.h:
14690
146912013-05-13  Ryosuke Niwa  <rniwa@webkit.org>
14692
14693        Sometimes NSUndoManager can get into an inconsistent state
14694        https://bugs.webkit.org/show_bug.cgi?id=116050
14695
14696        Reviewed by Enrica Casucci.
14697
14698        Always group undo items to work around a bug in NSUndoManager that manifests
14699        when we call removeAllActionsWithTarget.
14700
14701        * UIProcess/API/mac/PageClientImpl.mm:
14702        (WebKit::PageClientImpl::registerEditCommand):
14703
147042013-05-13  Anders Carlsson  <andersca@apple.com>
14705
14706        [WK2] Crash in WebKit::StorageAreaMap::didSetItem()
14707        https://bugs.webkit.org/show_bug.cgi?id=116026
14708
14709        Reviewed by Andreas Kling.
14710
14711        Make sure that we ignore any leftover messages from the UI process after we've reset
14712        the storage map. Achieve this by keeping a seed count in the StorageAreaMap object that's incremented
14713        everytime the map is reset. Associate every storage area change with the seed and ignore any incoming 
14714        notification messages from the UI process if the seeds are different.
14715
14716        * Platform/CoreIPC/HandleMessage.h:
14717        (CoreIPC):
14718        (CoreIPC::callMemberFunction):
14719        * UIProcess/Storage/StorageManager.cpp:
14720        (WebKit::StorageManager::getValues):
14721        (WebKit::StorageManager::setItem):
14722        (WebKit::StorageManager::removeItem):
14723        (WebKit::StorageManager::clear):
14724        * UIProcess/Storage/StorageManager.h:
14725        (StorageManager):
14726        * UIProcess/Storage/StorageManager.messages.in:
14727        * WebProcess/Storage/StorageAreaMap.cpp:
14728        (WebKit::StorageAreaMap::StorageAreaMap):
14729        (WebKit::StorageAreaMap::setItem):
14730        (WebKit::StorageAreaMap::removeItem):
14731        (WebKit::StorageAreaMap::clear):
14732        (WebKit::StorageAreaMap::resetValues):
14733        (WebKit::StorageAreaMap::loadValuesIfNeeded):
14734        (WebKit::StorageAreaMap::didGetValues):
14735        (WebKit::StorageAreaMap::didSetItem):
14736        (WebKit::StorageAreaMap::didRemoveItem):
14737        (WebKit::StorageAreaMap::didClear):
14738        (WebKit::StorageAreaMap::applyChange):
14739        * WebProcess/Storage/StorageAreaMap.h:
14740        (StorageAreaMap):
14741        * WebProcess/Storage/StorageAreaMap.messages.in:
14742
147432013-05-13  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
14744
14745        [WK2][CoordinatedGraphics] Avoid dispensable calls to WebView::updateViewportSize()
14746        https://bugs.webkit.org/show_bug.cgi?id=116045
14747
14748        Reviewed by Darin Adler.
14749
14750        * UIProcess/CoordinatedGraphics/WebView.cpp:
14751        (WebKit::WebView::setSize):
14752
147532013-05-13  Jon Lee  <jonlee@apple.com>
14754
14755        [WK2] Notification manager removal should not be tied to termination of web processes
14756        https://bugs.webkit.org/show_bug.cgi?id=116038
14757        <rdar://problem/10968680>
14758
14759        Reviewed by Ryosuke Niwa.
14760
14761        WebNotificationManagerProxy incorrectly removes the manager when web processes close.
14762        Since it is a supplemental on the web context, the manager should only be removed
14763        when the context is destroyed.
14764
14765        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
14766        * UIProcess/Notifications/WebNotificationManagerProxy.h: Remove implementation of
14767        processDidClose().
14768
147692013-05-13  Martin Robinson  <mrobinson@igalia.com>
14770
14771        [GTK] [WebKit2] Use a template file for generated GObject enum files
14772        https://bugs.webkit.org/show_bug.cgi?id=115867
14773
14774        Reviewed by Carlos Garcia Campos.
14775
14776        * GNUmakefile.am: Use a template file instead of specifying portions of the file on the command-line.
14777        * UIProcess/API/gtk/WebKitEnumTypes.cpp.template: Added.
14778        * UIProcess/API/gtk/WebKitEnumTypes.h.template: Added.
14779        * UIProcess/API/gtk/WebKitFindController.cpp: We can no longer rely on WebKitEnumTypes.h to pull in WebKitWebView.h.
14780
147812013-05-13  Noam Rosenthal  <noam@webkit.org>
14782
14783        [CoordGfx] requestAnimationFrame performance issues
14784        https://bugs.webkit.org/show_bug.cgi?id=112345
14785
14786        Reviewed by Jocelyn Turcotte.
14787
14788        Changed the logic of requestAnimationFrame in Coordinated Graphics.
14789        We don't send any IPC messages for requestAnimationFrame. Instead, we do one of two things:
14790        - If there is already a frame pending in the UI process, do nothing, as the animations would
14791          be serviced when the frame is returned to the web process.
14792        - If there is no frame pending, we schedule a flush, making sure that that flush occurs at 
14793          least 1/60 seconds after the last animation service, so that we don't get an infinite loop
14794          of flushes.
14795
14796        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
14797        (WebKit::CoordinatedLayerTreeHostProxy::requestAnimationFrame):
14798        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
14799        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
14800        (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
14801        (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
14802        (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
14803        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
14804        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in:
14805
148062013-05-13  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
14807
14808        [WK2][CoordinatedGraphics] WKView needs API for handling opacity
14809        https://bugs.webkit.org/show_bug.cgi?id=116032
14810
14811        Reviewed by Kenneth Rohde Christiansen.
14812
14813        Add WKViewSetOpacity and WKViewOpacity APIs and use them in
14814        WebView.cpp.
14815
14816        * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
14817        (WKViewSetOpacity):
14818        (WKViewOpacity):
14819        * UIProcess/API/C/CoordinatedGraphics/WKView.h:
14820        * UIProcess/CoordinatedGraphics/WebView.cpp:
14821        (WebKit::WebView::WebView):
14822        (WebKit::WebView::paintToCurrentGLContext):
14823        * UIProcess/CoordinatedGraphics/WebView.h:
14824        (WebKit::WebView::setOpacity):
14825        (WebKit::WebView::opacity):
14826        (WebView):
14827
148282013-05-13  Zan Dobersek  <zdobersek@igalia.com>
14829
14830        [GTK] Use WebCore layer archives for TestWebCore, WebKitPluginProcess
14831        https://bugs.webkit.org/show_bug.cgi?id=115918
14832
14833        Reviewed by Gustavo Noronha Silva.
14834
14835        Due to layer violations and circular dependencies the WebKitPluginProcess requires for the
14836        libraries containing the built code of the intertwining Platform and WebCore layers to be
14837        specified multiple times when linking. This can be avoided by packing the two layers' archives
14838        into one big archive, named after the WebCore layer due to no clear boundary between it and the
14839        Platform layer. The big archive can then be specified only once when linking, simplifying the code
14840        and suppressing all the layering violations so they do not cause build problems.
14841
14842        First the libtool libraries that the WebCore layer (as required by the WebKitPluginProcess) depends on
14843        are specified. These are then used as dependencies for the archive creation rule as well as the list
14844        from which the archive file paths are constructed and then used to dump the member files from these archives.
14845        The member files are then added to the big archive. The latter is added to the list of libraries the
14846        WebKitPluginProcess requires to successfully link.
14847
14848        * GNUmakefile.am:
14849
148502013-05-13  Zalan Bujtas  <zalan@apple.com>
14851
14852        WebProcess consuming very high CPU on linkedin.com
14853        https://bugs.webkit.org/show_bug.cgi?id=115601
14854
14855        Reviewed by Andreas Kling.
14856
14857        Disable WEB_TIMING_MINIMAL.
14858        Turn off window.performance and performance.now(). Some JS frameworks expect
14859        additional Web Timing APIs, when performance.now() is available.
14860
14861        * Configurations/FeatureDefines.xcconfig:
14862
148632013-05-12  Anders Carlsson  <andersca@apple.com>
14864
14865        Stop including UnusedParam.h
14866        https://bugs.webkit.org/show_bug.cgi?id=116003
14867
14868        Reviewed by Sam Weinig.
14869
14870        UnusedParam.h is empty now so there's no need to include it anymore.
14871
14872        * UIProcess/API/C/WKContext.cpp:
14873        * UIProcess/API/C/WKInspector.cpp:
14874        * UIProcess/API/C/WKPage.cpp:
14875        * UIProcess/API/efl/ewk_text_checker.cpp:
14876        * UIProcess/API/efl/ewk_view.cpp:
14877        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
14878        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
14879        * UIProcess/mac/WKFullScreenWindowController.mm:
14880        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
14881        * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
14882
148832013-05-12  Andreas Kling  <akling@apple.com>
14884
14885        Unload event listeners should prevent Safari from insta-killing the web process on last tab close.
14886        <http://webkit.org/b/115988>
14887        <rdar://problem/13870943>
14888
14889        Reviewed by Anders Carlsson.
14890
14891        Let WebCore control the UI process's suppression of the sudden termination mechanism.
14892        This is implemented by having WebChromeClient push Enable/DisableSuddenTermination messages
14893        over to the UI process where the appropriate NSProcessInfo calls are made.
14894
14895        We also use this information when deciding whether to insta-kill a web process when its last
14896        page is closed. This mechanism is re-usable in WebCore to protect against sudden termination
14897        by the UI process.
14898
14899        * UIProcess/WebProcessProxy.cpp:
14900        (WebKit::WebProcessProxy::WebProcessProxy):
14901        (WebKit::WebProcessProxy::removeWebPage):
14902        (WebKit::WebProcessProxy::enableSuddenTermination):
14903        (WebKit::WebProcessProxy::disableSuddenTermination):
14904        * UIProcess/WebProcessProxy.h:
14905        (WebProcessProxy):
14906        * UIProcess/WebProcessProxy.messages.in:
14907        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
14908        (WebKit::WebChromeClient::enableSuddenTermination):
14909        (WebKit::WebChromeClient::disableSuddenTermination):
14910        * WebProcess/WebCoreSupport/WebChromeClient.h:
14911        (WebChromeClient):
14912
149132013-05-12  Alexey Proskuryakov  <ap@apple.com>
14914
14915        <rdar://problem/13402976> Sandbox violations in com.nvidia.OpenGL on Lion.
14916
14917        Reviewed by Dan Bernstein.
14918
14919        * WebProcess/com.apple.WebProcess.sb.in: Silence the violations (on Lion only).
14920
149212013-05-12  Carlos Garcia Campos  <cgarcia@igalia.com>
14922
14923        [GTK] Remove unnecessary GTK_CHECK_VERSION #ifdefs
14924        https://bugs.webkit.org/show_bug.cgi?id=115914
14925
14926        Reviewed by Martin Robinson.
14927
14928        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
14929        (webkitWebViewBaseRealize):
14930
149312013-05-12  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
14932
14933        Unreviewed build fix after r149944.
14934
14935        * Platform/CoreIPC/ArgumentEncoder.cpp: Include <sys/mman.h> for mmap(2).
14936
149372013-05-11  Anders Carlsson  <andersca@apple.com>
14938
14939        Don't pass malloced pointers as out-of-line data when sending Mach messages
14940        https://bugs.webkit.org/show_bug.cgi?id=115970
14941        <rdar://problem/13144680>
14942
14943        Reviewed by Sam Weinig.
14944
14945        Give ArgumentEncoder an inline buffer of 512 bytes. If we need more than that, use mmap to allocate data
14946        since that gives us fresh zero-filled memory that we can safely share.
14947
14948        * Platform/CoreIPC/ArgumentEncoder.cpp:
14949        (CoreIPC::ArgumentEncoder::ArgumentEncoder):
14950        Set up the buffer pointers to point to the inline buffer.
14951
14952        (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
14953        Unmap the buffer if necessary.
14954
14955        (CoreIPC::ArgumentEncoder::grow):
14956        Grow the allocation exponentially, rounded up to the nearest page. This is a simplification from the
14957        current strategy, but most messages are either tiny in which case they will fit inside the inline buffer,
14958        or big in which case we'll end up doing less allocations + memory copying.
14959
14960        * Platform/CoreIPC/ArgumentEncoder.h:
14961        (ArgumentEncoder):
14962
149632013-05-11  Zan Dobersek  <zdobersek@igalia.com>
14964
14965        Unreviewed GTK build fix after r149904.
14966
14967        * GNUmakefile.list.am: Adding missing build targets.
14968
149692013-05-11  Christophe Dumez  <ch.dumez@sisa.samsung.com>
14970
14971        Unreviewed, Fix WK2 EFL build after r149904.
14972
14973        Add new PluginInformation.cpp file to CMake.
14974
14975        * CMakeLists.txt:
14976
149772013-05-11  Christophe Dumez  <ch.dumez@sisa.samsung.com>
14978
14979        Unreviewed, fix WK2 EFL build after r149904.
14980
14981        Add new WKPluginInformation.cpp file to CMake.
14982
14983        * CMakeLists.txt:
14984
149852013-05-11  Andreas Kling  <akling@apple.com>
14986
14987        When possible, terminate web processes immediately when closing their last page.
14988        <http://webkit.org/b/115964>
14989        <rdar://problem/13869266>
14990
14991        Reviewed by Geoffrey Garen.
14992
14993        When we're using a network process, there's no need for the UI process to wait for web processes
14994        to clear resource caches and terminate nicely.
14995
14996        We can just kill them off right away in WebProcessProxy::removeWebPage() when the last page is closed.
14997
14998        * UIProcess/WebProcessProxy.cpp:
14999        (WebKit::WebProcessProxy::removeWebPage):
15000
15001            Terminate the child process immediately if possible.
15002
15003        * UIProcess/WebProcessProxy.h:
15004        (WebKit::WebProcessProxy::canTerminateChildProcess):
15005        (WebKit::WebProcessProxy::shouldTerminate):
15006
15007            Broke out the logic from the shouldTerminate() IPC message handler into a separate function
15008            so we can call it from removeWebPage().
15009
150102013-05-11  Anders Carlsson  <andersca@apple.com>
15011
15012        Crash when terminating a process that has not been fully launched
15013        https://bugs.webkit.org/show_bug.cgi?id=115962
15014        <rdar://problem/13660916>
15015
15016        Reviewed by Andreas Kling.
15017
15018        Handle terminating a process that has not been fully launched.
15019
15020        * UIProcess/Launcher/ProcessLauncher.cpp:
15021        (WebKit::ProcessLauncher::didFinishLaunchingProcess):
15022        If we have been invalidated, dispose the connection identifier.
15023
15024        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
15025        (WebKit::ProcessLauncher::terminateProcess):
15026        If we're still launching the process, invalidate so the client won't get an unexpected
15027        didFinishLaunching callback.
15028
15029        * UIProcess/WebProcessProxy.cpp:
15030        (WebKit::WebProcessProxy::requestTermination):
15031        Check if webConnection() is null before calling it. (It will be null if the process isn't fully launched).
15032
150332013-05-10  Brian J. Burg  <burg@cs.washington.edu>
15034
15035        Web Inspector: Implement WK2 version of WebInspectorFrontendClient::save
15036        https://bugs.webkit.org/show_bug.cgi?id=115564
15037
15038        Reviewed by Benjamin Poulain.
15039
15040        Implement InspectorFrontendHost's save() and append() methods for
15041        Mac WebKit2. Add canSave() for all ports.
15042
15043        * UIProcess/WebInspectorProxy.cpp:
15044        (WebKit::WebInspectorProxy::save):
15045        (WebKit):
15046        (WebKit::WebInspectorProxy::append):
15047        * UIProcess/WebInspectorProxy.h:
15048        (WebInspectorProxy):
15049        * UIProcess/WebInspectorProxy.messages.in:
15050        * UIProcess/efl/WebInspectorProxyEfl.cpp:
15051        (WebKit::WebInspectorProxy::platformSave):
15052        (WebKit):
15053        (WebKit::WebInspectorProxy::platformAppend):
15054        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
15055        (WebKit::WebInspectorProxy::platformSave):
15056        (WebKit):
15057        (WebKit::WebInspectorProxy::platformAppend):
15058        * UIProcess/mac/WebInspectorProxyMac.mm:
15059        (WebKit::WebInspectorProxy::platformSave):
15060        (WebKit):
15061        (WebKit::WebInspectorProxy::platformAppend):
15062        * UIProcess/qt/WebInspectorProxyQt.cpp:
15063        (WebKit::WebInspectorProxy::platformSave):
15064        (WebKit):
15065        (WebKit::WebInspectorProxy::platformAppend):
15066        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
15067        (WebKit::WebInspectorFrontendClient::canSave):
15068        (WebKit):
15069        (WebKit::WebInspectorFrontendClient::save):
15070        (WebKit::WebInspectorFrontendClient::append):
15071        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
15072        (WebInspectorFrontendClient):
15073        * WebProcess/WebPage/WebInspector.cpp:
15074        (WebKit::WebInspector::save):
15075        (WebKit):
15076        (WebKit::WebInspector::append):
15077        (WebKit::WebInspector::didSave):
15078        (WebKit::WebInspector::didAppend):
15079        * WebProcess/WebPage/WebInspector.h:
15080        (WebInspector):
15081        * WebProcess/WebPage/WebInspector.messages.in:
15082        * WebProcess/WebPage/efl/WebInspectorEfl.cpp:
15083        (WebKit::WebInspector::canSave):
15084        (WebKit):
15085        * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
15086        (WebKit::WebInspector::canSave):
15087        (WebKit):
15088        * WebProcess/WebPage/mac/WebInspectorMac.mm:
15089        (WebKit::WebInspector::canSave):
15090        (WebKit):
15091        * WebProcess/WebPage/qt/WebInspectorQt.cpp:
15092        (WebKit::WebInspector::canSave):
15093        (WebKit):
15094
150952013-05-10  Remy Demarest  <rdemarest@apple.com>
15096
15097        Copy WKPluginInformation.h header to the WebKit2 Framework private headers.
15098        https://bugs.webkit.org/show_bug.cgi?id=115940
15099
15100        Reviewed by Darin Adler.
15101
15102        * WebKit2.xcodeproj/project.pbxproj:
15103        Move WKPluginInformation.h file from the framework's Project Headers to
15104        Private Headers.
15105
151062013-05-10  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
15107
15108        [Qt][Mac] Unreviewed. Roll out the fix attempt in r149912.
15109
15110        * Target.pri:
15111
151122013-05-10  Simon Cooper  <scooper@apple.com>
15113
15114        Fix AppleConnect issues for WiFi interfaces
15115        <rdar://problem/13776227&13776240&13776281>
15116        https://bugs.webkit.org/show_bug.cgi?id=115932
15117
15118        Reviewed by Alexey Proskuryakov.
15119
15120        Add support for WiFi interfaces for the AppleConnect plugin.
15121        Remove the FIXME.
15122
15123        * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
15124
151252013-05-10  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
15126
15127        [Qt][Mac] Unreviewed speculative build fix after r149904.
15128
15129        * Target.pri:
15130
151312013-05-10  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
15132
15133        [Qt] Unreviewed buildfix after r149904.
15134
15135        * Target.pri:
15136
151372013-05-09  Sam Weinig  <sam@webkit.org>
15138
15139        Unify plug-in information dictionaries
15140        <rdar://problem/13852080>
15141        https://bugs.webkit.org/show_bug.cgi?id=115891
15142
15143        Reviewed by Anders Carlsson.
15144
15145        This unifies the plug-in information dictionaries vended by WKContextCopyPlugInInfoForBundleIdentifier
15146        and WKContextGetInfoForInstalledPlugIns with those from the WKPageLoaderClient and WKPageUIClient.
15147
15148        All the old keys will continue to work, but have been deprecated in favor of new keys defined in 
15149        WKPluginInformation.h
15150
15151        * Shared/API/c/WKPluginInformation.cpp: Added.
15152        * Shared/API/c/WKPluginInformation.h: Added.
15153        Export new keys as SPI.
15154
15155        * Shared/Plugins/Netscape/PluginInformation.h: Added.
15156        * Shared/Plugins/Netscape/PluginInformation.cpp: Added.
15157        (WebKit::pluginInformationBundleIdentifierKey):
15158        (WebKit::pluginInformationBundleVersionKey):
15159        (WebKit::pluginInformationPathKey):
15160        (WebKit::pluginInformationDisplayNameKey):
15161        (WebKit::pluginInformationDefaultLoadPolicyKey):
15162        (WebKit::pluginInformationUpdatePastLastBlockedVersionIsKnownAvailableKey):
15163        (WebKit::pluginInformationHasSandboxProfileKey):
15164        (WebKit::pluginInformationFrameURLKey):
15165        (WebKit::pluginInformationMIMETypeKey):
15166        (WebKit::pluginInformationPageURLKey):
15167        (WebKit::pluginInformationPluginspageAttributeURLKey):
15168        (WebKit::pluginInformationPluginURLKey):
15169        Add new keys.
15170
15171        (WebKit::pluginModuleInformation):
15172        (WebKit::createPluginInformationDictionary):
15173        Add creation functions to simplify multiple sites.
15174
15175        * Shared/Plugins/Netscape/mac/PluginInformationMac.mm: Added.
15176        (WebKit::platformPluginModuleInformation):
15177        Add platform specific data to the dictionary.
15178
15179        * UIProcess/API/C/WKPage.cpp:
15180        (WKPageGetPluginInformationBundleIdentifierKey):
15181        (WKPageGetPluginInformationBundleVersionKey):
15182        (WKPageGetPluginInformationDisplayNameKey):
15183        (WKPageGetPluginInformationFrameURLKey):
15184        (WKPageGetPluginInformationMIMETypeKey):
15185        (WKPageGetPluginInformationPageURLKey):
15186        (WKPageGetPluginInformationPluginspageAttributeURLKey):
15187        (WKPageGetPluginInformationPluginURLKey):
15188        * UIProcess/API/C/WKPage.h:
15189        Deprecate the old keys.
15190
15191        * UIProcess/API/C/mac/WKContextPrivateMac.h:
15192        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
15193        (WKContextCopyPlugInInfoForBundleIdentifier):
15194        (WKContextGetInfoForInstalledPlugIns):
15195        Simplify by using the new createPluginInformationDictionary functions.
15196
15197        (WKPlugInInfoPathKey):
15198        (WKPlugInInfoBundleIdentifierKey):
15199        (WKPlugInInfoVersionKey):
15200        (WKPlugInInfoLoadPolicyKey):
15201        (WKPlugInInfoUpdatePastLastBlockedVersionIsKnownAvailableKey):
15202        (WKPlugInInfoIsSandboxedKey):
15203        Deprecate the old keys.
15204
15205        * UIProcess/WebLoaderClient.cpp:
15206        (WebKit::WebLoaderClient::didFailToInitializePlugin):
15207        (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
15208        (WebKit::WebLoaderClient::pluginLoadPolicy):
15209        * UIProcess/WebLoaderClient.h:
15210        * UIProcess/WebUIClient.cpp:
15211        (WebKit::WebUIClient::unavailablePluginButtonClicked):
15212        * UIProcess/WebUIClient.h:
15213        Optimize for the most recent callback type which takes a dictionary,
15214        and pull out the necessary bits from it for deprecated callbacks as necessary.
15215
15216        * UIProcess/WebPageProxy.h:
15217        * UIProcess/WebPageProxy.cpp:
15218        (WebKit::WebPageProxy::findPlugin):
15219        (WebKit::WebPageProxy::unavailablePluginButtonClicked):
15220        (WebKit::WebPageProxy::didFailToInitializePlugin):
15221        (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
15222        Use createPluginInformationDictionary() consistently, to get consistent results for callbacks.
15223
15224        * WebKit2.xcodeproj/project.pbxproj:
15225        Add new files.
15226
152272013-05-10  Brian J. Burg  <burg@cs.washington.edu>
15228
15229        Web Inspector: implement runOpenPanel callback for WebKit2 inspector
15230        https://bugs.webkit.org/show_bug.cgi?id=115865
15231
15232        Reviewed by Sam Weinig.
15233
15234        * UIProcess/WebInspectorProxy.h:
15235        (WebKit::WebInspectorProxy::inspectorWindow):
15236        Add an accessor for m_inspectorWindow.
15237
15238        * UIProcess/mac/WebInspectorProxyMac.mm:
15239        (WebKit::runOpenPanel):
15240        Show the open panel dialog when requested.
15241
15242        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
15243        Register the callback when the inspector page is created.
15244
152452013-05-10  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
15246
15247        [WK2][CoordinatedGraphics] WKViewSetThemePath is EFL specific
15248        https://bugs.webkit.org/show_bug.cgi?id=115928
15249
15250        Reviewed by Kenneth Rohde Christiansen.
15251
15252        WKViewSetThemePath was moved to WKViewEfl.h since it is EFL specific.
15253
15254        * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
15255        * UIProcess/API/C/CoordinatedGraphics/WKView.h:
15256        * UIProcess/API/C/efl/WKViewEfl.cpp:
15257        (WKViewSetThemePath):
15258        * UIProcess/API/C/efl/WKViewEfl.h:
15259        * UIProcess/CoordinatedGraphics/WebView.cpp:
15260        * UIProcess/CoordinatedGraphics/WebView.h:
15261        (WebView):
15262        * UIProcess/efl/ViewClientEfl.cpp:
15263        * UIProcess/efl/WebInspectorProxyEfl.cpp:
15264        * UIProcess/efl/WebViewEfl.cpp:
15265        (WebKit::WebViewEfl::setThemePath):
15266        * UIProcess/efl/WebViewEfl.h:
15267        (WebViewEfl):
15268
152692013-05-10  Jer Noble  <jer.noble@apple.com>
15270
15271        REGRESSION (r149439): Video turns blank upon entering full screen for the first time
15272        https://bugs.webkit.org/show_bug.cgi?id=115617
15273
15274        Reviewed by Eric Carlson.
15275
15276        Partially revert the change introduced in r149439 for OS X 10.8 and previous. On these
15277        platforms, create a window with a NSZeroSize initial frame, which fixes the "blank"
15278        first-full screen behavior.
15279
15280        * UIProcess/API/mac/WKView.mm:
15281        (-[WKView createFullScreenWindow]):
15282
152832013-05-10  Zan Dobersek  <zdobersek@igalia.com>
15284
15285        [WK2] Make the WebSoupRequestManager a supplement to the WebProcess
15286        https://bugs.webkit.org/show_bug.cgi?id=115717
15287
15288        Reviewed by Andreas Kling.
15289
15290        WebSoupRequestManager should inherit from WebProcessSupplement and should be used as such
15291        by the WebProcess. This removes the need for the m_soupRequestManager member variable in
15292        the WebProcess class and brings the WebSoupRequestManager in line with other manager classes
15293        of which instances are controlled by the WebProcess class.
15294
15295        * WebProcess/WebProcess.cpp:
15296        (WebKit::WebProcess::WebProcess): Add  the WebSoupRequestManager as a supplement.
15297        * WebProcess/WebProcess.h:
15298        (WebProcess): Remove the m_soupRequestManager member variable and its getter method.
15299        * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
15300        (webkitSoupRequestGenericSendAsync): Access the WebSoupRequestManager as a supplement.
15301        (webkitSoupRequestGenericSendFinish): Ditto.
15302        * WebProcess/soup/WebProcessSoup.cpp:
15303        (WebKit::WebProcess::platformInitializeWebProcess): Access the WebSoupRequestManager as a supplement.
15304        * WebProcess/soup/WebSoupRequestManager.cpp:
15305        (WebKit::WebSoupRequestManager::supplementName): Specify the supplement's name.
15306        * WebProcess/soup/WebSoupRequestManager.h:
15307        (WebSoupRequestManager): Inherit from the WebProcessSupplement interface.
15308
153092013-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>
15310
15311        [GTK] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
15312        https://bugs.webkit.org/show_bug.cgi?id=115904
15313
15314        Reviewed by Martin Robinson.
15315
15316        * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
15317        (startTestServerMonitor):
15318        * UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp:
15319        (startTestServerMonitor):
15320
153212013-05-09  Anders Carlsson  <andersca@apple.com>
15322
15323        Fix build.
15324
15325        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
15326
153272013-05-09  Anders Carlsson  <andersca@apple.com>
15328
15329        Enable UI process storage
15330        https://bugs.webkit.org/show_bug.cgi?id=115879
15331        <rdar://problem/12239765>
15332
15333        Reviewed by Beth Dakin.
15334
15335        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
15336        Flip the switch.
15337
153382013-05-09  Anders Carlsson  <andersca@apple.com>
15339
15340        Remove extra spaces between right angle brackets in template declarations
15341        https://bugs.webkit.org/show_bug.cgi?id=115877
15342
15343        Reviewed by Beth Dakin.
15344
15345        C++11 doesn't require spaces between right angle brackets so remove all of them.
15346
15347        * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
15348        (WebKit::NetworkBlobRegistry::registerBlobURL):
15349        (WebKit::NetworkBlobRegistry::sandboxExtensions):
15350        * NetworkProcess/FileAPI/NetworkBlobRegistry.h:
15351        (NetworkBlobRegistry):
15352        * NetworkProcess/HostRecord.h:
15353        (HostRecord):
15354        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
15355        (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
15356        (WebKit::NetworkConnectionToWebProcess::didClose):
15357        (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
15358        * NetworkProcess/NetworkConnectionToWebProcess.h:
15359        (NetworkConnectionToWebProcess):
15360        * NetworkProcess/NetworkProcess.h:
15361        (NetworkProcess):
15362        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
15363        (WebKit::NetworkResourceLoadScheduler::servePendingRequests):
15364        (WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):
15365        * NetworkProcess/NetworkResourceLoadScheduler.h:
15366        * NetworkProcess/SchedulableLoader.cpp:
15367        (WebKit::SchedulableLoader::SchedulableLoader):
15368        * NetworkProcess/SchedulableLoader.h:
15369        (SchedulableLoader):
15370        * Platform/CoreIPC/ArgumentCoders.h:
15371        * Platform/CoreIPC/Connection.cpp:
15372        (Connection::SyncMessageState):
15373        (CoreIPC::Connection::waitForMessage):
15374        (CoreIPC::Connection::processIncomingMessage):
15375        * Platform/CoreIPC/Connection.h:
15376        (Connection):
15377        * Platform/WorkQueue.h:
15378        (WorkQueue):
15379        * PluginProcess/PluginProcess.h:
15380        (PluginProcess):
15381        * Scripts/webkit2/messages_unittest.py:
15382        (CoreIPC):
15383        * Shared/BlockingResponseMap.h:
15384        (BlockingResponseMap):
15385        * Shared/ChildProcessProxy.h:
15386        (ChildProcessProxy):
15387        * Shared/ImmutableArray.cpp:
15388        (WebKit::ImmutableArray::ImmutableArray):
15389        * Shared/ImmutableArray.h:
15390        (WebKit::ImmutableArray::adopt):
15391        (ImmutableArray):
15392        * Shared/ImmutableDictionary.cpp:
15393        (WebKit::ImmutableDictionary::keys):
15394        * Shared/ImmutableDictionary.h:
15395        (ImmutableDictionary):
15396        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
15397        (CustomProtocolManager):
15398        * Shared/SecurityOriginData.cpp:
15399        (WebKit::performAPICallbackWithSecurityOriginDataVector):
15400        * Shared/SessionState.cpp:
15401        * Shared/StatisticsData.h:
15402        (StatisticsData):
15403        * Shared/UserMessageCoders.h:
15404        (WebKit::UserMessageDecoder::baseDecode):
15405        * Shared/WebArchive.cpp:
15406        (WebKit::WebArchive::WebArchive):
15407        (WebKit::WebArchive::subresources):
15408        (WebKit::WebArchive::subframeArchives):
15409        * Shared/WebContextMenuItem.cpp:
15410        (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
15411        * Shared/WebOpenPanelParameters.cpp:
15412        (WebKit::WebOpenPanelParameters::acceptMIMETypes):
15413        (WebKit::WebOpenPanelParameters::selectedFileNames):
15414        * Shared/mac/ArgumentCodersMac.mm:
15415        (CoreIPC::encode):
15416        * SharedWorkerProcess/SharedWorkerProcess.h:
15417        (SharedWorkerProcess):
15418        * UIProcess/API/mac/WKPrintingView.h:
15419        (WebFrameProxy):
15420        * UIProcess/API/mac/WKPrintingView.mm:
15421        (-[WKPrintingView _drawPreview:]):
15422        * UIProcess/API/mac/WKView.mm:
15423        (WebKit):
15424        * UIProcess/Downloads/DownloadProxyMap.cpp:
15425        (WebKit::DownloadProxyMap::processDidClose):
15426        * UIProcess/Downloads/DownloadProxyMap.h:
15427        (DownloadProxyMap):
15428        * UIProcess/GeolocationPermissionRequestManagerProxy.h:
15429        (GeolocationPermissionRequestManagerProxy):
15430        * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
15431        (DynamicLinkerEnvironmentExtractor):
15432        * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
15433        (CustomProtocolManagerProxy):
15434        * UIProcess/Network/NetworkProcessProxy.h:
15435        (NetworkProcessProxy):
15436        * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h:
15437        (NotificationPermissionRequestManagerProxy):
15438        * UIProcess/Notifications/WebNotificationManagerProxy.h:
15439        (WebNotificationManagerProxy):
15440        * UIProcess/Plugins/PluginProcessManager.h:
15441        (PluginProcessManager):
15442        * UIProcess/Plugins/PluginProcessProxy.h:
15443        (PluginProcessProxy):
15444        * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
15445        (WebKit::WebPluginSiteDataManager::didGetSitesWithData):
15446        * UIProcess/Plugins/WebPluginSiteDataManager.h:
15447        (WebPluginSiteDataManager):
15448        * UIProcess/SharedWorkers/SharedWorkerProcessManager.h:
15449        (SharedWorkerProcessManager):
15450        * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
15451        (SharedWorkerProcessProxy):
15452        * UIProcess/StatisticsRequest.cpp:
15453        (WebKit::StatisticsRequest::completedRequest):
15454        * UIProcess/Storage/StorageManager.cpp:
15455        (StorageManager::StorageArea):
15456        (WebKit::StorageManager::StorageArea::dispatchEvents):
15457        (StorageManager::SessionStorageNamespace):
15458        (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
15459        (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
15460        (WebKit::StorageManager::createLocalStorageMap):
15461        (WebKit::StorageManager::createSessionStorageMap):
15462        (WebKit::StorageManager::destroyStorageMap):
15463        (WebKit::StorageManager::invalidateConnectionInternal):
15464        (WebKit::StorageManager::findStorageArea):
15465        (WebKit::StorageManager::getOrCreateLocalStorageNamespace):
15466        * UIProcess/Storage/StorageManager.h:
15467        (StorageManager):
15468        * UIProcess/WebApplicationCacheManagerProxy.h:
15469        (WebApplicationCacheManagerProxy):
15470        * UIProcess/WebBackForwardList.cpp:
15471        (WebKit::WebBackForwardList::addItem):
15472        (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
15473        (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
15474        (WebKit::WebBackForwardList::clear):
15475        * UIProcess/WebBackForwardList.h:
15476        (WebKit):
15477        * UIProcess/WebContext.cpp:
15478        (WebKit::WebContext::createNewWebProcess):
15479        (WebKit::WebContext::enableProcessTermination):
15480        (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
15481        * UIProcess/WebContext.h:
15482        (WebContext):
15483        * UIProcess/WebCookieManagerProxy.cpp:
15484        (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies):
15485        * UIProcess/WebCookieManagerProxy.h:
15486        (WebCookieManagerProxy):
15487        * UIProcess/WebDatabaseManagerProxy.cpp:
15488        (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
15489        (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
15490        * UIProcess/WebDatabaseManagerProxy.h:
15491        (WebDatabaseManagerProxy):
15492        * UIProcess/WebFormClient.cpp:
15493        (WebKit::WebFormClient::willSubmitForm):
15494        * UIProcess/WebFormClient.h:
15495        (WebFormClient):
15496        * UIProcess/WebKeyValueStorageManagerProxy.h:
15497        (WebKeyValueStorageManagerProxy):
15498        * UIProcess/WebLoaderClient.cpp:
15499        (WebKit::WebLoaderClient::didChangeBackForwardList):
15500        * UIProcess/WebLoaderClient.h:
15501        (WebLoaderClient):
15502        * UIProcess/WebMediaCacheManagerProxy.cpp:
15503        (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache):
15504        * UIProcess/WebMediaCacheManagerProxy.h:
15505        (WebMediaCacheManagerProxy):
15506        * UIProcess/WebPageContextMenuClient.cpp:
15507        (WebKit::WebPageContextMenuClient::showContextMenu):
15508        * UIProcess/WebPageProxy.cpp:
15509        (ExceededDatabaseQuotaRecords):
15510        (WebKit::WebPageProxy::relatedPages):
15511        (WebKit::WebPageProxy::didChangeBackForwardList):
15512        (WebKit::WebPageProxy::handleWheelEvent):
15513        (WebKit::WebPageProxy::processNextQueuedWheelEvent):
15514        (WebKit::WebPageProxy::findStringMatches):
15515        (WebKit::WebPageProxy::willSubmitForm):
15516        (WebKit::WebPageProxy::pluginInformationDictionary):
15517        (WebKit::WebPageProxy::didFindStringMatches):
15518        (WebKit::WebPageProxy::didReceiveEvent):
15519        * UIProcess/WebPageProxy.h:
15520        (WebPageProxy):
15521        * UIProcess/WebPageProxy.messages.in:
15522        * UIProcess/WebProcessProxy.cpp:
15523        (WebKit::WebProcessProxy::disconnect):
15524        (WebKit::WebProcessProxy::didClose):
15525        (WebKit::WebProcessProxy::didBecomeUnresponsive):
15526        (WebKit::WebProcessProxy::interactionOccurredWhileUnresponsive):
15527        (WebKit::WebProcessProxy::didBecomeResponsive):
15528        (WebKit::WebProcessProxy::disconnectFramesFromPage):
15529        (WebKit::WebProcessProxy::frameCountInPage):
15530        * UIProcess/WebProcessProxy.h:
15531        (WebProcessProxy):
15532        * UIProcess/WebResourceCacheManagerProxy.h:
15533        (WebResourceCacheManagerProxy):
15534        * UIProcess/mac/WebContextMenuProxyMac.mm:
15535        (WebKit::populateNSMenu):
15536        (WebKit::nsMenuItemVector):
15537        * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
15538        (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
15539        * WebProcess/Geolocation/WebGeolocationManager.cpp:
15540        (WebKit::WebGeolocationManager::didChangePosition):
15541        (WebKit::WebGeolocationManager::didFailToDeterminePosition):
15542        * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
15543        (WebIconDatabaseProxy):
15544        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
15545        * WebProcess/InjectedBundle/InjectedBundle.cpp:
15546        (WebKit::InjectedBundle::originsWithApplicationCache):
15547        * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
15548        (WebKit::InjectedBundleBackForwardListItem::children):
15549        * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
15550        (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):
15551        * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
15552        (InjectedBundlePageEditorClient):
15553        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
15554        (WebKit::InjectedBundlePageFormClient::willSendSubmitEvent):
15555        (WebKit::InjectedBundlePageFormClient::willSubmitForm):
15556        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
15557        (InjectedBundlePageFormClient):
15558        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
15559        (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
15560        * WebProcess/Network/WebResourceLoadScheduler.cpp:
15561        (WebKit::WebResourceLoadScheduler::internallyFailedLoadTimerFired):
15562        (WebKit::WebResourceLoadScheduler::networkProcessCrashed):
15563        * WebProcess/Network/WebResourceLoadScheduler.h:
15564        (WebResourceLoadScheduler):
15565        * WebProcess/Notifications/NotificationPermissionRequestManager.h:
15566        (NotificationPermissionRequestManager):
15567        * WebProcess/Notifications/WebNotificationManager.h:
15568        (WebNotificationManager):
15569        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
15570        (WebKit::NPRuntimeObjectMap::invalidate):
15571        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
15572        (NPRuntimeObjectMap):
15573        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
15574        (WebKit::NetscapePlugin::stopAllStreams):
15575        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
15576        (NetscapePlugin):
15577        * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
15578        (NetscapePluginStream):
15579        * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
15580        (getAllScriptsInPDFDocument):
15581        (WebKit::SimplePDFPlugin::runScriptsInPDFDocument):
15582        * WebProcess/Plugins/PluginProcessConnectionManager.h:
15583        (PluginProcessConnectionManager):
15584        * WebProcess/Plugins/PluginView.cpp:
15585        (WebKit::PluginView::cancelAllStreams):
15586        * WebProcess/Plugins/PluginView.h:
15587        (PluginView):
15588        * WebProcess/Storage/StorageAreaMap.cpp:
15589        (WebKit::StorageAreaMap::dispatchSessionStorageEvent):
15590        (WebKit::StorageAreaMap::dispatchLocalStorageEvent):
15591        * WebProcess/Storage/StorageNamespaceImpl.cpp:
15592        (WebKit::StorageNamespaceImpl::storageArea):
15593        * WebProcess/Storage/StorageNamespaceImpl.h:
15594        (StorageNamespaceImpl):
15595        * WebProcess/Storage/WebKeyValueStorageManager.cpp:
15596        (WebKit::keyValueStorageOriginIdentifiers):
15597        * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
15598        (WebKit::WebDatabaseManager::getDatabasesByOrigin):
15599        (WebKit::WebDatabaseManager::getDatabaseOrigins):
15600        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
15601        (WebKit::WebEditorClient::getClientPasteboardDataForRange):
15602        * WebProcess/WebCoreSupport/WebEditorClient.h:
15603        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
15604        (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
15605        * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
15606        (WebKit::WebEditorClient::documentFragmentFromAttributedString):
15607        * WebProcess/WebPage/EventDispatcher.h:
15608        (EventDispatcher):
15609        * WebProcess/WebPage/FindController.cpp:
15610        (WebKit::FindController::findStringMatches):
15611        * WebProcess/WebPage/FindController.h:
15612        (FindController):
15613        * WebProcess/WebPage/WebBackForwardListProxy.cpp:
15614        (WebKit):
15615        * WebProcess/WebPage/WebFrame.cpp:
15616        (WebKit::WebFrame::childFrames):
15617        * WebProcess/WebPage/WebPage.cpp:
15618        (WebKit::WebPage::trackedRepaintRects):
15619        * WebProcess/WebPage/WebPage.h:
15620        (WebKit):
15621        (WebPage):
15622        * WebProcess/WebPage/mac/LayerTreeHostMac.h:
15623        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
15624        (TiledCoreAnimationDrawingArea):
15625        * WebProcess/WebProcess.cpp:
15626        (WebKit::WebProcess::visitedLinkStateChanged):
15627        (WebKit::WebProcess::allVisitedLinkStateChanged):
15628        (WebKit::WebProcess::focusedWebPage):
15629        (WebKit::WebProcess::createWebPage):
15630        (WebKit::WebProcess::didClose):
15631        (WebKit::WebProcess::webPageGroup):
15632        (WebKit::addCaseFoldedCharacters):
15633        (WebKit::getWebCoreMemoryCacheStatistics):
15634        (WebKit::WebProcess::setTextCheckerState):
15635        * WebProcess/WebProcess.h:
15636        (WebProcess):
15637
156382013-05-09  Anders Carlsson  <andersca@apple.com>
15639
15640        Implement WebPlatformStrategies::transientLocalStorageNamespace
15641        https://bugs.webkit.org/show_bug.cgi?id=115876
15642        <rdar://problem/13852871>
15643
15644        Reviewed by Beth Dakin.
15645
15646        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
15647        (WebKit::WebPlatformStrategies::transientLocalStorageNamespace):
15648        Return a session storage namespace for a random page when UI process storage is enabled,
15649        otherwise call the base class implementation.
15650
156512013-05-09  Anders Carlsson  <andersca@apple.com>
15652
15653        Use explicit qualifiers for names in the std:: namespace
15654        https://bugs.webkit.org/show_bug.cgi?id=115868
15655
15656        Reviewed by Andreas Kling.
15657
15658        * Shared/mac/ArgumentCodersMac.mm:
15659        (CoreIPC::encode):
15660        * UIProcess/API/C/WKPluginSiteDataManager.cpp:
15661        (WKPluginSiteDataManagerClearAllSiteData):
15662        * UIProcess/Plugins/PluginInfoStore.cpp:
15663        (WebKit::PluginInfoStore::findPluginForExtension):
15664        * UIProcess/WebFrameProxy.cpp:
15665        * UIProcess/WebProcessProxy.cpp:
15666        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
15667        (WebKit::parsePostBuffer):
15668        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
15669        (WebKit::NetscapePlugin::loadURL):
15670        * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
15671        (WebKit::NetscapePluginStream::deliverDataToPlugin):
15672        * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
15673        * WebProcess/WebPage/DrawingAreaImpl.cpp:
15674        * WebProcess/WebPage/FindController.cpp:
15675        (WebKit::FindController::countStringMatches):
15676        (WebKit::FindController::updateFindUIAfterPageScroll):
15677        * WebProcess/WebPage/WebPage.cpp:
15678        * WebProcess/WebPage/mac/WebPageMac.mm:
15679        (WebKit::drawPDFPage):
15680        * WebProcess/mac/WebProcessMac.mm:
15681
156822013-05-09  Max Feil  <mfeil@rim.com>
15683
15684        shouldUsePluginDocument() needs to be respected when a document is created
15685        https://bugs.webkit.org/show_bug.cgi?id=110308
15686
15687        Reviewed by Rob Buis.
15688
15689        Renaming shouldUsePluginDocument() to shouldAlwaysUsePluginDocument()
15690        for clarity.
15691
15692        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
15693        (WebKit::WebFrameLoaderClient::shouldAlwaysUsePluginDocument):
15694        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
15695        (WebFrameLoaderClient):
15696
156972013-05-09  Timothy Hatcher  <timothy@apple.com>
15698
15699        Make dragging off a tab in Safari with a docked Inspector reattach the Inspector.
15700
15701        https://webkit.org/b/115832
15702        rdar://problem/13605661
15703
15704        Reviewed by Benjamin Poulain.
15705
15706        * UIProcess/mac/WebInspectorProxyMac.mm:
15707        (WebKit::WebInspectorProxy::platformBringToFront):
15708        If the Web Inspector is no longer in the same window as the inspected view,
15709        then we need to reopen the Inspector to get it attached to the right window.
15710
157112013-05-08  Anders Carlsson  <andersca@apple.com>
15712
15713        Fix a typo in a comment.
15714
15715        Rubber-stamped by Darin Adler.
15716
15717        * WebProcess/WebProcess.cpp:
15718        (WebKit::WebProcess::initializeConnection):
15719
157202013-05-08  Anders Carlsson  <andersca@apple.com>
15721
15722        Remove bogus StorageAreaMap assertions
15723        https://bugs.webkit.org/show_bug.cgi?id=115838
15724
15725        Reviewed by Sam Weinig.
15726
15727        It is possible for didGetValues, and didClear to be called even if m_hasPendingClear is false so remove the assertions.
15728
15729        * WebProcess/Storage/StorageAreaMap.cpp:
15730        (WebKit::StorageAreaMap::didGetValues):
15731        (WebKit::StorageAreaMap::didClear):
15732
157332013-05-08  Anders Carlsson  <andersca@apple.com>
15734
15735        Handle incoming clear operations
15736        https://bugs.webkit.org/show_bug.cgi?id=115829
15737
15738        Reviewed by Sam Weinig.
15739
15740        Handle clear by building up a new storage map with our pending changes.
15741
15742        * WebProcess/Storage/StorageAreaMap.cpp:
15743        (WebKit::StorageAreaMap::applyChange):
15744
157452013-05-08  Anders Carlsson  <andersca@apple.com>
15746
15747        Don't apply changes while we're clearing the database
15748        https://bugs.webkit.org/show_bug.cgi?id=115826
15749
15750        Reviewed by Darin Adler.
15751
15752        * UIProcess/Storage/LocalStorageDatabase.cpp:
15753        (WebKit::LocalStorageDatabase::openDatabase):
15754        Only call didOpenDatabaseWithOrigin if we actually did open the database.
15755
15756        (WebKit::LocalStorageDatabase::updateDatabaseWithChangedItems):
15757        Create the database if needed.
15758
15759        * UIProcess/Storage/StorageManager.cpp:
15760        (WebKit::StorageManager::getValues):
15761        Send back a DidGetValues message.
15762
15763        * WebProcess/Storage/StorageAreaMap.cpp:
15764        (WebKit::StorageAreaMap::StorageAreaMap):
15765        Initialize m_hasPendingClear.
15766
15767        (WebKit::StorageAreaMap::clear):
15768        Set m_hasPendingClear to true.
15769
15770        (WebKit::StorageAreaMap::resetValues):
15771        Set m_hasPendingClear back to false.
15772
15773        (WebKit::StorageAreaMap::loadValuesIfNeeded):
15774        Set m_hasPendingClear to true so we'll ignore any changes that are already part of the returned items.
15775
15776        (WebKit::StorageAreaMap::didGetValues):
15777        Set m_hasPendingClear back to false.
15778
15779        (WebKit::StorageAreaMap::didClear):
15780        Set m_hasPendingClear back to false.
15781
15782        (WebKit::StorageAreaMap::applyChange):
15783        Don't apply the change if m_hasPendingClear is true.
15784
15785        * WebProcess/Storage/StorageAreaMap.messages.in:
15786        Add DidGetValues message.
15787
157882013-05-08  Andy Estes  <aestes@apple.com>
15789
15790        [WebKit2] REGRESSION (Custom Protocols): Reproducible crash when navigating to URL with an invalid scheme
15791        https://bugs.webkit.org/show_bug.cgi?id=115790
15792
15793        Reviewed by Alexey Proskuryakov.
15794
15795        NSMutableSet does not support adding or removing nil objects, and
15796        WTF::HashSet does not support adding, removing, or checking for null
15797        WTF::Strings.
15798
15799        For the NSMutableSet case, make sure that we don't try to add or remove
15800        nil NSStrings.
15801
15802        For the WTF::HashSet case, NSURL will return a nil NSString if we ask
15803        it for its scheme when it is invalid, which we will convert to a null
15804        WTF::String. Don't try to check if our HashSet of registered schemes
15805        contains a null String.
15806
15807        * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
15808        (WebKit::CustomProtocolManager::registerScheme): Assert that the scheme
15809        isn't null. We reject null schemes at the WKBrowsingContextController level.
15810        (WebKit::CustomProtocolManager::unregisterScheme): Ditto.
15811        (WebKit::CustomProtocolManager::supportsScheme): If scheme is null, return false.
15812        * UIProcess/API/mac/WKBrowsingContextController.mm:
15813        (+[WKBrowsingContextController registerSchemeForCustomProtocol:]): Do not register a nil scheme.
15814        (+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]): Ditto.
15815
158162013-05-08  Anders Carlsson  <andersca@apple.com>
15817
15818        Apply remote changes to storage maps locally
15819        https://bugs.webkit.org/show_bug.cgi?id=115825
15820
15821        Reviewed by Beth Dakin.
15822
15823        * WebProcess/Storage/StorageAreaMap.cpp:
15824        (WebKit::StorageAreaMap::resetValues):
15825        Clear the pending values map.
15826
15827        (WebKit::StorageAreaMap::didSetItem):
15828        If we failed to set the item, forget everything we know about this storage map.
15829        Otherwise, remove the pending item.
15830
15831        (WebKit::StorageAreaMap::didRemoveItem):
15832        Remove the pending item.
15833
15834        (WebKit::StorageAreaMap::shouldApplyChangeForKey):
15835        Helper function that returns whether a change for a given key should be applied.
15836
15837        (WebKit::StorageAreaMap::applyChange):
15838        Apply the change. Currently only adds and removes are handled.
15839
15840        (WebKit::StorageAreaMap::dispatchStorageEvent):
15841        Apply the change locally as well if needed.
15842
15843        * WebProcess/Storage/StorageAreaMap.h:
15844
158452013-05-08  Anders Carlsson  <andersca@apple.com>
15846
15847        Assert at compile time that we don't pass Objective-C object pointers to adoptCF
15848        https://bugs.webkit.org/show_bug.cgi?id=115823
15849
15850        Reviewed by Geoffrey Garen.
15851
15852        Fix adoptNS/adoptCF mismatches. For the adopt(leakRef()) case we'd ideally want a static_pointer_cast overload for RetainPtr,
15853        but this will do for now.
15854        
15855        * Shared/mac/ArgumentCodersMac.mm:
15856        (CoreIPC::decode):
15857
158582013-05-08  Sam Weinig  <sam@webkit.org>
15859
15860        Add SPI to determine if a plugin is sandboxed
15861        https://bugs.webkit.org/show_bug.cgi?id=115810
15862
15863        Reviewed by Anders Carlsson.
15864
15865        * PluginProcess/mac/PluginProcessMac.mm:
15866        (WebKit::PluginProcess::initializeSandbox):
15867        * Shared/Plugins/mac/PluginSandboxProfile.h: Added.
15868        * Shared/Plugins/mac/PluginSandboxProfile.mm: Added.
15869        (WebKit::pluginSandboxProfileDefaultDirectory):
15870        (WebKit::pluginSandboxProfileDirectories):
15871        (WebKit::pluginSandboxProfileName):
15872        (WebKit::pluginSandboxCommonProfile):
15873        (WebKit::pluginSandboxProfileForDirectory):
15874        (WebKit::pluginSandboxProfile):
15875        (WebKit::pluginHasSandboxProfileForDirectory):
15876        (WebKit::pluginHasSandboxProfile):
15877        Move sandbox code to its own file and refactor to use cocoa. Also adds pluginHasSandboxProfile function
15878        which uses the newly refactored code.
15879
15880        * UIProcess/API/C/mac/WKContextPrivateMac.h:
15881        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
15882        (WKPlugInInfoIsSandboxedKey):
15883        (createInfoDictionary):
15884        Add WKPlugInInfoIsSandboxedKey.
15885
15886        * WebKit2.xcodeproj/project.pbxproj:
15887        Add new files.
15888
158892013-05-08  Anders Carlsson  <andersca@apple.com>
15890
15891        Safari unexpectedly quits with invalid message from the web process with message ID 0x323002f (WebPageProxy.DecidePolicyForNavigationAction)
15892        https://bugs.webkit.org/show_bug.cgi?id=115814
15893        <rdar://problem/12331258>
15894
15895        Reviewed by Andreas Kling.
15896
15897        To ensure that any asynchronous messages are delivered to the UI process before
15898        synchronous messages (except when doing so would lead to a deadlock), Call
15899        setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage on the UI process connections.
15900
15901        * WebProcess/WebProcess.cpp:
15902        (WebKit::WebProcess::initializeConnection):
15903
159042013-05-08  Tim Horton  <timothy_horton@apple.com>
15905
15906        Coalesce WKView visibleRect changes
15907        https://bugs.webkit.org/show_bug.cgi?id=115792
15908        <rdar://problem/13776842>
15909
15910        Reviewed by Simon Fraser.
15911
15912        The system can call renewGState much more often than we actually want
15913        to update the WebProcess' notion of the exposed rect. Most importantly,
15914        within an autolayout pass it is called many times, and often sees
15915        [WKView visibleRect] be an intermediate value which will never be
15916        flushed to the screen. We only care about the final value, so we should
15917        wait until AppKit has finished - with a zero-delay timer - to inform the
15918        WebProcess of exposed rect changes.
15919
15920        * UIProcess/WebPageProxy.cpp:
15921        (WebKit::WebPageProxy::WebPageProxy):
15922        Add exposedRectChangedTimer.
15923        (WebKit::WebPageProxy::close):
15924        Cancel exposedRectChangedTimer when tearing down the WebPageProxy.
15925        * UIProcess/WebPageProxy.h:
15926        (WebPageProxy):
15927        Add exposedRectChangedTimerFired, the timer itself, and two rects:
15928        the most recent exposed rect from the WKView, and the last one we actually
15929        sent across to the WebProcess.
15930        * UIProcess/mac/WebPageProxyMac.mm:
15931        (WebKit::WebPageProxy::viewExposedRectChanged):
15932        Instead of immediately sending exposed rect changes to the WebProcess,
15933        start a zero-delay timer to do so.
15934        (WebKit::WebPageProxy::exposedRectChangedTimerFired):
15935        Once the zero-delay timer fires, send the new exposed rect to the WebProcess.
15936
159372013-05-08  Alexey Proskuryakov  <ap@apple.com>
15938
15939        <rdar://problem/13776220> 13A451: PluginProcess(2225) deny file-read-data ~/Library/InputManagers
15940        <rdar://problem/13642510> PluginProcess logs sandbox violations initializing TextServices
15941
15942        Reviewed by Anders Carlsson.
15943
15944        * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: Allow more
15945        TextServices and NSInputManager directories.
15946
159472013-05-08  Anders Carlsson  <andersca@apple.com>
15948
15949        Remove BinarySemaphoreWin.cpp.
15950
15951        Rubber-stamped by Beth Dakin.
15952
15953        BinarySemaphoreWin has been moved to WTF, but the original was never removed.
15954
15955        * Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Removed.
15956
159572013-05-08  Zan Dobersek  <zdobersek@igalia.com>
15958
15959        [WK2] Make the WebNetworkInfoManager a supplement to the WebProcess
15960        https://bugs.webkit.org/show_bug.cgi?id=115716
15961
15962        Reviewed by Andreas Kling.
15963
15964        WebNetworkInfoManager should inherit from WebProcessSupplement and should be used
15965        as such by the WebProcess. This removes the need for the m_networkInfoManager member
15966        variable in the WebProcess class and brings the WebNetworkInfoManager in line with
15967        other manager classes of which instances are controlled by the WebProcess class.
15968
15969        * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:
15970        (WebKit::WebNetworkInfoManager::supplementName): Specify the supplement's name.
15971        (WebKit):
15972        * WebProcess/NetworkInfo/WebNetworkInfoManager.h:
15973        (WebKit): Alphabetically reorder the two forwarding declarations.
15974        (WebNetworkInfoManager): Inherit from the WebProcessSupplement interface.
15975        * WebProcess/WebCoreSupport/WebNetworkInfoClient.cpp:
15976        (WebKit::WebNetworkInfoClient::bandwidth): Access the WebNetworkInfoManager as a supplement.
15977        (WebKit::WebNetworkInfoClient::metered): Ditto.
15978        (WebKit::WebNetworkInfoClient::startUpdating): Ditto.
15979        (WebKit::WebNetworkInfoClient::stopUpdating): Ditto.
15980        (WebKit::WebNetworkInfoClient::networkInfoControllerDestroyed): Ditto.
15981        * WebProcess/WebProcess.cpp:
15982        (WebKit::WebProcess::WebProcess): Add the WebNetworkInfoManager instance as a supplement.
15983        * WebProcess/WebProcess.h:
15984        (WebProcess): Remove the m_networkInfoManager member variable and its getter method.
15985
159862013-05-08  Zan Dobersek  <zdobersek@igalia.com>
15987
15988        [WK2] Make the WebBatteryManager a supplement to the WebProcess
15989        https://bugs.webkit.org/show_bug.cgi?id=115715
15990
15991        Reviewed by Andreas Kling.
15992
15993        WebBatteryManager should inherit from WebProcessSupplement and should be used as such
15994        by the WebProcess. This removes the need for the m_batteryManager member variable in
15995        the WebProcess class and brings the WebBatteryManager in line with other manager classes
15996        of which instances are controlled by the WebProcess class.
15997
15998        * WebProcess/Battery/WebBatteryManager.cpp:
15999        (WebKit::WebBatteryManager::supplementName): Specify the supplement's name.
16000        (WebKit):
16001        * WebProcess/Battery/WebBatteryManager.h:
16002        (WebBatteryManager): Inherit from the WebProcessSupplement interface.
16003        * WebProcess/WebCoreSupport/WebBatteryClient.cpp:
16004        (WebKit::WebBatteryClient::startUpdating): Access the WebBatteryManager as a supplement.
16005        (WebKit::WebBatteryClient::stopUpdating): Ditto.
16006        (WebKit::WebBatteryClient::batteryControllerDestroyed): Ditto.
16007        * WebProcess/WebProcess.cpp:
16008        (WebKit::WebProcess::WebProcess): Add the WebBatteryManager instance as a supplement.
16009        * WebProcess/WebProcess.h:
16010        (WebProcess): Remove the m_batteryManager member variable and its getter method.
16011
160122013-05-06  Darin Adler  <darin@apple.com>
16013
16014        Use adoptCF and adoptNS in more places
16015        https://bugs.webkit.org/show_bug.cgi?id=115657
16016
16017        Reviewed by Sam Weinig.
16018
16019        * Shared/Downloads/cfnet/DownloadCFNet.cpp:
16020        (WebKit::Download::useCredential):
16021        (WebKit::Download::start):
16022        (WebKit::Download::startWithHandle):
16023        (WebKit::Download::cancel):
16024        (WebKit::Download::didDecideDestination):
16025        Use adoptCF and adoptNS.
16026
160272013-05-06  Sam Weinig  <sam@webkit.org>
16028
16029        Add SPI to get an array of all the installed plug-ins
16030        https://bugs.webkit.org/show_bug.cgi?id=115688
16031
16032        Reviewed by Anders Carlsson.
16033
16034        * UIProcess/API/C/mac/WKContextPrivateMac.h:
16035        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
16036        (createInfoDictionary):
16037        Extract creation of info dictionary into helper.
16038        (WKContextCopyPlugInInfoForBundleIdentifier):
16039        Modified to use the new helper.
16040        (WKContextGetInfoForInstalledPlugIns):
16041        Added.
16042
160432013-05-07  Anders Carlsson  <andersca@apple.com>
16044
16045        Clean up KeyframeValueList and related classes
16046        https://bugs.webkit.org/show_bug.cgi?id=115738
16047
16048        Reviewed by Simon Fraser.
16049
16050        Update for WebCore changes.
16051
16052        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
16053        (CoreIPC::::decode):
16054
160552013-05-07  Anders Carlsson  <andersca@apple.com>
16056
16057        Add and remove databases and origins from the database tracker
16058        https://bugs.webkit.org/show_bug.cgi?id=115752
16059
16060        Reviewed by Andreas Kling.
16061
16062        * UIProcess/Storage/LocalStorageDatabase.cpp:
16063        (WebKit::LocalStorageDatabase::LocalStorageDatabase):
16064        Rename m_databaseFilename to m_databasePath.
16065
16066        (WebKit::LocalStorageDatabase::tryToOpenDatabase):
16067        Rename m_databaseFilename to m_databasePath.
16068
16069        * UIProcess/Storage/LocalStorageDatabase.h:
16070        Rename m_databaseFilename to m_databasePath.
16071
16072        * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
16073        (WebKit::LocalStorageDatabaseTracker::databasePath):
16074        Rename databaseFilename to databasePath.
16075
16076        (WebKit::LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin):
16077        Call addDatabaseWithOriginIdentifier.
16078
16079        (WebKit::LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin):
16080        Call removeDatabaseWithOriginIdentifier.
16081
16082        (WebKit::LocalStorageDatabaseTracker::trackerDatabasePath):
16083        Call databasePath instead of databaseFile.
16084
16085        (WebKit::LocalStorageDatabaseTracker::openTrackerDatabase):
16086        Bail if the database is already open.
16087
16088        (WebKit::LocalStorageDatabaseTracker::updateTrackerDatabaseFromLocalStorageDatabaseFiles):
16089        Call addDatabaseWithOriginIdentifier if this is an origin we don't know about.
16090
16091        (WebKit::LocalStorageDatabaseTracker::addDatabaseWithOriginIdentifier):
16092        Add the database to the Origins table.
16093
16094        (WebKit::LocalStorageDatabaseTracker::removeDatabaseWithOriginIdentifier):
16095        remove the database from the Origins table and delete it.
16096
16097        (WebKit::LocalStorageDatabaseTracker::pathForDatabaseWithOriginIdentifier):
16098        Helper function that looks up a database path given its identifier.
16099        
16100        * UIProcess/Storage/LocalStorageDatabaseTracker.h:
16101        Rename databaseFile to databasePath.
16102
161032013-05-07  Anders Carlsson  <andersca@apple.com>
16104
16105        The storage database tracker should know when databases come and go
16106        https://bugs.webkit.org/show_bug.cgi?id=115748
16107
16108        Reviewed by Andreas Kling.
16109
16110        * UIProcess/Storage/LocalStorageDatabase.cpp:
16111        (WebKit::LocalStorageDatabase::openDatabase):
16112        If we've opened the database successfully, call LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin.
16113
16114        (WebKit::LocalStorageDatabase::tryToOpenDatabase):
16115        Remove a FIXME; we run all storage related things on the same thread.
16116
16117        (WebKit::LocalStorageDatabase::close):
16118        Close the database. If it's empty, call LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin.
16119
16120        (WebKit::LocalStorageDatabase::databaseIsEmpty):
16121        Helper function for determining whether a database is empty.
16122        
16123        * UIProcess/Storage/LocalStorageDatabase.h:
16124        * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
16125        (WebKit::LocalStorageDatabaseTracker::databaseFilename):
16126        Add ".localstorage" to the filename.
16127
16128        (WebKit::LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin):
16129        (WebKit::LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin):
16130        Add empty stubs.
16131
161322013-05-07  Brady Eidson  <beidson@apple.com>
16133
16134        Add JoinExistingSession to the Networking XPC.
16135        <rdar://problem/12902288> and https://bugs.webkit.org/show_bug.cgi?id=114991
16136
16137        Reviewed by Sam Weinig.
16138
16139        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist:
16140        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist:
16141
161422013-05-07  Anders Carlsson  <andersca@apple.com>
16143
16144        REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
16145        https://bugs.webkit.org/show_bug.cgi?id=115711
16146
16147        Reviewed by Andreas Kling.
16148
16149        Handle setting the local storage directory more than once.
16150
16151        * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
16152        (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
16153        Close the database (if necessary) and clear the origins map before importing the origin identifiers.
16154
161552013-05-07  Antoine Quint  <graouts@apple.com>
16156
16157        Re-establish autostart timeout extension on user interaction
16158        https://bugs.webkit.org/show_bug.cgi?id=113232
16159
16160        Change WebProcess::pluginDidReceiveUserInteraction to use a tuple of
16161        (pluginOrigin, pageOrigin, mimeType) arguments like the other similar
16162        WebProcess methods and gather these arguments from the PlugInView's
16163        plug-in element.
16164
16165        Reviewed by Dean Jackson.
16166
16167        * WebProcess/Plugins/PluginView.cpp:
16168        (WebKit::PluginView::pluginDidReceiveUserInteraction):
16169        Cast the m_pluginElement to a HTMLPlugInImageElement so we can obtain the
16170        tuple of (pluginOrigin, pageOrigin, mimeType) to pass to pluginDidReceiveUserInteraction().
16171
16172        * WebProcess/WebProcess.cpp:
16173        (WebKit::WebProcess::plugInDidReceiveUserInteraction):
16174        * WebProcess/WebProcess.h:
16175        (WebProcess):
16176        Update method signature to a tuple of (pluginOrigin, pageOrigin, mimeType)
16177        and obtain the plug-in origin hash from that.
16178
161792013-05-07  Anders Carlsson  <andersca@apple.com>
16180
16181        Each local storage database should know its origin
16182        https://bugs.webkit.org/show_bug.cgi?id=115737
16183
16184        Reviewed by Andreas Kling.
16185
16186        Store the security origin in a member variable. It'll be used to communicate database state changes to the tracker.
16187
16188        * UIProcess/Storage/LocalStorageDatabase.cpp:
16189        (WebKit::LocalStorageDatabase::create):
16190        (WebKit::LocalStorageDatabase::LocalStorageDatabase):
16191        * UIProcess/Storage/LocalStorageDatabase.h:
16192        (LocalStorageDatabase):
16193
161942013-05-07  Brady Eidson  <beidson@apple.com>
16195
16196        Remove some unnecessary soft linking in NetworkProcess. (Take 2)
16197        <rdar://problem/13821779> and https://bugs.webkit.org/show_bug.cgi?id=115683
16198
16199        Reviewed by Dean Jackson and owned by Andreas Kling.
16200
16201        As a followup to r149651, include the private headers conditionally.
16202        Also, fix a bug introduced with r149651 (bool vs CFBooleanRef).
16203
16204        * NetworkProcess/mac/DiskCacheMonitor.mm:
16205        * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
16206        (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
16207
162082013-05-07  Jinwoo Song  <jinwoo7.song@samsung.com>
16209
16210        [EFL][WK2] Add ewk APIs for setting and getting user agent
16211        https://bugs.webkit.org/show_bug.cgi?id=114429
16212
16213        Reviewed by Andreas Kling.
16214
16215        Provide ewk_view_user_agent_get/set APIs which wraps WK APIs.
16216
16217        * UIProcess/API/efl/EwkView.cpp:
16218        (EwkView::EwkView):
16219        (EwkView::setUserAgent):
16220        * UIProcess/API/efl/EwkView.h:
16221        (EwkView::userAgent):
16222        (EwkView):
16223        * UIProcess/API/efl/ewk_view.cpp:
16224        (ewk_view_user_agent_get):
16225        (ewk_view_user_agent_set):
16226        * UIProcess/API/efl/ewk_view.h:
16227        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
16228        (TEST_F):
16229
162302013-05-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
16231
16232        HashTraits<RefPtr<P> >::PeekType should be raw pointer for better performance
16233        https://bugs.webkit.org/show_bug.cgi?id=115646
16234
16235        Reviewed by Darin Adler.
16236
16237        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
16238        (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
16239        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
16240        (WebKit::NetworkResourceLoadScheduler::hostForURL):
16241        * Shared/ImmutableDictionary.h:
16242        (WebKit::ImmutableDictionary::get):
16243        * UIProcess/Storage/StorageManager.cpp:
16244        (WebKit::StorageManager::createSessionStorageMap):
16245        (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
16246        (WebKit::StorageManager::findStorageArea):
16247        * UIProcess/WebContext.h:
16248        (WebKit::WebContext::supplement):
16249        * UIProcess/WebProcessProxy.cpp:
16250        (WebKit::WebProcessProxy::webBackForwardItem):
16251        (WebKit::WebProcessProxy::webFrame):
16252        * UIProcess/efl/DownloadManagerEfl.cpp:
16253        (WebKit::DownloadManagerEfl::ewkDownloadJob):
16254        * WebProcess/Network/WebResourceLoadScheduler.h:
16255        (WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier):
16256        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
16257        (WebKit::NetscapePlugin::streamFromID):
16258        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
16259        (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
16260        * WebProcess/Plugins/PluginView.cpp:
16261        (WebKit::PluginView::cancelStreamLoad):
16262        * WebProcess/WebPage/EventDispatcher.cpp:
16263        (WebKit::EventDispatcher::wheelEvent):
16264        * WebProcess/WebPage/WebBackForwardListProxy.cpp:
16265        (WebKit::WebBackForwardListProxy::itemForID):
16266        (WebKit::WebBackForwardListProxy::itemAtIndex):
16267        * WebProcess/WebPage/WebPage.cpp:
16268        (WebKit::WebPage::webUndoStep):
16269        (WebKit::WebPage::didFinishCheckingText):
16270        (WebKit::WebPage::didCancelCheckingText):
16271        * WebProcess/WebProcess.cpp:
16272        (WebKit::WebProcess::webPage):
16273        (WebKit::WebProcess::webPageGroup):
16274            Updated accordingly to new HashMap<.., RefPtr>::get() semantics.
16275
162762013-05-06  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
16277
16278        [Qt] Unreviewed buildfix after r149637.
16279
16280        * Target.pri:
16281
162822013-05-06  Ryosuke Niwa  <rniwa@webkit.org>
16283
16284        REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
16285        https://bugs.webkit.org/show_bug.cgi?id=115711    
16286
16287        Rubber-stamped by Anders Carlsson.
16288
16289        Temporarily removed the assertion. Andres is going to investigate it tomorrow.
16290
16291        * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
16292        (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
16293
162942013-05-06  Darin Adler  <darin@apple.com>
16295
16296        Use OwnPtr instead of deleteAllValues in KeyframeValueList
16297        https://bugs.webkit.org/show_bug.cgi?id=115652
16298
16299        Reviewed by Simon Fraser.
16300
16301        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
16302        (CoreIPC::ArgumentCoder<GraphicsLayerAnimation>::decode): Added adoptPtr
16303        next to new when calling KeyframeValueList::insert.
16304
163052013-05-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
16306
16307        Unreviewed, build fix on EFL port
16308
16309        * CMakeLists.txt: Add LocalStorageDatabaseTracker.cpp
16310
163112013-05-06  Philippe Normand  <pnormand@igalia.com>
16312
16313        Unreviewed, GTK build fix after r149637.
16314
16315        * GNUmakefile.list.am: Add LocalStorageDatabaseTracker sources to
16316        the build.
16317
163182013-05-06  Brady Eidson  <beidson@apple.com>
16319
16320        Remove some unnecessary soft linking in NetworkProcess.
16321        <rdar://problem/13821779> and https://bugs.webkit.org/show_bug.cgi?id=115683
16322
16323        Reviewed by Sam Weinig.
16324
16325        Replace some unneeded soft linking with forward declarations.
16326
16327        * NetworkProcess/mac/DiskCacheMonitor.mm:
16328        (WebKit::DiskCacheMonitor::DiskCacheMonitor):
16329        * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
16330        (WebKit::NetworkResourceLoader::tryGetShareableHandleFromCFURLCachedResponse):
16331        (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
16332
163332013-05-06  Anders Carlsson  <andersca@apple.com>
16334
16335        More work on LocalStorageDatabaseTracker
16336        https://bugs.webkit.org/show_bug.cgi?id=115680
16337
16338        Reviewed by Andreas Kling.
16339
16340        * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
16341        (WebKit::LocalStorageDatabaseTracker::databaseFilename):
16342        Call the new databaseFilename that takes a string.
16343
16344        (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
16345        Assert that we don't call this more than once. Dispatch a call to import origin identifiers.
16346
16347        (WebKit::LocalStorageDatabaseTracker::trackerDatabasePath):
16348        New helper function that returns the tracker database path.
16349
16350        (WebKit::LocalStorageDatabaseTracker::openTrackerDatabase):
16351        Open the database and create the Origins table if needed.
16352
16353        (WebKit::LocalStorageDatabaseTracker::importOriginIdentifiers):
16354        Open the database and import the origin identifiers from it, then synchronize it with whatever files are on disk.
16355
16356        (WebKit::LocalStorageDatabaseTracker::updateTrackerDatabaseFromLocalStorageDatabaseFiles):
16357        Bring the tracker database up to date from the database files on disk.
16358
16359        * UIProcess/Storage/LocalStorageDatabaseTracker.h:
16360        (LocalStorageDatabaseTracker):
16361
163622013-05-06  Alexey Proskuryakov  <ap@apple.com>
16363
16364        <rdar://problem/13479806> [Mac] Pass information about open pages to LaunchServices
16365        https://bugs.webkit.org/show_bug.cgi?id=115665
16366
16367        Reviewed by Darin Adler.
16368
16369        * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didCommitLoad): Moved repeated
16370        check for frame->isMainFrame() to the top, matching oter similar functions.
16371        Call updateActivePages().
16372
16373        * WebProcess/WebProcess.cpp:
16374        (WebKit::WebProcess::networkProcessConnectionClosed): Removed an obsolete FIXME.
16375        (WebKit::WebProcess::updateActivePages): Empty implementation for platforms
16376        that don't need to do anything here.
16377
16378        * WebProcess/WebProcess.h: Added updateActivePages().
16379
16380        * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::updateActivePages):
16381        Collect user visible origins of pages in the process and pass them to LS.
16382
163832013-05-06  Mark Rowe  <mrowe@apple.com>
16384
16385        <rdar://problem/13775921> Switch off a deprecated API.
16386
16387        Reviewed by Oliver Hunt.
16388
16389        * Shared/mac/ChildProcessMac.mm:
16390        (WebKit::ChildProcess::setProcessSuppressionEnabled): When disabling process suppression,
16391        begin an activity that doesn't disable idle sleep, sudden termination or automatic termination.
16392        When enabling process suppression, end the activity.
16393
163942013-05-06  Anders Carlsson  <andersca@apple.com>
16395
16396        Move local storage directory handling to LocalStorageDatabaseTracker
16397        https://bugs.webkit.org/show_bug.cgi?id=115676
16398
16399        Reviewed by Andreas Kling.
16400
16401        * UIProcess/Storage/LocalStorageDatabase.cpp:
16402        (WebKit::LocalStorageDatabase::create):
16403        (WebKit::LocalStorageDatabase::LocalStorageDatabase):
16404        * UIProcess/Storage/LocalStorageDatabase.h:
16405        (WebCore):
16406        (LocalStorageDatabase):
16407        * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
16408        (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectory):
16409        (WebKit):
16410        (WebKit::LocalStorageDatabaseTracker::databaseFilename):
16411        (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
16412        * UIProcess/Storage/LocalStorageDatabaseTracker.h:
16413        (WebCore):
16414        (LocalStorageDatabaseTracker):
16415        * UIProcess/Storage/StorageManager.cpp:
16416        (WebKit::StorageManager::StorageArea::StorageArea):
16417        (WebKit::StorageManager::setLocalStorageDirectory):
16418        * UIProcess/Storage/StorageManager.h:
16419        (StorageManager):
16420
164212013-05-06  Manuel Rego Casasnovas  <rego@igalia.com>
16422
16423        [GTK] Add webkit_uri_scheme_request_finish_error
16424        https://bugs.webkit.org/show_bug.cgi?id=94316
16425
16426        Reviewed by Anders Carlsson.
16427
16428        This new method will allow to finish WebKitURISchemeRequest with a
16429        GError that will be passed to the WebKitWebView through the
16430        "load-failed" signal.
16431
16432        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
16433        (webkit_uri_scheme_request_finish_error): Implement new method using
16434        WebSoupRequestManagerProxy::didFailURIRequest().
16435        * UIProcess/API/gtk/WebKitURISchemeRequest.h: Add new method header.
16436        * UIProcess/API/gtk/WebKitWebContext.cpp: Include the usage of the new
16437        method in the code example at webkit_web_context_register_uri_scheme()
16438        documentation.
16439        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include the new
16440        method.
16441        * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
16442        (loadFailedCallback): Set m_error to monitor it from the tests.
16443        (LoadTrackingTest::loadURI): Clear m_error before each load.
16444        (LoadTrackingTest::loadHtml): Ditto.
16445        (LoadTrackingTest::loadPlainText): Ditto.
16446        (LoadTrackingTest::loadRequest): Ditto.
16447        (LoadTrackingTest::reload): Ditto.
16448        (LoadTrackingTest::goBack): Ditto.
16449        (LoadTrackingTest::goForward): Ditto.
16450        * UIProcess/API/gtk/tests/LoadTrackingTest.h: Add new member m_error.
16451        * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
16452        (testWebContextURIScheme): Modify test to check the behavior of the new
16453        method.
16454        * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
16455        (WebKit::WebSoupRequestManagerProxy::didFailURIRequest):
16456        (WebKit): Implement new method using
16457        WebSoupRequestManager::DidFailURIRequest().
16458        * UIProcess/soup/WebSoupRequestManagerProxy.h:
16459        (WebSoupRequestManagerProxy): Add new method header.
16460        * WebProcess/soup/WebSoupRequestManager.cpp:
16461        (WebKit):
16462        (WebKit::WebSoupRequestManager::didFailURIRequest): Implement new method
16463        setting the error and completing the request.
16464        * WebProcess/soup/WebSoupRequestManager.h:
16465        (WebSoupRequestManager): Add new method header.
16466        * WebProcess/soup/WebSoupRequestManager.messages.in: Add new method
16467        signature.
16468
164692013-05-06  Anders Carlsson  <andersca@apple.com>
16470
16471        Every LocalStorageDatabase should know about its tracker
16472        https://bugs.webkit.org/show_bug.cgi?id=115673
16473
16474        Reviewed by Andreas Kling.
16475
16476        * UIProcess/Storage/LocalStorageDatabase.cpp:
16477        (WebKit::LocalStorageDatabase::create):
16478        (WebKit::LocalStorageDatabase::LocalStorageDatabase):
16479        * UIProcess/Storage/LocalStorageDatabase.h:
16480        * UIProcess/Storage/StorageManager.cpp:
16481        (WebKit::StorageManager::StorageArea::StorageArea):
16482
164832013-05-06  Anders Carlsson  <andersca@apple.com>
16484
16485        Add LocalStorageDatabaseTracker class
16486        https://bugs.webkit.org/show_bug.cgi?id=115671
16487
16488        Reviewed by Andreas Kling.
16489
16490        Somewhat unsurprisingly, this class will be used for tracking local storage databases.
16491
16492        * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: Added.
16493        (WebKit::LocalStorageDatabaseTracker::create):
16494        (WebKit::LocalStorageDatabaseTracker::LocalStorageDatabaseTracker):
16495        (WebKit::LocalStorageDatabaseTracker::~LocalStorageDatabaseTracker):
16496        * UIProcess/Storage/LocalStorageDatabaseTracker.h: Added.
16497        (LocalStorageDatabaseTracker):
16498        
16499        * UIProcess/Storage/StorageManager.cpp:
16500        (WebKit::StorageManager::StorageManager):
16501        Create a local storage database tracker.
16502
16503        * WebKit2.xcodeproj/project.pbxproj:
16504        Add new files.
16505
165062013-05-06  Anders Carlsson  <andersca@apple.com>
16507
16508        Handle closing the local storage database
16509        https://bugs.webkit.org/show_bug.cgi?id=115669
16510
16511        Reviewed by Beth Dakin.
16512
16513        * UIProcess/Storage/LocalStorageDatabase.cpp:
16514        (WebKit::LocalStorageDatabase::LocalStorageDatabase):
16515        Initialize m_isClosed.
16516    
16517        (WebKit::LocalStorageDatabase::~LocalStorageDatabase):
16518        Assert that m_isClosed is false.
16519
16520        (WebKit::LocalStorageDatabase::close):
16521        Set m_isClosed to true and write any pending changes to disk.
16522
16523        (WebKit::LocalStorageDatabase::updateDatabase):
16524        Compute the changed items and pass them to updateDatabaseWithChangedItems.
16525
16526        (WebKit::LocalStorageDatabase::updateDatabaseWithChangedItems):
16527        Split out the code that actually writes to the database from updateDatabase and into this function.
16528
16529        * UIProcess/Storage/LocalStorageDatabase.h:
16530        * UIProcess/Storage/StorageManager.cpp:
16531        (WebKit::StorageManager::StorageArea::~StorageArea):
16532        Call close().
16533
165342013-05-06  Zan Dobersek  <zdobersek@igalia.com>
16535
16536        [WK2] Make the WebNetworkInfoManagerProxy a supplement to the WebContext
16537        https://bugs.webkit.org/show_bug.cgi?id=115654
16538
16539        Reviewed by Andreas Kling.
16540
16541        Rather than holding a RefPtr to the WebNetworkInfoManagerProxy object in WebContext, change the WebNetworkInfoManagerProxy
16542        to implement the WebContextSupplement interface and handle the object as such in WebContext, simplifying its
16543        construction and cleanup, removing the specific RefPtr member variable and its correlating getter method.
16544
16545        * UIProcess/API/C/WKContext.cpp:
16546        (WKContextGetNetworkInfoManager): Retrieve the WebNetworkInfoManagerProxy object from the suppplements of the WebContext.
16547        * UIProcess/WebContext.cpp:
16548        (WebKit::WebContext::WebContext): Add the WebNetworkInfoManagerProxy object as a supplement instead of assigning it to
16549        the now-removed member variable.
16550        (WebKit::WebContext::~WebContext): No need for the specific cleanup, the equivalent is achieved when iterating through the
16551        supplements vector.
16552        (WebKit::WebContext::disconnectProcess): Ditto.
16553        * UIProcess/WebContext.h:
16554        (WebContext): Remove the WebNetworkInfoManagerProxy RefPtr member variable and its getter method.
16555        * UIProcess/WebNetworkInfoManagerProxy.cpp:
16556        (WebKit::WebNetworkInfoManagerProxy::supplementName): Specift the supplement's name.
16557        (WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy): Initialize as a WebContextSupplement.
16558        (WebKit::WebNetworkInfoManagerProxy::providerDidChangeNetworkInformation): Adjust to use the context() method instead of
16559        accessing the private m_context directly.
16560        (WebKit::WebNetworkInfoManagerProxy::contextDestroyed): Stop updating when invoked.
16561        (WebKit::WebNetworkInfoManagerProxy::processDidClose): Ditto.
16562        (WebKit::WebNetworkInfoManagerProxy::refWebContextSupplement): Call APIObject::ref.
16563        (WebKit::WebNetworkInfoManagerProxy::derefWebContextSupplement): Call APIObject::deref.
16564        * UIProcess/WebNetworkInfoManagerProxy.h:
16565        (WebNetworkInfoManagerProxy): Inherit from WebContextSupplement, declare the newly-inherited methods.
16566
165672013-05-06  Alexey Proskuryakov  <ap@apple.com>
16568
16569        <rdar://problem/13479806> [Mac] Pass plug-in bundle ID to LaunchServices
16570        https://bugs.webkit.org/show_bug.cgi?id=115483
16571
16572        Reviewed by Darin Adler.
16573
16574        * PluginProcess/PluginProcess.h: Added m_pluginBundleIdentifier. We now need it
16575        in multiple places, so it's easier to pre-compute it.
16576
16577        * PluginProcess/mac/PluginProcessMac.mm:
16578        (WebKit::loadSandboxProfileForDirectory): Changed to use precomputed bundle ID.
16579        (WebKit::loadSandboxProfile): Ditto.
16580        (WebKit::PluginProcess::platformInitializeProcess): Pre-compute bundle ID.
16581        (WebKit::PluginProcess::initializeProcessName): Pass it to LaunchServices.
16582        (WebKit::PluginProcess::initializeSandbox): Pass precomputed bundle ID instead of
16583        a path.
16584
165852013-05-06  Anders Carlsson  <andersca@apple.com>
16586
16587        Handle removeItem and clear in LocalStorageDatabase
16588        https://bugs.webkit.org/show_bug.cgi?id=115664
16589
16590        Reviewed by Darin Adler.
16591
16592        * UIProcess/Storage/LocalStorageDatabase.cpp:
16593        (WebKit::LocalStorageDatabase::removeItem):
16594        Call itemDidChange with a null value, indicating that we want to remove this item.
16595
16596        (WebKit::LocalStorageDatabase::clear):
16597        Clear items, set m_shouldClearItems and schedule a database update.
16598
16599        (WebKit::LocalStorageDatabase::updateDatabase):
16600        If m_shouldClearItems is true, clear all items.
16601
16602        * UIProcess/Storage/StorageManager.cpp:
16603        (WebKit::StorageManager::StorageArea::removeItem):
16604        Call through to the local storage database.
16605
16606        (WebKit::StorageManager::StorageArea::clear):
16607        Ditto.
16608
166092013-05-06  Anders Carlsson  <andersca@apple.com>
16610
16611        Write storage changes to disk
16612        https://bugs.webkit.org/show_bug.cgi?id=115660
16613
16614        Reviewed by Andreas Kling.
16615
16616        * UIProcess/Storage/LocalStorageDatabase.cpp:
16617        (WebKit::LocalStorageDatabase::LocalStorageDatabase):
16618        Initialize new member variables.
16619
16620        (WebKit::LocalStorageDatabase::tryToOpenDatabase):
16621        Disable database threading checks.
16622
16623        (WebKit::LocalStorageDatabase::importItems):
16624        Only import the items once.
16625
16626        (WebKit::LocalStorageDatabase::setItem):
16627        Call itemDidChange.
16628
16629        (WebKit::LocalStorageDatabase::itemDidChange):
16630        Record the change and schedule a database update.
16631
16632        (WebKit::LocalStorageDatabase::scheduleDatabaseUpdate):
16633        Use WorkQueue::dispatchAfterDelay to schedule a datbase update.
16634
16635        (WebKit::LocalStorageDatabase::updateDatabase):
16636        Write changes to disk. If there are more than 100 pending items, only write the first 100 and then schedule
16637        another database update for the remaining items.
16638
16639        * UIProcess/Storage/LocalStorageDatabase.h:
16640        Add new member variables.
16641
16642        * UIProcess/Storage/StorageManager.cpp:
16643        (WebKit::StorageManager::StorageArea::setItem):
16644        Call LocalStorageDatabase::setItem.
16645
166462013-05-06  Zan Dobersek  <zdobersek@igalia.com>
16647
16648        [WK2] Make the WebBatteryManagerProxy a supplement to the WebContext
16649        https://bugs.webkit.org/show_bug.cgi?id=115625
16650
16651        Reviewed by Andreas Kling.
16652
16653        Rather than holding a RefPtr to the WebBatteryManagerProxy object in WebContext, change the WebBatteryManagerProxy
16654        to implement the WebContextSupplement interface and handle the object as such in WebContext, simplifying its
16655        construction and cleanup, removing the specific RefPtr member variable and its correlating getter method.
16656
16657        * UIProcess/API/C/WKContext.cpp:
16658        (WKContextGetBatteryManager): Retrieve the WebBatteryManagerProxy object from the supplements of the WebContext.
16659        * UIProcess/WebBatteryManagerProxy.cpp:
16660        (WebKit::WebBatteryManagerProxy::supplementName): Specify the supplement's name.
16661        (WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy): Initialize as a WebContextSupplementable.
16662        (WebKit::WebBatteryManagerProxy::providerDidChangeBatteryStatus): Adjust to use the context() method instead of accessing
16663        the private m_context directly.
16664        (WebKit::WebBatteryManagerProxy::providerUpdateBatteryStatus): Ditto.
16665        (WebKit::WebBatteryManagerProxy::contextDestroyed): Stop updating when invoked.
16666        (WebKit::WebBatteryManagerProxy::processDidClose): Ditto.
16667        (WebKit::WebBatteryManagerProxy::refWebContextSupplement): Call APIObject::ref.
16668        (WebKit::WebBatteryManagerProxy::derefWebContextSupplement): Call APIObject::deref.
16669        (WebKit::WebBatteryManagerProxy::startUpdating): Fire up the provider if not yet updating.
16670        (WebKit::WebBatteryManagerProxy::stopUpdating): Wind down the provider if updating.
16671        * UIProcess/WebBatteryManagerProxy.h:
16672        (WebBatteryManagerProxy): Inherit from WebContextSupplement, declare the newly-inherited methods.
16673        * UIProcess/WebContext.cpp:
16674        (WebKit::WebContext::WebContext): Add the WebBatteryManagerProxy object as a supplement instead of assigning it to
16675        the now-removed member variable.
16676        (WebKit::WebContext::~WebContext): No need for the specific cleanup, the equivalent is achieved when iterating through the
16677        supplements vector.
16678        (WebKit::WebContext::disconnectProcess): Ditto.
16679        * UIProcess/WebContext.h:
16680        (WebContext): Remove the WebBatteryManagerProxy RefPtr member variable and its getter method.
16681
166822013-05-06  Antoine Quint  <graouts@apple.com>
16683
16684        Manage the presentation of the snapshotted plug-in using JavaScript
16685        https://bugs.webkit.org/show_bug.cgi?id=115548
16686
16687        Reviewed by Dean Jackson.
16688
16689        Expose a new plugInExtraScript method to support the injection of
16690        a JS file from the chrome client to customize the rendering of a
16691        snapshotted plug-in's shadow tree. Additionally, it is expected
16692        the chrome client will want to provide localized strings taking
16693        into account the snapshotted plug-in's mime-type, so we're adding
16694        this as a parameter to both plugInStartLabelTitle and
16695        plugInStartLabelSubtitle methods.
16696
16697        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
16698        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
16699        (WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle):
16700        (WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle):
16701        (WebKit::InjectedBundlePageUIClient::plugInExtraScript):
16702        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
16703        (InjectedBundlePageUIClient):
16704        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
16705        (WebKit::WebChromeClient::plugInStartLabelTitle):
16706        (WebKit::WebChromeClient::plugInStartLabelSubtitle):
16707        (WebKit::WebChromeClient::plugInExtraScript):
16708        * WebProcess/WebCoreSupport/WebChromeClient.h:
16709        (WebChromeClient):
16710
167112013-05-05  Chris Fleizach  <cfleizach@apple.com>
16712
16713        WEB SPEECH: deny file-read-data /Library/Speech/Synthesizers
16714        https://bugs.webkit.org/show_bug.cgi?id=115621
16715
16716        Reviewed by Alexey Proskuryakov.
16717
16718        Allow access to the location where 3rd party speech synthesizers are stored.
16719
16720        * WebProcess/com.apple.WebProcess.sb.in:
16721
167222013-05-05  Tim Horton  <timothy_horton@apple.com>
16723
16724        [wk2] Page Overlays: deviceScaleFactor doesn't update when the display changes
16725        https://bugs.webkit.org/show_bug.cgi?id=115577
16726        <rdar://problem/13762583>
16727
16728        Reviewed by Darin Adler.
16729
16730        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
16731        (WebKit::TiledCoreAnimationDrawingArea::setDeviceScaleFactor):
16732        Invalidate the page overlay layers' device scale factor when
16733        TiledCoreAnimationDrawingArea is notified that it has changed.
16734
167352013-05-05  Anders Carlsson  <andersca@apple.com>
16736
16737        Remove the Vector::append overload that takes a Vector
16738        https://bugs.webkit.org/show_bug.cgi?id=115535
16739
16740        Reviewed by Andreas Kling.
16741
16742        Use Vector::appendVector instead.
16743
16744        * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
16745        (WebKit::NetworkBlobRegistry::registerBlobURL):
16746        * NetworkProcess/SchedulableLoader.cpp:
16747        (WebKit::SchedulableLoader::SchedulableLoader):
16748        * Platform/CoreIPC/Connection.cpp:
16749        (CoreIPC::Connection::SyncMessageState::dispatchMessages):
16750        * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
16751        (WebKit::PluginInfoStore::pluginsDirectories):
16752
167532013-05-04  Sam Weinig  <sam@webkit.org>
16754
16755        Fix * placement in a few functions as noticed by Mark Rowe.
16756
16757        Rubber-stamped by Dan Bernstein.
16758
16759        * WebProcess/WebPage/PageBanner.h:
16760        (PageBanner):
16761        * WebProcess/WebPage/mac/PageBannerMac.mm:
16762        (WebKit::PageBanner::create):
16763        (WebKit::PageBanner::PageBanner):
16764
167652013-05-04  Sam Weinig  <sam@webkit.org>
16766
16767        REGRESSION(r148312): Crash when calling WKPageClose(page) followed by WKPageTerminate(page)
16768        <rdar://problem/13702008>
16769        https://bugs.webkit.org/show_bug.cgi?id=115607
16770
16771        Reviewed by Benjamin Poulain.
16772
16773        API Test: WebKit2.CloseThenTerminate
16774
16775        * UIProcess/WebPageProxy.cpp:
16776        (WebKit::WebPageProxy::resetStateAfterProcessExited):
16777        Don't try to reset the state if the page is closed, it won't work and its not worth it.
16778
167792013-05-04  Beth Dakin  <bdakin@apple.com>
16780
16781        https://bugs.webkit.org/show_bug.cgi?id=115574
16782        Crash using new WKBundlePageSetHeaderBanner() API to set a banner to null
16783
16784        Reviewed by Darin Adler.
16785
16786        Don't call addToPage() on a null banner.
16787        * WebProcess/WebPage/WebPage.cpp:
16788        (WebKit::WebPage::setHeaderPageBanner):
16789        (WebKit::WebPage::setFooterPageBanner):
16790
167912013-05-03  Alexey Proskuryakov  <ap@apple.com>
16792
16793        <rdar://problem/13806836> Tweak sandbox profile.
16794
16795        Reviewed by Dan Bernstein.
16796
16797        * WebProcess/com.apple.WebProcess.sb.in:
16798
167992013-05-03  Tim Horton  <timothy_horton@apple.com>
16800
16801        PDFPlugin: Changes being made to active annotation aren't saved when the PDF is exported
16802        https://bugs.webkit.org/show_bug.cgi?id=115544
16803        <rdar://problem/13801789>
16804
16805        Reviewed by Alexey Proskuryakov.
16806
16807        Commit changes to the active annotation (if there is one) before
16808        returning the live PDF data, so that said changes are represented
16809        in the exported or printed output.
16810
16811        * WebProcess/Plugins/PDF/PDFPlugin.h: Override liveData.
16812        * WebProcess/Plugins/PDF/PDFPlugin.mm:
16813        (WebKit::PDFPlugin::liveData): Commit the active annotation if there is one.
16814        * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
16815        (SimplePDFPlugin): Make liveData virtual.
16816
168172013-05-03  Tim Horton  <timothy_horton@apple.com>
16818
16819        Web process crashes at WebPage::determinePrimarySnapshottedPlugInTimerFired + 8
16820        https://bugs.webkit.org/show_bug.cgi?id=115056
16821        <rdar://problem/13719543>
16822
16823        Reviewed by Simon Fraser.
16824
16825        Null-check m_page. In theory, we shouldn't get here, because we stop
16826        the timer at the only point where m_page is cleared, but crash logs say
16827        we're still crashing here.
16828
16829        * WebProcess/WebPage/WebPage.cpp:
16830        (WebKit::WebPage::determinePrimarySnapshottedPlugInTimerFired):
16831
168322013-05-03  Tim Horton  <timothy_horton@apple.com>
16833
16834        Remove some "what" comments from FindController
16835        https://bugs.webkit.org/show_bug.cgi?id=115546
16836
16837        Reviewed by Andreas Kling.
16838
16839        * WebProcess/WebPage/FindController.cpp:
16840        (WebKit::FindController::countStringMatches):
16841        (WebKit::FindController::updateFindUIAfterPageScroll):
16842        (WebKit::FindController::willMoveToWebPage):
16843        (WebKit::FindController::mouseEvent):
16844        Remove or reword some comments.
16845
168462013-05-02  Andy Estes  <aestes@apple.com>
16847
16848        [WK2][CustomProtocols] NSURLProtocolClient methods should be dispatched on NSURLConnection's resource loader run loop
16849        https://bugs.webkit.org/show_bug.cgi?id=115539
16850
16851        Reviewed by Alexey Proskuryakov.
16852
16853        It turns out that calling NSURLProtocolClient methods from a different
16854        thread than the one running the NSURLConnection run loop is unsafe.
16855        Although I can't capture it reliably in a test case, doing so can
16856        sometimes result in a load timing out because the call to
16857        -[NSURLProtocolClient URLProtocolDidFinishLoading:] was ignored by
16858        NSURLConnection.
16859
16860        Fix this by dispatching these methods on the NSURLConnection resource
16861        load run loop. This matches where NSURLProtocolClient methods are
16862        dispatched by typical NSURLProtocol implementations, and in my testing
16863        this solves the timeout issue.
16864
16865        * Shared/Network/CustomProtocols/CustomProtocolManager.h: Declare
16866        dispatchOnResourceLoaderRunLoop().
16867        * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
16868        Declare +[NSURLConnection resourceLoaderRunLoop] on a category of
16869        NSURLConnection. Also include the header that declares it if it's present.
16870        (WebKit::CustomProtocolManager::didFailWithError): Call the
16871        NSURLProtocolClient method via dispatchOnResourceLoaderRunLoop().
16872        (WebKit::CustomProtocolManager::didLoadData): Ditto.
16873        (WebKit::CustomProtocolManager::didReceiveResponse): Ditto.
16874        (WebKit::CustomProtocolManager::didFinishLoading): Ditto.
16875        (WebKit::CustomProtocolManager::dispatchOnResourceLoaderRunLoop):
16876        Dispatch a block on the NSURLConnection resource loader run loop and
16877        then wake up the run loop.
16878
168792013-05-02  Brady Eidson  <beidson@apple.com>
16880
16881        REGRESSION (149389) Main resources converted to downloads are immediately cancelled.
16882        <rdar://problem/13795795> and https://bugs.webkit.org/show_bug.cgi?id=115530
16883
16884        Reviewed by Alexey Proskuryakov.
16885
16886        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
16887        (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload): Call didConvertHandleToDownload
16888          on the NetworkResourceLoader.
16889
16890        * NetworkProcess/NetworkResourceLoader.cpp:
16891        (WebKit::NetworkResourceLoader::NetworkResourceLoader):
16892        (WebKit::NetworkResourceLoader::didConvertHandleToDownload): Set m_handleConvertedToDownload to true.
16893        (WebKit::NetworkResourceLoader::abort): Only cancel the handle if m_handleConvertedToDownload is false.
16894        * NetworkProcess/NetworkResourceLoader.h:
16895
168962013-05-02  Alexey Proskuryakov  <ap@apple.com>
16897
16898        <rdar://problem/13740375> Non-ASCII downloaded file names are garbled when using NetworkProcess
16899        https://bugs.webkit.org/show_bug.cgi?id=115520
16900
16901        Reviewed by Darin Adler.
16902
16903        * Shared/mac/WebCoreArgumentCodersMac.mm:
16904        (CoreIPC::::encodePlatformData):
16905        (CoreIPC::::decodePlatformData):
16906        Send the encoding fallback array over IPC, so that it's present when NetworkProcess does its loading.
16907
169082013-05-01  Alexey Proskuryakov  <ap@apple.com>
16909
16910        REGRESSION (r149422): -[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]
16911        broken when second argument is nil
16912        https://bugs.webkit.org/show_bug.cgi?id=115505
16913        <rdar://problem/13787297>
16914
16915        Reviewed by Darin Adler.
16916
16917        * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::loadFile): Pass a URL string
16918        to assumeReadAccessToBaseURL, as this is what it takes.
16919
169202013-05-01  Ryosuke Niwa  <rniwa@webkit.org>
16921
16922        [Mac] WebKit doesn't enable or disable autocorrections when system preferences are changed
16923        https://bugs.webkit.org/show_bug.cgi?id=115463
16924
16925        Reviewed by Darin Adler.
16926
16927        Observe the default notification center and propagate the changes to TextCheckerState and
16928        to all WebProcesses when system preferences are updated.
16929
16930        * UIProcess/TextChecker.h:
16931        * UIProcess/WebContext.h:
16932        * UIProcess/mac/TextCheckerMac.mm:
16933        (WebKit::shouldAutomaticTextReplacementBeEnabled):
16934        (WebKit::shouldAutomaticSpellingCorrectionBeEnabled):
16935        (WebKit::shouldAutomaticQuoteSubstitutionBeEnabled):
16936        (WebKit::shouldAutomaticDashSubstitutionBeEnabled):
16937        (WebKit::initializeState):
16938        (WebKit::TextChecker::didChangeAutomaticTextReplacementEnabled):
16939        (WebKit::TextChecker::didChangeAutomaticSpellingCorrectionEnabled):
16940        (WebKit::TextChecker::didChangeAutomaticQuoteSubstitutionEnabled):
16941        (WebKit::TextChecker::didChangeAutomaticDashSubstitutionEnabled):
16942        * UIProcess/mac/WebContextMac.mm:
16943        (WebKit::WebContext::registerNotificationObservers):
16944        (WebKit::WebContext::unregisterNotificationObservers):
16945
169462013-05-01  Ryuan Choi  <ryuan.choi@samsung.com>
16947
16948        [GTK] Fix build break after r149449
16949        https://bugs.webkit.org/show_bug.cgi?id=115500
16950
16951        Reviewed by Gustavo Noronha Silva.
16952
16953        Unreviewed GTK build fix
16954
16955        * GNUmakefile.list.am: Added LocalStorageDatabase.[cpp|h] to the list of
16956        sources.
16957
169582013-05-01  Martin Robinson  <mrobinson@igalia.com>
16959
16960        [GTK] [WebKit2] Documentation for webkit_web_view_run_javascript should indicate what happens when JavaScript is disabled
16961        https://bugs.webkit.org/show_bug.cgi?id=115492
16962
16963        Reviewed by Xan Lopez.
16964
16965        * UIProcess/API/gtk/WebKitWebView.cpp: Clarify the documentation.
16966
169672013-05-01  Tim Horton  <timothy_horton@apple.com>
16968
16969        Move knowledge of PDF/PostScript MIME types into MIMETypeRegistry
16970        https://bugs.webkit.org/show_bug.cgi?id=115487
16971
16972        Reviewed by Darin Adler.
16973
16974        * UIProcess/WebContext.cpp:
16975        * UIProcess/WebContext.h:
16976        Remove pdfAndPostScriptMIMETypes.
16977
16978        * UIProcess/WebFrameProxy.cpp:
16979        (WebKit::WebFrameProxy::canShowMIMEType): Move PDF bits to WebPageProxy.
16980        (WebKit::WebFrameProxy::isDisplayingPDFDocument):
16981        Make use of WebCore's newfound knowledge of PDF and PostScript MIME types,
16982        so we don't have to duplicate it unnecessarily in WebKit2.
16983
16984        * UIProcess/WebPageProxy.cpp:
16985        (WebKit::WebPageProxy::canShowMIMEType):
16986        Add code which used to be in WebFrameProxy::canShowMIMEType, and adapt it
16987        to use WebCore's knowledge of PDF and PostScript MIME types.
16988
16989        * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
16990        (WebKit::SimplePDFPlugin::pluginInfo):
16991        We previously supported the "text/pdf" MIME type for PDFViewController,
16992        so SimplePDFPlugin and PDFPlugin should support it as well.
16993
16994        * WebProcess/WebPage/WebPage.cpp:
16995        (WebKit::WebPage::createPlugin):
16996        Adopt MIMETypeRegistry::isPDFOrPostScriptMIMEType.
16997
16998        * WebProcess/WebPage/WebPage.h:
16999        (WebPage):
17000        Remove pdfAndPostScriptMIMETypes.
17001
17002        * WebProcess/WebPage/mac/WebPageMac.mm:
17003        (WebKit::WebPage::platformPreferencesDidChange):
17004        Adopt getPDFAndPostScriptMIMETypes instead of duplicating the list in WebKit2.
17005
170062013-05-01  Anders Carlsson  <andersca@apple.com>
17007
17008        Implement LocalStorageDatabase::importItems
17009        https://bugs.webkit.org/show_bug.cgi?id=115493
17010
17011        Reviewed by Andreas Kling.
17012
17013        Fetch items and insert them in the storage map.
17014        * UIProcess/Storage/LocalStorageDatabase.cpp:
17015        (WebKit::LocalStorageDatabase::importItems):
17016
170172013-05-01  Anders Carlsson  <andersca@apple.com>
17018
17019        Begin work on loading items from the local storage database
17020        https://bugs.webkit.org/show_bug.cgi?id=115489
17021
17022        Reviewed by Andreas Kling.
17023
17024        Some of the LocalStorageDatabase code is originally from WebCore,
17025        but has been simplified due to the fact that we don't need to load
17026        database data asynchronously since we're already running on a non-main thread.
17027
17028        * UIProcess/Storage/LocalStorageDatabase.cpp:
17029        (WebKit::LocalStorageDatabase::LocalStorageDatabase):
17030        (WebKit::LocalStorageDatabase::openDatabase):
17031        (WebKit::LocalStorageDatabase::tryToOpenDatabase):
17032        (WebKit::LocalStorageDatabase::migrateItemTableIfNeeded):
17033        (WebKit::LocalStorageDatabase::importItems):
17034
17035        * UIProcess/Storage/LocalStorageDatabase.h:
17036        (WebKit::StorageManager::StorageArea::setItem):
17037        (WebKit::StorageManager::StorageArea::removeItem):
17038        (WebKit::StorageManager::StorageArea::clear):
17039        (WebKit::StorageManager::StorageArea::items):
17040        Call importItemsFromDatabase().
17041        
17042        (WebKit::StorageManager::StorageArea::importItemsFromDatabase):
17043        Ask the database to import the items.
17044
170452013-05-01  Ryuan Choi  <ryuan.choi@samsung.com>
17046
17047        [EFL] Unreviewed buildfix after r149449.
17048
17049        * CMakeLists.txt:
17050
170512013-05-01  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
17052
17053        [Qt] Unreviewed buildfix after r149449.
17054
17055        * Target.pri:
17056
170572013-05-01  Anders Carlsson  <andersca@apple.com>
17058
17059        Add LocalStorageDatabase class
17060        https://bugs.webkit.org/show_bug.cgi?id=115486
17061
17062        Reviewed by Sam Weinig.
17063
17064        The LocalStorageDatabase class will persist local storage data to disk.
17065
17066        * UIProcess/Storage/LocalStorageDatabase.cpp:
17067        * UIProcess/Storage/LocalStorageDatabase.h: Added.
17068
17069        * UIProcess/Storage/StorageManager.cpp:
17070        (StorageManager::StorageArea):
17071        (WebKit::StorageManager::LocalStorageNamespace::storageManager):
17072        Add getter.
17073
17074        (StorageManager::LocalStorageNamespace):
17075        (WebKit::StorageManager::StorageArea::StorageArea):
17076        If this is a local storage area, create a LocalStorageDatabase.
17077
17078        (WebKit::StorageManager::LocalStorageNamespace::databaseFilename):
17079        Helper function for getting the name of the database for the given origin.
17080
17081        * WebKit2.xcodeproj/project.pbxproj:
17082        Add new files.
17083
170842013-05-01  Alexey Proskuryakov  <ap@apple.com>
17085
17086        <rdar://problem/13781156> Launching NetworkProcess broken on some OS versions.
17087
17088        Reviewed by Anders Carlsson.
17089
17090        Adapt to LaunchServices changes.
17091
17092        * Shared/mac/ChildProcessMac.mm:
17093        (WebKit::ChildProcess::setApplicationIsDaemon):
17094
170952013-05-01  Martin Robinson  <mrobinson@igalia.com>
17096
17097        [GTK] [WebKit2] Add a setting to control whether or not accelerated 2D canvas is enabled
17098        https://bugs.webkit.org/show_bug.cgi?id=114394
17099
17100        Reviewed by Anders Carlsson.
17101
17102        Add a setting to control accelerated 2D canvas, which determines whether
17103        or not to consider rendering HTML canvas with hardware acceleration.
17104
17105        * UIProcess/API/gtk/WebKitSettings.cpp:
17106        (webKitSettingsSetProperty): Added support for enable-accelerated-2d-canvas property.
17107        (webKitSettingsGetProperty): Added support for enable-accelerated-2d-canvas property.
17108        (webkit_settings_class_init): Added support for enable-accelerated-2d-canvas property.
17109        (webkit_settings_get_enable_accelerated_2d_canvas): Added.
17110        (webkit_settings_set_enable_accelerated_2d_canvas): Added.
17111        * UIProcess/API/gtk/WebKitSettings.h: New methods.
17112        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new methods to the documentation.
17113        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
17114        (testWebKitSettings): Added a simple test for the setting.
17115
171162013-04-30  Jer Noble  <jer.noble@apple.com>
17117
17118        Entering full screen mode shows desktop linen instead of WKView the first time.
17119        https://bugs.webkit.org/show_bug.cgi?id=115433
17120        <rdar://problem/13774540>
17121
17122        Reviewed by Eric Carlson.
17123
17124        For certain types of windows created by subclasses of WKView, the window in question fails to paint
17125        when created with a zero-size rect. Create the window with an initial size of the active screen frame
17126        as that is the likely destination size.
17127
17128        * UIProcess/API/mac/WKView.mm:
17129        (-[WKView createFullScreenWindow]):
17130
171312013-05-01  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
17132
17133        [Qt][Win] Fix build after r149416.
17134        https://bugs.webkit.org/show_bug.cgi?id=115474
17135
17136        Reviewed by Anders Carlsson.
17137
17138        * Platform/CoreIPC/Connection.h:
17139        (Connection):
17140        * Platform/CoreIPC/win/ConnectionWin.cpp:
17141        (CoreIPC::Connection::dispatchSentMessagesUntil):
17142
171432013-05-01  Sergio Villar Senin  <svillar@igalia.com>
17144
17145        Unreviewed GTK build fix after r149417.
17146
17147        * GNUmakefile.list.am: Added PageBanner.[cpp|h] to the list of
17148        sources.
17149
171502013-05-01  Ryuan Choi  <ryuan.choi@samsung.com>
17151
17152        [EFL] Unreviewed buildfix after r149416 and r149417.
17153
17154        Unreviewed build fix.
17155
17156        * CMakeLists.txt:
17157
171582013-05-01  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
17159
17160        [Qt] Unreviewed buildfix after r149416 and r149417.
17161
17162        * Target.pri:
17163
171642013-04-30  Dongwoo Joshua Im  <dw.im@samsung.com>
17165
17166        [EFL] Unreviewed, EFL build fix after r149416
17167        https://bugs.webkit.org/show_bug.cgi?id=115467
17168
17169        Unreviewed build fix.
17170
17171        * CMakeLists.txt: Remove non-existing file, BinarySemaphore.cpp, from the list.
17172
171732013-04-30  Simon Cooper  <scooper@apple.com>
17174
17175        ipc-posix-shm backwards compatibility 
17176        https://bugs.webkit.org/show_bug.cgi?id=115448
17177        <rdar://problem/13743037>
17178
17179        Reviewed by Alexey Proskuryakov.
17180
17181        Add compatibility for older ipc-posix-shm operations, but prefer the
17182        newer names when writing profiles.
17183
17184        * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
17185
171862013-04-30  Philippe Normand  <pnormand@igalia.com>
17187
17188        Unreviewed, GTK build fix after r149416.
17189
17190        * GNUmakefile.list.am: Remove references to non-existant
17191        BinarySemaphore module.
17192
171932013-04-28  Alexey Proskuryakov  <ap@apple.com>
17194
17195        <rdar://problem/13574729> Implement file path restrictions in WebKit Objective C API
17196        https://bugs.webkit.org/show_bug.cgi?id=115321
17197
17198        Reviewed by Darin Adler.
17199
17200        * UIProcess/API/C/WKPage.cpp:
17201        * UIProcess/API/C/WKPage.h: 
17202        * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::loadFile):
17203        * UIProcess/WebPageProxy.h:
17204        Added and implemented a C API to load a file while only opening sandbox for
17205        a specific directory.
17206
17207        * UIProcess/API/mac/WKBrowsingContextController.h: Fixed a typo in a comment.
17208
17209        * UIProcess/API/mac/WKBrowsingContextController.mm:
17210        (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
17211        Respect allowedDirectory argument. Updated the function to raise an exception for
17212        incorrect input, as decribed in header file.
17213
172142013-04-29  Sam Weinig  <sam@webkit.org>
17215
17216        Add API to allow WebKit2 banners to get mouse events
17217        https://bugs.webkit.org/show_bug.cgi?id=115395
17218
17219        Reviewed by Beth Dakin.
17220
17221        * Shared/API/c/WKBase.h:
17222        * Shared/APIObject.h:
17223        Add banner type.
17224
17225        * WebKit2.xcodeproj/project.pbxproj:
17226        Add files.
17227
17228        * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
17229        Add conversion.
17230
17231        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
17232        (WKBundlePageSetTopOverhangImage):
17233        (WKBundlePageSetBottomOverhangImage):
17234        Fix parameter names to be consistent.
17235
17236        (WKBundlePageSetHeaderBanner):
17237        (WKBundlePageSetFooterBanner):
17238        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
17239        * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.cpp: Added.
17240        (WKBundlePageBannerGetTypeID):
17241        * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h: Added.
17242        * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.h: Added.
17243        * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm: Added.
17244        (PageBannerClientImpl):
17245        (PageBannerClientImpl::create):
17246        (PageBannerClientImpl::PageBannerClientImpl):
17247        (PageBannerClientImpl::pageBannerDestroyed):
17248        (PageBannerClientImpl::mouseEvent):
17249        (WKBundlePageBannerCreateBannerWithCALayer):
17250        (WKBundlePageBannerGetLayer):
17251        Add banner API.
17252
17253        * WebProcess/WebPage/PageBanner.h: Added.
17254        * WebProcess/WebPage/PageBanner.cpp: Added.
17255        (WebKit::PageBanner::~PageBanner):
17256        (WebKit::PageBanner::addToPage):
17257        (WebKit::PageBanner::detachFromPage):
17258        (WebKit::PageBanner::didChangeDeviceScaleFactor):
17259        (WebKit::PageBanner::mouseEvent):
17260        Add non-mac implementations.
17261
17262        * WebProcess/WebPage/WebPage.cpp:
17263        (WebKit::WebPage::~WebPage):
17264        (WebKit::WebPage::setHeaderPageBanner):
17265        (WebKit::WebPage::headerPageBanner):
17266        (WebKit::WebPage::setFooterPageBanner):
17267        (WebKit::WebPage::footerPageBanner):
17268        (WebKit::WebPage::mouseEvent):
17269        (WebKit::WebPage::mouseEventSyncForTesting):
17270        * WebProcess/WebPage/WebPage.h:
17271        Add banner setter/getters and give the banners a chance to handle mouse events.
17272
17273        * WebProcess/WebPage/mac/PageBannerMac.mm: Added.
17274        (WebKit::PageBanner::create):
17275        (WebKit::PageBanner::PageBanner):
17276        (WebKit::PageBanner::addToPage):
17277        (WebKit::PageBanner::detachFromPage):
17278        (WebKit::PageBanner::didChangeDeviceScaleFactor):
17279        (WebKit::PageBanner::mouseEvent):
17280        (WebKit::PageBanner::layer):
17281        Add Mac implementation.
17282
17283        * WebProcess/WebPage/mac/WebPageMac.mm:
17284        (WebKit::WebPage::updateHeaderAndFooterLayersForDeviceScaleChange):
17285        Notify banners when the device scale changes.
17286
172872013-04-30  Anders Carlsson  <andersca@apple.com>
17288
17289        Remove the WebKit2 BinarySemaphore class
17290        https://bugs.webkit.org/show_bug.cgi?id=115458
17291
17292        Reviewed by Benjamin Poulain.
17293
17294        Remove the WK2 specific BinarySemaphore class and use the one from WTF.
17295
17296        * Platform/CoreIPC/BinarySemaphore.cpp: Removed.
17297        * Platform/CoreIPC/BinarySemaphore.h: Removed.
17298        * Platform/CoreIPC/Connection.cpp:
17299        * Platform/CoreIPC/Connection.h:
17300        * WebKit2.xcodeproj/project.pbxproj:
17301
173022013-04-30  Alexey Proskuryakov  <ap@apple.com>
17303
17304        <rdar://problem/13757475> WebProcess deny ipc-posix-shm-read-data CFPBS:A2:
17305
17306        Reviewed by Anders Carlsson.
17307
17308        * WebProcess/com.apple.WebProcess.sb.in: Allow pbs shared memory.
17309
173102013-04-30  Alexey Proskuryakov  <ap@apple.com>
17311
17312        [Mac] Don't open window server connection in network process
17313        https://bugs.webkit.org/show_bug.cgi?id=115446
17314
17315        Reviewed by Anders Carlsson.
17316
17317        * NetworkProcess/NetworkProcess.cpp:
17318        (WebKit::NetworkProcess::initializeProcess):
17319        * NetworkProcess/NetworkProcess.h:
17320        * NetworkProcess/mac/NetworkProcessMac.mm:
17321        (WebKit::NetworkProcess::initializeProcess):
17322        (WebKit::NetworkProcess::initializeProcessName):
17323        Instead of shutting down a connection after setting process name, just prevent
17324        it from being created.
17325
17326        * Shared/ChildProcess.h:
17327        * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::setApplicationIsDaemon):
17328        Expose a function for client processes to call if they don't run an NSApplication
17329        run loop.
17330
17331        * OfflineStorageProcess/OfflineStorageProcess.cpp:
17332        (WebKit::OfflineStorageProcess::initializeProcess):
17333        * OfflineStorageProcess/OfflineStorageProcess.h:
17334        * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm:
17335        (WebKit::OfflineStorageProcess::initializeProcess):
17336        (WebKit::OfflineStorageProcess::initializeProcessName):
17337        * SharedWorkerProcess/SharedWorkerProcess.cpp:
17338        (WebKit::SharedWorkerProcess::initializeProcess):
17339        (WebKit::SharedWorkerProcess::initializeProcessName):
17340        * SharedWorkerProcess/SharedWorkerProcess.h:
17341        * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
17342        (WebKit::SharedWorkerProcess::initializeProcess):
17343        (WebKit::SharedWorkerProcess::initializeProcessName):
17344        Match NetworkProcess for consistency.
17345
17346        * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::initializeProcessName):
17347        Don't null check UI process name. First, it can't be null, and second, some other
17348        processes already don't have this check.
17349
173502013-04-30  Tim Horton  <timothy_horton@apple.com>
17351
17352        Disable deprecation warnings around some NSProcessInfo API.
17353
17354        Rubber-stamped by Brady Eidson.
17355
17356        * Shared/mac/ChildProcessMac.mm:
17357        (WebKit::ChildProcess::setProcessSuppressionEnabled):
17358
173592013-04-30  Brady Eidson  <beidson@apple.com>
17360
17361        [WK2] Threads get stuck in NetworkProcess when canceling loads in WebProcess.
17362        <rdar://problem/13757687> and https://bugs.webkit.org/show_bug.cgi?id=115319
17363
17364        Written and reviewed by both Alexey Proskuryakov and Brady Eidson.
17365
17366        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
17367        (WebKit::NetworkConnectionToWebProcess::didClose): Call abort() on all loaders
17368          instead of connectionToWebProcessDidClose()
17369        (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier): Instead of removing
17370          the loader from the scheduler, call abort() which will also end up removing it.
17371
17372        * NetworkProcess/SchedulableLoader.h: Add a virtual abort() call.
17373
17374        * NetworkProcess/NetworkResourceLoader.cpp:
17375        (WebKit::NetworkResourceLoader::sendAbortingOnFailure): Added a messageFlags argument so 
17376          callers can pass DispatchMessageEvenWhenWaitingForSyncReply.
17377        (WebKit::NetworkResourceLoader::abort): Combined "abortInProgressLoad" and "cleanup" to
17378          be a general purpose "cancel"
17379        (WebKit::NetworkResourceLoader::didReceiveBuffer):
17380        (WebKit::NetworkResourceLoader::willSendRequestAsync):
17381        (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
17382        * NetworkProcess/NetworkResourceLoader.h:
17383
17384        * NetworkProcess/SyncNetworkResourceLoader.cpp:
17385        (WebKit::SyncNetworkResourceLoader::abort):
17386        * NetworkProcess/SyncNetworkResourceLoader.h:
17387
17388        * WebProcess/Network/WebResourceLoadScheduler.cpp:
17389        (WebKit::WebResourceLoadScheduler::remove): Remove an obsolete/incorrect comment.
17390
17391        * WebProcess/Network/WebResourceLoader.cpp:
17392        (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo): Add comment stressing
17393          the importance of this null check so it's not removed again.
17394
173952013-04-30  Carlos Garcia Campos  <cgarcia@igalia.com>
17396
17397        [WK2][GTK] MiniBrowser won't play video in <embed> tag
17398        https://bugs.webkit.org/show_bug.cgi?id=113107
17399
17400        Reviewed by Anders Carlsson.
17401
17402        The wrong clip region is used for windowed plugins, because it's
17403        translated to window frame coords again.
17404
17405        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
17406        (WebKit::NetscapePlugin::platformGeometryDidChange): Do not move
17407        the current clip region.
17408
174092013-04-30  Timothy Hatcher  <timothy@apple.com>
17410
17411        Make the Inspector dock to right button work in the WebKit nightlies on Safari 6.0.4.
17412
17413        https://webkit.org/b/115428
17414
17415        Reviewed by Joseph Pecoraro.
17416
17417        * UIProcess/mac/WebInspectorProxyMac.mm:
17418        (WebKit::WebInspectorProxy::createInspectorWindow): Reduce the required Safari version.
17419        (WebKit::WebInspectorProxy::platformDetach): Simplify the frame restoring code so it
17420        works on Safari 6.0.4.
17421
174222013-04-30  Artur Moryc  <a.moryc@samsung.com>
17423
17424        [WK2][EFL] Spelling marker disappears while selection is being changed
17425        https://bugs.webkit.org/show_bug.cgi?id=115165
17426
17427        Reviewed by Anders Carlsson.
17428
17429        The marker for a misspelled word disappears while the cursor is being navigated along the word.
17430
17431        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
17432        (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
17433
174342013-04-30  Zalan Bujtas  <zalan@apple.com>
17435
17436        Animations fail to start on http://www.google.com/insidesearch/howsearchworks/thestory/
17437        https://bugs.webkit.org/show_bug.cgi?id=111244
17438
17439        Reviewed by David Kilzer.
17440        
17441        Enable performance.now() as a minimal subset of Web Timing API. 
17442        It returns DOMHighResTimeStamp, a monotonically increasing value representing the 
17443        number of milliseconds from the start of the navigation of the current document.
17444        JS libraries use this API to check against the requestAnimationFrame() timestamp.
17445
17446        * Configurations/FeatureDefines.xcconfig:
17447
174482013-04-29  Chris Fleizach  <cfleizach@apple.com>
17449
17450        WEB SPEECH: need to identify the default voice per language
17451        https://bugs.webkit.org/show_bug.cgi?id=115366
17452
17453        Reviewed by Tim Horton.
17454
17455        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
17456        (InitWebCoreSystemInterface):
17457
174582013-04-29  Benjamin Poulain  <benjamin@webkit.org>
17459
17460        [WK2] Streamline the use of strings in WebProcess::getWebCoreStatistics
17461        https://bugs.webkit.org/show_bug.cgi?id=115315
17462
17463        Reviewed by Geoffrey Garen.
17464
17465        Remove a couple of unjustified DEFINE_STATIC_LOCAL.
17466        Use ASCIILiteral when allocating new String.
17467
17468        * WebProcess/WebProcess.cpp:
17469        (WebKit::getWebCoreMemoryCacheStatistics):
17470        (WebKit::WebProcess::getWebCoreStatistics):
17471
174722013-04-29  Anders Carlsson  <andersca@apple.com>
17473
17474        Remove StorageTracker::originsLoaded
17475        https://bugs.webkit.org/show_bug.cgi?id=115382
17476
17477        Reviewed by Sam Weinig.
17478
17479        Add m_didFinishLoadingOrigins.
17480
17481        * WebProcess/Storage/WebKeyValueStorageManager.cpp:
17482        (WebKit::WebKeyValueStorageManager::WebKeyValueStorageManager):
17483        (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
17484        (WebKit::WebKeyValueStorageManager::didFinishLoadingOrigins):
17485        * WebProcess/Storage/WebKeyValueStorageManager.h:
17486        (WebKeyValueStorageManager):
17487
174882013-04-29  Chris Fleizach  <cfleizach@apple.com>
17489
17490        WEB SPEECH Update seatbelt profile to work with speech synthesis
17491        https://bugs.webkit.org/show_bug.cgi?id=115368
17492
17493        Reviewed by Alexey Proskuryakov.
17494
17495        * WebProcess/com.apple.WebProcess.sb.in:
17496
174972013-04-28  Beth Dakin  <bdakin@apple.com>
17498
17499        Need a LayoutMilestone to fire when we have done our first paint after suppressing 
17500        incremental layout
17501        https://bugs.webkit.org/show_bug.cgi?id=115330
17502        -and corresponding-
17503        <rdar://problem/12722365>
17504
17505        Reviewed by Simon Fraser.
17506
17507        Two new millstones.
17508        * Shared/API/c/WKPageLoadTypes.h:
17509        * Shared/API/c/WKSharedAPICast.h:
17510        (WebKit::toWKLayoutMilestones):
17511        (WebKit::toLayoutMilestones):
17512
17513        This null-check is necessary now since this code ends up running at 
17514        WebFrame::init() time while we're setting up the Document. 
17515        setVisualUpdatesAllowed(true) has always been called as a part of that process, 
17516        and now the updateLayout(), ends up calling this code too, but we don't actually 
17517        have a mainFrame yet since it's still being created.
17518        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
17519        (WebKit::findLargestFrameInFrameSet):
17520
175212013-04-29  Brady Eidson  <beidson@apple.com>
17522
17523        REGRESSION: We see authentication challenge sheets for favicon requests.
17524        <rdar://problem/13753470> and https://bugs.webkit.org/show_bug.cgi?id=115288
17525
17526        Reviewed by Alexey Proskuryakov.
17527
17528        Have NetworkResourceLoadParameters remember the ClientCredentialPolicy:
17529        * Shared/Network/NetworkResourceLoadParameters.cpp:
17530        (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
17531        (WebKit::NetworkResourceLoadParameters::encode):
17532        (WebKit::NetworkResourceLoadParameters::decode):
17533        * Shared/Network/NetworkResourceLoadParameters.h:
17534
17535        Pass along the ClientCredentialPolicy to the NetworkProcess:
17536        * WebProcess/Network/WebResourceLoadScheduler.cpp:
17537        (WebKit::WebResourceLoadScheduler::scheduleLoad):
17538        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
17539        (WebKit::WebPlatformStrategies::loadResourceSynchronously):
17540        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
17541
17542        Have the SchedulableLoader remember the ClientCredentialPolicy:
17543        * NetworkProcess/SchedulableLoader.cpp:
17544        (WebKit::SchedulableLoader::SchedulableLoader):
17545        * NetworkProcess/SchedulableLoader.h:
17546        (WebKit::SchedulableLoader::clientCredentialPolicy):
17547
17548        Don’t message for credentials if the ClientCredentialPolicy forbids it:
17549        * NetworkProcess/NetworkResourceLoader.cpp:
17550        (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
17551        * NetworkProcess/NetworkResourceLoader.h:
17552
17553        Update for the new loadResourceSynchronously signature (which is still a no-op on the NetworkProcess side):
17554        * NetworkProcess/NetworkProcessPlatformStrategies.cpp:
17555        (WebKit::NetworkProcessPlatformStrategies::loadResourceSynchronously):
17556        * NetworkProcess/NetworkProcessPlatformStrategies.h:
17557
175582013-04-29  Jer Noble  <jer.noble@apple.com>
17559
17560        Unreviewed build fix. Point the Network process towards its own version of SecItemShim.dyld.
17561
17562        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist:
17563
175642013-04-29  Alexey Proskuryakov  <ap@apple.com>
17565
17566        Threads get stuck in NetworkProcess when canceling loads
17567        https://bugs.webkit.org/show_bug.cgi?id=115319
17568
17569        Backing out part of the fix, as it's causing crashes.
17570
17571        * WebProcess/Network/WebResourceLoader.cpp:
17572        (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
17573
175742013-04-29  Noam Rosenthal  <noam@webkit.org>
17575
17576        Get rid of "non-composited contents" in CoordinatedLayerTreeHost
17577        https://bugs.webkit.org/show_bug.cgi?id=110355
17578
17579        Reviewed by Jocelyn Turcotte.
17580
17581        Instead of using a special non-composited contents layer, we let RenderLayerCompositor create
17582        a proper GraphicsLayer for that content.
17583        CoordinatedLayerTreeHost now needs to find the main contents layer for the purpose of setting
17584        the trajectory vector and applying the cover rect.
17585
17586        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
17587        (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
17588        (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
17589            Don't create the non-composited layer, instead keep a raw pointer to the root
17590            compositing layer created by the WebCore compositor.
17591
17592        (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplay):
17593        (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplayInRect):
17594        (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
17595        (WebKit::CoordinatedLayerTreeHost::sizeDidChange):
17596        (WebKit::CoordinatedLayerTreeHost::paintContents):
17597        (WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
17598        (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
17599            Remove non-composited layer specialization.
17600
176012013-04-29  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
17602
17603        [Qt] Build fix. Enabling c++11 for Qt WK2 after r149259.
17604        https://bugs.webkit.org/show_bug.cgi?id=115345
17605
17606        Reviewed by Anders Carlsson.
17607
17608        * WebKit2.pri:
17609
176102013-04-29  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
17611
17612        [WK2][EFL] Skip cancel fullscreen request if not made from FullScreen API
17613        https://bugs.webkit.org/show_bug.cgi?id=108201
17614
17615        Reviewed by Andreas Kling.
17616
17617        Adds a check on WebFullScreenManagerProxyEfl whether fullscreen mode was
17618        set from FullScreen API or not, so it can skip cancelling fullscreen
17619        request if fullscreen mode was set by application, preventing
17620        WebProcess' FullScreenManager from crashing.
17621
17622        EFL unit test available: ewk_view_cancel_full_screen_request.
17623
17624        * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
17625        (WKViewExitFullScreen):
17626        * UIProcess/API/C/CoordinatedGraphics/WKView.h:
17627        WKViewExitFullScreen now returns a bool, indicating whether the
17628        operation has succeeded or not.
17629
17630        * UIProcess/API/efl/ewk_view.cpp:
17631        (ewk_view_fullscreen_exit):
17632        Skip request if not in fullscreen mode.
17633
17634        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
17635        (TEST_F):
17636        Added ewk_view_cancel_full_screen_request unit test.
17637
17638        * UIProcess/CoordinatedGraphics/WebView.cpp:
17639        (WebKit::WebView::exitFullScreen):
17640        * UIProcess/CoordinatedGraphics/WebView.h:
17641        (WebView):
17642        exitFullScreen now returns a bool, indicating whether the operation has
17643        succeeded or not.
17644
17645        * UIProcess/WebFullScreenManagerProxy.cpp:
17646        (WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):
17647        * UIProcess/WebFullScreenManagerProxy.h:
17648        (WebFullScreenManagerProxy):
17649        * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
17650        (WebKit::WebFullScreenManagerProxy::isFullScreen):
17651        (WebKit::WebFullScreenManagerProxy::enterFullScreen):
17652        (WebKit::WebFullScreenManagerProxy::exitFullScreen):
17653        Added m_hasRequestedFullScreen boolean flag to EFL port. Used to
17654        indicate if fullscreen mode is enabled, as well as sanity checks on both
17655        {enter,exit}FullScreen functions.
17656
176572013-04-29  Anders Carlsson  <andersca@apple.com>
17658
17659        Stop using range-based for syntax
17660        https://bugs.webkit.org/show_bug.cgi?id=115356
17661
17662        Reviewed by Andreas Kling.
17663
17664        * PluginProcess/WebProcessConnection.cpp:
17665        (WebKit::WebProcessConnection::didClose):
17666
176672013-04-29  Sergio Correia  <sergio.correia@openbossa.org>
17668
17669        [EFL][WK2]: WebProcessMain: hide call to ecore_x_shutdown() under guard
17670        https://bugs.webkit.org/show_bug.cgi?id=115295
17671
17672        Reviewed by Andreas Kling.
17673
17674        Since the mentioned function is declared in a header that is included
17675        conditionally depending on HAVE_ECORE_X being defined.
17676
17677        * WebProcess/efl/WebProcessMainEfl.cpp:
17678        (WebKit::WebProcessMainEfl):
17679
176802013-04-29  Jinwoo Song  <jinwoo7.song@samsung.com>
17681
17682        [WK2] Remove build warnings by -Wunused-parameter
17683        https://bugs.webkit.org/show_bug.cgi?id=115344
17684
17685        Reviewed by Noam Rosenthal.
17686
17687        Fix build warnigs -Wunused-parameter.
17688
17689        * UIProcess/CoordinatedGraphics/WebView.cpp:
17690        (WebKit::WebView::createContextMenuProxy):
17691        * UIProcess/DrawingAreaProxy.h:
17692        (WebKit::DrawingAreaProxy::waitForPossibleGeometryUpdate):
17693        * UIProcess/WebPageProxy.cpp:
17694        (WebKit::WebPageProxy::connectionWillClose):
17695
176962013-04-29  Carlos Garcia Campos  <cgarcia@igalia.com>
17697
17698        Unreviewed. Fix make distcheck.
17699
17700        * GNUmakefile.list.am: Add missing header files to compilation.
17701
177022013-04-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
17703
17704        Unreviewed fix build break on EFL port since r149259.
17705
17706        In EFL port, there is a non-compatible code when compiling based on C++11. This is a trivial build fix.
17707
17708        I got a confirm from Sam about landing a trivial build fix patch without sign-off from
17709        WK2 owner.
17710
17711        * UIProcess/API/efl/EwkViewCallbacks.h:
17712
177132013-04-28  Dean Jackson  <dino@apple.com>
17714
17715        [Mac] Disable canvas backing store scaling (HIGH_DPI_CANVAS)
17716        https://bugs.webkit.org/show_bug.cgi?id=115310
17717
17718        Reviewed by Simon Fraser.
17719
17720        Remove ENABLE_HIGH_DPI_CANVAS_macosx.
17721
17722        * Configurations/FeatureDefines.xcconfig:
17723
177242013-04-28  Sam Weinig  <sam@webkit.org>
17725
17726        [WebKit2] Adopt new API for detecting window occlusion
17727        https://bugs.webkit.org/show_bug.cgi?id=115334
17728
17729        Reviewed by Simon Fraser.
17730
17731        Switch off of WKSI for window occlusion and use the new NSWindowDidChangeOcclusionState notification
17732        instead.
17733
17734        * UIProcess/API/mac/WKView.mm:
17735        (-[WKView dealloc]):
17736        (-[WKView addWindowObserversForWindow:]):
17737        (-[WKView removeWindowObservers]):
17738        (-[WKView viewWillMoveToWindow:]):
17739        (-[WKView viewDidMoveToWindow]):
17740        (-[WKView _windowDidOrderOnScreen:]):
17741        (-[WKView _windowDidChangeOcclusionState:]):
17742        (-[WKView _setIsWindowOccluded:]):
17743        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
17744        (-[WKView windowOcclusionDetectionEnabled]):
17745        (-[WKView setWindowOcclusionDetectionEnabled:]):
17746        Only compile occlusion detection code where supported and remove calls to register/deregister
17747        for detection callbacks, now that NSWindow will handle that for us. We also no longer need to
17748        track all the WKViews, as that was only required to lookup the view that matched the window number
17749        returned from the occlusion callback.
17750
177512013-04-26  Anders Carlsson  <andersca@apple.com>
17752
17753        Use OwnPtr<PluginControllerProxy> for storing plug-in controllers in WebProcessConnection
17754        https://bugs.webkit.org/show_bug.cgi?id=115259
17755
17756        Reviewed by Andreas Kling.
17757
17758        * PluginProcess/WebProcessConnection.cpp:
17759        (WebKit::WebProcessConnection::addPluginControllerProxy):
17760        (WebKit::WebProcessConnection::removePluginControllerProxy):
17761        (WebKit::WebProcessConnection::didClose):
17762        * PluginProcess/WebProcessConnection.h:
17763        (WebProcessConnection):
17764
177652013-04-27  Jessie Berlin  <jberlin@apple.com>
17766
17767        Build fix.
17768
17769        * NetworkProcess/NetworkResourceLoader.cpp:
17770        (WebKit::NetworkResourceLoader::didReceiveBuffer):
17771        Do not declare another variable with the same name.
17772
177732013-04-27  Darin Adler  <darin@apple.com>
17774
17775        Move from constructor and member function adoptCF/NS to free function adoptCF/NS.
17776        https://bugs.webkit.org/show_bug.cgi?id=115307
17777
17778        Reviewed by Geoffrey Garen.
17779
17780        This change was done by a global replace followed by compiling and inspecting for
17781        cases that needed to be tweaked by hand.
17782
17783        * Platform/cg/CGUtilities.cpp:
17784        (WebKit::paintBitmapContext):
17785        * Platform/mac/ModuleMac.mm:
17786        (WebKit::Module::load):
17787        (WebKit::Module::platformFunctionPointer):
17788        * PluginProcess/mac/PluginProcessMac.mm:
17789        (WebKit::PluginProcess::initializeSandbox):
17790        * Shared/API/c/mac/WKURLRequestNS.mm:
17791        (WKURLRequestCreateWithNSURLRequest):
17792        * Shared/API/c/mac/WKURLResponseNS.mm:
17793        (WKURLResponseCreateWithNSURLResponse):
17794        * Shared/Downloads/mac/DownloadMac.mm:
17795        (WebKit::Download::start):
17796        (WebKit::Download::startWithHandle):
17797        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h:
17798        (WebKit::ChildProcessMain):
17799        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
17800        (WebKit::getPluginArchitecture):
17801        (WebKit::contentsOfPropertyListAtURL):
17802        (WebKit::getMIMETypesFromPluginBundle):
17803        (WebKit::getStringListResource):
17804        (WebKit::NetscapePluginModule::getPluginInfo):
17805        * Shared/ShareableResource.cpp:
17806        (WebKit::ShareableResource::Handle::tryWrapInSharedBuffer):
17807        * Shared/cf/ArgumentCodersCF.cpp:
17808        (CoreIPC::decode):
17809        (CoreIPC::encode):
17810        * Shared/cg/ShareableBitmapCG.cpp:
17811        (WebKit::ShareableBitmap::createGraphicsContext):
17812        (WebKit::ShareableBitmap::makeCGImageCopy):
17813        (WebKit::ShareableBitmap::makeCGImage):
17814        (WebKit::ShareableBitmap::createCGImage):
17815        * Shared/mac/ArgumentCodersMac.mm:
17816        (CoreIPC::decode):
17817        * Shared/mac/PlatformCertificateInfo.mm:
17818        (WebKit::PlatformCertificateInfo::dump):
17819        * Shared/mac/WebCoreArgumentCodersMac.mm:
17820        (CoreIPC::::encodePlatformData):
17821        (CoreIPC::::decodePlatformData):
17822        * UIProcess/API/mac/FindIndicatorWindow.mm:
17823        (WebKit::FindIndicatorWindow::setFindIndicator):
17824        (WebKit::FindIndicatorWindow::startFadeOutTimerFired):
17825        * UIProcess/API/mac/PDFViewController.mm:
17826        (-[WKPDFView initWithFrame:PDFViewController:]):
17827        (WebKit::PDFViewController::PDFViewController):
17828        (WebKit::convertPostScriptDataSourceToPDF):
17829        (WebKit::PDFViewController::setPDFDocumentData):
17830        * UIProcess/API/mac/PageClientImpl.mm:
17831        (WebKit::PageClientImpl::PageClientImpl):
17832        (WebKit::PageClientImpl::registerEditCommand):
17833        (WebKit::PageClientImpl::setDragImage):
17834        * UIProcess/API/mac/WKBrowsingContextController.mm:
17835        (didFailProvisionalLoadWithErrorForFrame):
17836        (didFailLoadWithErrorForFrame):
17837        * UIProcess/API/mac/WKConnection.mm:
17838        (didReceiveMessage):
17839        * UIProcess/API/mac/WKPrintingView.mm:
17840        (-[WKPrintingView drawRect:]):
17841        * UIProcess/API/mac/WKView.mm:
17842        (-[WKView browsingContextController]):
17843        (-[WKView _setAcceleratedCompositingModeRootLayer:]):
17844        (-[WKView _setPromisedData:WebCore::withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:WebCore::forPasteboard:]):
17845        (-[WKView namesOfPromisedFilesDroppedAtDestination:]):
17846        (-[WKView fullScreenWindowController]):
17847        (-[WKView _executeSavedCommandBySelector:]):
17848        (-[WKView printOperationWithPrintInfo:forFrame:]):
17849        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
17850        (WebKit::createProcess):
17851        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
17852        (WebKit::PluginInfoStore::pluginPathsInDirectory):
17853        (WebKit::PluginInfoStore::getMIMETypeForExtension):
17854        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
17855        (WebKit::PluginProcessProxy::beginModal):
17856        * UIProcess/cf/WebBackForwardListCF.cpp:
17857        (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
17858        * UIProcess/cf/WebPageProxyCF.cpp:
17859        (WebKit::WebPageProxy::sessionStateData):
17860        (WebKit::WebPageProxy::restoreFromSessionStateData):
17861        (WebKit::WebPageProxy::saveRecentSearches):
17862        (WebKit::WebPageProxy::loadRecentSearches):
17863        * UIProcess/cf/WebPreferencesCF.cpp:
17864        (WebKit::cfStringFromWebCoreString):
17865        (WebKit::setStringValueIfInUserDefaults):
17866        (WebKit::setBoolValueIfInUserDefaults):
17867        (WebKit::setUInt32ValueIfInUserDefaults):
17868        (WebKit::setDoubleValueIfInUserDefaults):
17869        (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
17870        (WebKit::WebPreferences::platformUpdateDoubleValueForKey):
17871        (WebKit::WebPreferences::platformUpdateFloatValueForKey):
17872        * UIProcess/mac/BackingStoreMac.mm:
17873        (WebKit::BackingStore::resetScrolledRect):
17874        (WebKit::BackingStore::backingStoreContext):
17875        * UIProcess/mac/CorrectionPanel.mm:
17876        (WebKit::CorrectionPanel::handleAcceptedReplacement):
17877        * UIProcess/mac/TextCheckerMac.mm:
17878        (WebKit::TextChecker::checkTextOfParagraph):
17879        (WebKit::TextChecker::updateSpellingUIWithGrammarString):
17880        * UIProcess/mac/WKFullScreenWindowController.mm:
17881        (-[WKFullScreenWindowController enterFullScreen:]):
17882        (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
17883        (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
17884        * UIProcess/mac/WebContextMac.mm:
17885        (WebKit::WebContext::platformDefaultDiskCacheDirectory):
17886        * UIProcess/mac/WebContextMenuProxyMac.mm:
17887        (WebKit::nsMenuItemVector):
17888        (WebKit::WebContextMenuProxyMac::populate):
17889        * UIProcess/mac/WebInspectorProxyMac.mm:
17890        (WebKit::WebInspectorProxy::createInspectorWindow):
17891        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
17892        * UIProcess/mac/WebPopupMenuProxyMac.mm:
17893        (WebKit::WebPopupMenuProxyMac::populate):
17894        (WebKit::WebPopupMenuProxyMac::showPopupMenu):
17895        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
17896        (WebKit::InjectedBundle::load):
17897        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
17898        (WebKit::NetscapePlugin::updatePluginLayer):
17899        * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
17900        (WebKit::PluginProxy::pluginLayer):
17901        * WebProcess/Plugins/PDF/PDFPlugin.mm:
17902        (WebKit::PDFPlugin::PDFPlugin):
17903        (WebKit::PDFPlugin::createScrollbar):
17904        (WebKit::PDFPlugin::pdfDocumentDidLoad):
17905        (WebKit::PDFPlugin::writeItemsToPasteboard):
17906        * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
17907        (getAllScriptsInPDFDocument):
17908        (WebKit::SimplePDFPlugin::pdfDocumentDidLoad):
17909        (WebKit::SimplePDFPlugin::streamDidReceiveData):
17910        (WebKit::SimplePDFPlugin::manualStreamDidReceiveData):
17911        * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
17912        (WebKit::WebResourceCacheManager::clearCacheForOrigin):
17913        * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
17914        (WebKit::WebResourceCacheManager::cfURLCacheHostNames):
17915        (WebKit::WebResourceCacheManager::clearCFURLCacheForHostNames):
17916        * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
17917        (WebKit::createNSError):
17918        * WebProcess/WebPage/WebPage.cpp:
17919        (WebKit::WebPage::drawPagesToPDF):
17920        * WebProcess/WebPage/mac/WebPageMac.mm:
17921        (WebKit::WebPage::performDictionaryLookupForRange):
17922        (WebKit::cachedResponseForURL):
17923        (WebKit::WebPage::drawPagesToPDFFromPDFDocument):
17924        * WebProcess/mac/WebProcessMac.mm:
17925        (WebKit::WebProcess::platformSetCacheModel):
17926        Use adoptCF and adoptNS free functions.
17927
179282013-04-27  Alexey Proskuryakov  <ap@apple.com>
17929
17930        <rdar://problem/13757007> Crashes in NetworkResourceLoader::didReceiveResponseAsync
17931        https://bugs.webkit.org/show_bug.cgi?id=115318
17932
17933        Reviewed by Darin Adler.
17934
17935        sendAbortingOnFailure may actually fail, and abort the request, making m_handle null.
17936
17937        * NetworkProcess/NetworkResourceLoader.cpp:
17938        (WebKit::NetworkResourceLoader::didReceiveResponseAsync): Null check m_handle after
17939        sending a message, because the request will cancelled when connection is invalid.
17940        (WebKit::NetworkResourceLoader::didReceiveBuffer): Assert that m_handle matches
17941        the handle that we are called with.
17942        (WebKit::NetworkResourceLoader::didFinishLoading): Ditto.
17943        (WebKit::NetworkResourceLoader::didFail): Ditto.
17944        (WebKit::NetworkResourceLoader::willSendRequestAsync): Ditto.
17945        (WebKit::NetworkResourceLoader::didSendData): Ditto.
17946        (WebKit::NetworkResourceLoader::shouldUseCredentialStorage): Ditto.
17947        (WebKit::NetworkResourceLoader::shouldUseCredentialStorageAsync): Ditto.
17948        (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge): Ditto.
17949        (WebKit::NetworkResourceLoader::didCancelAuthenticationChallenge): Ditto.
17950        (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync): Ditto.
17951
179522013-04-27  Alexey Proskuryakov  <ap@apple.com>
17953
17954        <rdar://problem/13757687> Threads get stuck in NetworkProcess when canceling loads
17955        https://bugs.webkit.org/show_bug.cgi?id=115319
17956
17957        Reviewed by Darin Adler.
17958
17959        WebResourceLoader was second-guessing NetworkProcess as to whether it needs a response
17960        to DidReceiveResponseWithCertificateInfo, and it was guessing wrong if the load was
17961        alrady canceled on WebProcess side.
17962
17963        * NetworkProcess/NetworkResourceLoader.cpp:
17964        (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
17965        * WebProcess/Network/WebResourceLoader.cpp:
17966        (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
17967        * WebProcess/Network/WebResourceLoader.h:
17968        * WebProcess/Network/WebResourceLoader.messages.in:
17969
179702013-04-27  Alexey Proskuryakov  <ap@apple.com>
17971
17972        Regression tests that reference a non-local resource crash with NetworkProcess enabled
17973        https://bugs.webkit.org/show_bug.cgi?id=115290
17974
17975        Reviewed by Sam Weinig.
17976
17977        Covered by fast/dom/icon-url-change.html and many other existing tests.
17978
17979        * WebProcess/Network/WebResourceLoadScheduler.cpp:
17980        (WebKit::WebResourceLoadScheduler::remove): Handle this case. Architecturally, it
17981        would be better if SubresourceLoad::create just created an object an didn't do
17982        further checks before returning a pointer, but changing that is beyond the scope
17983        of the fix.
17984
179852013-04-26  Yael Aharon  <yael.aharon@intel.com>
17986
17987        [WK2][EFL] Build break after r149212
17988        https://bugs.webkit.org/show_bug.cgi?id=115294
17989
17990        Reviewed by Simon Fraser.
17991        r144672 bumped up the revision of WKContextClient API, and introduced a version array
17992        APIClientTraits<WKContextClient>::interfaceSizesByVersion .
17993        In r149212, the version was bumped back down and the version array was emptied but not removed.
17994        This causes a warning "array subscript is below array bounds", and in EFL the warning is
17995        treated as error.
17996
17997        * Shared/APIClientTraits.cpp:
17998        (WebKit):
17999        * Shared/APIClientTraits.h:
18000
180012013-04-26  Martin Robinson  <mrobinson@igalia.com>
18002
18003        [GTK] Add methods to add a user style sheet to the WebKit2 GTK+ API
18004        https://bugs.webkit.org/show_bug.cgi?id=99081
18005
18006        Reviewed by Carlos Garcia Campos, Gustavo Noronha Silva, and Benjamin Poulain.
18007
18008        Add methods to WebKitWebViewGroup to add and remove user style sheets.
18009        This allows clients to inject style sheets into pages with a set of
18010        rules for when those style sheets apply.
18011
18012        * UIProcess/API/gtk/WebKitWebViewGroup.cpp:
18013        (toImmutableArray): Added this helper which converts the GList* parameters into
18014        ImmutableArrays for use with the WebKit2 internal API.
18015        (webkit_web_view_group_add_user_style_sheet): Added new API for adding a style sheet.
18016        (webkit_web_view_group_remove_all_user_style_sheets): Add new API for clearing out all style sheets.
18017        * UIProcess/API/gtk/WebKitWebViewGroup.h: Added new method declarations.
18018        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new API to the documentation.
18019        * UIProcess/API/gtk/tests/TestWebKitWebViewGroup.cpp: Added a test for the new API.
18020        (isStyleSheetInjectedForURLAtPath): Function to check whether the style sheet has been injected for a given URL.
18021        (fillURLListFromPaths): Helper which converts paths passed via varargs into a whitelist or blacklist.
18022        (removeOldInjectedStyleSheetsAndResetLists): Function to start afresh.
18023        (testWebViewGroupInjectedStyleSheet): The actual test.
18024        (serverCallback): Server callback for use with the test. We cannot use loadHTML or
18025        loadAlternateHTML, because that checks the whitelist and blacklist against about:blank.
18026        (beforeAll): Initialize the server and new test.
18027        (afterAll): Clean up the server.
18028
180292013-04-26  Simon Cooper  <scooper@apple.com>
18030
18031        Permit ~/Library or ~/Library/Preferences to be symlinks
18032        https://bugs.webkit.org/show_bug.cgi?id=115142
18033        <rdar://problem/12953603>
18034
18035        Reviewed by Alexey Proskuryakov.
18036
18037        Pass in two new parameters which are the resolved paths to ~/Library
18038        and ~/Library/Preferences. Added new expansion functions and
18039        substituted the new functions for home-regex, home-subpath and
18040        home-literal for places referencing resources in "~/Library" or
18041        "~/Library/Preferences".
18042
18043        * Resources/PlugInSandboxProfiles/com.apple.QuickTime Plugin.plugin.sb:
18044        * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
18045        * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
18046        * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
18047        * Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb:
18048        * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
18049        * Shared/mac/ChildProcessMac.mm:
18050        (WebKit::ChildProcess::initializeSandbox):
18051
180522013-04-26  Alexey Proskuryakov  <ap@apple.com>
18053
18054        [WK2] WKContextClient doesn't need to be versioned yet
18055        https://bugs.webkit.org/show_bug.cgi?id=115279
18056
18057        Reviewed by Anders Carlsson.
18058
18059        * Shared/APIClientTraits.cpp:
18060        * Shared/APIClientTraits.h:
18061        * UIProcess/API/C/WKContext.h:
18062
180632013-04-26  Anders Carlsson  <andersca@apple.com>
18064
18065        Downloads need to be converted from the NSURLConnection, not canceled and restarted, when using the NetworkProcess
18066        https://bugs.webkit.org/show_bug.cgi?id=115277
18067        <rdar://problem/12890184>
18068
18069        Reviewed by Sam Weinig.
18070
18071        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
18072        (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
18073        Ask the download manager to convert the main resource load to a download.
18074
18075        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
18076        Add new message.
18077
18078        * NetworkProcess/NetworkResourceLoader.h:
18079        (WebKit::NetworkResourceLoader::handle):
18080        Add getter.
18081
18082        * Shared/Downloads/mac/DownloadMac.mm:
18083        (dispatchOnMainThread):
18084        Helper function that ensures that a given block is called on the main thread.
18085
18086        (-[WKDownloadAsDelegate downloadDidBegin:]):
18087        (-[WKDownloadAsDelegate download:didReceiveAuthenticationChallenge:]):
18088        (-[WKDownloadAsDelegate download:didReceiveResponse:]):
18089        (-[WKDownloadAsDelegate download:didReceiveDataOfLength:]):
18090        (-[WKDownloadAsDelegate download:shouldDecodeSourceDataOfMIMEType:]):
18091        (-[WKDownloadAsDelegate download:decideDestinationWithSuggestedFilename:]):
18092        (-[WKDownloadAsDelegate download:didCreateDestination:]):
18093        (-[WKDownloadAsDelegate downloadDidFinish:]):
18094        (-[WKDownloadAsDelegate download:didFailWithError:]):
18095        Use dispatchOnMainThread.
18096
18097        * UIProcess/WebPageProxy.cpp:
18098        (WebKit::WebPageProxy::receivedPolicyDecision):
18099        Remove code that cancels the current load and starts a new download.
18100
18101        * WebProcess/WebPage/WebFrame.cpp:
18102        (WebKit::WebFrame::convertMainResourceLoadToDownload):
18103        Send the ConvertMainResourceLoadToDownload message to the network process.
18104
181052013-04-25  Roger Fong  <roger_fong@apple.com>
18106
18107        Disable sub-pixel layout on mac.
18108        https://bugs.webkit.org/show_bug.cgi?id=114999.
18109
18110        Reviewed by Simon Fraser.
18111
18112        * Configurations/FeatureDefines.xcconfig:
18113
181142013-04-26  Simon Fraser  <simon.fraser@apple.com>
18115
18116        Inspector window is often blank when opened
18117        https://bugs.webkit.org/show_bug.cgi?id=115220
18118
18119        Reviewed by Tim Horton.
18120        
18121        After disabling tiled scrolling and accelerated drawing in r149006, the
18122        Inspector window was often missing its content after opening. This only
18123        happened when the user has a preference on disk to use accelerated drawing
18124        in the Inspector.
18125        
18126        The missing content was caused by a failure to connect the correct contextID
18127        for remote layer hosting. On window creation, we hook up a context using
18128        WindowServer layer hosting (the default), but then switch back to app-hosted
18129        layers for the Inspector window. This switching happens in didUpdateBackingStoreState(),
18130        but that can be re-entered via its call to sendUpdateBackingStoreState(). In
18131        that cause, on unwinding the stack it would call enterAcceleratedCompositingMode()
18132        with a stale layerTreeContext.
18133        
18134        Fix by moving the code that exits/enters accelerated compositing mode to before
18135        the call to sendUpdateBackingStoreState() that can cause re-entrancy. That avoids
18136        use of a possibly stale layerTreeContext.
18137
18138        * UIProcess/DrawingAreaProxyImpl.cpp:
18139        (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
18140
181412013-04-26  Alexey Proskuryakov  <ap@apple.com>
18142
18143        Crashes under ResourceHandle::continueDidReceiveResponse when loading blobs
18144        https://bugs.webkit.org/show_bug.cgi?id=115273
18145
18146        Reviewed by Anders Carlsson.
18147
18148        Covered by multiple existing tests (when using NetworkProcess), including:
18149        - http/tests/fileapi/blob-url-in-subframe.html
18150        - http/tests/fileapi/create-blob-url-from-data-url.html
18151
18152        * NetworkProcess/NetworkResourceLoader.cpp:
18153        (WebKit::NetworkResourceLoader::continueDidReceiveResponse):
18154        Work around BlobResourceHandle badness.
18155
181562013-04-26  Alexey Proskuryakov  <ap@apple.com>
18157
18158        [WK2] Remove NetworkResourceLoader::cleanupOnMainThread
18159        https://bugs.webkit.org/show_bug.cgi?id=115268
18160
18161        Reviewed by Brady Eidson.
18162
18163        All cleanup() callers are now on main thread, and this indirection only complicates debugging.
18164
18165        * NetworkProcess/NetworkResourceLoader.cpp:
18166        (WebKit::NetworkResourceLoader::connectionToWebProcessDidClose):
18167        (WebKit::NetworkResourceLoader::abortInProgressLoad):
18168        (WebKit::NetworkResourceLoader::didFinishLoading):
18169        (WebKit::NetworkResourceLoader::didFail):
18170        * NetworkProcess/NetworkResourceLoader.h:
18171
181722013-04-26  Andy Estes  <aestes@apple.com>
18173
18174        [WebKit2] CustomProtocolManager's m_registeredSchemes HashSet can be accessed by multiple threads
18175        https://bugs.webkit.org/show_bug.cgi?id=115267
18176
18177        Reviewed by Alexey Proskuryakov.
18178
18179        * Shared/Network/CustomProtocols/CustomProtocolManager.h: Added a Mutex to protect m_registeredSchemes.
18180        * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
18181        (WebKit::CustomProtocolManager::registerScheme): Acquired the mutex before accessing m_registeredSchemes.
18182        (WebKit::CustomProtocolManager::unregisterScheme): Ditto.
18183        (WebKit::CustomProtocolManager::supportsScheme): Ditto.
18184
181852013-04-26  Alexey Proskuryakov  <ap@apple.com>
18186
18187        Blobs are not associated with connection when there are no sandbox extensions
18188        https://bugs.webkit.org/show_bug.cgi?id=115264
18189
18190        Reviewed by Brady Eidson.
18191
18192        Covered by multiple fast/files tests when using NetworkProcess.
18193
18194        * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
18195        (WebKit::NetworkBlobRegistry::registerBlobURL): Fixed a logic error.
18196
181972013-04-25  Andy Estes  <aestes@apple.com>
18198
18199        [WebKit2] Loading a resource from a custom protocol in a synchronous XHR times out
18200        https://bugs.webkit.org/show_bug.cgi?id=115223
18201
18202        Reviewed by Darin Adler.
18203
18204        When WebKit performs a synchronous load on the Mac, it spins a nested
18205        run loop in a mode that only accepts input from the NSURLConnection
18206        performing the load. When the load is for a custom protocol in WebKit2,
18207        we proxy it to the UI process via CoreIPC messages, but the response
18208        messages from the UI process are never processed as long as the run
18209        loop is in a non-common mode (and we wouldn't want to process messages
18210        that could re-enter WebCore in the middle of loading, anyway). Since
18211        these messages never make it back to the NSURLConnection handling the
18212        request, the connection eventually times out.
18213
18214        Fix this by using a work queue to handle custom protocol messages in
18215        the networking process. The work queue can process incoming custom
18216        protocol messages while the main thread is blocked.
18217
18218        * NetworkProcess/NetworkProcess.cpp:
18219        (WebKit::NetworkProcess::initializeConnection): Called
18220        initializeConnection() on all the NetworkProcess's supplements.
18221        * Shared/ChildProcessSupplement.h: Added a base class for
18222        NetworkProcessSupplement and WebProcessSupplement which defines
18223        initializeConnection and provides an empty default implementation.
18224        (WebKit::ChildProcessSupplement::~ChildProcessSupplement):
18225        (WebKit::ChildProcessSupplement::initializeConnection):
18226        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
18227        * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
18228        (WebKit::CustomProtocolManager::CustomProtocolManager): Instantiated a
18229        work queue for message processing.
18230        (WebKit::CustomProtocolManager::initializeConnection): Added the work
18231        queue as a message receiver on the CoreIPC connection.
18232        (WebKit::CustomProtocolManager::initialize): If we're in the web
18233        process and the network process is being used, unregister and destroy
18234        the work queue we previously created. It'd be better to not create it
18235        in the first place, but we have to register our work queue with the
18236        CoreIPC connection before it is established, which is before the UI
18237        process has told us whether the network process is in use.
18238        * Shared/Network/NetworkProcessSupplement.h: Inherited from
18239        ChildProcessSupplement.
18240        * WebKit2.xcodeproj/project.pbxproj: Added ChildProcessSupplement.h.
18241        * WebProcess/WebProcess.cpp:
18242        (WebKit::WebProcess::initializeConnection): Called
18243        initializeConnection() on all the WebProcess's supplements.
18244        * WebProcess/WebProcessSupplement.h: Inherited from
18245        ChildProcessSupplement.
18246
182472013-04-26  Eduardo Lima Mitev  <elima@igalia.com>
18248
18249        [GTK] Compilation of ProcessLauncherGtk.cpp fails due to unresolved symbols
18250        https://bugs.webkit.org/show_bug.cgi?id=115240
18251
18252        Reviewed by Martin Robinson.
18253
18254        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: Includes sys/socket.h if OS is Linux
18255
182562013-04-25  Zan Dobersek  <zdobersek@igalia.com>
18257
18258        [GTK] Plugin process broken due to a missing symbol
18259        https://bugs.webkit.org/show_bug.cgi?id=114901
18260
18261        Reviewed by Gustavo Noronha Silva.
18262
18263        Work around the missing symbols in the WebKitPluginProcess by specifying the required libraries
18264        multiple times in the program's LDADD list. Libtool fights fiercely to avoid duplicate static library
18265        references among the linker arguments (even if using the --preserve-dup-deps flag) so the required libraries
18266        are specified in various ways.
18267
18268        The unresolved symbols in object files are no longer ignored as this can lead to further trouble (for instance
18269        this patch also adds a few missing source files to the list of WebKitPluginProcess sources). The Freetype and
18270        gamepad dependencies' libraries are also added to the binary's LDADD list.
18271
18272        * GNUmakefile.am:
18273        * GNUmakefile.list.am: Add a few missing files to the build.
18274
182752013-04-24  Chris Fleizach  <cfleizach@apple.com>
18276
18277        WEB SPEECH: language support does not work as expected
18278        https://bugs.webkit.org/show_bug.cgi?id=115119
18279
18280        Reviewed by Alexey Proskuryakov.
18281
18282        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
18283        (InitWebCoreSystemInterface):
18284
182852013-04-25  Anders Carlsson  <andersca@apple.com>
18286
18287        Rename DecidePolicyForResponse message to DecidePolicyForResponseSync
18288        https://bugs.webkit.org/show_bug.cgi?id=115207
18289
18290        Reviewed by Beth Dakin.
18291
18292        In preparation for adding a new async DecidePolicyForResponse message,
18293        rename the current one to DecidePolicyForResponseSync. Also split out the async part
18294        into a separate WebPageProxy::decidePolicyForResponse member function.
18295
18296        * UIProcess/WebPageProxy.cpp:
18297        (WebKit::WebPageProxy::WebPageProxy):
18298        (WebKit::WebPageProxy::receivedPolicyDecision):
18299        (WebKit::WebPageProxy::decidePolicyForResponse):
18300        (WebKit::WebPageProxy::decidePolicyForResponseSync):
18301        * UIProcess/WebPageProxy.h:
18302        (WebPageProxy):
18303        * UIProcess/WebPageProxy.messages.in:
18304        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
18305        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
18306
183072013-04-25  Joseph Pecoraro  <pecoraro@apple.com>
18308
18309        Web Inspector: ConsoleMessage should include line and column number where possible
18310        https://bugs.webkit.org/show_bug.cgi?id=114929
18311
18312        Reviewed by Timothy Hatcher.
18313
18314        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
18315        (WebKit::WebChromeClient::addMessageToConsole):
18316        * WebProcess/WebCoreSupport/WebChromeClient.h:
18317
183182013-04-25  Brady Eidson  <beidson@apple.com>
18319
18320        Thread safety issues in WKCustomProtocol.
18321        <rdar://problem/13247304> and https://bugs.webkit.org/show_bug.cgi?id=115185
18322
18323        Reviewed by Alexey Proskuryakov.
18324
18325        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
18326
18327        * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
18328        (WebKit::CustomProtocolManager::addCustomProtocol): Protect m_customProtocolMap with its mutex.
18329        (WebKit::CustomProtocolManager::removeCustomProtocol): Ditto.
18330        (WebKit::CustomProtocolManager::didFailWithError):
18331        (WebKit::CustomProtocolManager::didLoadData):
18332        (WebKit::CustomProtocolManager::didReceiveResponse):
18333        (WebKit::CustomProtocolManager::didFinishLoading):
18334        (WebKit::CustomProtocolManager::protocolForID): Protect m_customProtocolMap with its mutex, and return
18335          a RetainPtr instead of a raw pointer.
18336
183372013-04-25  Jer Noble  <jer.noble@apple.com>
18338
18339        Further build fixes: correct two more misnames of WebProcessShim.dyld.
18340
18341        * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
18342        (WebKit::WebContentProcessMainDelegate::doPreInitializationWork):
18343        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
18344
183452013-04-25  Martin Robinson  <mrobinson@igalia.com>
18346
18347        Make gobject-introspection warnings non-fatal
18348        https://bugs.webkit.org/show_bug.cgi?id=115184
18349
18350        Reviewed by Carlos Garcia Campos.
18351
18352        * GNUmakefile.am: Make it so that gobject-introspection errors do not fail the buld
18353        until we get to a point where gobject-introspection gives consistent warnings.
18354
183552013-04-25  Carlos Garcia Campos  <cgarcia@igalia.com>
18356
18357        [GTK] Add WebKitWebViewGroup to WebKit2 GTK+ API
18358        https://bugs.webkit.org/show_bug.cgi?id=111265
18359
18360        Reviewed by Anders Carlsson.
18361
18362        In the current API the settings are always shared by all web
18363        views, because they are always created on the default page
18364        group. This makes impossible to have different settings on
18365        different web views. Expose the page group in the API,
18366        so that users can create web views on a group different than the
18367        default one to have their own settings.
18368
18369        * GNUmakefile.list.am: Add new files to compilation.
18370        * UIProcess/API/gtk/WebKitSettings.cpp:
18371        (webkitSettingsGetPreferences): Helper private method to get the
18372        WebPreferences wrapped by a WebKitSettings object.
18373        * UIProcess/API/gtk/WebKitSettingsPrivate.h:
18374        * UIProcess/API/gtk/WebKitWebContext.cpp:
18375        (_WebKitWebContextPrivate): Add a default WebKitWebViewGroup.
18376        (webkitWebContextCreatePageForWebView): Create the WebPageProxy
18377        with the WebPageGroup of the given WebKitWebViewGroup.
18378        (webkitWebContextGetDefaultWebViewGroup): Helper private method to
18379        get the default WebKitWebViewGroup.
18380        * UIProcess/API/gtk/WebKitWebContextPrivate.h:
18381        * UIProcess/API/gtk/WebKitWebView.cpp:
18382        (_WebKitWebViewPrivate): Add a WebKitWebViewGroup in case the view
18383        is created with a group.
18384        (webkitWebViewUpdateSettings): Keep a reference of the group
18385        settings to be able to disconnect the signals when the settings
18386        object is replaced in the view group and connect to the signals
18387        for the custom settings.
18388        (webkitWebViewSettingsChanged): Disconnect the signals for the
18389        previous settings and set the new settings.
18390        (webkitWebViewDisconnectSettingsChangedSignalHandler): Disconnect
18391        notify::settings signal of WebKitWebViewGroup.
18392        (webkitWebViewConstructed): Pass the current WebKitWebViewGroup to
18393        webkitWebContextCreatePageForWebView().
18394        (webkitWebViewSetProperty): Add setter for group property.
18395        (webkitWebViewGetProperty): Add getter for group property.
18396        (webkitWebViewDispose): Call
18397        webkitWebViewDisconnectSettingsChangedSignalHandler().
18398        (webkit_web_view_class_init): Add WebKitWebView:group property.
18399        (webkitWebViewHandleAuthenticationChallenge): Use
18400        webkit_web_view_get_settings().
18401        (webkit_web_view_new_with_group): Create a new web view with the
18402        given WebKitWebViewGroup.
18403        (webkit_web_view_get_group): Return the current WebKitWebViewGroup
18404        or the default one if the view was not created with
18405        webkit_web_view_new_with_group().
18406        (webkit_web_view_set_settings): Set the settings of the current
18407        WebKitWebViewGroup.
18408        (webkit_web_view_get_settings): Get the settings of the current
18409        WebKitWebViewGroup.
18410        (webkit_web_view_set_zoom_level): Use
18411        webkit_web_view_get_settings().
18412        (webkit_web_view_get_zoom_level): Ditto.
18413        * UIProcess/API/gtk/WebKitWebView.h:
18414        * UIProcess/API/gtk/WebKitWebViewGroup.cpp: Added.
18415        (_WebKitWebViewGroupPrivate):
18416        (webkitWebViewGroupSetProperty):
18417        (webkitWebViewGroupGetProperty):
18418        (webkitWebViewGroupConstructed):
18419        (webkit_web_view_group_class_init):
18420        (webkitWebViewGroupAttachSettingsToPageGroup): Set the
18421        WebPreferences of the current WebKitSettings to the WebPageGroup.
18422        (webkitWebViewGroupCreate): Create a new WebKitWebViewGroup for
18423        the given WebPageGroup.
18424        (webkitWebViewGroupGetPageGroup): Helper private method to get the
18425        WebPageGroup wrapped by the WebKitWebViewGroup.
18426        (webkit_web_view_group_new): Create a new WebKitWebViewGroup.
18427        (webkit_web_view_group_get_name): Return the name of a
18428        WebKitWebViewGroup.
18429        (webkit_web_view_group_get_settings): Get the settings of a
18430        WebKitWebViewGroup.
18431        (webkit_web_view_group_set_settings): Set new settings of a
18432        WebKitWebViewGroup.
18433        * UIProcess/API/gtk/WebKitWebViewGroup.h: Added.
18434        (_WebKitWebViewGroup):
18435        (_WebKitWebViewGroupClass):
18436        * UIProcess/API/gtk/WebKitWebViewGroupPrivate.h: Added.
18437        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add
18438        WebKitWebViewGroup section.
18439        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
18440        * UIProcess/API/gtk/docs/webkit2gtk.types: Add
18441        webkit_web_view_group_get_type.
18442        * UIProcess/API/gtk/tests/GNUmakefile.am: Add new files to
18443        compilation.
18444        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
18445        (testWebViewSettings): We can't watch settings in the default view
18446        group anymore, because they are not released with the web view but
18447        with the web context that is freed after the Test destructor.
18448        * UIProcess/API/gtk/tests/TestWebKitWebViewGroup.cpp: Added.
18449        (testWebViewGroupDefault):
18450        (testWebViewGroupNewGroup):
18451        (testWebViewNewWithGroup):
18452        (testWebViewGroupSettings):
18453        (beforeAll):
18454        (afterAll):
18455        * UIProcess/API/gtk/webkit2.h: Include WebKitWebViewGroup.h.
18456
184572013-04-25  Jer Noble  <jer.noble@apple.com>
18458
18459        Unreviewed build fix: Fix the name of DyldInterpose.h in
18460        SecItemShimLibrary.mm, fix the name of WebProcessShim.dyld in
18461        WebContentServiceEntryPoint.mm, and stop linking against libWTF.a
18462        directly (which means removing ASSERTs from
18463        CookieStorageShimLibrary.cpp).
18464
18465        * Shared/mac/CookieStorageShimLibrary.cpp:
18466        (WebKit::shimCFHTTPCookieStorageCopyRequestHeaderFieldsForURL):
18467        (WebKit::WebKitCookieStorageShimInitialize):
18468        * WebKit2.xcodeproj/project.pbxproj:
18469        * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
18470        (WebContentServiceInitializer):
18471        * WebProcess/mac/SecItemShimLibrary.mm:
18472
184732013-04-24  Tim Horton  <timothy_horton@apple.com>
18474
18475        PDFPlugin: Cursor should become an i-beam when over selectable text
18476        https://bugs.webkit.org/show_bug.cgi?id=115018
18477        <rdar://problem/12645012>
18478
18479        Reviewed by Alexey Proskuryakov.
18480
18481        * WebProcess/Plugins/PDF/PDFPlugin.h:
18482        Add updateCursor(), the UpdateCursorMode and HitTestResult enums, and
18483        storage for the last PDF hit test result.
18484        * WebProcess/Plugins/PDF/PDFPlugin.mm:
18485        (WebKit::PDFPlugin::updateCursor):
18486        Hit test the PDF. If there is a word under the cursor, use the I-beam cursor,
18487        otherwise, use the default pointer cursor. This approximates PDFKit's behavior,
18488        though does not match it precisely in the case of annotations.
18489        Only send the cursor update to the UIProcess if it is a change, or if
18490        we're explicitly asked to update.
18491        (WebKit::PDFPlugin::handleMouseEvent):
18492        If we're processing a mouse moved event, update the cursor if needed.
18493        (WebKit::PDFPlugin::handleMouseEnterEvent):
18494        If the cursor just moved over the PDFPlugin, force-update the cursor,
18495        even if it matches the previously-set cursor (because something else
18496        likely updated the cursor while it was not over the PDFPlugin).
18497
184982013-04-24  Tim Horton  <timothy_horton@apple.com>
18499
18500        Page Overlays shouldn't waste time flushing layers if we're not going to use it
18501        https://bugs.webkit.org/show_bug.cgi?id=115145
18502
18503        Reviewed by Simon Fraser.
18504
18505        Don't flush the page overlay layer when it's installed - it starts out
18506        with paintContents=false, so we don't really need a CALayer yet. We'll
18507        flush later if need be.
18508
18509        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
18510        (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
18511
185122013-04-24  Jer Noble  <jer.noble@apple.com>
18513
18514        Further unreviewed build fix; CFNetwork.framework is the one which Lion
18515        refuses to link against.
18516
18517        * WebKit2.xcodeproj/project.pbxproj:
18518
185192013-04-24  Jer Noble  <jer.noble@apple.com>
18520
18521        Unreviewed build fix; link against CoreServices.framework instead of against
18522        CoreFoundation.framework directly, to make the linker happy on Lion.
18523
18524        * WebKit2.xcodeproj/project.pbxproj:
18525
185262013-04-22  Jer Noble  <jer.noble@apple.com>
18527
18528        WWDC session videos don’t play at developer.apple.com
18529        https://bugs.webkit.org/show_bug.cgi?id=114858
18530
18531        Reviewed by Eric Carlson. Rubber stamped by Brady Eidson.
18532
18533        AVFoundation uses CFNetwork to store and retrieve cookies from the global store.
18534        However, in the case where network access happens in the NetworkProcess, session
18535        cookies are stored in-memory, and are not accessable in the WebProcess. Until such
18536        a time as AVFoundation can provide an API which would allow us to provide cookies
18537        for a specific request, we will interpose the CFNetwork method which they use to
18538        retrieve the cookie string from the cookie store for their pending request.
18539
18540        Duplicate the previous SecItemShim target to a new, WebProcessShim target. This
18541        target includes the SecItemShim functionality, but will add a new shim for cookie
18542        retrieval:
18543        * Shared/mac/CookieStorageShimLibrary.h: Added
18544        (CookieStorageShimCallbacks):
18545        * Shared/mac/CookieStorageShimLibrary.cpp: Added.
18546        (WebKit::ShimProtector::ShimProtector): A simple stack-based counter class.
18547        (WebKit::ShimProtector::~ShimProtector):
18548        (WebKit::ShimProtector::count):
18549        (WebKit::shimCFHTTPCookieStorageCopyRequestHeaderFieldsForURL): Interpose
18550            the CFNetwork call, and pass to the registered callback.
18551        (WebKit::WebKitCookieStorageShimInitialize): Register the callbacks.
18552
18553        Add a helper singleton class which will talk to the shim through the 
18554        registered callbacks:
18555        * Shared/mac/CookieStorageShim.h: Added
18556        (WebKit::CookieStorageShim::CookieStorageShim):
18557        * Shared/mac/CookieStorageShim.cpp: Added.
18558        (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL): Pass the request
18559            over to the NetworkProcess.
18560        (WebKit::CookieStorageShim::shared): Simple singleton.
18561        (WebKit::CookieStorageShim::initialize): Call the library initializer.
18562
18563        Initialize the shim only when the WebProcess is delegating network loading
18564        to the NetworkProcess:
18565        * WebProcess/WebProcess.cpp:
18566        (WebKit::WebProcess::initializeWebProcess):
18567
18568        Rename the WebProcess's shim from SecItemShim -> WebProcessShim:
18569        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
18570        (WebKit::addDYLDEnvironmentAdditions):
18571        * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
18572        (WebKit::WebContentProcessMainDelegate::doPreInitializationWork):
18573        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
18574        * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
18575        (WebContentServiceInitializer):
18576
18577        As the DYLD_INTERPOSE macro is used in multiple files now, put it in its
18578        own header:
18579        * Shared/mac/DyldInterpose.h: Added.
18580        * PluginProcess/mac/PluginProcessShim.mm:
18581        * WebProcess/mac/SecItemShimLibrary.mm:
18582
18583        Add new files to the project:
18584        * WebKit2.xcodeproj/project.pbxproj:
18585
185862013-04-24  Byungwoo Lee  <bw80.lee@samsung.com>
18587
18588        [EFL] Fix build error after r148963.
18589        https://bugs.webkit.org/show_bug.cgi?id=115126
18590
18591        Reviewed by Laszlo Gombos.
18592
18593        Generate forwarding headers for 'CoordinatedGraphics' to generate WKView.h
18594
18595        * PlatformEfl.cmake:
18596
185972013-04-24  Anders Carlsson  <andersca@apple.com>
18598
18599        Crash when trying to determine the length of an invalid message
18600        https://bugs.webkit.org/show_bug.cgi?id=115127
18601        <rdar://problem/13700736>
18602
18603        Reviewed by Beth Dakin.
18604
18605        Use message instead of incomingMessage since incomingMessage will always be null.
18606
18607        * Platform/CoreIPC/Connection.cpp:
18608        (CoreIPC::Connection::processIncomingMessage):
18609
186102013-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>
18611
18612        [GTK] Use stamp files for generate-forwarding-headers makefile rules
18613        https://bugs.webkit.org/show_bug.cgi?id=115118
18614
18615        Reviewed by Martin Robinson.
18616
18617        Use a stamp file for the WebKit2 forwarding generator rule. Also
18618        fix the rule dependencies that pointed to a non existent variable.
18619
18620        * GNUmakefile.am:
18621
186222013-04-24  Zan Dobersek  <zdobersek@igalia.com>
18623
18624        [GTK][WK2] Implement LayerTreeHostGtk::pageBackgroundTransparencyChanged
18625        https://bugs.webkit.org/show_bug.cgi?id=115094
18626
18627        Reviewed by Tim Horton.
18628
18629        The method was introduced in r149004 (and a stub implementation for the GTK port added in r149017).
18630        Implement the method for the GTK port in the same manner it is implemented under the Mac port,
18631        calling setContentsOpaque on the non-composited content layer.
18632
18633        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
18634        (WebKit::LayerTreeHostGtk::pageBackgroundTransparencyChanged):
18635
186362013-04-24  Simon Cooper  <scooper@apple.com>
18637
18638        <rdar://problem/13614117> Refine the Flash Player profile
18639        https://bugs.webkit.org/show_bug.cgi?id=115016
18640
18641        Reviewed by Alexey Proskuryakov.
18642
18643        Add some refinements to the Flash Player profile. Make a non-/ home
18644        directory work. Fixes that allow file uploading via user selected files.
18645
18646        * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
18647
186482013-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>
18649
18650        [WebKit2] Add CoordinatedGraphics to the list of platforms in generate-forwarding-headers.pl
18651        https://bugs.webkit.org/show_bug.cgi?id=115098
18652
18653        Reviewed by Martin Robinson.
18654
18655        r148963 introduced a new WKView.h header in a directory not listed
18656        as a platform prefix in generate-forwarding-headers.pl.
18657
18658        * Scripts/generate-forwarding-headers.pl: Replace unused chromium
18659        plaform prefix with CoordinatedGraphics that is used now.
18660
186612013-04-24  Seokju Kwon  <seokju.kwon@gmail.com>
18662
18663        Web Inspector: Add number to list from remote web inspector.
18664        https://bugs.webkit.org/show_bug.cgi?id=115014
18665
18666        Reviewed by Benjamin Poulain.
18667
18668        * UIProcess/InspectorServer/front-end/inspectorPageIndex.html:
18669
186702013-04-24  Vlad Vasilyeu  <vasvlad@gmail.com>
18671
18672        --minimal build fails with error: Source/WebKit2/Platform/CoreIPC/ArgumentCoder.h:44:36: error: decode is not a member of WebCore::TextCheckingResult
18673        https://bugs.webkit.org/show_bug.cgi?id=114367
18674
18675        Reviewed by Benjamin Poulain.
18676
18677        Include WebCoreArgumentCoders.h to WebEditorClientEfl.cpp from
18678        WebKit2/Shared/ for successfully building with option --minimal
18679
18680        * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
18681
18682== Rolled over to ChangeLog-2013-04-24 ==
18683