[Mac][WebKit2] Move action menu code into its own file
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2014-10-24  Tim Horton  <timothy_horton@apple.com>
2
3         [Mac][WebKit2] Move action menu code into its own file
4         https://bugs.webkit.org/show_bug.cgi?id=138034
5         <rdar://problem/18758758>
6
7         Reviewed by Dan Bernstein.
8
9         * UIProcess/API/mac/WKView.mm:
10         (-[WKView initWithFrame:context:configuration:webView:]):
11         Make a WKActionMenuController if needed.
12
13         (-[WKView prepareForMenu:withEvent:]):
14         (-[WKView willOpenMenu:withEvent:]):
15         (-[WKView didCloseMenu:withEvent:]):
16         (-[WKView _didPerformActionMenuHitTest:]):
17         Forward these to WKActionMenuController.
18
19         (-[WKView _openURLFromActionMenu:]): Deleted.
20         (-[WKView _addToReadingListFromActionMenu:]): Deleted.
21         (-[WKView _quickLookURLFromActionMenu:]): Deleted.
22         (-[WKView _createActionMenuItemForTag:]): Deleted.
23         (webKitBundleImageNamed): Deleted.
24         (-[WKView _copyImage:]): Deleted.
25         (-[WKView _saveImageToDownloads:]): Deleted.
26         (temporaryPhotosDirectoryPath): Deleted.
27         (pathToPhotoOnDisk): Deleted.
28         (-[WKView _addImageToPhotos:]): Deleted.
29         (-[WKView _defaultMenuItemsForImage]): Deleted.
30         (-[WKView _defaultMenuItems]): Deleted.
31         (-[WKView _updateActionMenu]): Deleted.
32         Moved to WKActionMenuController.
33
34         * UIProcess/mac/WKActionMenuController.h: Added.
35         * UIProcess/mac/WKActionMenuController.mm: Added.
36         (-[WKActionMenuController initWithPage:view:]):
37         (-[WKActionMenuController prepareForMenu:withEvent:]):
38         (-[WKActionMenuController willOpenMenu:withEvent:]):
39         (-[WKActionMenuController didCloseMenu:withEvent:]):
40         (-[WKActionMenuController didPerformActionMenuHitTest:]):
41         (-[WKActionMenuController _defaultMenuItemsForLink]):
42         (-[WKActionMenuController _openURLFromActionMenu:]):
43         (-[WKActionMenuController _addToReadingListFromActionMenu:]):
44         (-[WKActionMenuController _quickLookURLFromActionMenu:]):
45         (-[WKActionMenuController _defaultMenuItemsForImage]):
46         (-[WKActionMenuController _copyImage:]):
47         (-[WKActionMenuController _saveImageToDownloads:]):
48         (temporaryPhotosDirectoryPath):
49         (pathToPhotoOnDisk):
50         (-[WKActionMenuController _addImageToPhotos:]):
51         (-[WKActionMenuController _createActionMenuItemForTag:]):
52         (webKitBundleImageNamed):
53         (imageForResource:name::if):
54         (-[WKActionMenuController _updateActionMenuItems]):
55         Moved from WKView.
56
57         * WebKit2.xcodeproj/project.pbxproj:
58
59 2014-10-24  Marcos Chavarría Teijeiro  <chavarria1991@gmail.com>
60
61         [GTK] Implement is_selected method on WebKitHitTestResult
62         https://bugs.webkit.org/show_bug.cgi?id=137110
63
64         Reviewed by Tim Horton.
65
66         Expose CONTEXT_SELECTION for WebKitHitTestResult.
67
68         * Shared/WebHitTestResult.cpp: Add is_selected field and getter for this field.
69         (WebKit::WebHitTestResult::Data::Data):
70         (WebKit::WebHitTestResult::Data::encode):
71         (WebKit::WebHitTestResult::Data::decode):
72         * Shared/WebHitTestResult.h:
73         (WebKit::WebHitTestResult::isSelected):
74         * UIProcess/API/gtk/WebKitHitTestResult.cpp: Add WEBKIT_HIT_TEST_RESULT_CONTEXT_SELECTION context and method to check it.
75         (webkitHitTestResultCreate):
76         (webkitHitTestResultCompare):
77         (webkit_hit_test_result_context_is_selection):
78         * UIProcess/API/gtk/WebKitHitTestResult.h:
79         * UIProcess/API/gtk/WebKitWebView.cpp: Modify context-menu callback to set the new context option.
80         (webkitWebViewPopulateContextMenu):
81         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add documentation about new function.
82
83 2014-10-23  Carlos Garcia Campos  <cgarcia@igalia.com>
84
85         [GTK][Cairo] Remove GTK dependency of WidgetBackingStoreGtkX11
86         https://bugs.webkit.org/show_bug.cgi?id=138004
87
88         Reviewed by Gustavo Noronha Silva.
89
90         * UIProcess/BackingStore.h: Rename m_backingStore as m_backend,
91         since it's a bit confusing that a BackingStore class has a
92         m_backingStore member and WidgetBackingStore has been renamed as
93         BackingStoreBackendCairo.
94         * UIProcess/cairo/BackingStoreCairo.cpp:
95         (WebKit::BackingStore::createBackend): Helper function to create
96         the BackingStore backend depending on the platform.
97         (WebKit::BackingStore::paint): Use m_backend instead of m_backingStore.
98         (WebKit::BackingStore::incorporateUpdate): Ditto.
99         (WebKit::BackingStore::scroll): Ditto.
100         (WebKit::createBackingStoreForGTK): Deleted.
101
102 2014-10-23  Benjamin Poulain  <bpoulain@apple.com>
103
104         Fix a bad find-and-replace in r175153
105
106         Looks like I messed up the commit on landing.
107
108         * UIProcess/WebPageProxy.cpp:
109         (WebKit::WebPageProxy::WebPageProxy):
110         (WebKit::WebPageProxy::didCommitLoadForFrame):
111
112 2014-10-23  Benjamin Poulain  <bpoulain@apple.com>
113
114         [iOS WK2] If a page has the exact same VisibleContentRect as the page before, its VisibleContentRectUpdate can be ignored
115         https://bugs.webkit.org/show_bug.cgi?id=138031
116         rdar://problem/18739335
117
118         Reviewed by Simon Fraser.
119
120         Since any VisibleContentRectUpdate is costly for the WebProcess, we avoid sending updates
121         if none of the important parameters have changed (scale and geometry).
122
123         One unintended side effect is that the update of a page can be blocked if the parameters
124         of the previous page were identical.
125
126         What happen is this:
127         1) Page [A] sends its content rect update as needed. WebPageProxy saves the last update
128            in m_lastVisibleContentRectUpdate and use that value to avoid useless updates.
129         2) Page [B] load after page [A] and have the exact VisibleContentRect. When receiving the first
130            layer tree commit after didCommitLoadForFrame, WKWebView sends its VisibleContentRect
131            to WebPageProxy to synchronize the state of the WebProcess with what is on screen.
132         3) Since the two VisibleContentRect update has the same value as the ones of page [A], WebPageProxy
133            discards the update. The WebProcess has its initialization viewport and is not udpated until
134            a major parameter changes (scale or position).
135
136         In rdar://problem/18739335, the problem is the similar but with a different failure point:
137         1) Everything above happened already.
138         2) The layer tree transaction has a scrolling request. This is processed by WKWebView.
139         3) Since the scrolling position is invalid, the request is ignored and we send the last
140            VisibleContentRect to the WebProcess with WebPageProxy::resendLastVisibleContentRects().
141         4) Since the VisibleContentRect was never updated after didCommitLoadForFrame, the one we send
142            is for the previous page, which the web process correctly ignores.
143
144         This patch solves the problem by nuking the cached m_lastVisibleContentRectUpdate before
145         any valid VisibleContentRectUpdate for a new page.
146
147         * UIProcess/WebPageProxy.cpp:
148         (WebKit::WebPageProxy::WebPageProxy):
149         (WebKit::WebPageProxy::didCommitLoadForFrame):
150         * UIProcess/WebPageProxy.h:
151         * UIProcess/ios/WebPageProxyIOS.mm:
152         (WebKit::WebPageProxy::didCommitLayerTree):
153
154 2014-10-23  Joseph Pecoraro  <pecoraro@apple.com>
155
156         Web Inspector: Provide a way to have alternate inspector agents
157         https://bugs.webkit.org/show_bug.cgi?id=137901
158
159         Reviewed by Brian Burg.
160
161         * Configurations/FeatureDefines.xcconfig:
162
163 2014-10-23  Tim Horton  <timothy_horton@apple.com>
164
165         Add some SPI headers for NSExtension and NSSharingService{Picker}
166         https://bugs.webkit.org/show_bug.cgi?id=138027
167
168         Reviewed by Anders Carlsson.
169
170         * UIProcess/API/mac/WKView.mm:
171         * UIProcess/mac/ServicesController.mm:
172         * UIProcess/mac/WebContextMenuProxyMac.mm:
173         Replace redefinitions with SPI header #imports.
174
175 2014-10-23  Benjamin Poulain  <bpoulain@apple.com>
176
177         [iOS WK2] Make sure any dynamic viewport update schedules a layer tree commit
178         https://bugs.webkit.org/show_bug.cgi?id=138021
179
180         Reviewed by Simon Fraser.
181
182         * WebProcess/WebPage/ios/WebPageIOS.mm:
183         (WebKit::WebPage::dynamicViewportSizeUpdate):
184         Sometimes, the clients can do a dynamic viewport update but only change the minimum
185         layout size (see rdar://problem/18755250).
186
187         When that happens, it is possible to do the full state update without ever scheduling
188         a layer tree commit. For example, if the new minimum layout height is only a few pixels
189         smaller than the old value and the layout of the page is equal or larger than the old value,
190         the layout is done without any side effect to the content (assuming a viewport configuration
191         based on width).
192
193         The contract with the client is that the next layer tree commit after a dynamic viewport update
194         carries all the valid parameters for the new viewport size. Since the new layout never scheduled
195         a layer tree commit, the UIProcess is just waiting for one, discarding all input.
196
197         This patch solves the issue by explicitely scheduling a layer flush after updating all the layout
198         and view parameters to their final values. In most cases, this makes no difference since a layer
199         tree commit was already scheduled. In the rare cases where nothing was scheduled, scheduling
200         the layer tree commit ensure we unlock the UIProcess.
201
202 2014-10-23  Ryosuke Niwa  <rniwa@webkit.org>
203
204         WebContent crash in WebKit::WebPage::expandedRangeFromHandle
205         https://bugs.webkit.org/show_bug.cgi?id=138023
206
207         Reviewed by Enrica Casucci.
208
209         The crashes are caused by rangeForBlockAtPoint returning a null Range.
210         Exit early or continue if a range is null in various places.
211
212         * WebProcess/WebPage/ios/WebPageIOS.mm:
213         (WebKit::WebPage::expandedRangeFromHandle): Continue looking for another point if the range returned by
214         rangeForBlockAtPoint is null.
215         (WebKit::WebPage::contractedRangeFromHandle): Ditto.
216         (WebKit::WebPage::computeExpandAndShrinkThresholdsForHandle): Removed the FIXME now that Enrica has
217         verified that this early exit added in r173788 is correct.
218
219 2014-10-23  Joseph Pecoraro  <pecoraro@apple.com>
220
221         [iOS] iPhone unselecting items in <select multiple> shows incorrect values selected
222         https://bugs.webkit.org/show_bug.cgi?id=137989
223
224         Reviewed by Alexey Proskuryakov.
225
226         * UIProcess/ios/forms/WKFormSelectPicker.mm:
227         (-[WKMultipleSelectPicker pickerView:row:column:checked:]):
228         The second argument is "allowsMultipleSelection" and should only be set
229         when we are making a selection in a <select multiple>.
230
231 2014-10-23  Tim Horton  <timothy_horton@apple.com>
232
233         Assertion failures in ImageKit soft linking
234         https://bugs.webkit.org/show_bug.cgi?id=138009
235
236         Reviewed by Anders Carlsson.
237
238         * UIProcess/API/mac/WKView.mm:
239         Soft-link ImageKit correctly.
240         ImageKit is inside the Quartz umbrella framework.
241
242 2014-10-23  Daniel Bates  <dabates@apple.com>
243
244         [iOS] Fix the build after <http://trac.webkit.org/changeset/175079>
245         (https://bugs.webkit.org/show_bug.cgi?id=137995)
246
247         Rubber-stamped by Anders Carlsson.
248
249         Remove PageClientImpl::didPerformActionMenuHitTest() for iOS.
250
251         * UIProcess/ios/PageClientImplIOS.h:
252         * UIProcess/ios/PageClientImplIOS.mm:
253         (WebKit::PageClientImpl::didPerformActionMenuHitTest): Deleted.
254
255 2014-10-23  Krzysztof Czech  <k.czech@samsung.com>
256
257         [EFL] Fix build problem after r175098
258         https://bugs.webkit.org/show_bug.cgi?id=138002
259
260         Reviewed by Gyuyoung Kim.
261
262         Add ECORE_X dependency to avoid linking problems while building unit tests.
263
264         * PlatformEfl.cmake:
265
266 2014-10-23  Krzysztof Czech  <k.czech@samsung.com>
267
268         [EFL] Set proper default value for WebPageAccessibilityObject
269         https://bugs.webkit.org/show_bug.cgi?id=137951
270
271         Reviewed by Csaba Osztrogonác.
272
273         Initial value for WebPageAccessibilityObject should be nullptr.
274
275         * WebProcess/WebPage/WebPage.cpp:
276         (WebKit::WebPage::WebPage):
277
278 2014-10-23  Krzysztof Czech  <k.czech@samsung.com>
279
280         [EFL] Introduce EFL Accessibility in WebKit
281         https://bugs.webkit.org/show_bug.cgi?id=137819
282
283         Reviewed by Gyuyoung Kim.
284
285         EFL Accessibility provides an API that is used to notify clients that certain
286         Accessibility events occur. Utilizing it makes WebKit-EFL coherent with EFL native
287         accessibility approach.
288
289         * PlatformEfl.cmake:
290         * UIProcess/API/efl/EwkView.cpp:
291         (EwkView::EwkView):
292         * UIProcess/API/efl/EwkView.h:
293         (EwkView::webAccessibility):
294         * UIProcess/API/efl/WebAccessibility.cpp: Added.
295         (WebKit::WebAccessibility::WebAccessibility):
296         (WebKit::WebAccessibility::~WebAccessibility):
297         (WebKit::WebAccessibility::eventHandler):
298         (WebKit::WebAccessibility::executeGestureAction):
299         (WebKit::WebAccessibility::activate):
300         (WebKit::WebAccessibility::read):
301         (WebKit::WebAccessibility::readNext):
302         (WebKit::WebAccessibility::readPrev):
303         (WebKit::WebAccessibility::up):
304         (WebKit::WebAccessibility::down):
305         (WebKit::WebAccessibility::scroll):
306         (WebKit::WebAccessibility::mouse):
307         (WebKit::WebAccessibility::enable):
308         (WebKit::WebAccessibility::disable):
309         * UIProcess/API/efl/WebAccessibility.h: Added.
310         (WebKit::WebAccessibility::activateAction):
311         (WebKit::WebAccessibility::nextAction):
312         (WebKit::WebAccessibility::prevAction):
313         (WebKit::WebAccessibility::readAction):
314         * UIProcess/API/efl/ewk_view.cpp:
315         (ewk_view_accessibility_action_activate_get):
316         (ewk_view_accessibility_action_next_get):
317         (ewk_view_accessibility_action_prev_get):
318         (ewk_view_accessibility_action_read_by_point_get):
319         * UIProcess/API/efl/ewk_view.h:
320         * UIProcess/API/efl/tests/test_ewk2_accessibility.cpp: Added.
321         (EWK2Accessibility::xwindow):
322         (TEST_F):
323         * UIProcess/WebPageProxy.h:
324         * UIProcess/efl/WebPageProxyEfl.cpp:
325         (WebKit::WebPageProxy::accessibilityObjectReadByPoint):
326         (WebKit::WebPageProxy::accessibilityObjectReadPrevious):
327         (WebKit::WebPageProxy::accessibilityObjectReadNext):
328
329 2014-10-22  Benjamin Poulain  <bpoulain@apple.com>
330
331         [iOS WK2] Protect WKWebView dynamic viewport change against empty sizes
332         https://bugs.webkit.org/show_bug.cgi?id=137988
333         rdar://problem/17785162
334
335         Reviewed by Simon Fraser.
336
337         * UIProcess/API/Cocoa/WKWebView.mm:
338         (-[WKWebView _beginAnimatedResizeWithUpdates:]):
339         The algorithm behind dynamic size update finds the best content area to put in the viewport
340         after a viewport change. If an initial size or a target size is empty, it is impossible to
341         compute a reasonable area to keep in the view. We end up handling NaN scales
342         and/or sizes and CoreAnimation raises an exception when applying that value.
343
344         This patch add early exits when that occurs and fallback to the common code.
345
346         On Input, things are easy. If any of the initial values is empty, we just execute the updateBlock
347         without attempting any of the dynamic behaviors.
348
349         For the target values, things are trickier. We do not know what the values are going to be before we execute
350         the block. But once we executed the block, we have already skipped all the setters that call the web process.
351
352         To handle that, every value is set manually on WebPageProxy. This is a bit unfortunate because the setters
353         get yet another entry point.
354
355 2014-10-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
356
357         EFL and GTK ports have broken since r175075
358         https://bugs.webkit.org/show_bug.cgi?id=137995
359
360         Unreviewed, EFL and GTK ports build fix.
361
362         Need to use PLATFORM(MAC) guard for ActionMenuHitTest functions.
363
364         * UIProcess/PageClient.h:
365         * UIProcess/WebPageProxy.cpp:
366         (WebKit::WebPageProxy::removeNavigationGestureSnapshot):
367         * UIProcess/WebPageProxy.h:
368         * UIProcess/WebPageProxy.messages.in:
369         * WebProcess/WebPage/WebPage.cpp:
370         * WebProcess/WebPage/WebPage.h:
371         * WebProcess/WebPage/WebPage.messages.in:
372
373 2014-10-22  Tim Horton  <timothy_horton@apple.com>
374
375         Add action menu support for images
376         https://bugs.webkit.org/show_bug.cgi?id=137987
377         <rdar://problem/18717767>
378
379         Reviewed by Anders Carlsson, Sam Weinig, and Beth Dakin.
380
381         * Resources/AddImageToPhotos.pdf: Added.
382         * Resources/CopyImage.pdf: Added.
383         * Resources/SaveImageToDownloads.pdf: Added.
384         * Resources/ShareImage.pdf: Added.
385         Add some temporary artwork.
386
387         * Scripts/webkit/messages.py:
388         (struct_or_class):
389         ActionMenuHitTestResult is a struct.
390
391         * Shared/API/c/WKActionMenuItemTypes.h:
392         Add new items for image menus.
393
394         * Shared/mac/ActionMenuHitTestResult.cpp:
395         (WebKit::ActionMenuHitTestResult::encode):
396         (WebKit::ActionMenuHitTestResult::decode):
397         For now, pass the hit image data across to the UI process as a ShareableBitmap.
398
399         * Shared/mac/ActionMenuHitTestResult.h:
400
401         * UIProcess/API/mac/WKView.mm:
402         (-[WKView _createActionMenuItemForTag:]):
403         Refactor action menu item creation into a single function, so that
404         callers can share code and be much simpler.
405
406         (webKitBundleImageNamed):
407         Add a helper to acquire an image from the WebKit2 bundle.
408
409         (-[WKView _copyImage:]):
410         (-[WKView _saveImageToDownloads:]):
411         (temporaryPhotosDirectoryPath):
412         (pathToPhotoOnDisk):
413         (-[WKView _addImageToPhotos:]):
414         Add rudimentary implementations of image actions.
415
416         (-[WKView _defaultMenuItemsForImage]):
417         Support the image menu, plus a submenu acquired from NSSharingServicePicker
418         for the Share menu.
419
420         (-[WKView _defaultMenuItems]):
421         Call _defaultMenuItemsForImage if needed.
422
423         (-[WKView _updateActionMenu]):
424         Refactor _updateActionMenu out of prepareForMenu:withEvent:.
425
426         (-[WKView prepareForMenu:withEvent:]):
427         Ask the Web process to re-hit-test under the location that the menu
428         will appear. Mark the menu as pending.
429
430         (-[WKView _didPerformActionMenuHitTest:]):
431         When we get the hit test reply, record the result for future use.
432
433         (-[WKView willOpenMenu:withEvent:]):
434         If we got a hit test reply, rebuild the menu immediately. If not, wait
435         up to 500ms for the reply to come in. This eventually needs to be
436         cancellable if the menu is rejected in the interim.
437
438         (-[WKView didCloseMenu:withEvent:]):
439         Clear all state when the menu closes.
440
441         * UIProcess/API/mac/WKViewInternal.h:
442         * UIProcess/PageClient.h:
443         * UIProcess/WebPageProxy.cpp:
444         (WebKit::WebPageProxy::performActionMenuHitTestAtLocation):
445         (WebKit::WebPageProxy::didPerformActionMenuHitTest):
446         * UIProcess/WebPageProxy.h:
447         * UIProcess/WebPageProxy.messages.in:
448         * UIProcess/mac/PageClientImpl.h:
449         * UIProcess/mac/PageClientImpl.mm:
450         (WebKit::PageClientImpl::didPerformActionMenuHitTest):
451         * UIProcess/ios/PageClientImplIOS.h:
452         * UIProcess/ios/PageClientImplIOS.mm:
453         * WebProcess/WebPage/WebPage.h:
454         * WebProcess/WebPage/WebPage.messages.in:
455         Plumb didPerformActionMenuHitTest back from WebPageProxy to WKView.
456
457         * WebProcess/WebPage/WebPage.cpp:
458         (WebKit::WebPage::performActionMenuHitTestAtLocation):
459         Hit test at the given location, recording the image data if there is any,
460         and return the result to the UI process.
461
462         * WebKit2.xcodeproj/project.pbxproj:
463         Add the PDFs.
464
465 2014-10-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
466
467         Remove WidgetBackingStoreCairo::create() factory function
468         https://bugs.webkit.org/show_bug.cgi?id=137943
469
470         Reviewed by Darin Adler.
471
472         WidgetBackingStoreCairo::create() can be replaced by std::make_unique<>.
473         Thus this patch removes it, then use std::make_unique<>|std::unique_ptr<>.
474
475         * UIProcess/BackingStore.h:
476         * UIProcess/cairo/BackingStoreCairo.cpp:
477         (WebKit::createBackingStoreForGTK):
478         (WebKit::BackingStore::incorporateUpdate):
479
480 2014-10-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
481
482         Remove TextCheckerEnchant::create() factory function
483         https://bugs.webkit.org/show_bug.cgi?id=137944
484
485         Reviewed by Darin Adler.
486
487         TextCheckerEnchant::create() can be replaced by std::make_unique<> and std::unique_ptr<>.
488
489         * UIProcess/API/gtk/WebKitTextChecker.cpp:
490         (WebKitTextChecker::WebKitTextChecker):
491         * UIProcess/API/gtk/WebKitTextChecker.h:
492         * UIProcess/efl/TextCheckerClientEfl.cpp:
493         (TextCheckerClientEfl::TextCheckerClientEfl):
494         * UIProcess/efl/TextCheckerClientEfl.h:
495
496 2014-10-22  Antti Koivisto  <antti@apple.com>
497
498         Revert fix for REGRESSION (r173356): Safari can't install a profile, gets 'Download Failed error
499         (https://bugs.webkit.org/show_bug.cgi?id=137493)
500
501         Turns out the root cause was a bug in MIME type sniffing, https://bugs.webkit.org/show_bug.cgi?id=137855
502
503         Remove the workaround.
504
505         * Shared/Downloads/ios/DownloadIOS.mm:
506         (WebKit::Download::startWithHandle):
507         * Shared/Downloads/mac/DownloadMac.mm:
508         (WebKit::Download::startWithHandle):
509
510 2014-10-22  Beth Dakin  <bdakin@apple.com>
511
512         Remove action menu web preference
513         https://bugs.webkit.org/show_bug.cgi?id=137975
514
515         Reviewed by Tim Horton.
516
517         * Shared/WebPreferencesDefinitions.h:
518         * UIProcess/API/C/WKPreferences.cpp:
519         (WKPreferencesSetActionMenuSupportEnabled): Deleted.
520         (WKPreferencesGetActionMenuSupportEnabled): Deleted.
521         * UIProcess/API/C/WKPreferencesRefPrivate.h:
522         * UIProcess/API/mac/WKView.mm:
523         (-[WKView initWithFrame:context:configuration:webView:]):
524
525 2014-10-22  Chris Dumez  <cdumez@apple.com>
526
527         [Mac][WK2] Fix applicationIsSafari() detection
528         https://bugs.webkit.org/show_bug.cgi?id=137893
529
530         Reviewed by Alexey Proskuryakov.
531
532         Provide an implementation for FrameLoaderClient's new
533         needsQuickLookResourceCachingQuirks(), which accesses the flag stored
534         on the WebProcess, which is initialized upon WebProcess creation.
535
536         QuickLookMac::computeNeedsQuickLookResourceCachingQuirks() is called
537         on UIProcess side so that it works reliably and the flag is passed as
538         parameter when constructing the WebProcess.
539
540         * Shared/WebProcessCreationParameters.cpp:
541         (WebKit::WebProcessCreationParameters::encode):
542         (WebKit::WebProcessCreationParameters::decode):
543         * Shared/WebProcessCreationParameters.h:
544         * UIProcess/mac/WebContextMac.mm:
545         (WebKit::WebContext::platformInitializeWebProcess):
546         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
547         (WebKit::WebFrameLoaderClient::needsQuickLookResourceCachingQuirks):
548         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
549         * WebProcess/WebProcess.cpp:
550         (WebKit::WebProcess::WebProcess):
551         * WebProcess/WebProcess.h:
552         (WebKit::WebProcess::needsQuickLookResourceCachingQuirks):
553         * WebProcess/cocoa/WebProcessCocoa.mm:
554         (WebKit::WebProcess::platformInitializeWebProcess):
555
556 2014-10-22  Carlos Garcia Campos  <cgarcia@igalia.com>
557
558         Unreviewed. Fix GTK+ debug build after r175046.
559
560         Remove invalid ASSERT.
561
562         * UIProcess/gtk/InputMethodFilter.cpp:
563         (WebKit::InputMethodFilter::setCursorRect):
564
565 2014-10-22  Carlos Garcia Campos  <cgarcia@igalia.com>
566
567         [GTK] Move GtkInputMethodFilter from Platform to WebKit2
568         https://bugs.webkit.org/show_bug.cgi?id=137884
569
570         Reviewed by Gustavo Noronha Silva.
571
572         Merge WebViewBaseInputMethodFilter and GtkInputMethodFilter into a
573         single class InputMethodFilter. The code is mostly the same, but
574         instead of having a setWebView method only to get the WebPageProxy,
575         it has a setPage method that passes the WebPageProxy. The GtkIMContext
576         client window is set by the WebView when it's realized/unrealized.
577
578         * PlatformGTK.cmake:
579         * Shared/NativeWebKeyboardEvent.h:
580         * Shared/gtk/NativeWebKeyboardEventGtk.cpp:
581         (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
582         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
583         (webkitWebViewBaseRealize):
584         (webkitWebViewBaseUnrealize):
585         (webkit_web_view_base_class_init):
586         (webkitWebViewBaseCreateWebPage):
587         (webkitWebViewBaseEnterFullScreen): Deleted.
588         * UIProcess/API/gtk/WebViewBaseInputMethodFilter.cpp: Removed.
589         * UIProcess/API/gtk/WebViewBaseInputMethodFilter.h: Removed.
590         * UIProcess/gtk/InputMethodFilter.cpp: Added.
591         (WebKit::InputMethodFilter::handleCommitCallback):
592         (WebKit::InputMethodFilter::handlePreeditStartCallback):
593         (WebKit::InputMethodFilter::handlePreeditChangedCallback):
594         (WebKit::InputMethodFilter::handlePreeditEndCallback):
595         (WebKit::InputMethodFilter::InputMethodFilter):
596         (WebKit::InputMethodFilter::~InputMethodFilter):
597         (WebKit::InputMethodFilter::setEnabled):
598         (WebKit::InputMethodFilter::setCursorRect):
599         (WebKit::InputMethodFilter::handleKeyboardEvent):
600         (WebKit::InputMethodFilter::handleKeyboardEventWithCompositionResults):
601         (WebKit::InputMethodFilter::filterKeyEvent):
602         (WebKit::InputMethodFilter::confirmComposition):
603         (WebKit::InputMethodFilter::updatePreedit):
604         (WebKit::InputMethodFilter::notifyFocusedIn):
605         (WebKit::InputMethodFilter::notifyFocusedOut):
606         (WebKit::InputMethodFilter::notifyMouseButtonPress):
607         (WebKit::InputMethodFilter::confirmCurrentComposition):
608         (WebKit::InputMethodFilter::cancelContextComposition):
609         (WebKit::InputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents):
610         (WebKit::InputMethodFilter::handleCommit):
611         (WebKit::InputMethodFilter::handlePreeditStart):
612         (WebKit::InputMethodFilter::handlePreeditChanged):
613         (WebKit::InputMethodFilter::handlePreeditEnd):
614         (WebKit::InputMethodFilter::logHandleKeyboardEventForTesting):
615         (WebKit::InputMethodFilter::logHandleKeyboardEventWithCompositionResultsForTesting):
616         (WebKit::InputMethodFilter::logConfirmCompositionForTesting):
617         (WebKit::InputMethodFilter::logSetPreeditForTesting):
618         * UIProcess/gtk/InputMethodFilter.h: Added.
619         (WebKit::InputMethodFilter::context):
620         (WebKit::InputMethodFilter::setPage):
621         (WebKit::InputMethodFilter::setTestingMode):
622         (WebKit::InputMethodFilter::events):
623
624 2014-10-21  Tim Horton  <timothy_horton@apple.com>
625
626         Quick Look preview bubble has unnecessary controls
627         https://bugs.webkit.org/show_bug.cgi?id=137940
628         <rdar://problem/18731860>
629
630         Reviewed by Simon Fraser.
631
632         * UIProcess/API/mac/WKView.mm:
633         (-[WKView _quickLookURLFromActionMenu:]):
634         Temporarily use more SPI to allow us to hide the preview bubble's controls.
635
636 2014-10-21  Jeff Miller  <jeffm@apple.com>
637
638         Remove const from WKURLRequestRef parameter to WKContextDownloadURLRequest()
639         https://bugs.webkit.org/show_bug.cgi?id=137928
640
641         Reviewed by Darin Adler.
642
643         * UIProcess/API/C/WKContext.cpp:
644         (WKContextDownloadURLRequest):
645         * UIProcess/API/C/WKContext.h:
646
647 2014-10-21  Anders Carlsson  <andersca@apple.com>
648
649         WKRemoteObjectCoder should handle floats
650         https://bugs.webkit.org/show_bug.cgi?id=137926
651         <rdar://problem/18695126>
652
653         Reviewed by Beth Dakin.
654
655         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
656         (encodeInvocation):
657         (-[WKRemoteObjectEncoder encodeFloat:forKey:]):
658         (decodeInvocationArguments):
659         (-[WKRemoteObjectDecoder decodeFloatForKey:]):
660
661 2014-10-21  Jeff Miller  <jeffm@apple.com>
662
663         WKContext needs to provide an API to resume a download
664         https://bugs.webkit.org/show_bug.cgi?id=137507
665
666         Reviewed by Darin Adler.
667
668         This patch adds WKContextResumeDownload(), which is only supported on the Mac, and requires the
669         resume data from WKDownloadGetResumeData().
670
671         We have to create a sandbox extension for the partially downloaded file in the UI process so the
672         network or web process can resume writing to it.
673
674         * NetworkProcess/NetworkProcess.cpp:
675         (WebKit::NetworkProcess::resumeDownload):
676         Added, calls through to DownloadManager::resumeDownload().
677
678         * NetworkProcess/NetworkProcess.h:
679         Added resumeDownload().
680
681         * NetworkProcess/NetworkProcess.messages.in:
682         Added ResumeDownload message.
683
684         * Shared/Downloads/Download.h:
685         Added resume().
686
687         * Shared/Downloads/DownloadManager.cpp:
688         (WebKit::DownloadManager::resumeDownload):
689         Added. The URL being downloaded is part of the opaque resumeData, so we can't specify it when the
690         Download is constructed.
691
692         * Shared/Downloads/DownloadManager.h:
693         Added resumeDownload().
694
695         * Shared/Downloads/ios/DownloadIOS.mm:
696         (WebKit::Download::resume):
697         Added, not implemented on this platform.
698
699         * Shared/Downloads/mac/DownloadMac.mm:
700         (WebKit::Download::resume):
701         Added. Consumes the sandbox extension, resumes the download, and sets m_request after the
702         NSURLDownload has been created. Note that we already have code to revoke the sandbox extension when
703         the download is finished, canceled, or fails.
704
705         * Shared/Downloads/soup/DownloadSoup.cpp:
706         (WebKit::Download::resume):
707         Added, not implemented on this platform.
708
709         * UIProcess/API/C/WKContext.cpp:
710         (WKContextResumeDownload):
711         Added.
712
713         * UIProcess/API/C/WKContext.h:
714         Added WKContextResumeDownload().
715
716         * UIProcess/WebContext.cpp:
717         (WebKit::WebContext::resumeDownload):
718         Added. Creates a sandbox extension for the existing file and includes it in the message to the
719         network or web process.
720
721         * UIProcess/WebContext.h:
722         Added resumeDownload().
723
724         * WebProcess/WebProcess.cpp:
725         (WebKit::WebProcess::resumeDownload):
726         Added, calls through to DownloadManager::resumeDownload().
727
728         * WebProcess/WebProcess.h:
729         Added resumeDownload().
730
731         * WebProcess/WebProcess.messages.in:
732         Added ResumeDownload message.
733
734 2014-10-20  Michael Catanzaro  <mcatanzaro@igalia.com>
735
736         Change the default TLS errors policy to WEBKIT_TLS_ERRORS_POLICY_FAIL
737         https://bugs.webkit.org/show_bug.cgi?id=137832
738
739         Reviewed by Carlos Garcia Campos.
740
741         Too many general-purpose browsers that really need this policy
742         are not selecting it, so let's do so for them.
743
744         * UIProcess/API/gtk/WebKitWebContext.cpp:
745         (createDefaultWebContext):
746
747 2014-10-21  Michael Catanzaro  <mcatanzaro@igalia.com>
748
749         [SOUP] Disable SSLv3
750         https://bugs.webkit.org/show_bug.cgi?id=137859
751
752         Reviewed by Carlos Garcia Campos.
753
754         Set G_TLS_GNUTLS_PRIORITY if unset.
755
756         * NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp:
757         (main):
758         * WebProcess/EntryPoint/unix/WebProcessMain.cpp:
759         (main):
760
761 2014-10-20  Chris Dumez  <cdumez@apple.com>
762
763         ResourceRequest deserialization unnecessarily calls partitionName() on encoded cache partition
764         https://bugs.webkit.org/show_bug.cgi?id=137797
765
766         Reviewed by Darin Adler.
767
768         This patch adds a |needsValidation| argument to
769         ResourceRequest::setCachePartition() setter so that the caller can
770         indicate that the partition name is valid (because it was already
771         processed by partitionName() before). Use this new argument in
772         ArgumentCoder<ResourceRequest>::decode() to spent a bit less time
773         deserializing resource requests.
774
775         * Shared/WebCoreArgumentCoders.cpp:
776         (IPC::ArgumentCoder<ResourceRequest>::decode):
777
778 2014-10-20  Beth Dakin  <bdakin@apple.com>
779
780         Action menu items should have tags
781         https://bugs.webkit.org/show_bug.cgi?id=137898
782
783         Reviewed by Anders Carlsson.
784
785         * Shared/API/c/WKActionMenuItemTypes.h: Added.
786         * UIProcess/API/mac/WKView.mm:
787         (-[WKView _defaultMenuItemsForLink]):
788         * WebKit2.xcodeproj/project.pbxproj:
789
790 2014-10-20  Beth Dakin  <bdakin@apple.com>
791
792         Add support for action menus
793         https://bugs.webkit.org/show_bug.cgi?id=137891
794         rdar://problem/18451638
795         rdar://problem/18694470
796
797         Reviewed by Anders Carlsson.
798
799         Temporary artwork needed for menu item.
800         * Resources/OpenInNewWindowTemplate.pdf: Added.
801         * WebKit2.xcodeproj/project.pbxproj:
802
803         Add a preference that defaults to false for action menu support.
804         * Shared/WebPreferencesDefinitions.h:
805         * UIProcess/API/C/WKPreferences.cpp:
806         (WKPreferencesSetActionMenuSupportEnabled):
807         (WKPreferencesGetActionMenuSupportEnabled):
808         * UIProcess/API/C/WKPreferencesRefPrivate.h:
809
810         New SPI. WebKit clients can implement this method to customize the action menu.
811         * UIProcess/API/Cocoa/WKViewPrivate.h:
812
813         Create the action menu if it is supported.
814         * UIProcess/API/mac/WKView.mm:
815         (-[WKView initWithFrame:context:configuration:webView:]):
816
817         Methods to implement the default menu actions.
818         (-[WKView _openURLFromActionMenu:]):
819         (-[WKView _addToReadingListFromActionMenu:]):
820         (-[WKView _quickLookURLFromActionMenu:]):
821
822         Add action menus support for links. Populate the menu at the right time.
823         (-[WKView _defaultMenuItemsForLink]):
824         (-[WKView _defaultMenuItems]):
825         (-[WKView prepareForMenu:withEvent:]):
826         (-[WKView _actionMenuItemsForHitTestResult:defaultActionMenuItems:]):
827
828         New member variable caches the HitTestResult on mouse move.
829         * UIProcess/WebPageProxy.cpp:
830         (WebKit::WebPageProxy::mouseDidMoveOverElement):
831         * UIProcess/WebPageProxy.h:
832         (WebKit::WebPageProxy::activeActionMenuHitTestResult):
833
834 2014-10-20  Timothy Hatcher  <timothy@apple.com>
835
836         Web Inspector: Delay and white area when Web Inspector crashes
837         https://bugs.webkit.org/show_bug.cgi?id=137230
838
839         Reviewed by Anders Carlsson.
840
841         * UIProcess/WebInspectorProxy.cpp:
842         (WebKit::processDidCrash): Added.
843         (WebKit::WebInspectorProxy::eagerlyCreateInspectorPage): Hook up loader client.
844
845 2014-10-20  Joseph Pecoraro  <pecoraro@apple.com>
846
847         Web Inspector: Generate all Inspector domains together in JavaScriptCore
848         https://bugs.webkit.org/show_bug.cgi?id=137748
849
850         Reviewed by Brian Burg.
851
852         * PlatformGTK.cmake:
853
854 2014-10-19  Antti Koivisto  <antti@apple.com>
855
856         Avoid unnecessary NSURLResponse construction for QuickLook on iOS
857         https://bugs.webkit.org/show_bug.cgi?id=137876
858
859         Reviewed by Andy Estes.
860
861         * WebProcess/Network/WebResourceLoader.cpp:
862         (WebKit::WebResourceLoader::didReceiveResponse):
863
864             Switch to the modified QuickLookHandle interface that does not need NSURLResponse.
865
866 2014-10-16  Andy Estes  <aestes@apple.com>
867
868         [iOS] Capture WKActionSheetAssistant's interaction with WKContentView in a @protocol
869         https://bugs.webkit.org/show_bug.cgi?id=137792
870
871         Reviewed by Tim Horton.
872
873         WKPDFView would like to use WKActionSheetAssistant to show an action sheet when long-pressing a link, but it
874         can't so long as WKActionSheetAssistant is tightly coupled to WKContentView. Resolve this by factoring
875         WKActionSheetAssistant's interaction with WKContentView into a new protocol called
876         WKActionSheetAssistantDelegate and having WKContentView conform to this protocol.
877
878         * UIProcess/API/Cocoa/_WKElementAction.mm:
879         (+[_WKElementAction elementActionWithTitle:actionHandler:]): Changed instances of WKContentView * to id <WKActionSheetAssistantDelegate>.
880         (+[_WKElementAction elementActionWithType:customTitle:]): Ditto.
881         (-[_WKElementAction _runActionWithElementInfo:delegate:]): Ditto.
882         (copyElement): Deleted.
883         (saveImage): Deleted.
884         (-[_WKElementAction _runActionWithElementInfo:view:]): Deleted.
885         * UIProcess/API/Cocoa/_WKElementActionInternal.h:
886         * UIProcess/ios/WKActionSheet.h:
887         * UIProcess/ios/WKActionSheet.mm:
888         (-[WKActionSheet init]): Renamed from initWithView: since WKActionSheet no longer needs to know about a view.
889         (-[WKActionSheet _didRotateAndLayout]): Called -[WKActionSheetDelegate updatePositionInformation].
890         (-[WKActionSheet initWithView:]): Deleted.
891         * UIProcess/ios/WKActionSheetAssistant.h:
892         * UIProcess/ios/WKActionSheetAssistant.mm:
893         (-[WKActionSheetAssistant delegate]): Added a getter for the delegate property.
894         (-[WKActionSheetAssistant setDelegate:]): Added a setter for the delegate property.
895         (-[WKActionSheetAssistant initWithView:]): Changed argument type from WKContentView * to UIView *.
896         (-[WKActionSheetAssistant initialPresentationRectInHostViewForSheet]): Returned CGRectZero if there is no delegate.
897         Otherwise, retrieved positionInformation from the delegate.
898         (-[WKActionSheetAssistant presentationRectInHostViewForSheet]): Ditto.
899         (-[WKActionSheetAssistant updatePositionInformation]): Called -[WKActionSheetAssistantDelegate updatePositionInformation].
900         (-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]): Returned early if there is no delegate.
901         Otherwise, retrieved positionInformation from the delegate.
902         (-[WKActionSheetAssistant showImageSheet]): Ditto.
903         (-[WKActionSheetAssistant showLinkSheet]): Ditto.
904         (-[WKActionSheetAssistant showDataDetectorsSheet]): Ditto.
905         (-[WKActionSheetAssistant cleanupSheet]):
906         * UIProcess/ios/WKContentViewInteraction.h:
907         * UIProcess/ios/WKContentViewInteraction.mm:
908         (-[WKContentView setupInteraction]): Installed self as WKActionSheetAssistant's delegate.
909         (-[WKContentView updatePositionInformation]): Renamed from _updatePositionInformation.
910         (-[WKContentView performAction:]): Renamed from _performAction:.
911         (-[WKContentView openElementAtLocation:]): Called _attemptClickAtLocation:.
912         (-[WKContentView actionsForElement:defaultActions:]): Called API::UIClient::actionsForElement().
913         (-[WKContentView startInteractionWithElement:]): Called WebPageProxy::startInteractionWithElementAtPosition().
914         (-[WKContentView stopInteraction]): Called WebPageProxy::stopInteraction().
915         (-[WKContentView _updatePositionInformation]): Deleted.
916         (-[WKContentView _performAction:]): Deleted.
917
918 2014-10-20  Carlos Garnacho  <carlosg@gnome.org>
919
920         [GTK] Improve zooming gesture positioning
921         https://bugs.webkit.org/show_bug.cgi?id=137822
922
923         Reviewed by Carlos Garcia Campos.
924
925         * UIProcess/WebPageProxy.h:
926         * UIProcess/gtk/GestureController.cpp:
927         (WebKit::GestureController::ZoomGesture::center):
928         (WebKit::GestureController::ZoomGesture::begin):
929         (WebKit::GestureController::ZoomGesture::handleZoom):
930         (WebKit::GestureController::ZoomGesture::scaleChanged): Calculate
931         the proper view coordinates for the current offset/scale, based
932         on the initial gesture center point in document coordinates, and
933         the current center/scale.
934         * UIProcess/gtk/GestureController.h:
935         * UIProcess/gtk/WebPageProxyGtk.cpp:
936         (WebKit::WebPageProxy::getCenterForZoomGesture): Added. Synchronous
937         call to retrieve the zoom gesture anchor point, in document coordinates.
938         * WebProcess/WebPage/WebPage.h:
939         * WebProcess/WebPage/WebPage.messages.in: Added stub.
940         * WebProcess/WebPage/gtk/WebPageGtk.cpp:
941         (WebKit::WebPage::getCenterForZoomGesture): Added. Getter for the
942         translated coordinates used as the anchor point of the zoom gesture.
943
944 2014-10-20  Carlos Garcia Campos  <cgarcia@igalia.com>
945
946         [GTK] Remove the factory method from DragAndDropHandler
947         https://bugs.webkit.org/show_bug.cgi?id=137872
948
949         Reviewed by Sergio Villar Senin.
950
951         Make the constructor public and use std::make_unique instead.
952
953         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
954         (webkitWebViewBaseDragAndDropHandler):
955         * UIProcess/gtk/DragAndDropHandler.cpp:
956         (WebKit::DragAndDropHandler::create): Deleted.
957         * UIProcess/gtk/DragAndDropHandler.h:
958
959 2014-10-20  Carlos Garcia Campos  <cgarcia@igalia.com>
960
961         [GTK] Add initial gestures support
962         https://bugs.webkit.org/show_bug.cgi?id=137812
963
964         Reviewed by Sergio Villar Senin.
965
966         Now that GTK+ has support for gestures, we can use it to handle
967         touch events and allow to scroll, zoom and tap with the fingers.
968
969         * PlatformGTK.cmake: Add new files to compilation.
970         * UIProcess/API/gtk/PageClientImpl.cpp:
971         (WebKit::PageClientImpl::doneWithTouchEvent): When the touch event
972         hasn't been handled by the web process pass it to the
973         GestureController and only fallback to pointer emulation when the
974         GestureController doesn't handle the event.
975         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
976         (webkitWebViewBaseTouchEvent): If the GestureController is
977         currently processing gestures is because the START touch event was
978         not handled by the web process, so pass any successive touch
979         events to the GestureController directly.
980         (webkitWebViewBaseGestureController): Create the GestureController
981         on demand and return a reference.
982         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
983         * UIProcess/gtk/GestureController.cpp: Added.
984         (WebKit::GestureController::create): Create a GestureController.
985         (WebKit::GestureController::GestureController): Initialize the
986         Gesture memebers.
987         (WebKit::GestureController::handleEvent): Pass the event to the gestures.
988         (WebKit::GestureController::isProcessingGestures): Whether
989         Gestures are active.
990         (WebKit::GestureController::Gesture::Gesture): Base class for gestures.
991         (WebKit::GestureController::Gesture::isActive): Whether the
992         gesture is active.
993         (WebKit::GestureController::Gesture::handleEvent): Pass the event
994         to the GtkGesture to process it.
995         (WebKit::GestureController::DragGesture::handleDrag): Send a wheel
996         event corresponding to the drag gesture to the web process.
997         (WebKit::GestureController::DragGesture::handleTap): Send move,
998         press and release events corresponding to a tap gesture to the web process.
999         (WebKit::GestureController::DragGesture::begin): Start a drag
1000         gesture and schedule a timer to discard tap gesture in case of
1001         long press.
1002         (WebKit::GestureController::DragGesture::update): If the actual
1003         drag hasn't started yet, check the drag threshold to decide
1004         whether to start the drag or not. Otherwise call handleDrag() to
1005         send the appropriate events to the web process.
1006         (WebKit::GestureController::DragGesture::end): If the drag gesture
1007         finishes and the drag didn't happen (it wasn't a long press and
1008         drag threshold was not reached), call handleTap() to emulate a
1009         click event.
1010         (WebKit::GestureController::DragGesture::DragGesture): Initialize
1011         the GtkGestureDrag.
1012         (WebKit::GestureController::ZoomGesture::begin): Save the current
1013         page scale factor and the center point of the gesture.
1014         (WebKit::GestureController::ZoomGesture::scaleChanged): Schedule a
1015         page scale change in an idle for the given scale value.
1016         (WebKit::GestureController::ZoomGesture::ZoomGesture): Initialize
1017         the GtkGestureZoom.
1018         * UIProcess/gtk/GestureController.h: Added.
1019
1020 2014-10-19  Chris Dumez  <cdumez@apple.com>
1021
1022         Use is<>() / downcast<>() for all remaining RenderObject subclasses
1023         https://bugs.webkit.org/show_bug.cgi?id=137845
1024
1025         Reviewed by Darin Adler.
1026
1027         Use is<>() / downcast<>() for all remaining RenderObject subclasses and 
1028         clean up the surrounding code.
1029
1030         * WebProcess/Plugins/PluginView.cpp:
1031         (WebKit::PluginView::pluginProcessCrashed):
1032         * WebProcess/WebPage/WebPage.cpp:
1033         (WebKit::WebPage::createPlugin):
1034
1035 2014-10-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1036
1037         [GTK] Move GtkDragAndDropHelper from Platform to WebKit2
1038         https://bugs.webkit.org/show_bug.cgi?id=137422
1039
1040         Reviewed by Martin Robinson.
1041
1042         WebKitWebViewBase is currently the only user of
1043         GtkDragAndDropHelper, that was added to share the code with
1044         WebKit1. Move all the drag and drop logic to a new class
1045         DragAndDropHandler.
1046
1047         * PlatformGTK.cmake: Add new files to compilation.
1048         * UIProcess/API/gtk/PageClientImpl.cpp:
1049         (WebKit::PageClientImpl::startDrag):
1050         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1051         (webkitWebViewBaseConstructed):
1052         (webkitWebViewBaseDragDataGet):
1053         (webkitWebViewBaseDragEnd):
1054         (webkitWebViewBaseDragDataReceived):
1055         (webkitWebViewBaseDragMotion):
1056         (webkitWebViewBaseDragLeave):
1057         (webkitWebViewBaseDragDrop):
1058         (webkitWebViewBaseDragAndDropHandler):
1059         (dragExitedCallback): Deleted.
1060         (webkitWebViewBaseStartDrag): Deleted.
1061         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
1062         * UIProcess/gtk/DragAndDropHandler.cpp: Added.
1063         (WebKit::DragAndDropHandler::create):
1064         (WebKit::DragAndDropHandler::DragAndDropHandler):
1065         (WebKit::DragAndDropHandler::DroppingContext::DroppingContext):
1066         (WebKit::dragOperationToGdkDragActions):
1067         (WebKit::dragOperationToSingleGdkDragAction):
1068         (WebKit::gdkDragActionToDragOperation):
1069         (WebKit::DragAndDropHandler::startDrag):
1070         (WebKit::DragAndDropHandler::fillDragData):
1071         (WebKit::DragAndDropHandler::finishDrag):
1072         (WebKit::DragAndDropHandler::dataObjectForDropData):
1073         (WebKit::DragAndDropHandler::dragEntered):
1074         (WebKit::DragAndDropHandler::requestDragData):
1075         (WebKit::DragAndDropHandler::dragMotion):
1076         (WebKit::DragAndDropHandler::dragLeave):
1077         (WebKit::DragAndDropHandler::drop):
1078         * UIProcess/gtk/DragAndDropHandler.h: Added.
1079
1080 2014-10-18  Dan Bernstein  <mitz@apple.com>
1081
1082         WorkQueue dispatches functions but isn’t a FunctionDispatcher
1083         https://bugs.webkit.org/show_bug.cgi?id=137853
1084
1085         Reviewed by Anders Carlsson.
1086
1087         * Platform/WorkQueue.h: Changed to inherit from FunctionDispatcher.
1088
1089 2014-10-18  Michael Catanzaro  <mcatanzaro@igalia.com>
1090
1091         [GTK] Improve documentation of webkit_web_view_get_tls_info()
1092         https://bugs.webkit.org/show_bug.cgi?id=137852
1093
1094         Reviewed by Martin Robinson.
1095
1096         * UIProcess/API/gtk/WebKitWebView.cpp:
1097
1098 2014-10-17  Chris Dumez  <cdumez@apple.com>
1099
1100         Use is<>() / downcast<>() for RenderBox
1101         https://bugs.webkit.org/show_bug.cgi?id=137804
1102
1103         Reviewed by Andreas Kling.
1104
1105         Use is<>() / downcast<>() for RenderBox and clean up the surrounding
1106         code.
1107
1108         * WebProcess/WebPage/WebPage.cpp:
1109         (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
1110         (WebKit::WebPage::plugInIsPrimarySize):
1111         * WebProcess/WebPage/ios/WebPageIOS.mm:
1112         (WebKit::WebPage::sendTapHighlightForNodeIfNecessary):
1113
1114 2014-10-16  Simon Fraser  <simon.fraser@apple.com>
1115
1116         [iOS] Turn off font autosizing for iOS WebKitTestRunner
1117         https://bugs.webkit.org/show_bug.cgi?id=137806
1118
1119         Reviewed by Sam Weinig.
1120         
1121         Confusingly, WKPreferencesSetTextAutosizingEnabled() does nothing on iOS.
1122         Instead, we have to add WKPreferencesSetMinimumZoomFontSize() and set it to 0
1123         to disable font autosizing.
1124
1125         * UIProcess/API/C/WKPreferences.cpp:
1126         (WKPreferencesSetMinimumZoomFontSize):
1127         (WKPreferencesGetMinimumZoomFontSize):
1128         * UIProcess/API/C/WKPreferencesRefPrivate.h:
1129
1130 2014-10-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1131
1132         [EFL] REGRESSION(r173929): It broke the Web Inspector
1133         https://bugs.webkit.org/show_bug.cgi?id=137522
1134
1135         Reviewed by Csaba Osztrogonác.
1136
1137         r173929 let web inspector use a separate web process. Besides it changed that the inspector is shown
1138         as docking mode by default. However EFL port doesn't support to show web inspector as docking window yet.
1139         This patch is to show web inspector on EFL new window as before. Docking mode should be implemented by
1140         upcoming patch.
1141
1142         * UIProcess/efl/WebInspectorProxyEfl.cpp:
1143         (WebKit::WebInspectorProxy::platformAttach):
1144
1145 2014-10-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1146
1147         [GLIB] Add API to GMainLoopSource to schedule sources after a delay in microseconds
1148         https://bugs.webkit.org/show_bug.cgi?id=137782
1149
1150         Reviewed by Sergio Villar Senin.
1151
1152         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
1153         (WebKit::LayerTreeHostGtk::layerFlushTimerFired): Use microseconds
1154         instead of milliseconds.
1155
1156 2014-10-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1157
1158         [GTK] Move touch events handling from Platform to WebKit2
1159         https://bugs.webkit.org/show_bug.cgi?id=137735
1160
1161         Reviewed by Sergio Villar Senin.
1162
1163         GtkTouchContextHelper was only used by WebKitWebViewBase, since
1164         it's the only one that can create touch events. The code has been
1165         simplified by processing the events in the view, and the native
1166         touch events are now created with the native event and touch points.
1167
1168         * Shared/NativeWebTouchEvent.h:
1169         (WebKit::NativeWebTouchEvent::touchContext): Deleted.
1170         * Shared/gtk/NativeWebTouchEventGtk.cpp:
1171         (WebKit::NativeWebTouchEvent::NativeWebTouchEvent): Pass touch
1172         points instead of touch context to WebEventFactory::createWebTouchEvent().
1173         * Shared/gtk/WebEventFactory.cpp:
1174         (WebKit::WebEventFactory::createWebTouchEvent): Create the
1175         WebTouchEvent for the given native event and points.
1176         (WebKit::touchPhaseFromEvents): Deleted.
1177         (WebKit::appendTouchEvent): Deleted.
1178         * Shared/gtk/WebEventFactory.h:
1179         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1180         (appendTouchEvent): Helper function to create a
1181         WebPlatformTouchPoint for the given native event and add it to the
1182         list of touch points.
1183         (webkitWebViewBaseGetTouchPointForEvent): Build the touch point
1184         list for the event.
1185         (webkitWebViewBaseTouchEvent): Process the touch event.
1186         (webkitWebViewBaseDragDataReceived): Deleted.
1187
1188 2014-10-16  Pascal Jacquemart  <p.jacquemart@samsung.com>
1189
1190         Removing CUSTOM_PROTOCOLS guard
1191         https://bugs.webkit.org/show_bug.cgi?id=137741
1192
1193         Reviewed by Benjamin Poulain.
1194
1195         * NetworkProcess/NetworkProcess.cpp:
1196         (WebKit::NetworkProcess::NetworkProcess):
1197         * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:
1198         * Shared/Network/CustomProtocols/CustomProtocolManager.h:
1199         * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
1200         * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp:
1201         * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h:
1202         * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp:
1203         * Shared/Network/NetworkProcessCreationParameters.cpp:
1204         (WebKit::NetworkProcessCreationParameters::encode):
1205         (WebKit::NetworkProcessCreationParameters::decode):
1206         * Shared/Network/NetworkProcessCreationParameters.h:
1207         * Shared/WebProcessCreationParameters.cpp:
1208         (WebKit::WebProcessCreationParameters::encode):
1209         (WebKit::WebProcessCreationParameters::decode):
1210         * Shared/WebProcessCreationParameters.h:
1211         * UIProcess/API/C/soup/WKAPICastSoup.h:
1212         * UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.cpp:
1213         (WKSoupCustomProtocolRequestManagerGetTypeID):
1214         (WKSoupCustomProtocolRequestManagerSetClient):
1215         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
1216         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in:
1217         * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
1218         * UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp:
1219         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp:
1220         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h:
1221         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.cpp:
1222         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.h:
1223         * UIProcess/Network/NetworkProcessProxy.cpp:
1224         (WebKit::NetworkProcessProxy::NetworkProcessProxy):
1225         * UIProcess/Network/NetworkProcessProxy.h:
1226         * UIProcess/WebContext.cpp:
1227         (WebKit::WebContext::WebContext):
1228         (WebKit::WebContext::unregisterGlobalURLSchemeAsHavingCustomProtocolHandlers):
1229         (WebKit::WebContext::unregisterSchemeForCustomProtocol):
1230         * UIProcess/WebContext.h:
1231         * UIProcess/WebProcessProxy.cpp:
1232         (WebKit::WebProcessProxy::WebProcessProxy):
1233         * UIProcess/WebProcessProxy.h:
1234         * UIProcess/mac/WebContextMac.mm:
1235         (WebKit::WebContext::platformInitializeWebProcess):
1236         (WebKit::WebContext::platformInitializeNetworkProcess):
1237         * WebKit2Prefix.h:
1238         * WebProcess/WebProcess.cpp:
1239         (WebKit::WebProcess::WebProcess):
1240         * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
1241         (webkitSoupRequestGenericSendAsync):
1242         (webkitSoupRequestGenericSendFinish):
1243         * WebProcess/soup/WebKitSoupRequestGeneric.h:
1244
1245 2014-10-16  Simon Fraser  <simon.fraser@apple.com>
1246
1247         Crash under RemoteLayerTreeHost::getLayer() when closing a tab
1248         https://bugs.webkit.org/show_bug.cgi?id=137796
1249         rdar://problem/18547565
1250
1251         Reviewed by Tim Horton.
1252         
1253         CA can call our animation delegate after the RemoteLayerTreeHost has been
1254         destroyed. CAAnimation retains its delegate, so it's safe for us to null out
1255         the WKAnimationDelegate's pointer to the RemoteLayerTreeHost when tearing down
1256         the RemoteLayerTreeHost.
1257
1258         * UIProcess/mac/RemoteLayerTreeHost.mm:
1259         (WebKit::RemoteLayerTreeHost::~RemoteLayerTreeHost):
1260         (WebKit::RemoteLayerTreeHost::animationDidEnd):
1261         * WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
1262         (-[WKAnimationDelegate invalidate]):
1263         (-[WKAnimationDelegate animationDidStart:]):
1264         (-[WKAnimationDelegate animationDidStop:finished:]):
1265
1266 2014-10-16  Tim Horton  <timothy_horton@apple.com>
1267
1268         Implement selection services menu for Legacy WebKit
1269         https://bugs.webkit.org/show_bug.cgi?id=137582
1270         <rdar://problem/18604241>
1271
1272         Reviewed by Brady Eidson.
1273
1274         * UIProcess/mac/WebContextMenuProxyMac.mm:
1275         (-[WKSharingServicePickerDelegate sharingService:didShareItems:]):
1276         Add a note that we should transition to using replaceSelectionWithAttributedString.
1277
1278         * WebProcess/WebPage/mac/WebPageMac.mm:
1279         (WebKit::WebPage::handleSelectionServiceClick):
1280         Allow editor services in editable-but-not-rich-text areas, just like in WebKit1.
1281
1282 2014-10-16  Tim Horton  <timothy_horton@apple.com>
1283
1284         Various crashes in ViewGestureControllerIOS when closing a tab while a swipe gesture is in progress
1285         https://bugs.webkit.org/show_bug.cgi?id=137770
1286         <rdar://problem/17916459>
1287
1288         Reviewed by Dan Bernstein.
1289
1290         When tearing down a WKWebView in the middle of a swipe gesture, a variety of
1291         UI process crashes were observed. First, two uses of potentially deleted objects
1292         (the WebBackForwardListItem and ViewGestureController), which were fixed by
1293         extending the object's lifetime and checking for its liveness, respectively.
1294         Second, a potential null-deref of DrawingArea if the timing of endSwipeGesture
1295         vs. page teardown was such that DrawingArea was null but everything else was in line.
1296         Lastly, another case of messaging a potentially deleted object (specifically,
1297         the _UIViewControllerTransitionContext's animator) in a callback from CA, which
1298         was fixed by nulling out the animator (and a few other properties) when tearing
1299         down the ViewGestureController.
1300
1301         * UIProcess/ios/ViewGestureControllerIOS.mm:
1302         (-[WKSwipeTransitionController invalidate]):
1303         Clear the soon-to-be-invalid ViewGestureController pointer.
1304
1305         (WebKit::ViewGestureController::~ViewGestureController):
1306         Call [WKSwipeTransitionController invalidate] upon destruction.
1307         Clear our transition context's interactor and animator, and inform it that
1308         the transition is not in flight. This avoids a crash when calling back
1309         to the already-destroyed animator later.
1310
1311         (WebKit::ViewGestureController::beginSwipeGesture):
1312         Keep a reference to the target WebBackForwardListItem; this avoids
1313         it being deleted between here and the transition completion block firing.
1314
1315         Look up the ViewGestureController by pageID, just like we do in endSwipeGesture,
1316         to avoid situations where the callback fires after the WKWebView/ViewGestureController
1317         have gone away.
1318
1319         Hold on to our _UIViewControllerOneToOneTransitionContext, so that we can do the
1320         aforementioned clearing upon deallocation.
1321
1322         (WebKit::ViewGestureController::endSwipeGesture):
1323         Null check the DrawingArea. If it is null, instead of doing our normal delayed logic
1324         for swipe snapshot teardown, just put things back together immediately.
1325
1326         (WebKit::ViewGestureController::removeSwipeSnapshot):
1327         Clear m_swipeTransitionContext.
1328
1329 2014-10-16  Antti Koivisto  <antti@apple.com>
1330
1331         REGRESSION (r173356): Downloading a disk image appends ".txt" to it
1332         https://bugs.webkit.org/show_bug.cgi?id=137493
1333         <rdar://problem/18321947>
1334
1335         Reviewed by Alexey Proskuryakov.
1336
1337         * Shared/Downloads/ios/DownloadIOS.mm:
1338         (WebKit::Download::startWithHandle):
1339         * Shared/Downloads/mac/DownloadMac.mm:
1340         (WebKit::Download::startWithHandle):
1341
1342             It appears that the synthesized NS/CFURLResponse fails to serialize the suggested filename correctly
1343             unless it has been accessed first.
1344
1345 2014-10-15  Dan Bernstein  <mitz@apple.com>
1346
1347         [Cocoa] "Plug-in will handle load" error isn't declared in the modern API
1348         https://bugs.webkit.org/show_bug.cgi?id=137747
1349
1350         Reviewed by Anders Carlsson.
1351
1352         * UIProcess/API/Cocoa/WKError.mm: Define _WKLegacyErrorDomain.
1353         * UIProcess/API/Cocoa/WKErrorInternal.h: Changed to import WKErrorPrivate.h.
1354         * UIProcess/API/Cocoa/WKErrorPrivate.h: Added. Declares _WKLegacyErrorDomain
1355         and _WKLegacyErrorPlugInWillHandleLoad.
1356         * WebKit2.xcodeproj/project.pbxproj: Added new private header.
1357
1358 2014-10-15  Chris Dumez  <cdumez@apple.com>
1359
1360         Use is<>() / downcast<>() for TransformOperation subclasses
1361         https://bugs.webkit.org/show_bug.cgi?id=137731
1362
1363         Reviewed by Darin Adler.
1364
1365         Use is<>() / downcast<>() for TransformOperation subclasses and clean
1366         up the surrounding code.
1367
1368         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
1369         (IPC::ArgumentCoder<TransformOperations>::encode):
1370
1371 2014-10-15  Alexey Proskuryakov  <ap@apple.com>
1372
1373         [Mac] Allow some Kerberos related paths in sandbox
1374         https://bugs.webkit.org/show_bug.cgi?id=137666
1375         rdar://problem/17965010
1376
1377         Reviewed by Darin Adler.
1378
1379         * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
1380         * WebProcess/com.apple.WebProcess.sb.in:
1381
1382 2014-10-15  Alexey Proskuryakov  <ap@apple.com>
1383
1384         [Mac] Allow plug-ins to read managed preferences
1385         https://bugs.webkit.org/show_bug.cgi?id=137665
1386         <rdar://problem/18255601>
1387
1388         Reviewed by Darin Adler.
1389
1390         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
1391
1392 2014-10-14  Joonghun Park  <jh718.park@samsung.com>
1393
1394         [WK2][EFL] Fix the problem that threads created by a DispatchQueueEfl are not destroyed
1395         even after the DispatchQueueEfl has been destructed
1396         https://bugs.webkit.org/show_bug.cgi?id=137195
1397
1398         Reviewed by Gyuyoung Kim.
1399
1400         Linux and Unix System's pthreads are created in joinable state by default.
1401         If threads aren't destructed explicitly, it will be still live
1402         until process which created the thread is dead.
1403         Besides it may cause out of capacity range of thread creation in a process.
1404         It is one of hidden defects.
1405         This patch calls detachThread() to detach thread immediately after it is created.
1406         So the thread can be destroyed as soon as the thread's ThreadContext::function()
1407         returns.
1408
1409         * Platform/efl/DispatchQueueEfl.cpp:
1410         (DispatchQueue::ThreadContext::start):
1411
1412 2014-10-14  Chris Dumez  <cdumez@apple.com>
1413
1414         Use is<>() / downcast<>() for PlatformCAAnimation subclasses
1415         https://bugs.webkit.org/show_bug.cgi?id=137722
1416
1417         Reviewed by Simon Fraser.
1418
1419         Use is<>() / downcast<>() for PlatformCAAnimation subclasses and clean
1420         up the surrounding code.
1421
1422         * WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
1423         * WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
1424         (WebKit::PlatformCAAnimationRemote::copy):
1425         (WebKit::PlatformCAAnimationRemote::copyTimingFunctionFrom):
1426         (WebKit::PlatformCAAnimationRemote::copyFromValueFrom):
1427         (WebKit::PlatformCAAnimationRemote::copyToValueFrom):
1428         (WebKit::PlatformCAAnimationRemote::copyValuesFrom):
1429         (WebKit::PlatformCAAnimationRemote::copyKeyTimesFrom):
1430         (WebKit::PlatformCAAnimationRemote::copyTimingFunctionsFrom):
1431         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
1432         (WebKit::PlatformCALayerRemote::addAnimationForKey):
1433         (WebKit::PlatformCALayerRemote::animationStarted):
1434         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
1435         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1436         (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
1437
1438 2014-10-14  Alexey Proskuryakov  <ap@apple.com>
1439
1440         REGRESSION (r165356): Issues with Japanese text input
1441         https://bugs.webkit.org/show_bug.cgi?id=137719
1442         rdar://problem/18431952
1443         rdar://problem/18483741
1444
1445         Reviewed by Darin Adler.
1446
1447         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didChangeSelection):
1448         In sync code path, ensure consistent message delivery order by adding
1449         a DispatchMessageEvenWhenWaitingForSyncReply flag. This way, delayed
1450         EditorStateChanged messages won't confuse UI process.
1451
1452 2014-10-14  Anders Carlsson  <andersca@apple.com>
1453
1454         Hide the find indicator when starting a swipe
1455         https://bugs.webkit.org/show_bug.cgi?id=137711
1456
1457         Reviewed by Tim Horton.
1458
1459         * UIProcess/mac/PageClientImpl.mm:
1460         (WebKit::PageClientImpl::navigationGestureDidBegin):
1461
1462 2014-10-14  Chris Dumez  <cdumez@apple.com>
1463
1464         Use is<>() / downcast<>() for RenderImage
1465         https://bugs.webkit.org/show_bug.cgi?id=137683
1466
1467         Reviewed by Mihnea Ovidenie.
1468
1469         Use is<>() / downcast<>() for RenderImage.
1470
1471         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
1472         (WebKit::cachedImage):
1473         * WebProcess/WebPage/ios/WebPageIOS.mm:
1474         (WebKit::WebPage::performActionOnElement):
1475
1476 2014-10-13  Carlos Garcia Campos  <cgarcia@igalia.com>
1477
1478         [GTK][CMake] Non-ninja build is broken since r174422
1479         https://bugs.webkit.org/show_bug.cgi?id=137656
1480
1481         Reviewed by Philippe Normand.
1482
1483         Make WebKit2-forwarding-headers depend only on static,
1484         non-generated sources.
1485
1486         * CMakeLists.txt:
1487         * PlatformGTK.cmake:
1488
1489 2014-10-13  Chris Dumez  <cdumez@apple.com>
1490
1491         Use is<>() / downcast<>() for PlatformCALayer subclasses
1492         https://bugs.webkit.org/show_bug.cgi?id=137661
1493
1494         Reviewed by Simon Fraser.
1495
1496         Use is<>() / downcast<>() for PlatformCALayer subclasses and clean up 
1497         the surrounding code.
1498
1499         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
1500         (WebKit::PlatformCALayerRemote::~PlatformCALayerRemote):
1501         (WebKit::PlatformCALayerRemote::updateClonedLayerProperties):
1502         (WebKit::PlatformCALayerRemote::recursiveBuildTransaction):
1503         (WebKit::PlatformCALayerRemote::setSublayers):
1504         (WebKit::PlatformCALayerRemote::appendSublayer):
1505         (WebKit::PlatformCALayerRemote::insertSublayer):
1506         (WebKit::PlatformCALayerRemote::replaceSublayer):
1507         (WebKit::PlatformCALayerRemote::adoptSublayers):
1508         (WebKit::PlatformCALayerRemote::setMask):
1509         (WebKit::PlatformCALayerRemote::copyFiltersFrom):
1510         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
1511         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
1512         * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
1513         (WebKit::RemoteLayerTreeContext::buildTransaction):
1514
1515 2014-10-13  Chris Dumez  <cdumez@apple.com>
1516
1517         Use is<>() / downcast<>() for Filter / FilterOperation subclasses
1518         https://bugs.webkit.org/show_bug.cgi?id=137644
1519
1520         Reviewed by Darin Adler.
1521
1522         Use is<>() / downcast<>() for Filter / FilterOperation subclasses.
1523
1524         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
1525         (IPC::ArgumentCoder<WebCore::FilterOperations>::encode):
1526         * Shared/WebCoreArgumentCoders.cpp:
1527         (IPC::ArgumentCoder<FilterOperation>::encode):
1528         * Shared/mac/RemoteLayerTreeTransaction.mm:
1529         (WebKit::RemoteLayerTreeTextStream::operator<<):
1530
1531 2014-10-12  Sergio Villar Senin  <svillar@igalia.com>
1532
1533         [SOUP] [WK2] WebProcess and NetworkProcess initialization clears cache contents
1534         https://bugs.webkit.org/show_bug.cgi?id=137489
1535
1536         Reviewed by Carlos Garcia Campos.
1537
1538         Temporarily set the SoupCache's maximum size to a huge value
1539         before calling soup_cache_load() so that the cache is not shrinked
1540         to the default value.
1541
1542         * NetworkProcess/soup/NetworkProcessSoup.cpp:
1543         (WebKit::NetworkProcess::platformInitializeNetworkProcess):
1544         * WebProcess/soup/WebProcessSoup.cpp:
1545         (WebKit::WebProcess::platformInitializeWebProcess):
1546
1547 2014-10-12  Ryuan Choi  <ryuan.choi@gmail.com>
1548
1549         [EFL] Introduce EWebKit_Extension
1550         https://bugs.webkit.org/show_bug.cgi?id=134921
1551
1552         Reviewed by Gyuyoung Kim.
1553
1554         EWebKit2 does not provide the functionality to extend WebProcess.
1555         Although there is ewk_context_new_with_injected_bundle_path() in ewebkit2 APIs,
1556         application developers can not make bundle object without touching WK APIs
1557         which ewebkit2 does not expose.
1558
1559         This patch introduces EWebKit_Extension, basic structure for the extension of WebProcess.
1560
1561         * PlatformEfl.cmake:
1562         Added files for the EWebKit_Extension and install them properly.
1563         * UIProcess/API/efl/ewk_context.cpp:
1564         (EwkContext::EwkContext):
1565         (bundlePathForExtension):
1566         (EwkContext::create):
1567         (EwkContext::getInjectedBundleInitializationUserData):
1568         (EwkContext::setMessageFromInjectedBundleCallback):
1569         (ewk_context_new_with_extensions_path):
1570         Deleted because ewebkit2 does not have a way to make injected bundle.
1571         Instead, Ewk_Extension will cover the same functionalities.
1572         (ewk_context_new_with_injected_bundle_path): Deleted.
1573         * UIProcess/API/efl/ewk_context.h:
1574         * UIProcess/API/efl/ewk_context_private.h:
1575         (EwkContext::extensionsPath):
1576         * UIProcess/API/efl/tests/InjectedBundle/injected_bundle_sample.cpp: Removed.
1577         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
1578         (EWK2UnitTest::EWK2UnitTestEnvironment::extensionSample):
1579         (EWK2UnitTest::EWK2UnitTestEnvironment::injectedBundleSample): Renamed injectedBundleSample to extensionSample.
1580         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
1581         * UIProcess/API/efl/tests/extensions/extension_sample.cpp: Copied from Source/WebKit2/UIProcess/API/efl/tests/InjectedBundle/injected_bundle_sample.cpp.
1582         * UIProcess/API/efl/tests/test_ewk2_context.cpp: Renamed ewk_context_new_with_injected_bundle_path to ewk_context_new_with_extensions_path.
1583         (TEST_F):
1584         * WebProcess/InjectedBundle/API/efl/EWebKit_Extension.h: Added.
1585         * WebProcess/InjectedBundle/API/efl/ewk_extension.cpp: Added.
1586         (EwkExtension::append):
1587         (EwkExtension::remove):
1588         (ewk_extension_client_add):
1589         (ewk_extension_client_del):
1590         * WebProcess/InjectedBundle/API/efl/ewk_extension.h: Added.
1591         * WebProcess/InjectedBundle/API/efl/ewk_extension_private.h: Added.
1592         (EwkExtension::EwkExtension):
1593         (EwkExtension::~EwkExtension):
1594         * WebProcess/efl/ExtensionManagerEfl.cpp: Added.
1595         (WebKit::ExtensionManagerEfl::shared):
1596         (WebKit::ExtensionManagerEfl::ExtensionManagerEfl):
1597         (WebKit::ExtensionManagerEfl::initialize):
1598         * WebProcess/efl/ExtensionManagerEfl.h: Added.
1599         * WebProcess/efl/WebInjectedBundleMainEfl.cpp: Added.
1600         (WKBundleInitialize):
1601         * efl/ewebkit2-extension.pc.in: Added.
1602
1603 2014-10-10  Chris Dumez  <cdumez@apple.com>
1604
1605         Use is<>() / downcast<>() for Image subclasses
1606         https://bugs.webkit.org/show_bug.cgi?id=137625
1607
1608         Reviewed by Andreas Kling.
1609
1610         Use is<>() / downcast<>() for Image subclasses.
1611
1612         * WebProcess/Plugins/PluginView.cpp:
1613         (WebKit::PluginView::pluginSnapshotTimerFired):
1614
1615 2014-10-10  Chris Dumez  <cdumez@apple.com>
1616
1617         Use is<>() / downcast<>() for GraphicsLayer subclasses
1618         https://bugs.webkit.org/show_bug.cgi?id=137595
1619
1620         Reviewed by Darin Adler.
1621
1622         Use is<>() / downcast<>() for GraphicsLayer subclasses and clean up the
1623         surrounding code.
1624
1625         * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
1626         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1627         (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
1628         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1629         (WebKit::TiledCoreAnimationDrawingArea::layerForTransientZoom):
1630         (WebKit::TiledCoreAnimationDrawingArea::shadowLayerForTransientZoom):
1631
1632 2014-10-10  Pascal Jacquemart  <p.jacquemart@samsung.com>
1633
1634         Fix debug build on EFL after r174584
1635         https://bugs.webkit.org/show_bug.cgi?id=137613
1636
1637         Reviewed by Christophe Dumez.
1638
1639         * UIProcess/efl/RequestManagerClientEfl.cpp:
1640         (WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
1641
1642 2014-10-10  Chris Dumez  <cdumez@apple.com>
1643
1644         Use is<>() / downcast<>() for RenderBoxModelObject
1645         https://bugs.webkit.org/show_bug.cgi?id=137587
1646
1647         Reviewed by Mihnea Ovidenie.
1648
1649         Use is<>() / downcast<>() for RenderBoxModelObject and clean up the
1650         surrounding code.
1651
1652         * WebProcess/Plugins/PluginView.cpp:
1653         (WebKit::PluginView::renderer):
1654         (WebKit::PluginView::invalidateRect):
1655
1656 2014-10-10  Pascal Jacquemart  <p.jacquemart@samsung.com>
1657
1658         [SOUP] Remove custom URI schemes implementation
1659         https://bugs.webkit.org/show_bug.cgi?id=128169
1660
1661         Reviewed by Carlos Garcia Campos.
1662
1663         * Shared/WebProcessCreationParameters.cpp:
1664         (WebKit::WebProcessCreationParameters::encode):
1665         (WebKit::WebProcessCreationParameters::decode):
1666         * Shared/WebProcessCreationParameters.h:
1667         * UIProcess/API/C/soup/WKAPICastSoup.h:
1668         * UIProcess/API/C/soup/WKContextSoup.cpp: Removed.
1669         * UIProcess/API/C/soup/WKSoupRequestManager.cpp: Removed.
1670         * UIProcess/WebContext.cpp:
1671         (WebKit::WebContext::WebContext):
1672         * UIProcess/WebPageProxy.cpp:
1673         (WebKit::WebPageProxy::didReceiveURIRequest): Deleted.
1674         * UIProcess/WebPageProxy.h:
1675         * UIProcess/WebPageProxy.messages.in:
1676         * UIProcess/soup/WebSoupRequestManagerClient.cpp: Removed.
1677         * UIProcess/soup/WebSoupRequestManagerProxy.cpp: Removed.
1678         * UIProcess/soup/WebSoupRequestManagerProxy.messages.in: Removed.
1679         * WebProcess/WebProcess.cpp:
1680         (WebKit::WebProcess::WebProcess):
1681         * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
1682         (webkitSoupRequestGenericSendAsync):
1683         (webkitSoupRequestGenericSendFinish):
1684         * WebProcess/soup/WebProcessSoup.cpp:
1685         (WebKit::WebProcess::platformInitializeWebProcess):
1686         * WebProcess/soup/WebSoupRequestManager.cpp: Removed.
1687         * WebProcess/soup/WebSoupRequestManager.messages.in: Removed.
1688
1689 2014-10-09  Dean Jackson  <dino@apple.com>
1690
1691         Remove ENABLE_CSS3_CONDITIONAL_RULES
1692         https://bugs.webkit.org/show_bug.cgi?id=137571
1693
1694         Reviewed by Simon Fraser.
1695
1696         * Configurations/FeatureDefines.xcconfig:
1697
1698 2014-10-09  Tim Horton  <timothy_horton@apple.com>
1699
1700         Move ServicesOverlayController to WebCore
1701         https://bugs.webkit.org/show_bug.cgi?id=137416
1702         <rdar://problem/18546283>
1703
1704         Reviewed by Anders Carlsson.
1705
1706         * Platform/Logging.h:
1707         Move Services logging channel to WebCore.
1708
1709         * WebKit2.xcodeproj/project.pbxproj:
1710         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1711         (WebKit::WebChromeClient::handleTelephoneNumberClick):
1712         (WebKit::WebChromeClient::handleSelectionServiceClick):
1713         (WebKit::WebChromeClient::hasRelevantSelectionServices):
1714         Implement services-related ChromeClient callbacks.
1715         Clicks are forwarded to WebPageMac where they do what they used to;
1716         hasRelevantSelectionServices is implemented as it was when it lived
1717         inside ServicesOverlayController.
1718
1719         * WebProcess/WebCoreSupport/WebChromeClient.h:
1720         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1721         (WebKit::WebEditorClient::selectedTelephoneNumberRangesChanged): Deleted.
1722         (WebKit::WebEditorClient::selectionRectsDidChange): Deleted.
1723         * WebProcess/WebCoreSupport/WebEditorClient.h:
1724         Remove WebEditorClient overrides for now-removed functions.
1725
1726         * WebProcess/WebPage/WebPage.cpp:
1727         (WebKit::WebPage::WebPage):
1728         (WebKit::WebPage::updatePreferences):
1729         Forward serviceControlsEnabled setting to WebCore.
1730
1731         (WebKit::WebPage::servicesOverlayController): Deleted.
1732         * WebProcess/WebPage/WebPage.h:
1733         (WebKit::WebPage::serviceControlsEnabled): Deleted.
1734
1735 2014-10-09  Andy Estes  <aestes@apple.com>
1736
1737         [iOS] Crash in CFURLDownloadClient.didFail if the download has a null resumeData
1738         https://bugs.webkit.org/show_bug.cgi?id=137551
1739
1740         Reviewed by David Kilzer.
1741
1742         CFDataGetBytePtr() and CFDataGetLength() crash if passed a null value.
1743
1744         * Shared/Downloads/ios/DownloadIOS.mm:
1745         (WebKit::setUpDownloadClient):
1746
1747 2014-10-09  Carlos Garcia Campos  <cgarcia@igalia.com>
1748
1749         [X11] Plugin process crashes in NetscapePlugin::platformPostInitialize()
1750         https://bugs.webkit.org/show_bug.cgi?id=137426
1751
1752         Reviewed by Darin Adler.
1753
1754         For some reason flash crashes when NPP_GetValue is called with
1755         NPPVpluginCancelSrcStream, but only in windowed mode. Not calling
1756         NPP_GetValue and unconditionally loading the source URL in the
1757         browser fixes the crash and plugins work normally. We can handle
1758         this particular case with a new quirk.
1759
1760         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
1761         (WebKit::NetscapePluginModule::determineQuirks): Add
1762         DoNotCancelSrcStreamInWindowedMode quirk if it's flash plugin.
1763         * Shared/Plugins/PluginQuirks.h: Add
1764         DoNotCancelSrcStreamInWindowedMode quirk.
1765         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1766         (WebKit::NetscapePlugin::shouldLoadSrcURL): Return early if plugin
1767         is windowed and DoNotCancelSrcStreamInWindowedMode quirk is present.
1768
1769 2014-10-09  Chris Dumez  <cdumez@apple.com>
1770
1771         Use is<>() / downcast<>() for Widget subclasses
1772         https://bugs.webkit.org/show_bug.cgi?id=137549
1773
1774         Reviewed by Darin Adler.
1775
1776         Use is<>() / downcast<>() for Widget subclasses and clean up the
1777         surrounding code.
1778
1779         * Shared/WebRenderObject.cpp:
1780         (WebKit::WebRenderObject::WebRenderObject):
1781
1782 2014-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>
1783
1784         [GTK] Use the PageLoadState observer also to monitor title and estimated load progress
1785         https://bugs.webkit.org/show_bug.cgi?id=136997
1786
1787         Reviewed by Gustavo Noronha Silva.
1788
1789         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
1790         (attachLoaderClientToView): Remove implementation of
1791         didReceiveTitleForFrame, didStartProgress, didChangeProgress and
1792         didFinishProgress.
1793         (didReceiveTitleForFrame): Deleted.
1794         (didChangeProgress): Deleted.
1795         * UIProcess/API/gtk/WebKitWebView.cpp:
1796         (webkit_web_view_get_estimated_load_progress): Return the value
1797         directly from the PageLoadState object, since we don't need to
1798         cache the value anymore.
1799         (webkitWebViewSetTitle): Deleted.
1800         (webkitWebViewSetEstimatedLoadProgress): Deleted.
1801         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
1802
1803 2014-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>
1804
1805         Race condition with WebKitWebView:is-loading after starting page load
1806         https://bugs.webkit.org/show_bug.cgi?id=136692
1807
1808         Reviewed by Gustavo Noronha Silva.
1809
1810         Use PageLoadState::Observer to update both is-loading and uri
1811         properties, instead of manually update them. This ensures that our
1812         web view is always in sync with the WebPageProxy so that
1813         webkit_web_view_is_loading() returns true right after requesting
1814         any load. We still need to manually set the is-loading property
1815         only in the case where we delay the emission of the load-changed
1816         signals when waiting for the main resource. The bahaviour is a bit
1817         different but still consistent with what our API documentation says.
1818
1819         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
1820         (attachLoaderClientToView): Remove
1821         didSameDocumentNavigationForFrame implementation, since we are
1822         already notified about the URL change by the PageLoadState::Observer.
1823         (didSameDocumentNavigationForFrame): Deleted.
1824         * UIProcess/API/gtk/WebKitWebView.cpp:
1825         (webkitWebViewSetIsLoading): No longer update the URI when
1826         changing the is-loading property.
1827         (webkitWebViewConstructed): Crate a PageLoadStateObserver and add
1828         it to the PageLoadState.
1829         (webkitWebViewDispose): Remove the PageLoadStateObserver from the PageLoadState.
1830         (webkitWebViewEmitLoadChanged): Add isDelayedEvent parameter to
1831         update the is-loading property accordingly when emitting the
1832         delayed events.
1833         (webkitWebViewEmitDelayedLoadEvents): Pass true as isDelayedEvent
1834         parameter of webkitWebViewEmitLoadChanged().
1835         (webkitWebViewLoadChanged): Pass false as isDelayedEvent parameter
1836         of webkitWebViewEmitLoadChanged().
1837         (webkitWebViewLoadFailed):
1838         (webkitWebViewLoadFailedWithTLSErrors):
1839         (webkitWebViewUpdateURI): Deleted.
1840         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
1841
1842 2014-10-08  Christophe Dumez  <cdumez@apple.com>
1843
1844         Use is<>() / downcast<>() for RenderBlock objects
1845         https://bugs.webkit.org/show_bug.cgi?id=137512
1846
1847         Reviewed by Darin Adler.
1848
1849         Use is<>() / downcast<>() for RenderBlock objects and clean up the 
1850         surrounding code.
1851
1852         * WebProcess/WebPage/ios/WebPageIOS.mm:
1853         (WebKit::WebPage::rangeForWebSelectionAtPosition):
1854         (WebKit::WebPage::contractedRangeFromHandle):
1855
1856 2014-10-08  Ada Chan  <adachan@apple.com>
1857
1858         Implement WKPageIsPlayingAudio().
1859         https://bugs.webkit.org/show_bug.cgi?id=137048
1860
1861         Reviewed by Darin Adler.
1862
1863         * UIProcess/API/C/WKPage.cpp:
1864         (WKPageIsPlayingAudio):
1865
1866 2014-10-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1867
1868         [EFL][CoordinatedGraphics] All EFL layout tests are broken since r174231
1869         https://bugs.webkit.org/show_bug.cgi?id=137443
1870
1871         Reviewed by Zoltan Herczeg.
1872
1873         EFL layout test and MiniBrowser have broken since r174231. r174231 was to move PageOverlay implementation
1874         from WebKit2 to WebCore with lazy initializing of PageOverlayController. It caused all EFL layout tests
1875         crash and build break. To restore EFL layout test, this patch sets viewOverlayRootLayer through
1876         attachViewOverlayGraphicsLayer() as mac port's one in r174231.
1877
1878         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:
1879         (WebKit::CoordinatedDrawingArea::attachViewOverlayGraphicsLayer):
1880         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
1881         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1882         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
1883         (WebKit::CoordinatedLayerTreeHost::updateRootLayers):
1884         (WebKit::CoordinatedLayerTreeHost::setViewOverlayRootLayer):
1885         (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
1886         (WebKit::CoordinatedLayerTreeHost::didFlushRootLayer):
1887         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
1888
1889 2014-10-08  Commit Queue  <commit-queue@webkit.org>
1890
1891         Unreviewed, rolling out r174335.
1892         https://bugs.webkit.org/show_bug.cgi?id=137515
1893
1894         It broke EFL layout test totally (Requested by gyuyoung on
1895         #webkit).
1896
1897         Reverted changeset:
1898
1899         "[EFL] Introduce EWebKit_Extension"
1900         https://bugs.webkit.org/show_bug.cgi?id=134921
1901         http://trac.webkit.org/changeset/174335
1902
1903 2014-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>
1904
1905         [GTK] Make forwarding headers generation depend on source code
1906         https://bugs.webkit.org/show_bug.cgi?id=137394
1907
1908         Reviewed by Philippe Normand.
1909
1910         Only run generate-forwarding-headers.pl when source code changes
1911         and use a different target for the symlinks.
1912
1913         * PlatformGTK.cmake:
1914
1915 2014-10-07  Pascal Jacquemart  <p.jacquemart@samsung.com>
1916
1917         [EFL] Enable custom URI schemes with CustomProtocols
1918         https://bugs.webkit.org/show_bug.cgi?id=128177
1919
1920         Reviewed by Gyuyoung Kim.
1921
1922         Fixing ewk_context_url_scheme_register() ewebkit2 API
1923         rely on r162449 - CustomProtocols implementation from Carlos Garcia Campos
1924
1925         * PlatformEfl.cmake:
1926         * UIProcess/API/efl/ewk_context.h:
1927         * UIProcess/API/efl/ewk_url_scheme_request.cpp:
1928         (EwkUrlSchemeRequest::EwkUrlSchemeRequest):
1929         (EwkUrlSchemeRequest::finish):
1930         * UIProcess/API/efl/ewk_url_scheme_request_private.h:
1931         (EwkUrlSchemeRequest::create):
1932         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
1933         (TEST_F):
1934         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp:
1935         * UIProcess/efl/RequestManagerClientEfl.cpp:
1936         (WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
1937         (WebKit::RequestManagerClientEfl::startLoading):
1938         (WebKit::RequestManagerClientEfl::stopLoading):
1939         (WebKit::RequestManagerClientEfl::registerURLSchemeHandler):
1940         (WebKit::EwkUrlSchemeHandler::EwkUrlSchemeHandler): Deleted.
1941         (WebKit::RequestManagerClientEfl::didReceiveURIRequest): Deleted.
1942         * UIProcess/efl/RequestManagerClientEfl.h:
1943         * UIProcess/efl/WebContextEfl.cpp:
1944         (WebKit::WebContext::platformInitializeWebProcess):
1945         * UIProcess/soup/WebContextSoup.cpp:
1946         (WebKit::WebContext::platformInitializeNetworkProcess):
1947
1948 2014-10-07  Sungmann Cho  <sungmann.cho@navercorp.com>
1949
1950         Remove WKPageCreateSnapshotOfVisibleContent API.
1951         https://bugs.webkit.org/show_bug.cgi?id=66979
1952
1953         Reviewed by Darin Adler.
1954
1955         After the landing of the first patch of webkit.org/b/66979,
1956         WKPageCreateSnapshotOfVisibleContent API has been neglected for years.
1957         Currently, this is not used anywhere and does not break the nightlies.
1958         So we can remove this.
1959
1960         * UIProcess/API/C/WKPage.cpp:
1961         (WKPageCreateSnapshotOfVisibleContent): Deleted.
1962         * UIProcess/API/C/WKPagePrivate.h:
1963
1964 2014-10-07  Sungmann Cho  <sungmann.cho@navercorp.com>
1965
1966         Remove WKPageSetInvalidMessageFunction.
1967         https://bugs.webkit.org/show_bug.cgi?id=137509
1968
1969         Reviewed by Benjamin Poulain.
1970
1971         According to the FIXME comment in WKPageSetInvalidMessageFunction,
1972         we can remove this function when doing so won't break the nightlies.
1973         Currently, this is not used anywhere and does not break the nightlies.
1974         So we can remove this.
1975
1976         * UIProcess/API/C/WKPage.cpp:
1977         (WKPageSetInvalidMessageFunction): Deleted.
1978         * UIProcess/API/C/WKPagePrivate.h:
1979
1980 2014-10-07  Christophe Dumez  <cdumez@apple.com>
1981
1982         [WK2] Use is<>() / downcast<>() for DrawingArea subclasses
1983         https://bugs.webkit.org/show_bug.cgi?id=137497
1984
1985         Reviewed by Benjamin Poulain.
1986
1987         Use is<>() / downcast<>() for DrawingArea subclasses.
1988
1989         * WebProcess/WebPage/DrawingArea.h:
1990         * WebProcess/WebPage/WebPage.cpp:
1991         (WebKit::WebPage::didCommitLoad):
1992         * WebProcess/WebPage/ios/WebPageIOS.mm:
1993         (WebKit::WebPage::synchronizeDynamicViewportUpdate):
1994         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
1995         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1996
1997 2014-10-07  Simon Fraser  <simon.fraser@apple.com>
1998
1999         Roll-over Changelogs.
2000
2001         * ChangeLog-2014-10-07: Copied from Source/WebKit2/ChangeLog.
2002
2003 == Rolled over to ChangeLog-2014-10-07 ==