Use is<>() / downcast<>() for all remaining RenderObject subclasses
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2014-10-19  Chris Dumez  <cdumez@apple.com>
2
3         Use is<>() / downcast<>() for all remaining RenderObject subclasses
4         https://bugs.webkit.org/show_bug.cgi?id=137845
5
6         Reviewed by Darin Adler.
7
8         Use is<>() / downcast<>() for all remaining RenderObject subclasses and 
9         clean up the surrounding code.
10
11         * WebProcess/Plugins/PluginView.cpp:
12         (WebKit::PluginView::pluginProcessCrashed):
13         * WebProcess/WebPage/WebPage.cpp:
14         (WebKit::WebPage::createPlugin):
15
16 2014-10-19  Carlos Garcia Campos  <cgarcia@igalia.com>
17
18         [GTK] Move GtkDragAndDropHelper from Platform to WebKit2
19         https://bugs.webkit.org/show_bug.cgi?id=137422
20
21         Reviewed by Martin Robinson.
22
23         WebKitWebViewBase is currently the only user of
24         GtkDragAndDropHelper, that was added to share the code with
25         WebKit1. Move all the drag and drop logic to a new class
26         DragAndDropHandler.
27
28         * PlatformGTK.cmake: Add new files to compilation.
29         * UIProcess/API/gtk/PageClientImpl.cpp:
30         (WebKit::PageClientImpl::startDrag):
31         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
32         (webkitWebViewBaseConstructed):
33         (webkitWebViewBaseDragDataGet):
34         (webkitWebViewBaseDragEnd):
35         (webkitWebViewBaseDragDataReceived):
36         (webkitWebViewBaseDragMotion):
37         (webkitWebViewBaseDragLeave):
38         (webkitWebViewBaseDragDrop):
39         (webkitWebViewBaseDragAndDropHandler):
40         (dragExitedCallback): Deleted.
41         (webkitWebViewBaseStartDrag): Deleted.
42         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
43         * UIProcess/gtk/DragAndDropHandler.cpp: Added.
44         (WebKit::DragAndDropHandler::create):
45         (WebKit::DragAndDropHandler::DragAndDropHandler):
46         (WebKit::DragAndDropHandler::DroppingContext::DroppingContext):
47         (WebKit::dragOperationToGdkDragActions):
48         (WebKit::dragOperationToSingleGdkDragAction):
49         (WebKit::gdkDragActionToDragOperation):
50         (WebKit::DragAndDropHandler::startDrag):
51         (WebKit::DragAndDropHandler::fillDragData):
52         (WebKit::DragAndDropHandler::finishDrag):
53         (WebKit::DragAndDropHandler::dataObjectForDropData):
54         (WebKit::DragAndDropHandler::dragEntered):
55         (WebKit::DragAndDropHandler::requestDragData):
56         (WebKit::DragAndDropHandler::dragMotion):
57         (WebKit::DragAndDropHandler::dragLeave):
58         (WebKit::DragAndDropHandler::drop):
59         * UIProcess/gtk/DragAndDropHandler.h: Added.
60
61 2014-10-18  Dan Bernstein  <mitz@apple.com>
62
63         WorkQueue dispatches functions but isn’t a FunctionDispatcher
64         https://bugs.webkit.org/show_bug.cgi?id=137853
65
66         Reviewed by Anders Carlsson.
67
68         * Platform/WorkQueue.h: Changed to inherit from FunctionDispatcher.
69
70 2014-10-18  Michael Catanzaro  <mcatanzaro@igalia.com>
71
72         [GTK] Improve documentation of webkit_web_view_get_tls_info()
73         https://bugs.webkit.org/show_bug.cgi?id=137852
74
75         Reviewed by Martin Robinson.
76
77         * UIProcess/API/gtk/WebKitWebView.cpp:
78
79 2014-10-17  Chris Dumez  <cdumez@apple.com>
80
81         Use is<>() / downcast<>() for RenderBox
82         https://bugs.webkit.org/show_bug.cgi?id=137804
83
84         Reviewed by Andreas Kling.
85
86         Use is<>() / downcast<>() for RenderBox and clean up the surrounding
87         code.
88
89         * WebProcess/WebPage/WebPage.cpp:
90         (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
91         (WebKit::WebPage::plugInIsPrimarySize):
92         * WebProcess/WebPage/ios/WebPageIOS.mm:
93         (WebKit::WebPage::sendTapHighlightForNodeIfNecessary):
94
95 2014-10-16  Simon Fraser  <simon.fraser@apple.com>
96
97         [iOS] Turn off font autosizing for iOS WebKitTestRunner
98         https://bugs.webkit.org/show_bug.cgi?id=137806
99
100         Reviewed by Sam Weinig.
101         
102         Confusingly, WKPreferencesSetTextAutosizingEnabled() does nothing on iOS.
103         Instead, we have to add WKPreferencesSetMinimumZoomFontSize() and set it to 0
104         to disable font autosizing.
105
106         * UIProcess/API/C/WKPreferences.cpp:
107         (WKPreferencesSetMinimumZoomFontSize):
108         (WKPreferencesGetMinimumZoomFontSize):
109         * UIProcess/API/C/WKPreferencesRefPrivate.h:
110
111 2014-10-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
112
113         [EFL] REGRESSION(r173929): It broke the Web Inspector
114         https://bugs.webkit.org/show_bug.cgi?id=137522
115
116         Reviewed by Csaba Osztrogonác.
117
118         r173929 let web inspector use a separate web process. Besides it changed that the inspector is shown
119         as docking mode by default. However EFL port doesn't support to show web inspector as docking window yet.
120         This patch is to show web inspector on EFL new window as before. Docking mode should be implemented by
121         upcoming patch.
122
123         * UIProcess/efl/WebInspectorProxyEfl.cpp:
124         (WebKit::WebInspectorProxy::platformAttach):
125
126 2014-10-17  Carlos Garcia Campos  <cgarcia@igalia.com>
127
128         [GLIB] Add API to GMainLoopSource to schedule sources after a delay in microseconds
129         https://bugs.webkit.org/show_bug.cgi?id=137782
130
131         Reviewed by Sergio Villar Senin.
132
133         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
134         (WebKit::LayerTreeHostGtk::layerFlushTimerFired): Use microseconds
135         instead of milliseconds.
136
137 2014-10-17  Carlos Garcia Campos  <cgarcia@igalia.com>
138
139         [GTK] Move touch events handling from Platform to WebKit2
140         https://bugs.webkit.org/show_bug.cgi?id=137735
141
142         Reviewed by Sergio Villar Senin.
143
144         GtkTouchContextHelper was only used by WebKitWebViewBase, since
145         it's the only one that can create touch events. The code has been
146         simplified by processing the events in the view, and the native
147         touch events are now created with the native event and touch points.
148
149         * Shared/NativeWebTouchEvent.h:
150         (WebKit::NativeWebTouchEvent::touchContext): Deleted.
151         * Shared/gtk/NativeWebTouchEventGtk.cpp:
152         (WebKit::NativeWebTouchEvent::NativeWebTouchEvent): Pass touch
153         points instead of touch context to WebEventFactory::createWebTouchEvent().
154         * Shared/gtk/WebEventFactory.cpp:
155         (WebKit::WebEventFactory::createWebTouchEvent): Create the
156         WebTouchEvent for the given native event and points.
157         (WebKit::touchPhaseFromEvents): Deleted.
158         (WebKit::appendTouchEvent): Deleted.
159         * Shared/gtk/WebEventFactory.h:
160         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
161         (appendTouchEvent): Helper function to create a
162         WebPlatformTouchPoint for the given native event and add it to the
163         list of touch points.
164         (webkitWebViewBaseGetTouchPointForEvent): Build the touch point
165         list for the event.
166         (webkitWebViewBaseTouchEvent): Process the touch event.
167         (webkitWebViewBaseDragDataReceived): Deleted.
168
169 2014-10-16  Pascal Jacquemart  <p.jacquemart@samsung.com>
170
171         Removing CUSTOM_PROTOCOLS guard
172         https://bugs.webkit.org/show_bug.cgi?id=137741
173
174         Reviewed by Benjamin Poulain.
175
176         * NetworkProcess/NetworkProcess.cpp:
177         (WebKit::NetworkProcess::NetworkProcess):
178         * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:
179         * Shared/Network/CustomProtocols/CustomProtocolManager.h:
180         * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
181         * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp:
182         * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h:
183         * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp:
184         * Shared/Network/NetworkProcessCreationParameters.cpp:
185         (WebKit::NetworkProcessCreationParameters::encode):
186         (WebKit::NetworkProcessCreationParameters::decode):
187         * Shared/Network/NetworkProcessCreationParameters.h:
188         * Shared/WebProcessCreationParameters.cpp:
189         (WebKit::WebProcessCreationParameters::encode):
190         (WebKit::WebProcessCreationParameters::decode):
191         * Shared/WebProcessCreationParameters.h:
192         * UIProcess/API/C/soup/WKAPICastSoup.h:
193         * UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.cpp:
194         (WKSoupCustomProtocolRequestManagerGetTypeID):
195         (WKSoupCustomProtocolRequestManagerSetClient):
196         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
197         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in:
198         * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
199         * UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp:
200         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp:
201         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h:
202         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.cpp:
203         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.h:
204         * UIProcess/Network/NetworkProcessProxy.cpp:
205         (WebKit::NetworkProcessProxy::NetworkProcessProxy):
206         * UIProcess/Network/NetworkProcessProxy.h:
207         * UIProcess/WebContext.cpp:
208         (WebKit::WebContext::WebContext):
209         (WebKit::WebContext::unregisterGlobalURLSchemeAsHavingCustomProtocolHandlers):
210         (WebKit::WebContext::unregisterSchemeForCustomProtocol):
211         * UIProcess/WebContext.h:
212         * UIProcess/WebProcessProxy.cpp:
213         (WebKit::WebProcessProxy::WebProcessProxy):
214         * UIProcess/WebProcessProxy.h:
215         * UIProcess/mac/WebContextMac.mm:
216         (WebKit::WebContext::platformInitializeWebProcess):
217         (WebKit::WebContext::platformInitializeNetworkProcess):
218         * WebKit2Prefix.h:
219         * WebProcess/WebProcess.cpp:
220         (WebKit::WebProcess::WebProcess):
221         * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
222         (webkitSoupRequestGenericSendAsync):
223         (webkitSoupRequestGenericSendFinish):
224         * WebProcess/soup/WebKitSoupRequestGeneric.h:
225
226 2014-10-16  Simon Fraser  <simon.fraser@apple.com>
227
228         Crash under RemoteLayerTreeHost::getLayer() when closing a tab
229         https://bugs.webkit.org/show_bug.cgi?id=137796
230         rdar://problem/18547565
231
232         Reviewed by Tim Horton.
233         
234         CA can call our animation delegate after the RemoteLayerTreeHost has been
235         destroyed. CAAnimation retains its delegate, so it's safe for us to null out
236         the WKAnimationDelegate's pointer to the RemoteLayerTreeHost when tearing down
237         the RemoteLayerTreeHost.
238
239         * UIProcess/mac/RemoteLayerTreeHost.mm:
240         (WebKit::RemoteLayerTreeHost::~RemoteLayerTreeHost):
241         (WebKit::RemoteLayerTreeHost::animationDidEnd):
242         * WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
243         (-[WKAnimationDelegate invalidate]):
244         (-[WKAnimationDelegate animationDidStart:]):
245         (-[WKAnimationDelegate animationDidStop:finished:]):
246
247 2014-10-16  Tim Horton  <timothy_horton@apple.com>
248
249         Implement selection services menu for Legacy WebKit
250         https://bugs.webkit.org/show_bug.cgi?id=137582
251         <rdar://problem/18604241>
252
253         Reviewed by Brady Eidson.
254
255         * UIProcess/mac/WebContextMenuProxyMac.mm:
256         (-[WKSharingServicePickerDelegate sharingService:didShareItems:]):
257         Add a note that we should transition to using replaceSelectionWithAttributedString.
258
259         * WebProcess/WebPage/mac/WebPageMac.mm:
260         (WebKit::WebPage::handleSelectionServiceClick):
261         Allow editor services in editable-but-not-rich-text areas, just like in WebKit1.
262
263 2014-10-16  Tim Horton  <timothy_horton@apple.com>
264
265         Various crashes in ViewGestureControllerIOS when closing a tab while a swipe gesture is in progress
266         https://bugs.webkit.org/show_bug.cgi?id=137770
267         <rdar://problem/17916459>
268
269         Reviewed by Dan Bernstein.
270
271         When tearing down a WKWebView in the middle of a swipe gesture, a variety of
272         UI process crashes were observed. First, two uses of potentially deleted objects
273         (the WebBackForwardListItem and ViewGestureController), which were fixed by
274         extending the object's lifetime and checking for its liveness, respectively.
275         Second, a potential null-deref of DrawingArea if the timing of endSwipeGesture
276         vs. page teardown was such that DrawingArea was null but everything else was in line.
277         Lastly, another case of messaging a potentially deleted object (specifically,
278         the _UIViewControllerTransitionContext's animator) in a callback from CA, which
279         was fixed by nulling out the animator (and a few other properties) when tearing
280         down the ViewGestureController.
281
282         * UIProcess/ios/ViewGestureControllerIOS.mm:
283         (-[WKSwipeTransitionController invalidate]):
284         Clear the soon-to-be-invalid ViewGestureController pointer.
285
286         (WebKit::ViewGestureController::~ViewGestureController):
287         Call [WKSwipeTransitionController invalidate] upon destruction.
288         Clear our transition context's interactor and animator, and inform it that
289         the transition is not in flight. This avoids a crash when calling back
290         to the already-destroyed animator later.
291
292         (WebKit::ViewGestureController::beginSwipeGesture):
293         Keep a reference to the target WebBackForwardListItem; this avoids
294         it being deleted between here and the transition completion block firing.
295
296         Look up the ViewGestureController by pageID, just like we do in endSwipeGesture,
297         to avoid situations where the callback fires after the WKWebView/ViewGestureController
298         have gone away.
299
300         Hold on to our _UIViewControllerOneToOneTransitionContext, so that we can do the
301         aforementioned clearing upon deallocation.
302
303         (WebKit::ViewGestureController::endSwipeGesture):
304         Null check the DrawingArea. If it is null, instead of doing our normal delayed logic
305         for swipe snapshot teardown, just put things back together immediately.
306
307         (WebKit::ViewGestureController::removeSwipeSnapshot):
308         Clear m_swipeTransitionContext.
309
310 2014-10-16  Antti Koivisto  <antti@apple.com>
311
312         REGRESSION (r173356): Downloading a disk image appends ".txt" to it
313         https://bugs.webkit.org/show_bug.cgi?id=137493
314         <rdar://problem/18321947>
315
316         Reviewed by Alexey Proskuryakov.
317
318         * Shared/Downloads/ios/DownloadIOS.mm:
319         (WebKit::Download::startWithHandle):
320         * Shared/Downloads/mac/DownloadMac.mm:
321         (WebKit::Download::startWithHandle):
322
323             It appears that the synthesized NS/CFURLResponse fails to serialize the suggested filename correctly
324             unless it has been accessed first.
325
326 2014-10-15  Dan Bernstein  <mitz@apple.com>
327
328         [Cocoa] "Plug-in will handle load" error isn't declared in the modern API
329         https://bugs.webkit.org/show_bug.cgi?id=137747
330
331         Reviewed by Anders Carlsson.
332
333         * UIProcess/API/Cocoa/WKError.mm: Define _WKLegacyErrorDomain.
334         * UIProcess/API/Cocoa/WKErrorInternal.h: Changed to import WKErrorPrivate.h.
335         * UIProcess/API/Cocoa/WKErrorPrivate.h: Added. Declares _WKLegacyErrorDomain
336         and _WKLegacyErrorPlugInWillHandleLoad.
337         * WebKit2.xcodeproj/project.pbxproj: Added new private header.
338
339 2014-10-15  Chris Dumez  <cdumez@apple.com>
340
341         Use is<>() / downcast<>() for TransformOperation subclasses
342         https://bugs.webkit.org/show_bug.cgi?id=137731
343
344         Reviewed by Darin Adler.
345
346         Use is<>() / downcast<>() for TransformOperation subclasses and clean
347         up the surrounding code.
348
349         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
350         (IPC::ArgumentCoder<TransformOperations>::encode):
351
352 2014-10-15  Alexey Proskuryakov  <ap@apple.com>
353
354         [Mac] Allow some Kerberos related paths in sandbox
355         https://bugs.webkit.org/show_bug.cgi?id=137666
356         rdar://problem/17965010
357
358         Reviewed by Darin Adler.
359
360         * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
361         * WebProcess/com.apple.WebProcess.sb.in:
362
363 2014-10-15  Alexey Proskuryakov  <ap@apple.com>
364
365         [Mac] Allow plug-ins to read managed preferences
366         https://bugs.webkit.org/show_bug.cgi?id=137665
367         <rdar://problem/18255601>
368
369         Reviewed by Darin Adler.
370
371         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
372
373 2014-10-14  Joonghun Park  <jh718.park@samsung.com>
374
375         [WK2][EFL] Fix the problem that threads created by a DispatchQueueEfl are not destroyed
376         even after the DispatchQueueEfl has been destructed
377         https://bugs.webkit.org/show_bug.cgi?id=137195
378
379         Reviewed by Gyuyoung Kim.
380
381         Linux and Unix System's pthreads are created in joinable state by default.
382         If threads aren't destructed explicitly, it will be still live
383         until process which created the thread is dead.
384         Besides it may cause out of capacity range of thread creation in a process.
385         It is one of hidden defects.
386         This patch calls detachThread() to detach thread immediately after it is created.
387         So the thread can be destroyed as soon as the thread's ThreadContext::function()
388         returns.
389
390         * Platform/efl/DispatchQueueEfl.cpp:
391         (DispatchQueue::ThreadContext::start):
392
393 2014-10-14  Chris Dumez  <cdumez@apple.com>
394
395         Use is<>() / downcast<>() for PlatformCAAnimation subclasses
396         https://bugs.webkit.org/show_bug.cgi?id=137722
397
398         Reviewed by Simon Fraser.
399
400         Use is<>() / downcast<>() for PlatformCAAnimation subclasses and clean
401         up the surrounding code.
402
403         * WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
404         * WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
405         (WebKit::PlatformCAAnimationRemote::copy):
406         (WebKit::PlatformCAAnimationRemote::copyTimingFunctionFrom):
407         (WebKit::PlatformCAAnimationRemote::copyFromValueFrom):
408         (WebKit::PlatformCAAnimationRemote::copyToValueFrom):
409         (WebKit::PlatformCAAnimationRemote::copyValuesFrom):
410         (WebKit::PlatformCAAnimationRemote::copyKeyTimesFrom):
411         (WebKit::PlatformCAAnimationRemote::copyTimingFunctionsFrom):
412         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
413         (WebKit::PlatformCALayerRemote::addAnimationForKey):
414         (WebKit::PlatformCALayerRemote::animationStarted):
415         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
416         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
417         (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
418
419 2014-10-14  Alexey Proskuryakov  <ap@apple.com>
420
421         REGRESSION (r165356): Issues with Japanese text input
422         https://bugs.webkit.org/show_bug.cgi?id=137719
423         rdar://problem/18431952
424         rdar://problem/18483741
425
426         Reviewed by Darin Adler.
427
428         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didChangeSelection):
429         In sync code path, ensure consistent message delivery order by adding
430         a DispatchMessageEvenWhenWaitingForSyncReply flag. This way, delayed
431         EditorStateChanged messages won't confuse UI process.
432
433 2014-10-14  Anders Carlsson  <andersca@apple.com>
434
435         Hide the find indicator when starting a swipe
436         https://bugs.webkit.org/show_bug.cgi?id=137711
437
438         Reviewed by Tim Horton.
439
440         * UIProcess/mac/PageClientImpl.mm:
441         (WebKit::PageClientImpl::navigationGestureDidBegin):
442
443 2014-10-14  Chris Dumez  <cdumez@apple.com>
444
445         Use is<>() / downcast<>() for RenderImage
446         https://bugs.webkit.org/show_bug.cgi?id=137683
447
448         Reviewed by Mihnea Ovidenie.
449
450         Use is<>() / downcast<>() for RenderImage.
451
452         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
453         (WebKit::cachedImage):
454         * WebProcess/WebPage/ios/WebPageIOS.mm:
455         (WebKit::WebPage::performActionOnElement):
456
457 2014-10-13  Carlos Garcia Campos  <cgarcia@igalia.com>
458
459         [GTK][CMake] Non-ninja build is broken since r174422
460         https://bugs.webkit.org/show_bug.cgi?id=137656
461
462         Reviewed by Philippe Normand.
463
464         Make WebKit2-forwarding-headers depend only on static,
465         non-generated sources.
466
467         * CMakeLists.txt:
468         * PlatformGTK.cmake:
469
470 2014-10-13  Chris Dumez  <cdumez@apple.com>
471
472         Use is<>() / downcast<>() for PlatformCALayer subclasses
473         https://bugs.webkit.org/show_bug.cgi?id=137661
474
475         Reviewed by Simon Fraser.
476
477         Use is<>() / downcast<>() for PlatformCALayer subclasses and clean up 
478         the surrounding code.
479
480         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
481         (WebKit::PlatformCALayerRemote::~PlatformCALayerRemote):
482         (WebKit::PlatformCALayerRemote::updateClonedLayerProperties):
483         (WebKit::PlatformCALayerRemote::recursiveBuildTransaction):
484         (WebKit::PlatformCALayerRemote::setSublayers):
485         (WebKit::PlatformCALayerRemote::appendSublayer):
486         (WebKit::PlatformCALayerRemote::insertSublayer):
487         (WebKit::PlatformCALayerRemote::replaceSublayer):
488         (WebKit::PlatformCALayerRemote::adoptSublayers):
489         (WebKit::PlatformCALayerRemote::setMask):
490         (WebKit::PlatformCALayerRemote::copyFiltersFrom):
491         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
492         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
493         * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
494         (WebKit::RemoteLayerTreeContext::buildTransaction):
495
496 2014-10-13  Chris Dumez  <cdumez@apple.com>
497
498         Use is<>() / downcast<>() for Filter / FilterOperation subclasses
499         https://bugs.webkit.org/show_bug.cgi?id=137644
500
501         Reviewed by Darin Adler.
502
503         Use is<>() / downcast<>() for Filter / FilterOperation subclasses.
504
505         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
506         (IPC::ArgumentCoder<WebCore::FilterOperations>::encode):
507         * Shared/WebCoreArgumentCoders.cpp:
508         (IPC::ArgumentCoder<FilterOperation>::encode):
509         * Shared/mac/RemoteLayerTreeTransaction.mm:
510         (WebKit::RemoteLayerTreeTextStream::operator<<):
511
512 2014-10-12  Sergio Villar Senin  <svillar@igalia.com>
513
514         [SOUP] [WK2] WebProcess and NetworkProcess initialization clears cache contents
515         https://bugs.webkit.org/show_bug.cgi?id=137489
516
517         Reviewed by Carlos Garcia Campos.
518
519         Temporarily set the SoupCache's maximum size to a huge value
520         before calling soup_cache_load() so that the cache is not shrinked
521         to the default value.
522
523         * NetworkProcess/soup/NetworkProcessSoup.cpp:
524         (WebKit::NetworkProcess::platformInitializeNetworkProcess):
525         * WebProcess/soup/WebProcessSoup.cpp:
526         (WebKit::WebProcess::platformInitializeWebProcess):
527
528 2014-10-12  Ryuan Choi  <ryuan.choi@gmail.com>
529
530         [EFL] Introduce EWebKit_Extension
531         https://bugs.webkit.org/show_bug.cgi?id=134921
532
533         Reviewed by Gyuyoung Kim.
534
535         EWebKit2 does not provide the functionality to extend WebProcess.
536         Although there is ewk_context_new_with_injected_bundle_path() in ewebkit2 APIs,
537         application developers can not make bundle object without touching WK APIs
538         which ewebkit2 does not expose.
539
540         This patch introduces EWebKit_Extension, basic structure for the extension of WebProcess.
541
542         * PlatformEfl.cmake:
543         Added files for the EWebKit_Extension and install them properly.
544         * UIProcess/API/efl/ewk_context.cpp:
545         (EwkContext::EwkContext):
546         (bundlePathForExtension):
547         (EwkContext::create):
548         (EwkContext::getInjectedBundleInitializationUserData):
549         (EwkContext::setMessageFromInjectedBundleCallback):
550         (ewk_context_new_with_extensions_path):
551         Deleted because ewebkit2 does not have a way to make injected bundle.
552         Instead, Ewk_Extension will cover the same functionalities.
553         (ewk_context_new_with_injected_bundle_path): Deleted.
554         * UIProcess/API/efl/ewk_context.h:
555         * UIProcess/API/efl/ewk_context_private.h:
556         (EwkContext::extensionsPath):
557         * UIProcess/API/efl/tests/InjectedBundle/injected_bundle_sample.cpp: Removed.
558         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
559         (EWK2UnitTest::EWK2UnitTestEnvironment::extensionSample):
560         (EWK2UnitTest::EWK2UnitTestEnvironment::injectedBundleSample): Renamed injectedBundleSample to extensionSample.
561         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
562         * UIProcess/API/efl/tests/extensions/extension_sample.cpp: Copied from Source/WebKit2/UIProcess/API/efl/tests/InjectedBundle/injected_bundle_sample.cpp.
563         * UIProcess/API/efl/tests/test_ewk2_context.cpp: Renamed ewk_context_new_with_injected_bundle_path to ewk_context_new_with_extensions_path.
564         (TEST_F):
565         * WebProcess/InjectedBundle/API/efl/EWebKit_Extension.h: Added.
566         * WebProcess/InjectedBundle/API/efl/ewk_extension.cpp: Added.
567         (EwkExtension::append):
568         (EwkExtension::remove):
569         (ewk_extension_client_add):
570         (ewk_extension_client_del):
571         * WebProcess/InjectedBundle/API/efl/ewk_extension.h: Added.
572         * WebProcess/InjectedBundle/API/efl/ewk_extension_private.h: Added.
573         (EwkExtension::EwkExtension):
574         (EwkExtension::~EwkExtension):
575         * WebProcess/efl/ExtensionManagerEfl.cpp: Added.
576         (WebKit::ExtensionManagerEfl::shared):
577         (WebKit::ExtensionManagerEfl::ExtensionManagerEfl):
578         (WebKit::ExtensionManagerEfl::initialize):
579         * WebProcess/efl/ExtensionManagerEfl.h: Added.
580         * WebProcess/efl/WebInjectedBundleMainEfl.cpp: Added.
581         (WKBundleInitialize):
582         * efl/ewebkit2-extension.pc.in: Added.
583
584 2014-10-10  Chris Dumez  <cdumez@apple.com>
585
586         Use is<>() / downcast<>() for Image subclasses
587         https://bugs.webkit.org/show_bug.cgi?id=137625
588
589         Reviewed by Andreas Kling.
590
591         Use is<>() / downcast<>() for Image subclasses.
592
593         * WebProcess/Plugins/PluginView.cpp:
594         (WebKit::PluginView::pluginSnapshotTimerFired):
595
596 2014-10-10  Chris Dumez  <cdumez@apple.com>
597
598         Use is<>() / downcast<>() for GraphicsLayer subclasses
599         https://bugs.webkit.org/show_bug.cgi?id=137595
600
601         Reviewed by Darin Adler.
602
603         Use is<>() / downcast<>() for GraphicsLayer subclasses and clean up the
604         surrounding code.
605
606         * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
607         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
608         (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
609         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
610         (WebKit::TiledCoreAnimationDrawingArea::layerForTransientZoom):
611         (WebKit::TiledCoreAnimationDrawingArea::shadowLayerForTransientZoom):
612
613 2014-10-10  Pascal Jacquemart  <p.jacquemart@samsung.com>
614
615         Fix debug build on EFL after r174584
616         https://bugs.webkit.org/show_bug.cgi?id=137613
617
618         Reviewed by Christophe Dumez.
619
620         * UIProcess/efl/RequestManagerClientEfl.cpp:
621         (WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
622
623 2014-10-10  Chris Dumez  <cdumez@apple.com>
624
625         Use is<>() / downcast<>() for RenderBoxModelObject
626         https://bugs.webkit.org/show_bug.cgi?id=137587
627
628         Reviewed by Mihnea Ovidenie.
629
630         Use is<>() / downcast<>() for RenderBoxModelObject and clean up the
631         surrounding code.
632
633         * WebProcess/Plugins/PluginView.cpp:
634         (WebKit::PluginView::renderer):
635         (WebKit::PluginView::invalidateRect):
636
637 2014-10-10  Pascal Jacquemart  <p.jacquemart@samsung.com>
638
639         [SOUP] Remove custom URI schemes implementation
640         https://bugs.webkit.org/show_bug.cgi?id=128169
641
642         Reviewed by Carlos Garcia Campos.
643
644         * Shared/WebProcessCreationParameters.cpp:
645         (WebKit::WebProcessCreationParameters::encode):
646         (WebKit::WebProcessCreationParameters::decode):
647         * Shared/WebProcessCreationParameters.h:
648         * UIProcess/API/C/soup/WKAPICastSoup.h:
649         * UIProcess/API/C/soup/WKContextSoup.cpp: Removed.
650         * UIProcess/API/C/soup/WKSoupRequestManager.cpp: Removed.
651         * UIProcess/WebContext.cpp:
652         (WebKit::WebContext::WebContext):
653         * UIProcess/WebPageProxy.cpp:
654         (WebKit::WebPageProxy::didReceiveURIRequest): Deleted.
655         * UIProcess/WebPageProxy.h:
656         * UIProcess/WebPageProxy.messages.in:
657         * UIProcess/soup/WebSoupRequestManagerClient.cpp: Removed.
658         * UIProcess/soup/WebSoupRequestManagerProxy.cpp: Removed.
659         * UIProcess/soup/WebSoupRequestManagerProxy.messages.in: Removed.
660         * WebProcess/WebProcess.cpp:
661         (WebKit::WebProcess::WebProcess):
662         * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
663         (webkitSoupRequestGenericSendAsync):
664         (webkitSoupRequestGenericSendFinish):
665         * WebProcess/soup/WebProcessSoup.cpp:
666         (WebKit::WebProcess::platformInitializeWebProcess):
667         * WebProcess/soup/WebSoupRequestManager.cpp: Removed.
668         * WebProcess/soup/WebSoupRequestManager.messages.in: Removed.
669
670 2014-10-09  Dean Jackson  <dino@apple.com>
671
672         Remove ENABLE_CSS3_CONDITIONAL_RULES
673         https://bugs.webkit.org/show_bug.cgi?id=137571
674
675         Reviewed by Simon Fraser.
676
677         * Configurations/FeatureDefines.xcconfig:
678
679 2014-10-09  Tim Horton  <timothy_horton@apple.com>
680
681         Move ServicesOverlayController to WebCore
682         https://bugs.webkit.org/show_bug.cgi?id=137416
683         <rdar://problem/18546283>
684
685         Reviewed by Anders Carlsson.
686
687         * Platform/Logging.h:
688         Move Services logging channel to WebCore.
689
690         * WebKit2.xcodeproj/project.pbxproj:
691         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
692         (WebKit::WebChromeClient::handleTelephoneNumberClick):
693         (WebKit::WebChromeClient::handleSelectionServiceClick):
694         (WebKit::WebChromeClient::hasRelevantSelectionServices):
695         Implement services-related ChromeClient callbacks.
696         Clicks are forwarded to WebPageMac where they do what they used to;
697         hasRelevantSelectionServices is implemented as it was when it lived
698         inside ServicesOverlayController.
699
700         * WebProcess/WebCoreSupport/WebChromeClient.h:
701         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
702         (WebKit::WebEditorClient::selectedTelephoneNumberRangesChanged): Deleted.
703         (WebKit::WebEditorClient::selectionRectsDidChange): Deleted.
704         * WebProcess/WebCoreSupport/WebEditorClient.h:
705         Remove WebEditorClient overrides for now-removed functions.
706
707         * WebProcess/WebPage/WebPage.cpp:
708         (WebKit::WebPage::WebPage):
709         (WebKit::WebPage::updatePreferences):
710         Forward serviceControlsEnabled setting to WebCore.
711
712         (WebKit::WebPage::servicesOverlayController): Deleted.
713         * WebProcess/WebPage/WebPage.h:
714         (WebKit::WebPage::serviceControlsEnabled): Deleted.
715
716 2014-10-09  Andy Estes  <aestes@apple.com>
717
718         [iOS] Crash in CFURLDownloadClient.didFail if the download has a null resumeData
719         https://bugs.webkit.org/show_bug.cgi?id=137551
720
721         Reviewed by David Kilzer.
722
723         CFDataGetBytePtr() and CFDataGetLength() crash if passed a null value.
724
725         * Shared/Downloads/ios/DownloadIOS.mm:
726         (WebKit::setUpDownloadClient):
727
728 2014-10-09  Carlos Garcia Campos  <cgarcia@igalia.com>
729
730         [X11] Plugin process crashes in NetscapePlugin::platformPostInitialize()
731         https://bugs.webkit.org/show_bug.cgi?id=137426
732
733         Reviewed by Darin Adler.
734
735         For some reason flash crashes when NPP_GetValue is called with
736         NPPVpluginCancelSrcStream, but only in windowed mode. Not calling
737         NPP_GetValue and unconditionally loading the source URL in the
738         browser fixes the crash and plugins work normally. We can handle
739         this particular case with a new quirk.
740
741         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
742         (WebKit::NetscapePluginModule::determineQuirks): Add
743         DoNotCancelSrcStreamInWindowedMode quirk if it's flash plugin.
744         * Shared/Plugins/PluginQuirks.h: Add
745         DoNotCancelSrcStreamInWindowedMode quirk.
746         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
747         (WebKit::NetscapePlugin::shouldLoadSrcURL): Return early if plugin
748         is windowed and DoNotCancelSrcStreamInWindowedMode quirk is present.
749
750 2014-10-09  Chris Dumez  <cdumez@apple.com>
751
752         Use is<>() / downcast<>() for Widget subclasses
753         https://bugs.webkit.org/show_bug.cgi?id=137549
754
755         Reviewed by Darin Adler.
756
757         Use is<>() / downcast<>() for Widget subclasses and clean up the
758         surrounding code.
759
760         * Shared/WebRenderObject.cpp:
761         (WebKit::WebRenderObject::WebRenderObject):
762
763 2014-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>
764
765         [GTK] Use the PageLoadState observer also to monitor title and estimated load progress
766         https://bugs.webkit.org/show_bug.cgi?id=136997
767
768         Reviewed by Gustavo Noronha Silva.
769
770         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
771         (attachLoaderClientToView): Remove implementation of
772         didReceiveTitleForFrame, didStartProgress, didChangeProgress and
773         didFinishProgress.
774         (didReceiveTitleForFrame): Deleted.
775         (didChangeProgress): Deleted.
776         * UIProcess/API/gtk/WebKitWebView.cpp:
777         (webkit_web_view_get_estimated_load_progress): Return the value
778         directly from the PageLoadState object, since we don't need to
779         cache the value anymore.
780         (webkitWebViewSetTitle): Deleted.
781         (webkitWebViewSetEstimatedLoadProgress): Deleted.
782         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
783
784 2014-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>
785
786         Race condition with WebKitWebView:is-loading after starting page load
787         https://bugs.webkit.org/show_bug.cgi?id=136692
788
789         Reviewed by Gustavo Noronha Silva.
790
791         Use PageLoadState::Observer to update both is-loading and uri
792         properties, instead of manually update them. This ensures that our
793         web view is always in sync with the WebPageProxy so that
794         webkit_web_view_is_loading() returns true right after requesting
795         any load. We still need to manually set the is-loading property
796         only in the case where we delay the emission of the load-changed
797         signals when waiting for the main resource. The bahaviour is a bit
798         different but still consistent with what our API documentation says.
799
800         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
801         (attachLoaderClientToView): Remove
802         didSameDocumentNavigationForFrame implementation, since we are
803         already notified about the URL change by the PageLoadState::Observer.
804         (didSameDocumentNavigationForFrame): Deleted.
805         * UIProcess/API/gtk/WebKitWebView.cpp:
806         (webkitWebViewSetIsLoading): No longer update the URI when
807         changing the is-loading property.
808         (webkitWebViewConstructed): Crate a PageLoadStateObserver and add
809         it to the PageLoadState.
810         (webkitWebViewDispose): Remove the PageLoadStateObserver from the PageLoadState.
811         (webkitWebViewEmitLoadChanged): Add isDelayedEvent parameter to
812         update the is-loading property accordingly when emitting the
813         delayed events.
814         (webkitWebViewEmitDelayedLoadEvents): Pass true as isDelayedEvent
815         parameter of webkitWebViewEmitLoadChanged().
816         (webkitWebViewLoadChanged): Pass false as isDelayedEvent parameter
817         of webkitWebViewEmitLoadChanged().
818         (webkitWebViewLoadFailed):
819         (webkitWebViewLoadFailedWithTLSErrors):
820         (webkitWebViewUpdateURI): Deleted.
821         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
822
823 2014-10-08  Christophe Dumez  <cdumez@apple.com>
824
825         Use is<>() / downcast<>() for RenderBlock objects
826         https://bugs.webkit.org/show_bug.cgi?id=137512
827
828         Reviewed by Darin Adler.
829
830         Use is<>() / downcast<>() for RenderBlock objects and clean up the 
831         surrounding code.
832
833         * WebProcess/WebPage/ios/WebPageIOS.mm:
834         (WebKit::WebPage::rangeForWebSelectionAtPosition):
835         (WebKit::WebPage::contractedRangeFromHandle):
836
837 2014-10-08  Ada Chan  <adachan@apple.com>
838
839         Implement WKPageIsPlayingAudio().
840         https://bugs.webkit.org/show_bug.cgi?id=137048
841
842         Reviewed by Darin Adler.
843
844         * UIProcess/API/C/WKPage.cpp:
845         (WKPageIsPlayingAudio):
846
847 2014-10-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
848
849         [EFL][CoordinatedGraphics] All EFL layout tests are broken since r174231
850         https://bugs.webkit.org/show_bug.cgi?id=137443
851
852         Reviewed by Zoltan Herczeg.
853
854         EFL layout test and MiniBrowser have broken since r174231. r174231 was to move PageOverlay implementation
855         from WebKit2 to WebCore with lazy initializing of PageOverlayController. It caused all EFL layout tests
856         crash and build break. To restore EFL layout test, this patch sets viewOverlayRootLayer through
857         attachViewOverlayGraphicsLayer() as mac port's one in r174231.
858
859         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:
860         (WebKit::CoordinatedDrawingArea::attachViewOverlayGraphicsLayer):
861         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
862         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
863         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
864         (WebKit::CoordinatedLayerTreeHost::updateRootLayers):
865         (WebKit::CoordinatedLayerTreeHost::setViewOverlayRootLayer):
866         (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
867         (WebKit::CoordinatedLayerTreeHost::didFlushRootLayer):
868         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
869
870 2014-10-08  Commit Queue  <commit-queue@webkit.org>
871
872         Unreviewed, rolling out r174335.
873         https://bugs.webkit.org/show_bug.cgi?id=137515
874
875         It broke EFL layout test totally (Requested by gyuyoung on
876         #webkit).
877
878         Reverted changeset:
879
880         "[EFL] Introduce EWebKit_Extension"
881         https://bugs.webkit.org/show_bug.cgi?id=134921
882         http://trac.webkit.org/changeset/174335
883
884 2014-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>
885
886         [GTK] Make forwarding headers generation depend on source code
887         https://bugs.webkit.org/show_bug.cgi?id=137394
888
889         Reviewed by Philippe Normand.
890
891         Only run generate-forwarding-headers.pl when source code changes
892         and use a different target for the symlinks.
893
894         * PlatformGTK.cmake:
895
896 2014-10-07  Pascal Jacquemart  <p.jacquemart@samsung.com>
897
898         [EFL] Enable custom URI schemes with CustomProtocols
899         https://bugs.webkit.org/show_bug.cgi?id=128177
900
901         Reviewed by Gyuyoung Kim.
902
903         Fixing ewk_context_url_scheme_register() ewebkit2 API
904         rely on r162449 - CustomProtocols implementation from Carlos Garcia Campos
905
906         * PlatformEfl.cmake:
907         * UIProcess/API/efl/ewk_context.h:
908         * UIProcess/API/efl/ewk_url_scheme_request.cpp:
909         (EwkUrlSchemeRequest::EwkUrlSchemeRequest):
910         (EwkUrlSchemeRequest::finish):
911         * UIProcess/API/efl/ewk_url_scheme_request_private.h:
912         (EwkUrlSchemeRequest::create):
913         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
914         (TEST_F):
915         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp:
916         * UIProcess/efl/RequestManagerClientEfl.cpp:
917         (WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
918         (WebKit::RequestManagerClientEfl::startLoading):
919         (WebKit::RequestManagerClientEfl::stopLoading):
920         (WebKit::RequestManagerClientEfl::registerURLSchemeHandler):
921         (WebKit::EwkUrlSchemeHandler::EwkUrlSchemeHandler): Deleted.
922         (WebKit::RequestManagerClientEfl::didReceiveURIRequest): Deleted.
923         * UIProcess/efl/RequestManagerClientEfl.h:
924         * UIProcess/efl/WebContextEfl.cpp:
925         (WebKit::WebContext::platformInitializeWebProcess):
926         * UIProcess/soup/WebContextSoup.cpp:
927         (WebKit::WebContext::platformInitializeNetworkProcess):
928
929 2014-10-07  Sungmann Cho  <sungmann.cho@navercorp.com>
930
931         Remove WKPageCreateSnapshotOfVisibleContent API.
932         https://bugs.webkit.org/show_bug.cgi?id=66979
933
934         Reviewed by Darin Adler.
935
936         After the landing of the first patch of webkit.org/b/66979,
937         WKPageCreateSnapshotOfVisibleContent API has been neglected for years.
938         Currently, this is not used anywhere and does not break the nightlies.
939         So we can remove this.
940
941         * UIProcess/API/C/WKPage.cpp:
942         (WKPageCreateSnapshotOfVisibleContent): Deleted.
943         * UIProcess/API/C/WKPagePrivate.h:
944
945 2014-10-07  Sungmann Cho  <sungmann.cho@navercorp.com>
946
947         Remove WKPageSetInvalidMessageFunction.
948         https://bugs.webkit.org/show_bug.cgi?id=137509
949
950         Reviewed by Benjamin Poulain.
951
952         According to the FIXME comment in WKPageSetInvalidMessageFunction,
953         we can remove this function when doing so won't break the nightlies.
954         Currently, this is not used anywhere and does not break the nightlies.
955         So we can remove this.
956
957         * UIProcess/API/C/WKPage.cpp:
958         (WKPageSetInvalidMessageFunction): Deleted.
959         * UIProcess/API/C/WKPagePrivate.h:
960
961 2014-10-07  Christophe Dumez  <cdumez@apple.com>
962
963         [WK2] Use is<>() / downcast<>() for DrawingArea subclasses
964         https://bugs.webkit.org/show_bug.cgi?id=137497
965
966         Reviewed by Benjamin Poulain.
967
968         Use is<>() / downcast<>() for DrawingArea subclasses.
969
970         * WebProcess/WebPage/DrawingArea.h:
971         * WebProcess/WebPage/WebPage.cpp:
972         (WebKit::WebPage::didCommitLoad):
973         * WebProcess/WebPage/ios/WebPageIOS.mm:
974         (WebKit::WebPage::synchronizeDynamicViewportUpdate):
975         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
976         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
977
978 2014-10-07  Simon Fraser  <simon.fraser@apple.com>
979
980         Roll-over Changelogs.
981
982         * ChangeLog-2014-10-07: Copied from Source/WebKit2/ChangeLog.
983
984 == Rolled over to ChangeLog-2014-10-07 ==