[iOS][WebKit2] Mark layer contents as being opaque if they are
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2014-03-18  Tim Horton  <timothy_horton@apple.com>
2
3         [iOS][WebKit2] Mark layer contents as being opaque if they are
4         https://bugs.webkit.org/show_bug.cgi?id=130427
5         <rdar://problem/15540434>
6
7         Reviewed by Simon Fraser.
8
9         * Shared/mac/RemoteLayerBackingStore.h:
10         (WebKit::RemoteLayerBackingStore::isOpaque):
11         * Shared/mac/RemoteLayerBackingStore.mm:
12         (RemoteLayerBackingStore::RemoteLayerBackingStore):
13         (RemoteLayerBackingStore::ensureBackingStore):
14         (RemoteLayerBackingStore::encode):
15         (RemoteLayerBackingStore::decode):
16         (RemoteLayerBackingStore::display):
17         (RemoteLayerBackingStore::applyBackingStoreToLayer):
18         Move the code to set a RemoteLayerBackingStore as a CALayer's contents
19         from RemoteLayerTreePropertyApplier to RemoteLayerBackingStore (mostly
20         as a way to keep the USE(IOSURFACE) #ifs in one place).
21         Remove the surface() getter, because it's no longer needed, and make
22         image() private as it can be now (and rename it to createImageForFrontBuffer
23         for clarity's sake).
24
25         Add an isOpaque argument to ensureBackingStore, encode/decode it, and
26         add a getter. If isOpaque is true when applying backing store to the
27         CALayer on the UI process side, set CALayer.contentsOpaque to let CA know.
28
29         Make opaque bitmaps if not using accelerated drawing. For the IOSurface
30         case, we can't make opaque IOSurfaces, but telling CA that we have filled
31         the whole bitmap still enables similar optimizations.
32
33         * Shared/mac/RemoteLayerTreePropertyApplier.mm:
34         (WebKit::applyPropertiesToLayer):
35         Reset contentsOpaque if the layer loses its backing store.
36
37         * Shared/mac/RemoteLayerTreeTransaction.mm:
38         (WebKit::RemoteLayerTreeTextStream::operator<<):
39         (WebKit::dumpChangedLayers):
40         Add a bit more logging about RemoteLayerBackingStore's opaqueness
41         and acceleratedness.
42
43         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
44         (PlatformCALayerRemote::updateBackingStore):
45         (PlatformCALayerRemote::setOpaque):
46         Invalidate the RemoteLayerBackingStore if layer opaqueness changes.
47
48 2014-03-18  Brady Eidson  <beidson@apple.com>
49
50         Make image controls menu work in WK2
51         <rdar://problem/16294412> and https://bugs.webkit.org/show_bug.cgi?id=130424
52
53         Reviewed by Tim Horton.
54
55         * Platform/SharedMemory.h:
56         * Platform/mac/SharedMemoryMac.cpp:
57         (WebKit::SharedMemory::Handle::~Handle):
58         (WebKit::SharedMemory::Handle::clear):
59
60         * Platform/unix/SharedMemoryUnix.cpp:
61         (WebKit::SharedMemory::Handle::~Handle):
62         (WebKit::SharedMemory::Handle::clear):
63
64         * Shared/ContextMenuContextData.cpp:
65         (WebKit::ContextMenuContextData::ContextMenuContextData):
66         (WebKit::ContextMenuContextData::operator=):
67         (WebKit::ContextMenuContextData::encode):
68         (WebKit::ContextMenuContextData::decode):
69         * Shared/ContextMenuContextData.h:
70         (WebKit::ContextMenuContextData::controlledImageHandle):
71
72         * Shared/ShareableBitmap.cpp:
73         (WebKit::ShareableBitmap::Handle::clear):
74         * Shared/ShareableBitmap.h:
75         * UIProcess/WebContextMenuProxy.h:
76
77         * UIProcess/WebPageProxy.cpp:
78         (WebKit::WebPageProxy::internalShowContextMenu):
79         (WebKit::WebPageProxy::replaceControlledImage):
80         * UIProcess/WebPageProxy.h:
81
82         * UIProcess/efl/WebContextMenuProxyEfl.cpp:
83         (WebKit::WebContextMenuProxyEfl::showContextMenu):
84         * UIProcess/efl/WebContextMenuProxyEfl.h:
85
86         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
87         (WebKit::WebContextMenuProxyGtk::showContextMenu):
88         * UIProcess/gtk/WebContextMenuProxyGtk.h:
89
90         Add a sharing service context menu that lives side-by-side with the normal one:
91         * UIProcess/mac/WebContextMenuProxyMac.h:
92         * UIProcess/mac/WebContextMenuProxyMac.mm:
93         (+[WKSharingServicePickerDelegate sharedSharingServicePickerDelegate]):
94         (-[WKSharingServicePickerDelegate setMenuProxy:WebKit::]):
95         (-[WKSharingServicePickerDelegate setPicker:]):
96         (-[WKSharingServicePickerDelegate sharingServicePicker:delegateForSharingService:]):
97         (-[WKSharingServicePickerDelegate sharingService:willShareItems:]):
98         (-[WKSharingServicePickerDelegate sharingService:didShareItems:]):
99         (-[WKSharingServicePickerDelegate sharingService:sourceFrameOnScreenForShareItem:]):
100         (-[WKSharingServicePickerDelegate sharingService:transitionImageForShareItem:contentRect:]):
101         (-[WKSharingServicePickerDelegate sharingService:sourceWindowForShareItems:sharingContentScope:]):
102         (WebKit::WebContextMenuProxyMac::contextMenuItemSelected):
103         (WebKit::WebContextMenuProxyMac::setupImageServicesMenu):
104         (WebKit::WebContextMenuProxyMac::clearImageServicesMenu):
105         (WebKit::WebContextMenuProxyMac::populate):
106         (WebKit::WebContextMenuProxyMac::showContextMenu):
107         (WebKit::WebContextMenuProxyMac::window):
108         (WebKit::WebContextMenuProxyMac::replaceControlledImage):
109
110         * WebProcess/WebPage/WebContextMenu.cpp:
111         (WebKit::WebContextMenu::show):
112         (WebKit::WebContextMenu::replaceControlledImage):
113         * WebProcess/WebPage/WebContextMenu.h:
114
115         Teach the WebProcess how to accept the replaced image.
116         * WebProcess/WebPage/WebPage.cpp:
117         (WebKit::WebPage::replaceControlledImage):
118         * WebProcess/WebPage/WebPage.h:
119         * WebProcess/WebPage/WebPage.messages.in:
120
121 2014-03-18  Anders Carlsson  <andersca@apple.com>
122
123         Begin cleaning up KeyedDecoder and KeyedEncoder
124         https://bugs.webkit.org/show_bug.cgi?id=130431
125
126         Reviewed by Tim Horton.
127
128         * Shared/cf/KeyedDecoder.cpp:
129         (WebKit::KeyedDecoder::KeyedDecoder):
130         If we can't parse the property list data, just add an empty dictionary to the stack.
131
132         (WebKit::KeyedDecoder::decodeBool):
133         Remove unneeded m_dictionaryStack.last() null check. m_dictionaryStack would either be empty
134         or at least have a root element; it would never have a null element.
135         
136         (WebKit::KeyedDecoder::decodeDouble):
137         Remove the same check as above and remove the CFNumberGetType checks since CFNumberGetValue will
138         do the type conversion for us and return false if it's lossy.
139
140         (WebKit::KeyedDecoder::decodeInt64):
141         Remove the m_dictionaryStack.last() check.
142
143         (WebKit::KeyedDecoder::decodeUInt32):
144         Ditto.
145
146         (WebKit::KeyedDecoder::decodeString):
147         Ditto.
148
149         (WebKit::KeyedDecoder::beginObject):
150         Ditto.
151
152         (WebKit::KeyedDecoder::beginArray):
153         Ditto.
154
155         (WebKit::KeyedDecoder::beginArrayElement):
156         Ditto.
157
158         * Shared/cf/KeyedDecoder.h:
159         Sort functions to be in the same logical order as the base class.
160
161         * Shared/cf/KeyedEncoder.cpp:
162         (WebKit::KeyedEncoder::finishEncoding):
163         Don't check for a non-null CFErrorRef here (which we incidentally never released on error). Instead,
164         just null check the returned CFDataRef object.
165
166 2014-03-18  Joseph Pecoraro  <pecoraro@apple.com>
167
168         Unreviewed typo build fix for r165846.
169
170         * Shared/WebPageCreationParameters.cpp:
171         (WebKit::WebPageCreationParameters::decode):
172
173 2014-03-18  Joseph Pecoraro  <pecoraro@apple.com>
174
175         WebKit2 SPI to disable remote inspection on a WKWebView / WKPage
176         https://bugs.webkit.org/show_bug.cgi?id=130371
177
178         Reviewed by Dan Bernstein.
179
180         * Shared/WebPageCreationParameters.h:
181         * Shared/WebPageCreationParameters.cpp:
182         (WebKit::WebPageCreationParameters::encode):
183         (WebKit::WebPageCreationParameters::decode):
184         Add allowsRemoteInspection bool.
185
186         * UIProcess/API/C/WKPagePrivate.h:
187         * UIProcess/API/C/WKPage.cpp:
188         (WKPageGetAllowsRemoteInspection):
189         (WKPageSetAllowsRemoteInspection):
190         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
191         * UIProcess/API/Cocoa/WKWebView.mm:
192         (-[WKWebView _allowsRemoteInspection]):
193         (-[WKWebView _setAllowsRemoteInspection:]):
194         Getter and setter for allowing remote inspection state.
195
196         * UIProcess/WebPageProxy.h:
197         (WebKit::WebPageProxy::allowsRemoteInspection):
198         * UIProcess/WebPageProxy.cpp:
199         (WebKit::WebPageProxy::WebPageProxy):
200         (WebKit::WebPageProxy::setAllowsRemoteInspection):
201         (WebKit::WebPageProxy::creationParameters):
202         Cached allows remote inspection state, with getter and setter.
203
204         * WebProcess/WebPage/WebPage.h:
205         * WebProcess/WebPage/WebPage.messages.in:
206         * WebProcess/WebPage/WebPage.cpp:
207         (WebKit::WebPage::setAllowsRemoteInspection):
208         When setting, call into WebCore to adjust the Page's setting.
209
210 2014-03-18  Anders Carlsson  <andersca@apple.com>
211
212         REGRESSION: Visited link coloring seems to be completely broken in tip of tree
213         https://bugs.webkit.org/show_bug.cgi?id=130419
214         <rdar://problem/16337850>
215
216         Reviewed by Dan Bernstein.
217
218         Make sure to send any queued up messages before calling connectionWillOpen so we'll ensure
219         FIFO ordering if any messages are sent from within connectionWillOpen.
220
221         * Shared/ChildProcessProxy.cpp:
222         (WebKit::ChildProcessProxy::didFinishLaunching):
223
224 2014-03-18  Joseph Pecoraro  <pecoraro@apple.com>
225
226         WebPageCreationParameters colorSpace should be MAC not COCOA
227         https://bugs.webkit.org/show_bug.cgi?id=130414
228
229         Reviewed by Dan Bernstein.
230
231         The colorSpace param was only set and used on Mac, not iOS.
232
233         * Shared/WebPageCreationParameters.h:
234         * Shared/WebPageCreationParameters.cpp:
235         (WebKit::WebPageCreationParameters::encode):
236         (WebKit::WebPageCreationParameters::decode):
237
238 2014-03-18  Simon Fraser  <simon.fraser@apple.com>
239
240         Dan says that options should be unsigned, and enums should be signed.
241         
242         Reviewed by Dan Bernstein.
243
244         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
245         (NS_ENUM):
246
247 2014-03-17  Alexey Proskuryakov  <ap@apple.com>
248
249         [WK2] Pass ranges over IPC in a cross-platform manner
250         https://bugs.webkit.org/show_bug.cgi?id=130376
251
252         Reviewed by Anders Carlsson.
253
254         Added an EditingRange class for IPC, which automatically converts to and from
255         NSRanges, knowing the difference between notFound and NSNotFound.
256
257         Manually applied the same fix to characterIndexForPoint.
258
259         * Scripts/webkit2/messages.py:
260         (struct_or_class):
261         * Shared/EditingRange.h: Added.
262         (WebKit::EditingRange::EditingRange):
263         (WebKit::EditingRange::isValid):
264         (WebKit::EditingRange::operator NSRange):
265         * UIProcess/API/mac/WKView.mm:
266         (-[WKView insertText:replacementRange:]):
267         (-[WKView selectedRange]):
268         (-[WKView hasMarkedText]):
269         (-[WKView setMarkedText:selectedRange:replacementRange:]):
270         (-[WKView markedRange]):
271         (-[WKView attributedSubstringForProposedRange:actualRange:]):
272         (-[WKView characterIndexForPoint:]):
273         (-[WKView firstRectForCharacterRange:actualRange:]):
274         * UIProcess/WebPageProxy.h:
275         * UIProcess/ios/WKContentViewInteraction.mm:
276         (-[WKContentView setMarkedText:selectedRange:]):
277         (-[WKContentView insertText:]):
278         * UIProcess/ios/WebPageProxyIOS.mm:
279         (WebKit::WebPageProxy::setComposition):
280         (WebKit::WebPageProxy::insertText):
281         (WebKit::WebPageProxy::insertDictatedText):
282         (WebKit::WebPageProxy::getMarkedRange):
283         (WebKit::WebPageProxy::getSelectedRange):
284         (WebKit::WebPageProxy::getAttributedSubstringFromRange):
285         (WebKit::WebPageProxy::firstRectForCharacterRange):
286         * UIProcess/mac/WebPageProxyMac.mm:
287         (WebKit::WebPageProxy::setComposition):
288         (WebKit::WebPageProxy::insertText):
289         (WebKit::WebPageProxy::insertDictatedText):
290         (WebKit::WebPageProxy::getMarkedRange):
291         (WebKit::WebPageProxy::getSelectedRange):
292         (WebKit::WebPageProxy::getAttributedSubstringFromRange):
293         (WebKit::WebPageProxy::firstRectForCharacterRange):
294         * WebKit2.xcodeproj/project.pbxproj:
295         * WebProcess/WebPage/WebPage.cpp:
296         (WebKit::WebPage::rangeFromEditingRange):
297         * WebProcess/WebPage/WebPage.h:
298         * WebProcess/WebPage/WebPage.messages.in:
299         * WebProcess/WebPage/ios/WebPageIOS.mm:
300         (WebKit::WebPage::setComposition):
301         (WebKit::WebPage::insertText):
302         (WebKit::WebPage::insertDictatedText):
303         (WebKit::WebPage::getMarkedRange):
304         (WebKit::WebPage::getSelectedRange):
305         (WebKit::WebPage::getAttributedSubstringFromRange):
306         (WebKit::WebPage::firstRectForCharacterRange):
307         * WebProcess/WebPage/mac/WebPageMac.mm:
308         (WebKit::WebPage::setComposition):
309         (WebKit::WebPage::insertText):
310         (WebKit::WebPage::insertDictatedText):
311         (WebKit::WebPage::getMarkedRange):
312         (WebKit::WebPage::getSelectedRange):
313         (WebKit::WebPage::getAttributedSubstringFromRange):
314         (WebKit::WebPage::characterIndexForPoint):
315         (WebKit::WebPage::firstRectForCharacterRange):
316
317 2014-03-17  Filip Pizlo  <fpizlo@apple.com>
318
319         More FTL enabling.
320
321         Rubber stamped by Dan Bernstein.
322
323         * Configurations/FeatureDefines.xcconfig:
324
325 2014-03-17  Simon Fraser  <simon.fraser@apple.com>
326
327         Renable pagination mode in WK2 MiniBrowser
328         https://bugs.webkit.org/show_bug.cgi?id=130374
329
330         Reviewed by Anders Carlsson.
331         
332         Add SPI for pagination mode.
333
334         * UIProcess/API/Cocoa/WKWebView.mm:
335         (-[WKWebView _paginationMode]):
336         (-[WKWebView _setPaginationMode:]):
337         (-[WKWebView _paginationBehavesLikeColumns]):
338         (-[WKWebView _setPaginationBehavesLikeColumns:]):
339         (-[WKWebView _pageLength]):
340         (-[WKWebView _setPageLength:]):
341         (-[WKWebView _gapBetweenPages]):
342         (-[WKWebView _setGapBetweenPages:]):
343         (-[WKWebView _pageCount]):
344         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
345         (NS_ENUM):
346
347 2014-03-18  Ryuan Choi  <ryuan.choi@samsung.com>
348
349         [CMAKE][WK2]Move CoordinatedGraphics related files out of WebKit2/CMakeLists.txt
350         https://bugs.webkit.org/show_bug.cgi?id=130390
351
352         Reviewed by Martin Robinson.
353
354         Now, only EFL port use CoordinatedGraphics among CMake based ports.
355
356         * CMakeLists.txt:
357         * PlatformEfl.cmake:
358         * PlatformGTK.cmake: Removed CoordinatedGraphics related files.
359
360 2014-03-18  Carlos Garcia Campos  <cgarcia@igalia.com>
361
362         [GTK] Race condition when the socket event source is cancelled
363         https://bugs.webkit.org/show_bug.cgi?id=130395
364
365         Reviewed by Martin Robinson.
366
367         In some cases when the socket event source is cancelled the socket
368         event source callback is called with the condition of the previous
369         poll instead of 0. This can happen sometimes when the source is
370         cancelled from the socket event source callback. Once the socket
371         event source is cancelled, it's dispatched by glib without
372         polling, so the condition is never reset again and the callback is
373         called again and again with the previous condition. When the
374         condition is G_IO_IN, the source is re-scheduled entering into an
375         infinite loop. We should always check if the source has been
376         cancelled at the beginning of the callback to destroy the source
377         instead of relying on the condition being 0.
378
379         * Platform/gtk/WorkQueueGtk.cpp:
380         (WorkQueue::SocketEventSource::isCancelled):
381         (WorkQueue::SocketEventSource::eventCallback):
382
383 2014-03-18  Csaba Osztrogonác  <ossy@webkit.org>
384
385         [GTK] URTFB after r165789. Stub function added.
386
387         * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
388         (WebKit::InjectedBundle::setBundleParameter):
389
390 2014-03-17  Jaehun Lim  <ljaehun.lim@samsung.com>
391
392         Unreviewed, EFL build fix after r165789
393
394         * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
395         (WebKit::InjectedBundle::setBundleParameter): Implemented.
396
397 2014-03-17  Jae Hyun Park  <jaepark@webkit.org>
398
399         [GTK] Build fix for debug build
400
401         Unreviewed.
402
403         finalizedListItem was actually used in ASSERT.  So, use ASSERT_UNUSED
404         instead of ASSERT.
405
406         * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
407         (webkitBackForwardListItemFinalized):
408
409 2014-03-17  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
410
411         [WK2] Getting rid of compilation warnings
412         https://bugs.webkit.org/show_bug.cgi?id=130348
413
414         Reviewed by Benjamin Poulain.
415
416         * UIProcess/API/APIHistoryClient.h:
417         (API::HistoryClient::didPerformClientRedirect):
418         (API::HistoryClient::didPerformServerRedirect):
419         (API::HistoryClient::didUpdateHistoryTitle):
420         * UIProcess/API/APILoaderClient.h:
421         (API::LoaderClient::didStartProvisionalLoadForFrame):
422         (API::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
423         (API::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
424         (API::LoaderClient::didCommitLoadForFrame):
425         (API::LoaderClient::didFinishLoadForFrame):
426         (API::LoaderClient::didFailLoadWithErrorForFrame):
427         (API::LoaderClient::didChangeBackForwardList):
428         * UIProcess/API/APIPolicyClient.h:
429         (API::PolicyClient::decidePolicyForNavigationAction):
430         (API::PolicyClient::decidePolicyForNewWindowAction):
431         (API::PolicyClient::decidePolicyForResponse):
432         (API::PolicyClient::unableToImplementPolicy):
433         * UIProcess/API/APIUIClient.h:
434         (API::UIClient::exceededDatabaseQuota):
435         (API::UIClient::saveDataToFileInDownloadsFolder):
436         * UIProcess/API/C/WKPage.cpp:
437         (WKPageSetPageLoaderClient):
438         * UIProcess/APISession.cpp:
439         (API::generateID):
440         * WebProcess/Plugins/PluginView.cpp:
441         (WebKit::PluginView::viewStateDidChange):
442
443 2014-03-17  Anders Carlsson  <andersca@apple.com>
444
445         Update the bundle parameters dictionary and send out KVO notifications
446         https://bugs.webkit.org/show_bug.cgi?id=130379
447         <rdar://problem/16213914>
448
449         Reviewed by Dan Bernstein.
450
451         * UIProcess/API/Cocoa/WKProcessPool.mm:
452         (-[WKProcessPool _setObject:forBundleParameter:]):
453         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.h:
454         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm:
455         (-[WKWebProcessBundleParameters setParameter:forKey:]):
456         * WebProcess/InjectedBundle/InjectedBundle.h:
457         * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
458         (WebKit::InjectedBundle::setBundleParameter):
459         * WebProcess/WebProcess.cpp:
460         (WebKit::WebProcess::setInjectedBundleParameter):
461         * WebProcess/WebProcess.h:
462         * WebProcess/WebProcess.messages.in:
463
464 2014-03-17  Tim Horton  <timothy_horton@apple.com>
465
466         Address some style nits.
467
468         * UIProcess/API/Cocoa/_WKThumbnailViewInternal.h:
469
470 2014-03-17  Simon Fraser  <simon.fraser@apple.com>
471
472         Address some style nits.
473
474         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
475
476 2014-03-17  Simon Fraser  <simon.fraser@apple.com>
477
478         Add transparent window support back into MiniBrowser
479         https://bugs.webkit.org/show_bug.cgi?id=130363
480
481         Reviewed by Anders Carlsson.
482         
483         Expose SPI for transparent window support.
484
485         * UIProcess/API/Cocoa/WKWebView.mm:
486         (-[WKWebView _drawsTransparentBackground]):
487         (-[WKWebView _setDrawsTransparentBackground:]):
488         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
489
490 2014-03-17  Alexey Proskuryakov  <ap@apple.com>
491
492         Undo some accidental Gtk changes from http://trac.webkit.org/changeset/165759
493
494         * UIProcess/WebPageProxy.cpp:
495         * WebProcess/WebPage/WebPage.messages.in:
496
497 2014-03-17  Csaba Osztrogonác  <ossy@webkit.org>
498
499         [WK2] URTBF after r165755 for non Apple platforms, stub functions added.
500
501         * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
502         (WebKit::InjectedBundle::platformInitialize):
503         * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
504         (WebKit::InjectedBundle::platformInitialize):
505
506 2014-03-17  Alexey Proskuryakov  <ap@apple.com>
507
508         Move convertToRange() helper to cross-platform WebPage.cpp
509         https://bugs.webkit.org/show_bug.cgi?id=130365
510
511         Reviewed by Tim Horton.
512
513         Also renamed it to rangeFromEditingLocationAndLength().
514
515         * WebProcess/WebPage/WebPage.cpp:
516         (WebKit::WebPage::rangeFromEditingLocationAndLength):
517         * WebProcess/WebPage/WebPage.h:
518         * WebProcess/WebPage/ios/WebPageIOS.mm:
519         (WebKit::WebPage::insertText):
520         * WebProcess/WebPage/mac/WebPageMac.mm:
521         (WebKit::WebPage::setComposition):
522         (WebKit::WebPage::insertText):
523         (WebKit::WebPage::insertDictatedText):
524         (WebKit::WebPage::getAttributedSubstringFromRange):
525         (WebKit::WebPage::characterIndexForPoint):
526         (WebKit::WebPage::firstRectForCharacterRange):
527
528 2014-03-17  Anders Carlsson  <andersca@apple.com>
529
530         Follow-up fix.
531
532         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.h:
533
534 2014-03-17  Enrica Casucci  <enrica@apple.com>
535
536         WK2: support data detectors driven action sheet..
537         https://bugs.webkit.org/show_bug.cgi?id=130362
538         <rdar://problem/16319711>
539
540         Reviewed by Benjamin Poulain.
541
542         * UIProcess/ios/WKActionSheetAssistant.mm:
543         (-[WKActionSheetAssistant showDataDetectorsSheet]):
544
545 2014-03-17  Anders Carlsson  <andersca@apple.com>
546
547         Fix 32-bit OS X build.
548
549         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.h:
550         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm:
551         * WebProcess/InjectedBundle/InjectedBundle.h:
552         * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
553         (WebKit::InjectedBundle::platformInitialize):
554
555 2014-03-17  Jae Hyun Park  <jaepark@webkit.org>
556
557         [GTK][CMake] Fix WebKit2 unused parameter warnings
558         https://bugs.webkit.org/show_bug.cgi?id=130316
559
560         Reviewed by Martin Robinson.
561
562         * Platform/gtk/WorkQueueGtk.cpp: Fix unused parameter warnings.
563         * UIProcess/API/gtk/PageClientImpl.cpp: Ditto.
564         * UIProcess/API/gtk/WebKitBackForwardListItem.cpp: Ditto.
565         * UIProcess/API/gtk/WebKitContextMenuClient.cpp: Ditto.
566         * UIProcess/API/gtk/WebKitContextMenuItem.cpp: Ditto.
567         * UIProcess/API/gtk/WebKitDownloadClient.cpp: Ditto.
568         * UIProcess/API/gtk/WebKitFaviconDatabase.cpp: Ditto.
569         * UIProcess/API/gtk/WebKitFindController.cpp: Ditto.
570         * UIProcess/API/gtk/WebKitFormClient.cpp: Ditto.
571         * UIProcess/API/gtk/WebKitGeolocationProvider.cpp: Ditto.
572         * UIProcess/API/gtk/WebKitLoaderClient.cpp: Ditto.
573         * UIProcess/API/gtk/WebKitPlugin.cpp: Ditto.
574         * UIProcess/API/gtk/WebKitPolicyClient.cpp: Ditto.
575         * UIProcess/API/gtk/WebKitRequestManagerClient.cpp: Ditto.
576         * UIProcess/API/gtk/WebKitTextChecker.cpp: Ditto.
577         * UIProcess/API/gtk/WebKitUIClient.cpp: Ditto.
578         * UIProcess/API/gtk/WebKitURISchemeRequest.cpp: Ditto.
579         * UIProcess/API/gtk/WebKitWebContext.cpp: Ditto.
580         * UIProcess/API/gtk/WebKitWebInspector.cpp: Ditto.
581         * UIProcess/API/gtk/WebKitWebView.cpp: Ditto.
582         * UIProcess/API/gtk/WebKitWebViewBase.cpp: Ditto.
583         * UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp: Ditto.
584         * UIProcess/API/gtk/WebViewBaseInputMethodFilter.cpp: Ditto.
585         * UIProcess/gtk/TextCheckerGtk.cpp: Ditto.
586         * UIProcess/gtk/WebContextMenuProxyGtk.cpp: Ditto.
587         * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: Ditto.
588         * WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp: Ditto.
589         * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp: Ditto.
590         * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: Ditto.
591         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: Ditto.
592         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Ditto.
593
594 2014-03-17  Alexey Proskuryakov  <ap@apple.com>
595
596         [Mac] Standardize on start/length in text input IPC methods
597         https://bugs.webkit.org/show_bug.cgi?id=130359
598
599         Reviewed by Anders Carlsson.
600
601         Some IPC methods used start/length, and others use start/end. This was confusing.
602
603         While here, changed WebPageMac.mm to not use NSMakeRange where we don't need it
604         (I want to move this code to WebPage.cpp, where it could be shared with iOS and
605         other platforms, as it doesn't depend on Foundation much).
606
607         * UIProcess/API/mac/WKView.mm:
608         (-[WKView insertText:replacementRange:]):
609         (-[WKView setMarkedText:selectedRange:replacementRange:]):
610         (-[WKView attributedSubstringForProposedRange:actualRange:]):
611         * UIProcess/WebPageProxy.cpp:
612         (WebKit::WebPageProxy::internalShowContextMenu):
613         * UIProcess/WebPageProxy.h:
614         * UIProcess/ios/WebPageProxyIOS.mm:
615         (WebKit::WebPageProxy::setComposition):
616         (WebKit::WebPageProxy::insertText):
617         * UIProcess/mac/WebPageProxyMac.mm:
618         (WebKit::WebPageProxy::setComposition):
619         (WebKit::WebPageProxy::insertText):
620         (WebKit::WebPageProxy::insertDictatedText):
621         (WebKit::WebPageProxy::getAttributedSubstringFromRange):
622         * WebProcess/WebPage/WebPage.cpp:
623         (WebKit::WebPage::setComposition):
624         * WebProcess/WebPage/WebPage.h:
625         * WebProcess/WebPage/WebPage.messages.in:
626         * WebProcess/WebPage/ios/WebPageIOS.mm:
627         (WebKit::WebPage::setComposition):
628         (WebKit::WebPage::insertText):
629         * WebProcess/WebPage/mac/WebPageMac.mm:
630         (WebKit::WebPage::setComposition):
631         (WebKit::WebPage::insertText):
632         (WebKit::WebPage::insertDictatedText):
633         (WebKit::WebPage::getAttributedSubstringFromRange):
634         (WebKit::convertToRange):
635         (WebKit::WebPage::firstRectForCharacterRange):
636
637 2014-03-17  Tim Horton  <timothy_horton@apple.com>
638
639         Rename WKThumbnailView to _WKThumbnailView
640         https://bugs.webkit.org/show_bug.cgi?id=130361
641
642         Reviewed by Anders Carlsson.
643
644         * UIProcess/API/Cocoa/_WKThumbnailView.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKThumbnailView.h.
645         * UIProcess/API/Cocoa/_WKThumbnailView.mm: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKThumbnailView.mm.
646         (-[_WKThumbnailView initWithFrame:fromWKView:]):
647         (-[_WKThumbnailView _viewWasUnparented]):
648         (-[_WKThumbnailView _viewWasParented]):
649         (-[_WKThumbnailView _requestSnapshotIfNeeded]):
650         (-[_WKThumbnailView _didTakeSnapshot:]):
651         (-[_WKThumbnailView viewDidMoveToWindow]):
652         (-[_WKThumbnailView setScale:]):
653         (-[_WKThumbnailView setUsesSnapshot:]):
654         (-[_WKThumbnailView _setThumbnailLayer:]):
655         (-[_WKThumbnailView _thumbnailLayer]):
656         * UIProcess/API/Cocoa/_WKThumbnailViewInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKThumbnailViewInternal.h.
657         * UIProcess/API/mac/WKView.mm:
658         (-[WKView _setThumbnailView:]):
659         (-[WKView _thumbnailView]):
660         (-[WKView _updateThumbnailViewLayer]):
661         * UIProcess/API/mac/WKViewInternal.h:
662         * UIProcess/mac/PageClientImpl.mm:
663         * WebKit2.xcodeproj/project.pbxproj:
664
665 2014-03-17  Anders Carlsson  <andersca@apple.com>
666
667         Add SPI for getting bundle parameters from the injected bundle
668         https://bugs.webkit.org/show_bug.cgi?id=130355
669
670         Reviewed by Dan Bernstein.
671
672         * UIProcess/mac/WebContextMac.mm:
673         (WebKit::WebContext::platformInitializeWebProcess):
674         * WebKit2.xcodeproj/project.pbxproj:
675         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.h: Copied from Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h.
676         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm: Copied from Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h.
677         (-[WKWebProcessBundleParameters initWithDictionary:]):
678         (-[WKWebProcessBundleParameters valueForKey:]):
679         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
680         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
681         (-[WKWebProcessPlugInController parameters]):
682         * WebProcess/InjectedBundle/InjectedBundle.cpp:
683         (WebKit::InjectedBundle::InjectedBundle):
684         * WebProcess/InjectedBundle/InjectedBundle.h:
685         (WebKit::InjectedBundle::create):
686         * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
687         (WebKit::InjectedBundle::bundleParameters):
688         (WebKit::InjectedBundle::platformInitialize):
689         * WebProcess/WebProcess.cpp:
690         (WebKit::WebProcess::initializeWebProcess):
691
692 2014-03-17  Brent Fulgham  <bfulgham@apple.com>
693
694         Provide preference to enable additional AVFoundation options
695         https://bugs.webkit.org/show_bug.cgi?id=130275
696
697         Reviewed by Eric Carlson.
698
699         * Shared/WebPreferencesStore.h: Added new preference.
700         * UIProcess/API/C/WKPreferences.cpp:
701         (WKPreferencesSetEnableInheritURIQueryComponent): Added.
702         (WKPreferencesGetEnableInheritURIQueryComponent): Added.
703         * UIProcess/API/C/WKPreferencesPrivate.h:
704         * WebProcess/WebPage/WebPage.cpp:
705         (WebKit::WebPage::updatePreferences): Handle new preference.
706
707 2014-03-17  Alexey Proskuryakov  <ap@apple.com>
708
709         [Mac] getAttributedSubstringFromRange arguments are incorrectly named
710         https://bugs.webkit.org/show_bug.cgi?id=130349
711
712         Reviewed by Tim Horton.
713
714         There is a mess of start/end and start/length pairs in IPC. One day we'll fix them
715         all, but now, let's at least name them correctly.
716
717         No behavior change.
718
719         * UIProcess/WebPageProxy.h:
720         * UIProcess/mac/WebPageProxyMac.mm:
721         (WebKit::WebPageProxy::getAttributedSubstringFromRange):
722         * WebProcess/WebPage/WebPage.h:
723         * WebProcess/WebPage/WebPage.messages.in:
724         * WebProcess/WebPage/mac/WebPageMac.mm:
725         (WebKit::WebPage::getAttributedSubstringFromRange):
726
727 2014-03-17  Tim Horton  <timothy_horton@apple.com>
728
729         WKThumbnailView should support snapshots
730         https://bugs.webkit.org/show_bug.cgi?id=130335
731         <rdar://problem/16255139>
732
733         Reviewed by Simon Fraser.
734
735         Add a mode where WKThumbnailView takes a software snapshot of the web content,
736         replacing the live layer tree with said snapshot once it returns from the
737         web process. This may improve animation performance in cases where the
738         layer tree would otherwise be very complex.
739
740         * UIProcess/API/Cocoa/WKThumbnailView.h:
741         Add a property, usesSnapshot, which determines whether the thumbnail view
742         should use the live layer tree or a snapshot of the content.
743
744         * UIProcess/API/Cocoa/WKThumbnailView.mm:
745         (-[WKThumbnailView initWithFrame:fromWKView:]):
746         (-[WKThumbnailView _viewWasUnparented]):
747         Clear the snapshot when unparented.
748
749         (-[WKThumbnailView _viewWasParented]):
750         Take a snapshot of the web content when parented, if needed.
751
752         (-[WKThumbnailView _requestSnapshotIfNeeded]):
753         If we're using snapshots, and haven't already dispatched an async snapshot request,
754         and don't already have a snapshot, request a snapshot from the web process.
755
756         When it returns, use it as the contents of the WKThumbnailView layer, and
757         unparent the live layer tree.
758
759         (-[WKThumbnailView setScale:]):
760         (-[WKThumbnailView setUsesSnapshot:]):
761         (-[WKThumbnailView _setThumbnailLayer:]):
762         (-[WKThumbnailView _thumbnailLayer]):
763         * UIProcess/API/Cocoa/WKThumbnailViewInternal.h:
764
765         * UIProcess/API/mac/WKView.mm:
766         (-[WKView _setAcceleratedCompositingModeRootLayer:]):
767         (-[WKView _acceleratedCompositingModeRootLayer]):
768         WKView should always keep track of the current root layer, instead of totally
769         handing control over to WKThumbnailView when it is used.
770
771         (-[WKView _setThumbnailView:]):
772         (-[WKView _updateThumbnailViewLayer]):
773         (-[WKView _reparentLayerTreeInThumbnailView]):
774         If needed (either we're not using snapshots, or still waiting for the snapshot to be painted),
775         push the WKView's live layer tree into the thumbnail view.
776
777         * UIProcess/API/mac/WKViewInternal.h:
778         * UIProcess/WebPageProxy.cpp:
779         (WebKit::WebPageProxy::internalShowContextMenu):
780         * UIProcess/WebPageProxy.h:
781         * WebProcess/WebPage/WebPage.h:
782         * WebProcess/WebPage/WebPage.messages.in:
783         * WebProcess/WebPage/WebPage.cpp:
784         (WebKit::WebPage::takeThumbnailSnapshot):
785         Add a message that asynchronously returns a snapshot that respects the
786         current thumbnail scale and position.
787
788         (WebKit::WebPage::scaledSnapshotWithOptions):
789         Use some nullptr.
790
791         * WebProcess/WebPage/DrawingArea.cpp:
792         (WebKit::DrawingArea::transform):
793         * WebProcess/WebPage/DrawingArea.h:
794         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
795         Add a getter for the DrawingArea's transform.
796         Rename it to rootLayerTransform.
797
798 2014-03-17  Zan Dobersek  <zdobersek@igalia.com>
799
800         Use RunLoop objects through references instead of pointers
801         https://bugs.webkit.org/show_bug.cgi?id=130313
802
803         Reviewed by Andreas Kling.
804
805         Adjust the code accordingly now that RunLoop::current() and RunLoop::main()
806         return RunLoop reference instead of a pointer.
807
808         * DatabaseProcess/DatabaseProcess.cpp:
809         (WebKit::DatabaseProcess::didClose):
810         (WebKit::DatabaseProcess::didReceiveInvalidMessage):
811         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
812         (WebKit::UniqueIDBDatabase::postMainThreadTask):
813         * NetworkProcess/NetworkProcess.cpp:
814         (WebKit::NetworkProcess::didClose):
815         (WebKit::NetworkProcess::didReceiveInvalidMessage):
816         * NetworkProcess/NetworkResourceLoader.cpp:
817         (WebKit::NetworkResourceLoader::continueWillSendRequest):
818         * Platform/IPC/Connection.cpp:
819         (IPC::Connection::SyncMessageState::getOrCreate):
820         (IPC::Connection::SyncMessageState::SyncMessageState):
821         (IPC::Connection::SyncMessageState::~SyncMessageState):
822         (IPC::Connection::SyncMessageState::processIncomingMessage):
823         (IPC::Connection::SyncMessageState::dispatchMessages):
824         (IPC::Connection::createServerConnection):
825         (IPC::Connection::createClientConnection):
826         (IPC::Connection::Connection):
827         (IPC::Connection::addWorkQueueMessageReceiver):
828         (IPC::Connection::removeWorkQueueMessageReceiver):
829         (IPC::Connection::sendSyncMessage):
830         (IPC::Connection::sendSyncMessageFromSecondaryThread):
831         (IPC::Connection::waitForSyncReply):
832         (IPC::Connection::processIncomingMessage):
833         (IPC::Connection::connectionDidClose):
834         (IPC::Connection::dispatchDidReceiveInvalidMessage):
835         (IPC::Connection::enqueueIncomingMessage):
836         (IPC::Connection::wakeUpRunLoop):
837         * Platform/IPC/Connection.h:
838         * Platform/IPC/mac/ConnectionMac.cpp:
839         (IPC::Connection::receiveSourceEventHandler):
840         * Shared/ChildProcess.cpp:
841         (WebKit::ChildProcess::stopRunLoop):
842         * Shared/Plugins/NPObjectProxy.cpp:
843         (WebKit::NPObjectProxy::NP_Deallocate):
844         * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
845         (WebKit::ProcessLauncher::launchProcess):
846         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
847         (WebKit::ProcessLauncher::launchProcess):
848         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
849         (WebKit::connectToService):
850         (WebKit::tryPreexistingProcess):
851         (WebKit::createProcess):
852         * UIProcess/Storage/StorageManager.cpp:
853         (WebKit::StorageManager::getOrigins):
854         (WebKit::StorageManager::getStorageDetailsByOrigin):
855         * UIProcess/Storage/StorageManager.h:
856         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
857         (WebKit::NetscapePlugin::pluginThreadAsyncCall):
858         * WebProcess/Plugins/PluginView.cpp:
859         (WebKit::PluginView::unprotectPluginFromDestruction):
860         * WebProcess/WebPage/EventDispatcher.cpp:
861         (WebKit::EventDispatcher::wheelEvent):
862         * WebProcess/WebPage/ViewUpdateDispatcher.cpp:
863         (WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):
864         * WebProcess/WebPage/WebPage.cpp:
865         (WebKit::WebPage::close):
866
867 2014-03-17  Giovanni Campagna  <gcampagna@src.gnome.org>
868
869         [GTK] Don't busy loop when the socket is full
870         https://bugs.webkit.org/show_bug.cgi?id=129802
871
872         Reviewed by Carlos Garcia Campos.
873
874         When the socket is full and we see EAGAIN or EWOULDBLOCK
875         (because the socket is non blocking), don't busy loop by
876         tring to write again, instead poll() until the socket
877         becomes writable.
878
879         * Platform/IPC/unix/ConnectionUnix.cpp:
880         (IPC::Connection::sendOutgoingMessage):
881
882 2014-03-17  Martin Robinson  <mrobinson@igalia.com>
883
884         [GTK][CMake] Ensure that HAVE_GTK_UNIX_PRINTING is defined when appropriate
885         https://bugs.webkit.org/show_bug.cgi?id=130155
886
887         Reviewed by Philippe Normand.
888
889         * PlatformGTK.cmake: Add GTK_UNIX_PRINT flags to the build.
890
891 2014-03-17  Ryuan Choi  <ryuan.choi@samsung.com>
892
893         [EFL][WK2] Restore cursor when moving mouse into webview
894         https://bugs.webkit.org/show_bug.cgi?id=130182
895
896         Reviewed by Gyuyoung Kim.
897
898         We changed mouse cursor when the type of cursor is changed.
899         But once mouse is moved out of webview, ewebkit will not know whether cursor
900         is changed or not.
901
902         So, this patch added a logic to restore the last applied type of cursor when
903         mouse is moved into webview again.
904
905         * UIProcess/API/efl/EwkView.cpp:
906         (EwkViewEventHandler<EVAS_CALLBACK_MOUSE_IN>::handleEvent):
907         Call updateCursor to restore the last applied type of cursor.
908         (EwkView::EwkView):
909         (EwkView::updateCursor): Extracted from setCursor.
910         (EwkView::setCursor):
911         (EwkView::handleEvasObjectAdd):
912         * UIProcess/API/efl/EwkView.h:
913
914 2014-03-16  Ryuan Choi  <ryuan.choi@samsung.com>
915
916         [EFL][WK2] Add ewk_application_cache_manager APIs
917         https://bugs.webkit.org/show_bug.cgi?id=102853
918
919         Reviewed by Gyuyoung Kim.
920
921         Implemented application cache manager to get list of origins which stores
922         application cache and remove specified origin or all.
923
924         * PlatformEfl.cmake: Added newly added files.
925         * UIProcess/API/efl/ewk_application_cache_manager.cpp: Added.
926         (EwkApplicationCacheManager::EwkApplicationCacheManager):
927         (EwkApplicationCacheManager::~EwkApplicationCacheManager):
928         (Get_Origins_Data::Get_Origins_Data):
929         (getApplicationCacheOriginsCallback):
930         (ewk_application_cache_manager_origins_get):
931         (ewk_application_cache_origins_free):
932         (ewk_application_cache_manager_delete_all):
933         (ewk_application_cache_manager_delete):
934         * UIProcess/API/efl/ewk_application_cache_manager.h: Added.
935         * UIProcess/API/efl/ewk_application_cache_manager_private.h: Added.
936         (EwkApplicationCacheManager::impl):
937         * UIProcess/API/efl/ewk_context.cpp:
938         (EwkContext::applicationCacheManager):
939         (ewk_context_application_cache_manager_get):
940         * UIProcess/API/efl/ewk_context.h:
941         * UIProcess/API/efl/ewk_context_private.h:
942         * UIProcess/API/efl/ewk_security_origin_private.h:
943         (EwkSecurityOrigin::wkSecurityOrigin):
944         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp:
945         (EWK2UnitTestServer::port):
946         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.h:
947         * UIProcess/API/efl/tests/test_ewk2_application_cache_manager.cpp:
948         Added to test application_cache_manager.
949         (serverCallback):
950         (getOriginsCallback):
951         (timerCallback):
952         (TEST_F):
953         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
954         Added test case to test getter of application_cache_manager.
955         (TEST_F):
956
957 2014-03-16  Zan Dobersek  <zdobersek@igalia.com>
958
959         Move GTK WebKit2 code to std::unique_ptr
960         https://bugs.webkit.org/show_bug.cgi?id=129672
961
962         Reviewed by Anders Carlsson.
963
964         Repace uses of OwnPtr and PassOwnPtr in GTK-specific WebKit2 code with std::unique_ptr.
965
966         * Shared/Downloads/Download.h:
967         * Shared/Downloads/soup/DownloadSoup.cpp:
968         (WebKit::Download::start):
969         (WebKit::Download::startWithHandle):
970         (WebKit::Download::platformInvalidate):
971         * UIProcess/API/gtk/PageClientImpl.cpp:
972         * UIProcess/API/gtk/PageClientImpl.h:
973         * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
974         (webkitContextMenuItemCreate):
975         (webkitContextMenuItemCreateForGtkItem):
976         (webkit_context_menu_item_new):
977         (webkit_context_menu_item_new_from_stock_action):
978         (webkit_context_menu_item_new_from_stock_action_with_label):
979         (webkit_context_menu_item_new_with_submenu):
980         (webkit_context_menu_item_new_separator):
981         * UIProcess/API/gtk/WebKitTextChecker.h:
982         * UIProcess/API/gtk/WebKitWebContext.cpp:
983         (createDefaultWebContext):
984         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
985         (webkitWebViewBaseConstructed):
986         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
987         (WebKit::WebPrintOperationGtk::print):
988         * WebProcess/gtk/WebGtkExtensionManager.cpp:
989         (WebKit::WebGtkExtensionManager::initialize):
990         * WebProcess/soup/WebKitSoupRequestInputStream.cpp:
991         (webkitSoupRequestInputStreamPendingReadAsyncComplete):
992         (webkitSoupRequestInputStreamReadAsync):
993         * WebProcess/soup/WebSoupRequestManager.cpp:
994         (WebKit::WebSoupRequestManager::send):
995         * WebProcess/soup/WebSoupRequestManager.h:
996
997 2014-03-16  Brian Burg  <bburg@apple.com>
998
999         Web Inspector: vended backend commands file should be generated as part of the build
1000         https://bugs.webkit.org/show_bug.cgi?id=130110
1001
1002         Reviewed by Timothy Hatcher.
1003
1004         * PlatformGTK.cmake: Copy over generated inspector backend commands files.
1005
1006 2014-03-16  Darin Adler  <darin@apple.com>
1007
1008         Try to fix 32-bit Mac build.
1009
1010         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: Add missing include.
1011
1012 2014-03-16  Philippe Normand  <pnormand@igalia.com>
1013
1014         Unreviewed, GTK build fix after r165692.
1015
1016         * UIProcess/gtk/TextCheckerGtk.cpp:
1017         (WebKit::TextChecker::checkSpellingOfString):
1018         (WebKit::TextChecker::checkGrammarOfString):
1019
1020 2014-03-15  Darin Adler  <darin@apple.com>
1021
1022         Remove all uses of deprecatedCharacters from WebKit2
1023         https://bugs.webkit.org/show_bug.cgi?id=130197
1024
1025         Reviewed by Andreas Kling.
1026
1027         * Shared/APIString.h: Rewrote getCharacters to use StringView,
1028         substring, and getCharactersWithUpconvert. Added an 8-bit case
1029         to getUTF8CString.
1030
1031         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
1032         (WebKit::writeByte): Added.
1033         (WebKit::writeCharacter): Added.
1034         (WebKit::writeLine): Added. Uses operator[] instead of characters16 to get
1035         the UTF-16 characters out of the string.
1036         (WebKit::NetscapePluginModule::scanPlugin): Replaced code that writes out
1037         text to stdout with much simpler version using the functions above.
1038
1039         * UIProcess/TextChecker.h: Changed text arguments to use StringView instead
1040         of UChar/int pairs.
1041
1042         * UIProcess/WebPageProxy.cpp:
1043         (WebKit::WebPageProxy::internalShowContextMenu): Updated to pass StringView.
1044
1045         * UIProcess/efl/TextCheckerEfl.cpp:
1046         (WebKit::nextWordOffset): Changed function to use StringView and unsigned.
1047         (WebKit::TextChecker::checkTextOfParagraph): Changed to use StringView and
1048         substring.
1049         (WebKit::TextChecker::checkSpellingOfString): Ditto.
1050         (WebKit::TextChecker::checkGrammarOfString): Ditto.
1051         (WebKit::TextChecker::requestCheckingOfString): Pass in a StringView, so no
1052         need to call deprecatedCharacters.
1053
1054         * UIProcess/ios/TextCheckerIOS.mm:
1055         (WebKit::TextChecker::checkTextOfParagraph): Changed to take StringView.
1056         (WebKit::TextChecker::checkSpellingOfString): Ditto.
1057         (WebKit::TextChecker::checkGrammarOfString): Ditto.
1058
1059         * UIProcess/mac/TextCheckerMac.mm:
1060         (WebKit::TextChecker::checkTextOfParagraph): Changed to take StringView and
1061         use StringView::createNSStringWithoutCopying.
1062         (WebKit::TextChecker::checkSpellingOfString): CHanged to take StringView.
1063         (WebKit::TextChecker::checkGrammarOfString): Ditto.
1064
1065         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1066         (WebKit::convertStringToKeyCodes): Changed to take StringView and use
1067         upconvertedCharacters instead of deprecatedCharacters. Also use move instead
1068         of swap.
1069         (WebKit::NetscapePlugin::sendComplexTextInput): Updated to new style for loop.
1070
1071         * WebProcess/WebPage/EncoderAdapter.cpp:
1072         (WebKit::EncoderAdapter::encodeString): Use StringView::upconvertedCharacters
1073         instead of String::deprecatedCharacters.
1074
1075 2014-03-15  David Kilzer  <ddkilzer@apple.com>
1076
1077         [iOS] Define SYSTEM_VERSION_PREFIX consistently
1078         <http://webkit.org/b/130293>
1079         <rdar://problem/15926359>
1080
1081         Reviewed by Dan Bernstein.
1082
1083         * Configurations/Version.xcconfig:
1084         (SYSTEM_VERSION_PREFIX): Sync with
1085         Source/WebKit/mac/Version.xcconfig.
1086
1087 2014-03-14  Alexey Proskuryakov  <ap@apple.com>
1088
1089         [Mac] Sync extended attribute related rules with AppSandbox profile
1090         https://bugs.webkit.org/show_bug.cgi?id=130263
1091         <rdar://problem/16318965>
1092
1093         Reviewed by Sam Weinig.
1094
1095         Update the fix to use a different syntax in some OS versions.
1096
1097         * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
1098         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
1099         * WebProcess/com.apple.WebProcess.sb.in:
1100
1101 2014-03-14  Ryosuke Niwa  <rniwa@webkit.org>
1102
1103         Revert erroneous changes made to UIProcess/API/Cocoa in r165676.
1104
1105         * UIProcess/API/Cocoa/WKBackForwardList.h:
1106         * UIProcess/API/Cocoa/WKBackForwardListItem.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKBackForwardListItem.h.
1107         * UIProcess/API/Cocoa/WKNavigation.h:
1108         * UIProcess/API/Cocoa/WKNavigationAction.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationAction.h.
1109         * UIProcess/API/Cocoa/WKNavigationDelegate.h:
1110         (NS_ENUM):
1111         * UIProcess/API/Cocoa/WKNavigationResponse.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationResponse.h.
1112         * UIProcess/API/Cocoa/WKNavigationTrigger.h: Removed.
1113         * UIProcess/API/Cocoa/WKWebView.h:
1114
1115 2014-03-14  Mark Rowe  <mrowe@apple.com>
1116
1117         Fix the production build.
1118
1119         Don't rely on USE_INTERNAL_SDK being set for the Production configuration since UseInternalSDK.xcconfig won't
1120         be at the expected relative path when working from installed source.
1121
1122         * Configurations/Base.xcconfig:
1123
1124 2014-03-14  Maciej Stachowiak  <mjs@apple.com>
1125
1126         Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers
1127         https://bugs.webkit.org/show_bug.cgi?id=130276
1128         <rdar://problem/16266927>
1129         
1130         Reviewed by Simon Fraser.
1131
1132         * Shared/AsyncRequest.cpp:
1133         * Shared/AsyncRequest.h:
1134         * Shared/ContextMenuContextData.cpp:
1135         * Shared/ContextMenuContextData.h:
1136         * Shared/Databases/DatabaseProcessCreationParameters.h:
1137         * Shared/Databases/IndexedDB/IDBUtilities.cpp:
1138         * Shared/Databases/IndexedDB/IDBUtilities.h:
1139         * Shared/mac/RemoteLayerBackingStore.h:
1140         * Shared/mac/RemoteLayerBackingStore.mm:
1141         * UIProcess/API/Cocoa/WKBackForwardList.h:
1142         * UIProcess/API/Cocoa/WKBackForwardListItem.h: Removed.
1143         * UIProcess/API/Cocoa/WKNavigation.h:
1144         * UIProcess/API/Cocoa/WKNavigationAction.h: Removed.
1145         * UIProcess/API/Cocoa/WKNavigationDelegate.h:
1146         * UIProcess/API/Cocoa/WKNavigationResponse.h: Removed.
1147         * UIProcess/API/Cocoa/WKNavigationTrigger.h: Added.
1148         (NS_ENUM):
1149         * UIProcess/API/Cocoa/WKWebView.h:
1150         * UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.cpp:
1151         * UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.h:
1152         * UIProcess/CoordinatedGraphics/WKCoordinatedSceneAPICast.h:
1153         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
1154         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
1155         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
1156         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
1157         * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
1158         * WebProcess/Databases/WebToDatabaseProcessConnection.h:
1159         * WebProcess/WebCoreSupport/WebAlternativeTextClient.h:
1160         * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp:
1161         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
1162         * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
1163         * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
1164         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
1165         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
1166         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
1167         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
1168         * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
1169         * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
1170
1171 2014-03-14  Simon Fraser  <simon.fraser@apple.com>
1172
1173         [iOS WK2] background-attachment: fixed renders oddly, moves around
1174         https://bugs.webkit.org/show_bug.cgi?id=130277
1175         <rdar://problem/16332883>
1176
1177         Reviewed by Tim Horton.
1178         
1179         Actually send scrolling and counter-scrolling layers to the UI process!
1180
1181         * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
1182         (ArgumentCoder<ScrollingStateScrollingNode>::encode):
1183         (ArgumentCoder<ScrollingStateScrollingNode>::decode):
1184
1185 2014-03-14  Anders Carlsson  <andersca@apple.com>
1186
1187         Try to fix the iOS build.
1188
1189         * UIProcess/mac/WebContextMac.mm:
1190
1191 2014-03-14  Anders Carlsson  <andersca@apple.com>
1192
1193         Begin work on the bundle parameter API
1194         https://bugs.webkit.org/show_bug.cgi?id=130267
1195
1196         Reviewed by Dan Bernstein.
1197
1198         * Shared/WebProcessCreationParameters.cpp:
1199         (WebKit::WebProcessCreationParameters::encode):
1200         (WebKit::WebProcessCreationParameters::decode):
1201         * Shared/WebProcessCreationParameters.h:
1202         * UIProcess/API/Cocoa/WKProcessPool.mm:
1203         (-[WKProcessPool _objectForBundleParameter:]):
1204         (-[WKProcessPool _setObject:forBundleParameter:]):
1205         * UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
1206         * UIProcess/WebContext.h:
1207         (WebKit::WebContext::bundleParameters):
1208         * UIProcess/mac/WebContextMac.mm:
1209         (WebKit::WebContext::ensureBundleParameters):
1210         (WebKit::WebContext::platformInitializeWebProcess):
1211
1212 2014-03-14  Alexey Proskuryakov  <ap@apple.com>
1213
1214         [Mac] Sync extended attribute related rules with AppSandbox profile
1215         https://bugs.webkit.org/show_bug.cgi?id=130263
1216         <rdar://problem/16318965>
1217
1218         Reviewed by Sam Weinig.
1219
1220         * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
1221         * Resources/PlugInSandboxProfiles/com.apple.QuickTime Plugin.plugin.sb:
1222         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
1223         * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
1224         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
1225         * Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb:
1226         * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
1227         * WebProcess/com.apple.WebProcess.sb.in:
1228
1229 2014-03-14  Simon Fraser  <simon.fraser@apple.com>
1230
1231         [iOS WK2] Improve behavior of fixed elments on zooming
1232         https://bugs.webkit.org/show_bug.cgi?id=130253
1233
1234         Reviewed by Beth Dakin.
1235
1236         Correctly reposition right- and bottom-relative position:fixed
1237         elements on zooming in WK2 iOS by telling the scrolling tree
1238         about zoom-related viewport changes.
1239
1240         * Shared/mac/RemoteLayerTreeTransaction.h:
1241         (WebKit::RemoteLayerTreeTransaction::LayerProperties::notePropertiesChanged):
1242         Drive-by cleanup; typedef the flags field to an unsigned, to avoid ugly casting.
1243         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
1244         (WebKit::RemoteScrollingCoordinatorProxy::updateScrollingTree): Pass out a flag to say
1245         if the update contained a new fixed or sticky layer.
1246         (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):
1247         (WebKit::RemoteScrollingCoordinatorProxy::viewportChangedViaDelegatedScrolling):
1248         Call into the new ScrolingTree::viewportChangedViaDelegatedScrolling().
1249         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
1250         * UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm: If we got a new fixed
1251         or sticky layer, set fixedOrStickyLayerChanged to true.
1252         (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): Ditto.
1253         * UIProcess/ios/WKContentView.mm:
1254         (-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):
1255         Remember both the old zoomScale and the filteredScale, since the fixed position rect
1256         should be computed using the unfiltered scale.
1257         Some FloatRect -> CGRect changes.
1258         Now call viewportChangedViaDelegatedScrolling() on the scrolling coordinator.
1259         (-[WKContentView fixedPositionRectFromExposedRect:scale:]): Call the
1260         FrameView function to compute the iOS fixed position rect.
1261         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
1262         (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): If the update
1263         got a new fixed or sticky layer, run the scrolling tree logic to make sure
1264         it gets into the right place.
1265         * UIProcess/mac/RemoteLayerTreeHost.mm:
1266         (WebKit::RemoteLayerTreeHost::updateLayerTree): If we logged here,
1267         we'd log twice if the tiled scrolling indicator was enabled, so 
1268         hoisted the logging out into the caller.
1269
1270 2014-03-14  Landry Breuil  <landry@openbsd.org>
1271
1272         Use the correct type in webkitSoupRequestInputStreamNew()'s declaration.
1273         Nhttps://bugs.webkit.org/show_bug.cgi?id=129974
1274
1275         Reviewed by Andreas Kling.
1276
1277         * WebProcess/soup/WebKitSoupRequestInputStream.h:
1278
1279 2014-03-14  Anders Carlsson  <andersca@apple.com>
1280
1281         Fix crash when resizing the visited link table
1282         https://bugs.webkit.org/show_bug.cgi?id=130257
1283         <rdar://problem/16328177>
1284
1285         Reviewed by Dan Bernstein.
1286
1287         We're iterating over the old table, so use currentTableSize in the loop termination condition.
1288
1289         * UIProcess/VisitedLinkProvider.cpp:
1290         (WebKit::VisitedLinkProvider::resizeTable):
1291
1292 2014-03-14  Dan Bernstein  <mitz@apple.com>
1293
1294         [Cocoa] Expose a way to set the cookie accept policy
1295         https://bugs.webkit.org/show_bug.cgi?id=130251
1296
1297         Reviewed by Anders Carlsson.
1298
1299         * UIProcess/API/Cocoa/WKProcessPool.mm:
1300         (toHTTPCookieAcceptPolicy): Added a helper function that maps from NSHTTPCookieAcceptPolicy
1301         values to WebKit::HTTPCookieAcceptPolicy values.
1302         (-[WKProcessPool _setCookieAcceptPolicy:]): Added. Calls
1303         WebCookieManagerProxy::setHTTPCookieAcceptPolicy. 
1304         * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: Declared new method.
1305
1306 2014-03-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1307
1308         [GTK] WebKit2WebExtension GIR can't be used in vala
1309         https://bugs.webkit.org/show_bug.cgi?id=127179
1310
1311         Reviewed by Martin Robinson.
1312
1313         Do not include all WebKit2 gir symbols from WebKit2WebExtension gir
1314         file.
1315
1316         * GNUmakefile.am:
1317         * PlatformGTK.cmake:
1318
1319 2014-03-14  Csaba Osztrogonác  <ossy@webkit.org>
1320
1321         [CMake] URTBF after r165619.
1322
1323         * CMakeLists.txt: Add new files.
1324
1325 2014-03-14  Anders Carlsson  <andersca@apple.com>
1326
1327         Remove WebContext::addVisitedLink
1328         https://bugs.webkit.org/show_bug.cgi?id=130242
1329
1330         Reviewed by Dan Bernstein.
1331
1332         Fold the function into WKContextAddVisitedLink instead.
1333
1334         * UIProcess/API/C/WKContext.cpp:
1335         (WKContextAddVisitedLink):
1336         * UIProcess/WebContext.cpp:
1337         * UIProcess/WebContext.h:
1338         (WebKit::WebContext::visitedLinkProvider):
1339
1340 2014-03-13  Anders Carlsson  <andersca@apple.com>
1341
1342         Move visited link handling to VisitedLinkTableController and VisitedLinkProvider
1343         https://bugs.webkit.org/show_bug.cgi?id=130223
1344         <rdar://problem/16315792>
1345
1346         Reviewed by Dan Bernstein.
1347
1348         * DerivedSources.make:
1349         Generate messages for VisitedLinkProvider and VisitedLinkTableController.
1350         
1351         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
1352         (-[WKWebViewConfiguration copyWithZone:]):
1353         Set the visited link provider.
1354
1355         * UIProcess/API/Cocoa/_WKVisitedLinkProvider.h:
1356         Add addVisitedLinkWithURL: method.
1357
1358         * UIProcess/API/Cocoa/_WKVisitedLinkProvider.mm:
1359         (-[_WKVisitedLinkProvider addVisitedLinkWithURL:]):
1360         Compute a link hash from the absolute URL string and pass it to the underlying VisitedLinkProvider object.
1361
1362         * UIProcess/VisitedLinkProvider.cpp:
1363         (WebKit::VisitedLinkProvider::addProcess):
1364         Add the process to the m_processes HashCountedSet. If it's the first time we're adding the process, 
1365         add the VisitedLinkProvider object as a message receiver and send the visited link table to the process.
1366
1367         (WebKit::VisitedLinkProvider::removeProcess):
1368         Remove the process from the m_processes HashCountedSet. If we're removing the last reference to the process,
1369         remove ourselves as a  message receiver.
1370
1371         (WebKit::VisitedLinkProvider::addVisitedLinkHash):
1372         Rename this from addVisitedLink to better indicate what it's doing.
1373
1374         (WebKit::tableSizeForKeyCount):
1375         Update for constant rename.
1376
1377         (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
1378         Compute the new pending visited links table size. If it's bigger than our current table, resize the table
1379         by calling resizeTable. Otherwise, simply try to add the pending hashes to our shared hash table. If successful,
1380         add the link hash to the addedVisitedLinks table and eventually send it to all processes associated with the visited link provider.
1381
1382         (WebKit::VisitedLinkProvider::resizeTable):
1383         Create a new shared memory segment, Set it as the table backing store and add all visited links from the old table. Finally,
1384         add our pending visited link hashes and send the new table memory to all processes associated with the visited link provider.
1385
1386         (WebKit::VisitedLinkProvider::sendTable):
1387         Helper function that creates a shared memory handle and sends it to a given web process.
1388
1389         * UIProcess/VisitedLinkProvider.h:
1390         Add new members.
1391
1392         * UIProcess/VisitedLinkProvider.messages.in:
1393         Add messages.
1394
1395         * UIProcess/WebContext.cpp:
1396         (WebKit::WebContext::processDidFinishLaunching):
1397         (WebKit::WebContext::disconnectProcess):
1398         The WebContext no longer needs to inform the visited link provider about the processes coming and going, that's already handled
1399         by the WebPageProxy objects.
1400
1401         (WebKit::WebContext::addVisitedLink):
1402         Call addVisitedLinkHash on the visited link provider.
1403
1404         * UIProcess/WebContext.h:
1405         * UIProcess/WebContext.messages.in:
1406         Remove a message that is now implemented by the visited link provider.
1407
1408         * WebKit2.xcodeproj/project.pbxproj:
1409         Add new files.
1410
1411         * WebProcess/WebPage/VisitedLinkTableController.cpp:
1412         (WebKit::VisitedLinkTableController::VisitedLinkTableController):
1413         Add the table controller as a message receiver.
1414
1415         (WebKit::VisitedLinkTableController::~VisitedLinkTableController):
1416         Remove the table controller as a message receiver.
1417
1418         (WebKit::VisitedLinkTableController::isLinkVisited):
1419         Check if the link is visited according to the visited link table.
1420
1421         (WebKit::VisitedLinkTableController::addVisitedLink):
1422         Send the link hash to the UI process if it's not already visited.
1423
1424         (WebKit::VisitedLinkTableController::setVisitedLinkTable):
1425         Set the backing store memory and invalidate all styles.
1426
1427         (WebKit::VisitedLinkTableController::visitedLinkStateChanged):
1428         Invalidate the styles for the given links.
1429
1430         (WebKit::VisitedLinkTableController::allVisitedLinkStateChanged):
1431         Invalidate the styles for all links.
1432
1433         * WebProcess/WebPage/VisitedLinkTableController.h:
1434         Add new members.
1435
1436         * WebProcess/WebPage/VisitedLinkTableController.messages.in:
1437         Add new messages.
1438
1439         * WebProcess/WebProcess.cpp:
1440         Remove unused functions; these are handled by VisitedLinkTableController now.
1441
1442         * WebProcess/WebProcess.h:
1443         (WebKit::WebProcess::shouldTrackVisitedLinks):
1444         Add getter.
1445
1446         * WebProcess/WebProcess.messages.in:
1447         Remove messages.
1448
1449 2014-03-12  Sergio Villar Senin  <svillar@igalia.com>
1450
1451         Rename DEFINE_STATIC_LOCAL to DEPRECATED_DEFINE_STATIC_LOCAL
1452         https://bugs.webkit.org/show_bug.cgi?id=129612
1453
1454         Reviewed by Darin Adler.
1455
1456         For new code use static NeverDestroyed<T> instead.
1457
1458         * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
1459         (WebKit::getIndexStatement):
1460         (WebKit::getObjectStoreStatement):
1461         * Shared/linux/SeccompFilters/SeccompBroker.cpp:
1462         (WebKit::SeccompBrokerClient::shared):
1463         * UIProcess/InspectorServer/WebInspectorServer.cpp:
1464         (WebKit::WebInspectorServer::didReceiveWebSocketUpgradeHTTPRequest):
1465
1466 2014-03-14  Dan Bernstein  <mitz@apple.com>
1467
1468         <rdar://problem/16319722> [Cocoa] WKHistoryDelegate is being called for subframes
1469         https://bugs.webkit.org/show_bug.cgi?id=130228
1470
1471         Reviewed by Mark Rowe.
1472
1473         * UIProcess/Cocoa/HistoryClient.mm:
1474         (WebKit::HistoryClient::didNavigateWithNavigationData): Bail out if the frame is not the
1475         main frame.
1476         (WebKit::HistoryClient::didPerformClientRedirect): Ditto.
1477         (WebKit::HistoryClient::didPerformServerRedirect): Ditto.
1478         (WebKit::HistoryClient::didUpdateHistoryTitle): Ditto.
1479
1480 2014-03-13  Jinwoo Jeong  <jw00.jeong@samsung.com>
1481
1482         Refactor Vibration algorithm to use only one timer.
1483         https://bugs.webkit.org/show_bug.cgi?id=130059
1484
1485         Reviewed by Darin Adler.
1486
1487         This patch adds a vibration unit test regression after r161257.
1488         It consists of two short term requests to check
1489         that Vibration could work properly by sequential requests.
1490
1491         Indeed this patch tightens condition of existing tests.
1492
1493         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1494         (TEST_F):
1495
1496 2014-03-13  Paul Hankes Drielsma  <phd@apple.com>
1497
1498         Add SPI to set a custom user agent on WKWebView
1499         https://bugs.webkit.org/show_bug.cgi?id=130164
1500
1501         Reviewed by Dan Bernstein.
1502
1503         * UIProcess/API/Cocoa/WKWebView.mm:
1504         (-[WKWebView _customUserAgent]):
1505         (-[WKWebView _setCustomUserAgent:]):
1506         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1507
1508 2014-03-13  Paul Hankes Drielsma  <phd@apple.com>
1509
1510         Add SPI to run javascript in main frame on WKWebView
1511         https://bugs.webkit.org/show_bug.cgi?id=130047
1512
1513         Reviewed by Anders Carlsson.
1514
1515         * UIProcess/API/Cocoa/WKWebView.mm:
1516         (-[WKWebView _runJavaScriptInMainFrame:]):
1517
1518 2014-03-13  Benjamin Poulain  <bpoulain@apple.com>
1519
1520         The viewport code should not depend on WebKitSystemInterface
1521         https://bugs.webkit.org/show_bug.cgi?id=130218
1522
1523         Reviewed by Tim Horton.
1524
1525         Get the viewport size from the UIProcess when creating a new WebProcess.
1526         From there, the value is stored in WebPage and used whenever we need to update
1527         the viewport parameters.
1528
1529         * Shared/WebPageCreationParameters.cpp:
1530         (WebKit::WebPageCreationParameters::encode):
1531         (WebKit::WebPageCreationParameters::decode):
1532         * Shared/WebPageCreationParameters.h:
1533         * UIProcess/WebPageProxy.cpp:
1534         (WebKit::WebPageProxy::internalShowContextMenu):
1535         * UIProcess/WebPageProxy.h:
1536         * UIProcess/ios/WebPageProxyIOS.mm:
1537         (WebKit::WebPageProxy::viewportScreenSize):
1538         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1539         (WebKit::WebChromeClient::viewportScreenSize):
1540         * WebProcess/WebCoreSupport/WebChromeClient.h:
1541         * WebProcess/WebPage/WebPage.cpp:
1542         (WebKit::WebPage::WebPage):
1543         * WebProcess/WebPage/WebPage.h:
1544         * WebProcess/WebPage/ios/WebPageIOS.mm:
1545         (WebKit::WebPage::viewportScreenSize):
1546
1547 2014-03-13  Beth Dakin  <bdakin@apple.com>
1548
1549         Do not show extended background during a pinch gesture on iOS
1550         https://bugs.webkit.org/show_bug.cgi?id=130152
1551         -and corresponding-
1552         <rdar://problem/16303819>
1553
1554         Reviewed by Simon Fraser.
1555
1556         This patch refactors the backgroundColor-setting logic into its own method so that 
1557         it can be called from both _didCommitLayerTree and scrollViewDidZoom.
1558
1559         Only set the UIScrollView’s background color when the zoomScale is greater than or 
1560         equal to the minimumZoomScale. Also do not set it during the zoom bounce 
1561         animation. Otherwise, clear the background color by setting it to nil.
1562         * UIProcess/API/Cocoa/WKWebView.mm:
1563         (-[WKWebView updateScrollViewBackground]):
1564         (-[WKWebView _didCommitLayerTree:WebKit::]):
1565         (-[WKWebView scrollViewDidZoom:]):
1566
1567 2014-03-13  Enrica Casucci  <enrica@apple.com>
1568
1569         [iOS WebKit2] block selection should avoid large blocks.
1570         https://bugs.webkit.org/show_bug.cgi?id=130208
1571         <rdar://problem/16251785>
1572
1573         Reviewed by Benjamin Poulain.
1574
1575         When creating a block selection, we should discard blocks that
1576         are larger than most of the visible portion of the document.
1577         This prevents the accidental selection the entire document, which
1578         is fairly common when tapping over empty areas.
1579
1580         * Shared/InteractionInformationAtPosition.cpp:
1581         (WebKit::InteractionInformationAtPosition::encode):
1582         (WebKit::InteractionInformationAtPosition::decode):
1583         * Shared/InteractionInformationAtPosition.h: Removed selectionRects that was not really needed and
1584         added isSelectable to indicate whether the selection can start.
1585         (WebKit::InteractionInformationAtPosition::InteractionInformationAtPosition):
1586         * UIProcess/ios/WKContentViewInteraction.mm:
1587         (-[WKContentView hasSelectablePositionAtPoint:]): Now uses isSelectable.
1588         * WebProcess/WebPage/ios/WebPageIOS.mm:
1589         (WebKit::WebPage::getPositionInformation): Takes into account the userSelect property
1590         to figure out if the element can be selected and discards blocks that are
1591         larger than 97% of the visible area of the document.
1592
1593 2014-03-13  Anders Carlsson  <andersca@apple.com>
1594
1595         Rename WKVisitedLinkProvider to _WKVisitedLinkProvider and make it private
1596         https://bugs.webkit.org/show_bug.cgi?id=130207
1597
1598         Reviewed by Dan Bernstein.
1599
1600         * UIProcess/API/Cocoa/WKVisitedLinkProviderPrivate.h: Removed.
1601         * UIProcess/API/Cocoa/WKWebView.mm:
1602         (-[WKWebView initWithFrame:configuration:]):
1603         * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
1604         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
1605         (-[WKWebViewConfiguration _visitedLinkProvider]):
1606         (-[WKWebViewConfiguration _setVisitedLinkProvider:]):
1607         * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
1608         * UIProcess/API/Cocoa/_WKVisitedLinkProvider.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKVisitedLinkProvider.h.
1609         * UIProcess/API/Cocoa/_WKVisitedLinkProvider.mm: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKVisitedLinkProvider.mm.
1610         (-[_WKVisitedLinkProvider init]):
1611         * UIProcess/API/Cocoa/_WKVisitedLinkProviderInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKVisitedLinkProviderInternal.h.
1612         * WebKit2.xcodeproj/project.pbxproj:
1613
1614 2014-03-13  Anders Carlsson  <andersca@apple.com>
1615
1616         Remove a commented out member function
1617         https://bugs.webkit.org/show_bug.cgi?id=130204
1618
1619         Reviewed by Tim Horton.
1620
1621         * Shared/ChildProcessProxy.h:
1622         (WebKit::ChildProcessProxy::canSendMessage):
1623
1624 2014-03-13  Enrica Casucci  <enrica@apple.com>
1625
1626         [iOS WebKit2] Crash on iPad when displaying a select element with options.
1627         https://bugs.webkit.org/show_bug.cgi?id=130200
1628         <rdar://problem/16316187>
1629
1630         Reviewed by Simon Fraser.
1631
1632         _singleSelectionIndex should be initialized to NSNotFound for multiSelect elements.
1633
1634         * UIProcess/ios/forms/WKFormSelectPopover.mm:
1635         (-[WKSelectTableViewController initWithView:hasGroups:]):
1636
1637 2014-03-13  Carlos Garcia Campos  <cgarcia@igalia.com>
1638
1639         [GTK] Close the connection when we fail to read from the socket for any unhandled error
1640         https://bugs.webkit.org/show_bug.cgi?id=130191
1641
1642         Reviewed by Martin Robinson.
1643
1644         We currently show an error message, but we should close the
1645         connection avoid entering an infinite loop. Also provide more
1646         information in the error message to help when debugging the issue.
1647
1648         * Platform/IPC/unix/ConnectionUnix.cpp:
1649         (IPC::Connection::readyReadHandler):
1650
1651 2014-03-13  Radu Stavila  <stavila@adobe.com>
1652
1653         Webkit not building on XCode 5.1 due to garbage collection no longer being supported
1654         https://bugs.webkit.org/show_bug.cgi?id=130087
1655
1656         Reviewed by Mark Rowe.
1657
1658         Disable garbage collection on macosx when not using internal SDK.
1659
1660         * Configurations/Base.xcconfig:
1661
1662 2014-03-10  Darin Adler  <darin@apple.com>
1663
1664         Avoid copy-prone idiom "for (auto item : collection)"
1665         https://bugs.webkit.org/show_bug.cgi?id=129990
1666
1667         Reviewed by Geoffrey Garen.
1668
1669         * Shared/mac/RemoteLayerTreePropertyApplier.mm:
1670         (WebKit::RemoteLayerTreePropertyApplier::applyProperties): Use auto&.
1671
1672         * Shared/mac/RemoteLayerTreeTransaction.mm:
1673         (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): Use auto&
1674         even though the type is a scalar. This does no harm and makes it easier
1675         to spot uses that trigger unnecessary copying with grep.
1676         (WebKit::RemoteLayerTreeTransaction::decode): Ditto.
1677         (WebKit::dumpChangedLayers): Ditto.
1678         * UIProcess/mac/RemoteLayerTreeHost.mm:
1679         (WebKit::RemoteLayerTreeHost::updateLayerTree): Ditto.
1680         * WebProcess/WebProcess.cpp:
1681         (WebKit::WebProcess::visitedLinkStateChanged): Ditto.
1682
1683 2014-03-12  Brian Burg  <bburg@apple.com>
1684
1685         Web Inspector: Remove unused callId parameter from evaluateInWebInspector
1686         https://bugs.webkit.org/show_bug.cgi?id=129744
1687
1688         Reviewed by Timothy Hatcher.
1689
1690         * WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp:
1691         (WKBundleInspectorEvaluateScriptForTest):
1692         * WebProcess/InjectedBundle/API/c/WKBundleInspector.h:
1693         * WebProcess/WebPage/WebInspector.cpp:
1694         (WebKit::WebInspector::evaluateScriptForTest):
1695         * WebProcess/WebPage/WebInspector.h:
1696
1697 2014-03-13  Laszlo Vidacs  <lvidacs.u-szeged@partner.samsung.com>
1698
1699         Fix the !ENABLE(SQL_DATABASE) build
1700         https://bugs.webkit.org/show_bug.cgi?id=130130
1701
1702         Reviewed by Csaba Osztrogonác.
1703
1704         Add missing #ifdef guard to typedef.
1705
1706         * UIProcess/API/C/WKDatabaseManager.cpp:
1707
1708 2014-03-12  Dean Jackson  <dino@apple.com>
1709
1710         [WebGL] WebKit1 + WebKit2 iOS clients should check load policy
1711         https://bugs.webkit.org/show_bug.cgi?id=130162
1712
1713         Reviewed by Simon Fraser.
1714
1715         Implement webGLPolicyForURL() methods for iOS.
1716
1717         * Configurations/WebContent-iOS.entitlements: Add the MobileAsset asset type.
1718         * Configurations/WebKit2.xcconfig: Add MobileAsset to iOS link list.
1719         * WebProcess/WebPage/WebPage.cpp: Exclude iOS.
1720         * WebProcess/WebPage/ios/WebPageIOS.mm:
1721         (WebKit::WebPage::webGLPolicyForURL): Call into WKSI.
1722         (WebKit::WebPage::resolveWebGLPolicyForURL):
1723
1724 2014-03-12  Joseph Pecoraro  <pecoraro@apple.com>
1725
1726         Web Inspector: Disable REMOTE_INSPECTOR in earlier OS X releases
1727         https://bugs.webkit.org/show_bug.cgi?id=130118
1728
1729         Reviewed by Timothy Hatcher.
1730
1731         * Configurations/FeatureDefines.xcconfig:
1732
1733 2014-03-12  Enrica Casucci  <enrica@apple.com>
1734
1735         [iOS WebKit2] Crash when trying to select inside a video element with longpress..
1736         https://bugs.webkit.org/show_bug.cgi?id=130095
1737         <rdar://problem/16294534>
1738
1739         Reviewed by Benjamin Poulain.
1740
1741         We only need to set the assisted node for nodes that will receive an
1742         input peripheral (keyboard, picker, popover, etc.).
1743
1744         * WebProcess/WebPage/ios/WebPageIOS.mm:
1745         (WebKit::WebPage::rangeForWebSelectionAtPosition):
1746         (WebKit::WebPage::elementDidFocus):
1747
1748 2014-03-12  Simon Fraser  <simon.fraser@apple.com>
1749
1750         Have the scrolling tree track the viewport size, not the viewport rect
1751         https://bugs.webkit.org/show_bug.cgi?id=130141
1752
1753         Reviewed by Beth Dakin.
1754
1755         The scrolling tree only needs to know the size of the viewport, not its
1756         origin, since the origin is deduced from the updated scroll position.
1757
1758         * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
1759         (ArgumentCoder<ScrollingStateScrollingNode>::encode):
1760         (ArgumentCoder<ScrollingStateScrollingNode>::decode):
1761
1762 2014-03-12  Commit Queue  <commit-queue@webkit.org>
1763
1764         Unreviewed, rolling out r165481.
1765         https://bugs.webkit.org/show_bug.cgi?id=130151
1766
1767         That didn't go well. (Requested by kling on #webkit).
1768
1769         Reverted changeset:
1770
1771         https://bugs.webkit.org/show_bug.cgi?id=130140
1772         http://trac.webkit.org/changeset/165481
1773
1774 2014-03-12  Carlos Garcia Campos  <cgarcia@igalia.com>
1775
1776         [GTK] Runtime error when page is closed while print operation is in progress
1777         https://bugs.webkit.org/show_bug.cgi?id=129869
1778
1779         Reviewed by Anders Carlsson.
1780
1781         Sometimes when the page is closed right after printing the web
1782         process aborts with the runtime message "pure virtual method
1783         called terminate called without an active exception".
1784         This happens because the page is closed when the pages have been
1785         printed, but print job is still ongoing sending the data to the
1786         printer. When print job finishes, we try to notify the UI process
1787         sending the print callback message using WebPage::send(), but the
1788         web page object has been destroyed. The virtual method it complains
1789         about is probably MessageSender::messageSenderDestinationID() used
1790         by send(). Since our print operation is always asynchronous, we
1791         need a way to notify the web page when the print operation has
1792         actually finished to clean it up, but also notify the print
1793         operation when the page has been closed to not try to notify the
1794         UI process in that case.
1795
1796         * WebProcess/WebPage/WebPage.cpp:
1797         (WebKit::WebPage::close): Call disconnectFromPage to notify the
1798         print operation in case there's an ongoing print job.
1799         (WebKit::WebPage::endPrinting): Do not cleanup the print operation
1800         here, since the print opertation might not have finished yet.
1801         (WebKit::WebPage::didFinishPrintOperation): Send
1802         PrintFinishedCallback message to the Ui process and cleanup the
1803         print operation.
1804         * WebProcess/WebPage/WebPage.h:
1805         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
1806         (WebKit::WebPrintOperationGtk::disconnectFromPage): Set m_webPage
1807         to nullptr.
1808         (WebKit::WebPrintOperationGtk::printDone): Call
1809         didFinishPrintOperation() is the web page hasn't been closed.
1810         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
1811
1812 2014-03-12  Andreas Kling  <akling@apple.com>
1813
1814         BundlePageDiagnosticLoggingClient leaks every string passing through it.
1815         <https://webkit.org/b/130140>
1816         <rdar://problem/15416838>
1817
1818         Use toAPI() instead of toCopiedAPI() so the receiving end doesn't need
1819         to worry about adopting the WKStringRef.
1820
1821         Reviewed by Anders Carlsson.
1822
1823         * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp:
1824         (WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessage):
1825
1826 2014-03-12  Tim Horton  <timothy_horton@apple.com>
1827
1828         Hook up image controls for WebKit1
1829         https://bugs.webkit.org/show_bug.cgi?id=130062
1830         <rdar://problem/15964809>
1831
1832         Reviewed by Brady Eidson.
1833
1834         * Shared/ContextMenuContextData.cpp:
1835         (WebKit::ContextMenuContextData::ContextMenuContextData):
1836
1837 2014-03-11  Alexey Proskuryakov  <ap@apple.com>
1838
1839         REGRESSION (r165356): [Mac] Multi-part key bindings don't work
1840         https://bugs.webkit.org/show_bug.cgi?id=130100
1841
1842         Reviewed by Darin Adler.
1843
1844         Restore the previous behavior, where we only interpreted keydowns (including those
1845         coming through performKeyEquivalent).
1846
1847         In the future, we might send all events to input methods, but not to key bindings.
1848
1849         * UIProcess/API/mac/WKView.mm:
1850         (-[WKView keyUp:]):
1851         (-[WKView flagsChanged:]):
1852
1853 2014-03-11  Beth Dakin  <bdakin@apple.com>
1854
1855         _pageExtendedBackgroundColor should not be exposed on WKWebView
1856         https://bugs.webkit.org/show_bug.cgi?id=130093
1857
1858         Reviewed by Simon Fraser.
1859
1860         Added comment indicating that _pageExtendedBackgroundColor is deprecated.
1861         * UIProcess/API/Cocoa/WKViewPrivate.h:
1862
1863         _pageExtendedBackgroundColor now returns nil, but the conversation functionality 
1864         is maintained with a convenience method pageExtendedBackgroundColor.
1865         * UIProcess/API/Cocoa/WKWebView.mm:
1866         (-[WKWebView pageExtendedBackgroundColor]):
1867         (-[WKWebView _didCommitLayerTree:WebKit::]):
1868         (-[WKWebView _pageExtendedBackgroundColor]):
1869
1870         Added comment indicating that _pageExtendedBackgroundColor is deprecated.
1871         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1872
1873         Return nil.
1874         * UIProcess/API/ios/WKViewIOS.mm:
1875         (-[WKView _pageExtendedBackgroundColor]):
1876
1877 2014-03-11  Jae Hyun Park  <jaepark@webkit.org>
1878
1879         [GTK][CMake] Add HARFBUZZ_INCLUDE_DIRS to WebKit and WebKit2
1880         https://bugs.webkit.org/show_bug.cgi?id=130070
1881
1882         Reviewed by Martin Robinson.
1883
1884         * PlatformGTK.cmake:
1885
1886 2014-03-10  Dan Bernstein  <mitz@apple.com>
1887
1888         [Cocoa] Expose WebPageProxy::close
1889         https://bugs.webkit.org/show_bug.cgi?id=130068
1890
1891         Reviewed by Adele Peterson.
1892
1893         * UIProcess/API/Cocoa/WKWebView.mm:
1894         (-[WKWebView _close]):
1895         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1896
1897 2014-03-10  Benjamin Poulain  <bpoulain@apple.com>
1898
1899         [iOS][WebKit 2] Wire the unobscured rect in the WebProcess
1900         https://bugs.webkit.org/show_bug.cgi?id=130058
1901
1902         Reviewed by Simon Fraser.
1903
1904         * WebProcess/WebPage/ios/WebPageIOS.mm:
1905         (WebKit::WebPage::updateVisibleContentRects):
1906
1907 2014-03-10  Simon Fraser  <simon.fraser@apple.com>
1908
1909         Fix three leaks
1910         https://bugs.webkit.org/show_bug.cgi?id=130048
1911
1912         Reviewed by Anders Carlsson.
1913
1914         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
1915         (decodeObject): Code is simpler and less leaky without the RetainPtr.
1916         * UIProcess/API/Cocoa/WKNavigationAction.mm: Fix _originalURL leak
1917         by making it a RetainPtr and implementing the getter and setter.
1918         (-[WKNavigationAction _setOriginalURL:]):
1919         (-[WKNavigationAction _originalURL]):
1920
1921 2014-03-10  Beth Dakin  <bdakin@apple.com>
1922
1923         Set background color of WK2's UIScrollView to the pageExtendedBackgroundColor
1924         https://bugs.webkit.org/show_bug.cgi?id=129919
1925
1926         Reviewed by Benjamin Poulain.
1927
1928         Make the pageExtendedBackgroundColor part of a RemoteLayerTreeTransaction.
1929         * Shared/mac/RemoteLayerTreeTransaction.h:
1930         (WebKit::RemoteLayerTreeTransaction::pageExtendedBackgroundColor):
1931         (WebKit::RemoteLayerTreeTransaction::setPageExtendedBackgroundColor):
1932         * Shared/mac/RemoteLayerTreeTransaction.mm:
1933         (WebKit::RemoteLayerTreeTransaction::encode):
1934         (WebKit::RemoteLayerTreeTransaction::decode):
1935
1936         Set the background color of the UIScrollView based on the 
1937         pageExtendedBackgroundColor.
1938         * UIProcess/API/Cocoa/WKWebView.mm:
1939         (-[WKWebView _didCommitLayerTree:WebKit::]):
1940
1941         For the sake of PLATFORM(MAC), continue to support the fact that this color can be 
1942         set via a message from the WebProcess or the new RemoteLayerTreeTransaction.
1943         * UIProcess/WebPageProxy.h:
1944
1945         Cache the pageExtendedBackgroundColor as provided by the 
1946         RemoteLayerTreeTransaction.
1947         * UIProcess/ios/WebPageProxyIOS.mm:
1948         (WebKit::WebPageProxy::didCommitLayerTree):
1949
1950         It’s not necessary to do anything here in non-Mac platforms anymore.
1951         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1952         (WebKit::WebChromeClient::pageExtendedBackgroundColorDidChange):
1953
1954         Include the pageExtendedBackgroundColor in the RemoteLayerTreeTransaction.
1955         * WebProcess/WebPage/WebPage.cpp:
1956         (WebKit::WebPage::willCommitLayerTree):
1957
1958 2014-03-10  Benjamin Poulain  <bpoulain@apple.com>
1959
1960         Generalize unobscured rect to all ports
1961         https://bugs.webkit.org/show_bug.cgi?id=130036
1962
1963         Reviewed by Simon Fraser.
1964
1965         * WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
1966         (WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
1967         (WebKit::ViewGestureGeometryCollector::collectGeometryForMagnificationGesture):
1968         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1969         (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
1970
1971 2014-03-10  Dan Bernstein  <mitz@apple.com>
1972
1973         <rdar://problem/16278716> [Cocoa] Allow setting a custom group identifier on a WKWebView
1974         https://bugs.webkit.org/show_bug.cgi?id=130033
1975
1976         Reviewed by Tim Horton.
1977
1978         * UIProcess/API/Cocoa/WKWebView.mm:
1979         (-[WKWebView initWithFrame:configuration:]): Create a page group with the group identifier
1980         from the configuration, if it’s non-empty.
1981         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
1982         (-[WKWebViewConfiguration _groupIdentifier]): Added this accessor.
1983         (-[WKWebViewConfiguration _setGroupIdentifier:]): Ditto.
1984         * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Declared _groupIdentifier property.
1985
1986 2014-03-10  Enrica Casucci  <enrica@apple.com>
1987
1988         WebKit2: Crash in WebPage::getPositionInformation.
1989         https://bugs.webkit.org/show_bug.cgi?id=129936
1990         <rdar://problem/16264550>
1991  
1992         Reviewed by Eric Carlson.
1993  
1994         Missing null check on the node renderer in one code path.
1995         If the page body is smaller than the document, hit testing
1996         will return HTMLHtmlElement that has no renderer.
1997
1998         * WebProcess/WebPage/ios/WebPageIOS.mm:
1999         (WebKit::WebPage::getPositionInformation):
2000
2001 2014-03-10  Martin Robinson  <mrobinson@igalia.com>
2002
2003         [GTK] [CMake] Clean up library linking
2004         https://bugs.webkit.org/show_bug.cgi?id=129782
2005
2006         Reviewed by Philippe Normand.
2007
2008         * PlatformGTK.cmake: Use the new macro.
2009
2010 2014-03-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2011
2012         [GTK] The web process can finish while a print operation is still ongoing
2013         https://bugs.webkit.org/show_bug.cgi?id=129871
2014
2015         Reviewed by Martin Robinson.
2016
2017         This can happen when the last page is closed while the print job
2018         is sending data to the printer.
2019
2020         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Disable web
2021         process termination when the print job is sending data to the
2022         printer and enable it again when job finishes.
2023
2024 2014-03-09  Jeong Yong-uk  <yong@company100.com>
2025
2026         Update comment in NetworkResourceLoader
2027         https://bugs.webkit.org/show_bug.cgi?id=129997
2028
2029         Reviewed by Andreas Kling.
2030
2031         NetworkResourceLoader::resourceHandleStopped() has been renamed to
2032         NetworkResourceLoader::cleanup() but the comment is not updated.
2033
2034         * NetworkProcess/NetworkResourceLoader.cpp:
2035         (WebKit::NetworkResourceLoader::start):
2036
2037 2014-03-09  Alexey Proskuryakov  <ap@apple.com>
2038
2039         iOS build fix.
2040
2041         * WebProcess/WebPage/ios/WebPageIOS.mm: Include WebCore/KeyboardEvent.h.
2042
2043 2014-03-06  Alexey Proskuryakov  <ap@apple.com>
2044
2045         [Mac] Don't perform a round-trip through WebProcess before interpreting key events
2046         https://bugs.webkit.org/show_bug.cgi?id=129812
2047
2048         Reviewed by Darin Adler.
2049
2050         * Shared/NativeWebKeyboardEvent.h:
2051         * Shared/WebEvent.h:
2052         (WebKit::WebKeyboardEvent::handledByInputMethod):
2053         (WebKit::WebKeyboardEvent::commands):
2054         * Shared/WebEventConversion.cpp:
2055         (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
2056         * Shared/WebKeyboardEvent.cpp:
2057         (WebKit::WebKeyboardEvent::WebKeyboardEvent):
2058         (WebKit::WebKeyboardEvent::~WebKeyboardEvent):
2059         (WebKit::WebKeyboardEvent::encode):
2060         (WebKit::WebKeyboardEvent::decode):
2061         * Shared/mac/NativeWebKeyboardEventMac.mm:
2062         (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
2063         * Shared/mac/WebEventFactory.h:
2064         * Shared/mac/WebEventFactory.mm:
2065         (WebKit::WebEventFactory::createWebKeyboardEvent):
2066         Keyboard events now carry results of interpretation with them.
2067         Ideally, mouse events should also have a handledByInputMethod member, because IMs
2068         can handle events, but that can wait until we have actual bugs caused by not diabling
2069         default processing for these.
2070
2071         * UIProcess/API/mac/WKView.mm:
2072         (-[WKView becomeFirstResponder]): Updated for new NativeWebKeyboardEvent contructor
2073         signature. We don't interpret the event in this code path.
2074         (-[WKView doCommandBySelector:]): Added logging.
2075         (-[WKView performKeyEquivalent:]): Reimplemented Esc and Cmd+period handling to avoid
2076         infinite loops and re-entrancy. These two work in a unique way in AppKit.
2077         Interpret key event before sending it down to WebProcess.
2078         (-[WKView keyUp:]): Interpret key event before sending it down to WebProcess.
2079         We need to tell IMs about the event, but key binding processing is moot, all commands
2080         are executed on keydown.
2081         (-[WKView keyDown:]): Interpret the event.
2082         (-[WKView flagsChanged:]): Ditto.
2083         (-[WKView _interpretKeyEvent:savingCommandsTo:WebCore::]): Added an assertion in
2084         consumedByIM code path.
2085         (-[WKView _executeSavedCommandBySelector:]): Added logging.
2086
2087         * UIProcess/PageClient.h:
2088         * UIProcess/ios/PageClientImplIOS.h:
2089         * UIProcess/ios/PageClientImplIOS.mm:
2090         * UIProcess/mac/PageClientImpl.h:
2091         * UIProcess/mac/PageClientImpl.mm:
2092         * UIProcess/WebPageProxy.h:
2093         * UIProcess/WebPageProxy.messages.in:
2094         * UIProcess/ios/WebPageProxyIOS.mm:
2095         * UIProcess/mac/WebPageProxyMac.mm:
2096         Removed interpretQueuedKeyEvent/interpretKeyEvent, WebProcess no longer asks UIProcess to do this.
2097
2098         * WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:
2099         (WebKit::WebEditorClient::handleKeyboardEvent):
2100         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
2101         (WebKit::WebEditorClient::handleKeyboardEvent):
2102         (WebKit::WebEditorClient::handleInputMethodKeydown):
2103         WebPage::handleEditingKeyboardEvent is now one function instead of two with a boolean
2104         switch between two behaviors.
2105
2106         * WebProcess/WebPage/WebPage.cpp:(WebKit::WebPage::WebPage):
2107         * WebProcess/WebPage/WebPage.h:
2108         Removed m_keyboardEventBeingInterpreted, as we no longer send the event for interpretation.
2109         This means that we sometimes have to pass a null event down to WebCore, but I wasn't
2110         able to find any behavior differences from us doing so.
2111
2112         * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::handleEditingKeyboardEvent):
2113         Added a FIXME.
2114
2115         * WebProcess/WebPage/mac/WebPageMac.mm:
2116         (WebKit::WebPage::executeKeypressCommandsInternal): When we don't have an event,
2117         use current frame as a target, just like input method messages do.
2118         (WebKit::WebPage::handleEditingKeyboardEvent): This function no longer saves commands,
2119         it only interprets them.
2120         Added a check for Esc, as we don't want to handle it in keydown event handler.
2121         (WebKit::WebPage::insertText): Pass 0 instead of m_keyboardEventBeingInterpreted.
2122         (WebKit::WebPage::insertDictatedText): Ditto.
2123         (WebKit::WebPage::executeKeypressCommands): Ditto.
2124
2125 2014-03-09  Zalan Bujtas  <zalan@apple.com>
2126
2127         Subpixel rendering: Pass FloatSize boxsize to transform animations to support device pixel sizing.
2128         https://bugs.webkit.org/show_bug.cgi?id=129985
2129
2130         Reviewed by Simon Fraser.
2131
2132         This is in preparation to stop passing integral positioned boxes to transform animations.
2133
2134         No change in behavior.
2135
2136         * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
2137
2138 2014-03-08  Simon Fraser  <simon.fraser@apple.com>
2139
2140         [iOS Wk2] Can't scroll after going back to page in page cache
2141         https://bugs.webkit.org/show_bug.cgi?id=129989
2142         <rdar://problem/16217588>
2143
2144         Reviewed by Dan Bernstein.
2145
2146         iOS has a special FrameLoader::forceLayoutWithoutRecalculatingStyle()
2147         function that is called instead of FrameView::forceLayout(). This was unimplemented
2148         for the WK2 FrameLoaderClient, so no layout was forced, with the result
2149         that the contentSize was never updated and scrolling was broken.
2150         
2151         Fix by renaming the client function to forceLayoutOnRestoreFromPageCache()
2152         and having it return a bool to say whether the default forceLayout()
2153         should be done. WK1 can then continue to have its custom behavior,
2154         and Wk2 will simply do a forceLayout().
2155         
2156         Also remove FrameLaoderClient::forceLayout(), which was never called.
2157
2158         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2159         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2160         * WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm:
2161         (WebKit::WebFrameLoaderClient::forceLayoutOnRestoreFromPageCache):
2162
2163 2014-03-08  Simon Fraser  <simon.fraser@apple.com>
2164
2165         [iOS WK2] Get position:fixed working slighlty better
2166         https://bugs.webkit.org/show_bug.cgi?id=129988
2167
2168         Reviewed by Dan Bernstein.
2169         
2170         iOS uses fixed layout, but does not want fixed elements laid
2171         out relative to the frame.
2172
2173         * WebProcess/WebPage/WebPage.cpp:
2174         (WebKit::WebPage::setUseFixedLayout):
2175
2176 2014-03-08  Jon Lee  <jonlee@apple.com>
2177
2178         iOS broken after r165342
2179         https://bugs.webkit.org/show_bug.cgi?id=129987
2180
2181         Reviewed by Simon Fraser.
2182
2183         * NetworkProcess/ios/NetworkProcessIOS.mm:
2184         (WebKit::NetworkProcess::platformLowMemoryHandler): Add missing stub implementation for
2185         platformLowMemoryHandler().
2186
2187 2014-03-08  Eric Carlson  <eric.carlson@apple.com>
2188
2189         [iOS] media preferences not initialized correctly in WebKit2
2190         https://bugs.webkit.org/show_bug.cgi?id=129983
2191
2192         Reviewed by Dan Bernstein.
2193
2194         * Shared/WebPreferencesStore.h: Initialize mediaPlaybackAllowsInline and 
2195         mediaPlaybackRequiresUserGesture correctly for iOS.
2196
2197 2014-03-08  Jeremy Jones  <jeremyj@apple.com>
2198
2199         Allow media element to supply the video layer after fullscreen transition has already begun.
2200         https://bugs.webkit.org/show_bug.cgi?id=129870
2201
2202         Reviewed by Eric Carlson.
2203
2204         WebVideoFullscreenManager and WebVideoFullscreenManagerProxy do their own remote hosting of the video layer instead of needing the video layer to have already been hosted elsewhere. This allows the removal of the coordination with WebPageProxy via a RemoteLayerTreeTransaction.
2205
2206         * Shared/mac/RemoteLayerTreeTransaction.h:
2207         Remove m_videoLayerIDsPendingFullscreen and accessors.
2208
2209         * Shared/mac/RemoteLayerTreeTransaction.mm:
2210         (WebKit::RemoteLayerTreeTransaction::encode):
2211         Don't encode m_videoLayerIDsPendingFullscreen
2212
2213         (WebKit::RemoteLayerTreeTransaction::decode):
2214         Don't decode m_videoLayerIDsPendingFullscreen
2215
2216         * UIProcess/ios/WebPageProxyIOS.mm:
2217         (WebKit::WebPageProxy::didCommitLayerTree):
2218         Don't forward didCommitLayerTree to m_videoFullscreenManager.
2219
2220         * UIProcess/ios/WebVideoFullscreenManagerProxy.h:
2221         Remove code for synchronizing with the RenderTree.
2222         Add a hosting layer and methods to keep video layer frame and video gravity synchronized.
2223
2224         * UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
2225         Change IPC interface to fascilitate rehosting video layer with a instead of coordinating with the RenderTree by PlatformLayerID.
2226
2227         * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
2228         (WebKit::WebVideoFullscreenManagerProxy::WebVideoFullscreenManagerProxy):
2229         Remove initialization for removed members.
2230
2231         (WebKit::WebVideoFullscreenManagerProxy::enterFullscreenWithID):
2232         Rehost the video layer by id and pass on the layer.
2233         This replaces didCommitLayerTree() and  willLendVideoLayerWithID(). 
2234
2235         (WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen):
2236         Cleanup the hosting layer.
2237
2238         (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerFrame):
2239         Forward on the video layer's frame to keep the hosted layer in sync with the interface.
2240
2241         (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerGravity):
2242         Forward the videolayer gravity.
2243
2244         * WebKit2.xcodeproj/project.pbxproj:
2245         Rename WebVideoFullscreenManager.cpp to WebVideoFullscreenManager.mm
2246
2247         * WebProcess/WebPage/WebPage.cpp:
2248         (WebKit::WebPage::willCommitLayerTree):
2249         Don't invovle the m_videoFullscreenManager in layer tree transactions.
2250
2251         * WebProcess/ios/WebVideoFullscreenManager.h:
2252         Remove code that synchronizes with the render tree via RemoteLayerTreeTransaction.
2253         Instead rehost the video layer directly.
2254         Instead of hoping the WebVideoFullscreenModel has a videoLayer, supply one into which
2255         it can add whatever it likes as needed.
2256
2257         * WebProcess/ios/WebVideoFullscreenManager.messages.in:
2258         No more explicit borrowing and returning video layers.
2259         Add functions to keep video layer bounds and gravity in sync with the UI. 
2260
2261         * WebProcess/ios/WebVideoFullscreenManager.mm: Renamed from Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.cpp.
2262         Removed code for synchronizing via RemoteLAyerTreeTransaction.
2263
2264         (WebKit::WebVideoFullscreenManager::WebVideoFullscreenManager):
2265         Remove initialization for removed memeber m_sendUnparentVideoLayerTransaction.
2266
2267         (WebKit::WebVideoFullscreenManager::enterFullscreenForNode):
2268         Creates a fullscreen layer, gives it to the WebVideoFullscreenModel to fill in,
2269         and hosts it in a context to send to the UIProcess.
2270
2271         (WebKit::WebVideoFullscreenManager::exitFullscreenForNode):
2272         remove enterFullscreen() and just directly send the IPC message. 
2273
2274         (WebKit::WebVideoFullscreenManager::didExitFullscreen):
2275         Clean up the hosting context.
2276
2277         (WebKit::WebVideoFullscreenManager::setVideoLayerGravityEnum):
2278         Forward on the video gravity. Type convert from unsigned to MediaPlayer::VideoGravity.
2279
2280 2014-03-08  Andreas Kling  <akling@apple.com>
2281
2282         [WK2] Improve the network process low memory handler.
2283         <https://webkit.org/b/129977>
2284
2285         Split the network process low memory handler into platform-specific
2286         and shared parts. The shared part tells FastMalloc to release freed
2287         pages back to the OS.
2288
2289         For Mac, added a call to purge the in-memory part of CFURLCache.
2290         Remove the malloc_zone_pressure_relief() since that is now taken care
2291         of by the shared MemoryPressureHandler code.
2292
2293         Reviewed by Darin Adler.
2294
2295         * NetworkProcess/NetworkProcess.cpp:
2296         (WebKit::NetworkProcess::initializeNetworkProcess):
2297         (WebKit::NetworkProcess::lowMemoryHandler):
2298         (WebKit::NetworkProcess::platformLowMemoryHandler):
2299         * NetworkProcess/NetworkProcess.h:
2300         * NetworkProcess/mac/NetworkProcessMac.mm:
2301         (WebKit::NetworkProcess::platformLowMemoryHandler):
2302         (WebKit::NetworkProcess::platformInitializeNetworkProcess):
2303
2304 2014-03-08  Jae Hyun Park  <jaepark@webkit.org>
2305
2306         Remove unnecessary casting in NetworkProcessMainUnix.cpp
2307         https://bugs.webkit.org/show_bug.cgi?id=129968
2308
2309         Reviewed by Andreas Kling.
2310
2311         * NetworkProcess/unix/NetworkProcessMainUnix.cpp:
2312         Since socket is an int, int casting is not necessary.
2313
2314         (WebKit::NetworkProcessMain):
2315
2316 2014-03-08  Aaron Golden  <golden@inkling.com>
2317
2318         Prevent processes spawned by WebProcess from trying to insert the SecItem shim.
2319         https://bugs.webkit.org/show_bug.cgi?id=129864
2320
2321         Reviewed by Anders Carlsson.
2322
2323         * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
2324         (WebKit::WebContentProcessMainDelegate::doPreInitializationWork):
2325
2326 2014-03-07  Tim Horton  <timothy_horton@apple.com>
2327
2328         [WebKit2][iOS] PDF
2329         https://bugs.webkit.org/show_bug.cgi?id=129600
2330         <rdar://problem/15260216>
2331
2332         Reviewed by Anders Carlsson.
2333
2334         Add a single custom content provider which installs a very primitive PDF view
2335         in place of the WKContentView if a PDF is loaded in the main frame.
2336
2337         * Configurations/WebKit2.xcconfig:
2338         Link against CorePDF, for UIPDFPageView.
2339
2340         * UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm:
2341         (-[WKWebViewContentProviderRegistry init]):
2342         Initialize the registry, using WKPDFView for all PDF MIME types.
2343
2344         * WebKit2.xcodeproj/project.pbxproj:
2345         * UIProcess/ios/WKPDFView.h: Added.
2346         * UIProcess/ios/WKPDFView.mm: Added.
2347         Add a very simple PDF view based on UIPDFPageView. Additional functionality
2348         can come in the future; right now, we just create one view for each page, and
2349         depend on CATiledLayer to only paint the pages that are being displayed.
2350
2351 2014-03-07  Andreas Kling  <akling@apple.com>
2352
2353         ArgumentEncoder and ArgumentDecoder should be fastmalloced.
2354         <https://webkit.org/b/129960>
2355
2356         Reviewed by Ryosuke Niwa.
2357
2358         * Platform/IPC/ArgumentDecoder.h:
2359         * Platform/IPC/ArgumentEncoder.h:
2360
2361 2014-03-07  Martin Robinson  <mrobinson@igalia.com>
2362
2363         Fix the GTK+ build after the recent iOS merge.
2364
2365         * UIProcess/API/gtk/PageClientImpl.cpp: Make some methods available to non-Cocoa ports and fix some signatures.
2366         * UIProcess/WebPageProxy.h: Ditto.
2367
2368 2014-03-07  Ryuan Choi  <ryuan.choi@samsung.com>
2369
2370         Unreviewed. Fix build on the EFL port after r165303
2371
2372         * UIProcess/CoordinatedGraphics/WebView.cpp:
2373         (WebKit::WebView::didCommitLoadForMainFrame): Added new parameters.
2374         * UIProcess/CoordinatedGraphics/WebView.h: Ditto.
2375         * UIProcess/WebPageProxy.h:
2376         * UIProcess/efl/WebViewEfl.cpp: Added dummy didFinishLoadingDataForCustomContentProvider()
2377         (WebKit::WebViewEfl::exitFullScreen):
2378         (WebKit::WebViewEfl::didFinishLoadingDataForCustomContentProvider):
2379         * UIProcess/efl/WebViewEfl.h: Ditto.
2380
2381 2014-03-07  Enrica Casucci  <enrica@apple.com>
2382
2383         [iOS WebKit2] Keyboard accessory comes up when I click a link.
2384         https://bugs.webkit.org/show_bug.cgi?id=129949
2385         <rdar://problem/16265305>
2386
2387         Reviewed by Simon Fraser.
2388
2389         We need to create the accessory view only when needed.
2390
2391         * UIProcess/ios/WKContentViewInteraction.mm:
2392         (-[WKContentView requiresAccessoryView]):
2393         (-[WKContentView inputAccessoryView]):
2394
2395 2014-03-07  Enrica Casucci  <enrica@apple.com>
2396
2397         [iOS WebKit2] Long-press on a link shows just "Copy".
2398         https://bugs.webkit.org/show_bug.cgi?id=129938
2399         <rdar://problem/16266054>
2400
2401         Reviewed by Benjamin Poulain.
2402
2403         When adding a FIXME comment, I accidentally removed the ! on
2404         the if (!element) condition.
2405
2406         * WebProcess/WebPage/ios/WebPageIOS.mm:
2407         (WebKit::WebPage::getPositionInformation):
2408
2409 2014-03-07  Tim Horton  <timothy_horton@apple.com>
2410
2411         [WebKit2][iOS] Main-frame custom content providers
2412         https://bugs.webkit.org/show_bug.cgi?id=129809
2413
2414         Reviewed by Dan Bernstein.
2415
2416         Re-introduce custom content providers to WebKit2 (removed in r152841), but
2417         for iOS this time.
2418
2419         * UIProcess/API/Cocoa/WKWebView.mm:
2420         (-[WKWebView initWithFrame:configuration:]):
2421         Send the initial MIME types that have custom content providers to the WebProcess.
2422
2423         (-[WKWebView dealloc]):
2424         Unregister our page from the content provider registry.
2425         
2426         (-[WKWebView _setHasCustomContentView:loadedMIMEType:]):
2427         Install/uninstall the custom content provider. Create a view, if needed,
2428         based on the class that the registry has associated with the given MIME type.
2429         We unparent the WKContentView while the custom content provider is active,
2430         and re-use the existing WKScrollView to contain the custom content provider.
2431
2432         (-[WKWebView _didFinishLoadingDataForCustomContentProviderWithSuggestedFilename:dataReference:]):
2433         Forward loaded data on to the custom content provider for display.
2434
2435         (-[WKWebView _didCommitLayerTree:WebKit::]):
2436         Assert that we aren't getting layer tree commits while using a custom content provider.
2437
2438         (-[WKWebView viewForZoomingInScrollView:]):
2439         If we're using a custom content provider, its view should be used for zooming
2440         instead of the (unparented) web content view.
2441
2442         (-[WKWebView hasContentView]):
2443         (-[WKWebView scrollViewWillBeginZooming:withView:]):
2444         (-[WKWebView scrollViewWillBeginDragging:]):
2445         (-[WKWebView _didFinishScrolling]):
2446         (-[WKWebView _updateVisibleContentRects]):
2447         If we do not have a parented WKContentView because we are using a custom
2448         content provider, we should not forward scroll view related changes to it.
2449
2450         (-[WKWebView _frameOrBoundsChanged]):
2451         Update the minimum size of the custom content provider if the web view size changes.
2452
2453         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
2454         (-[WKWebViewConfiguration copyWithZone:]):
2455         (-[WKWebViewConfiguration _contentProviderRegistry]):
2456         (-[WKWebViewConfiguration _setContentProviderRegistry:]):
2457         * UIProcess/API/Cocoa/WKWebViewConfigurationInternal.h: Added.
2458         Add an internal WKWebViewConfiguration property, the WKWebViewContentProviderRegistry.
2459
2460         * UIProcess/API/Cocoa/WKWebViewInternal.h:
2461
2462         * UIProcess/Cocoa/WKWebViewContentProvider.h: Added.
2463         A minimal protocol for informing custom content providers of changes to
2464         the size of the view, the represented data, and the owning scroll view.
2465
2466         * UIProcess/Cocoa/WKWebViewContentProviderRegistry.h: Added.
2467         * UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm: Added.
2468         (-[WKWebViewContentProviderRegistry addPage:]):
2469         (-[WKWebViewContentProviderRegistry removePage:]):
2470         (-[WKWebViewContentProviderRegistry registerProvider:forMIMEType:]):
2471         (-[WKWebViewContentProviderRegistry providerForMIMEType:]):
2472         (-[WKWebViewContentProviderRegistry mimeTypesWithContentProviders]):
2473         New class, keeps track of a mapping from MIME types to UIViews that
2474         conform to the WKWebViewContentProvider protocol.
2475
2476         * UIProcess/WebPageProxy.cpp:
2477         (WebKit::WebPageProxy::WebPageProxy):
2478         (WebKit::WebPageProxy::didCommitLoadForFrame):
2479         * UIProcess/WebPageProxy.h:
2480         * UIProcess/WebPageProxy.messages.in:
2481
2482         * UIProcess/PageClient.h:
2483         * UIProcess/ios/PageClientImplIOS.h:
2484         * UIProcess/ios/PageClientImplIOS.mm:
2485         (WebKit::PageClientImpl::PageClientImpl):
2486         (WebKit::PageClientImpl::didCommitLoadForMainFrame):
2487         (WebKit::PageClientImpl::didFinishLoadingDataForCustomContentProvider):
2488         * UIProcess/mac/PageClientImpl.h:
2489         * UIProcess/mac/PageClientImpl.mm:
2490         (WebKit::PageClientImpl::didCommitLoadForMainFrame):
2491         (WebKit::PageClientImpl::didFinishLoadingDataForCustomContentProvider):
2492         Add parameters to didCommitLoadForMainFrame, indicating if we should use
2493         a custom content provider to display the main frame, and what MIME type
2494         was loaded in said frame, and add didFinishLoadingDataForCustomContentProvider.
2495         On iOS, forward these to the WKWebView.
2496         Also, give PageClientImplIOS a reference to the WKWebView.
2497         
2498         * UIProcess/ios/WKContentView.mm:
2499         (-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::webView:]):
2500         
2501         * WebKit2.xcodeproj/project.pbxproj:
2502         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
2503         (-[WKWebProcessPlugInFrame _hasCustomContentProvider]):
2504         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h:
2505         Expose whether or not a given frame has a custom content provider to the plug-in.
2506
2507         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2508         (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
2509         (WebKit::WebFrameLoaderClient::hasHTMLView):
2510         (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
2511         (WebKit::WebFrameLoaderClient::committedLoad):
2512         (WebKit::WebFrameLoaderClient::finishedLoading):
2513         (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
2514         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
2515         (WebKit::WebFrameLoaderClient::canCachePage):
2516         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2517         (WebKit::WebFrameLoaderClient::frameHasCustomContentProvider):
2518         Restore WebFrameLoaderClient custom representation code, which ensures
2519         that data is routed correctly (to the UI process, and not to WebCore) and
2520         that we don't try to use the page cache for frames with content providers.
2521
2522         * WebProcess/WebPage/WebPage.cpp:
2523         (WebKit::WebPage::mainFrameHasCustomContentProvider):
2524         (WebKit::WebPage::addMIMETypeWithCustomContentProvider):
2525         (WebKit::WebPage::shouldUseCustomContentProviderForResponse):
2526         (WebKit::WebPage::canShowMIMEType):
2527         * WebProcess/WebPage/WebPage.h:
2528         * WebProcess/WebPage/WebPage.messages.in:
2529         Keep a list of MIME types which can be displayed via custom content providers
2530         in WebPage, which will be pushed down from the registry as new providers
2531         are added. Plug-ins still take precendence over custom content providers.
2532
2533 2014-03-07  Anders Carlsson  <andersca@apple.com>
2534
2535         MigrateHeaders.make should remove C SPI includes from WebKit2 headers
2536         https://bugs.webkit.org/show_bug.cgi?id=129937
2537         <rdar://problem/15920020>
2538
2539         Reviewed by Tim Horton.
2540
2541         * WebKit2.xcodeproj/project.pbxproj:
2542         Make WKPreferences.h and all headers it includes public. Update the post processing of WKBase.h
2543         to account for WKBase.h now being a public header again.
2544
2545 2014-03-07  Alexey Proskuryakov  <ap@apple.com>
2546
2547         REGRESSION (r164847): Pressing the command key while hovering an element causes it to un-hover
2548         https://bugs.webkit.org/show_bug.cgi?id=129872
2549
2550         Reviewed by Tim Horton.
2551
2552         * UIProcess/API/Cocoa/WKViewPrivate.h: Changes in performDictionaryLookupAtCurrentMouseLocation
2553         were also not correct, because the current event could be a keyboard one (Cmd+Ctrl+D).
2554         But this SPI is unused, and can be simply removed.
2555
2556         * UIProcess/API/mac/WKView.mm: (-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]):
2557         locationInWindow is undefined for keyboard events, so we have to use current location.
2558         Thankfully, there is a method that returns the location in appropriate coordinate
2559         space, unlike +[NSEvent mouseLocation] that we used before.
2560
2561 2014-03-07  Andy Estes  <aestes@apple.com>
2562
2563         [iOS] Install WebKit2 XPC services to the correct place during iOS Simulator builds
2564         https://bugs.webkit.org/show_bug.cgi?id=129914
2565
2566         Reviewed by Dan Bernstein.
2567
2568         We weren't specifying INSTALL_PATH for iOS Simulator builds in
2569         BaseXPCService.xcconfig, and r164576 changed INSTALL_PATH to
2570         INSTALL_PATH_ACTUAL. This caused XPC services to start being installed
2571         to the root of the iOS Simulator SDK. Fix this by setting
2572         INSTALL_PATH_ACTUAL for iphonesimulator.
2573
2574         * Configurations/BaseXPCService.xcconfig:
2575
2576 2014-03-07  Andreas Kling  <akling@apple.com>
2577
2578         [Mac] Notify system malloc of fake memory pressure.
2579         <https://webkit.org/b/129908>
2580
2581         Reviewed by Anders Carlsson.
2582
2583         * NetworkProcess/mac/NetworkProcessMac.mm:
2584         (WebKit::NetworkProcess::platformInitializeNetworkProcess):
2585
2586             Listen for the fake memory pressure notification and respond by
2587             just forwarding to system malloc. We don't do the full WebCore
2588             memory pressure handling here, since that will cause stuff that
2589             the network process doesn't need to get instantiated.
2590
2591 2014-03-07  Dean Jackson  <dino@apple.com>
2592
2593         Attempt to fix the iOS build.
2594
2595         * Configurations/WebKit2.xcconfig: Add -framework OpenGLES to linking.
2596
2597 2014-03-07  Simon Fraser  <simon.fraser@apple.com>
2598
2599         [iOS] Add an updateID to visibleContentRect updates which is passed back in layer transactions, so we know whether transactions are stale
2600         https://bugs.webkit.org/show_bug.cgi?id=129897
2601
2602         Reviewed by Benjamin Poulain.
2603
2604         In WebKit2 on iOS we need to know when layer updates from the web process
2605         are stale with respect to visible rect updates from the UI process. Do so
2606         by adding an updateID to VisibleContentRectUpdateInfo, and storing it
2607         on each side, returning it in RemoteLayerTreeTransaction.
2608         
2609         Did some re-ordering of members and encoding order in RemoteLayerTreeTransaction
2610         to group like data members together.
2611         
2612         * Shared/VisibleContentRectUpdateInfo.cpp:
2613         (WebKit::VisibleContentRectUpdateInfo::encode):
2614         (WebKit::VisibleContentRectUpdateInfo::decode):
2615         * Shared/VisibleContentRectUpdateInfo.h:
2616         (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
2617         (WebKit::VisibleContentRectUpdateInfo::updateID):
2618         (WebKit::operator==):
2619         * Shared/mac/RemoteLayerTreeTransaction.h:
2620         (WebKit::RemoteLayerTreeTransaction::setLastVisibleContentRectUpdateID):
2621         (WebKit::RemoteLayerTreeTransaction::lastVisibleContentRectUpdateID):
2622         * Shared/mac/RemoteLayerTreeTransaction.mm:
2623         (WebKit::RemoteLayerTreeTransaction::encode):
2624         (WebKit::RemoteLayerTreeTransaction::decode):
2625         * UIProcess/WebPageProxy.h:
2626         (WebKit::WebPageProxy::nextVisibleContentRectUpdateID):
2627         (WebKit::WebPageProxy::lastVisibleContentRectUpdateID):
2628         * UIProcess/ios/WKContentView.mm:
2629         (-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):
2630         * WebProcess/WebPage/WebPage.cpp:
2631         (WebKit::WebPage::WebPage):
2632         (WebKit::WebPage::willCommitLayerTree):
2633         * WebProcess/WebPage/WebPage.h:
2634         * WebProcess/WebPage/ios/WebPageIOS.mm:
2635         (WebKit::WebPage::updateVisibleContentRects):
2636
2637 2014-03-07  Roger Fong  <roger_fong@apple.com>
2638
2639         Replace setSystemWebGLLoadPolicy API with methods to query for WebGL blocking policy.
2640         https://bugs.webkit.org/show_bug.cgi?id=129873.
2641
2642         Reviewed by Dean Jackson.
2643
2644         Remove setSystemWebGLLoadPolicy API.
2645         * UIProcess/API/APILoaderClient.h:
2646         (API::LoaderClient::resolveWebGLLoadPolicy):
2647         * UIProcess/API/C/WKPage.cpp:
2648         (WKPageSetPageLoaderClient):
2649         * UIProcess/API/C/WKPageLoaderClient.h:
2650         * UIProcess/WebPageProxy.cpp:
2651         (WebKit::WebPageProxy::resolveWebGLPolicyForURL):
2652         * UIProcess/WebPageProxy.h:
2653         * UIProcess/WebPageProxy.messages.in:
2654         * WebProcess/WebPage/mac/WebPageMac.mm:
2655         (WebKit::WebPage::webGLPolicyForURL):
2656
2657         Add API to directly query the WebGL blocking policies from WKSI.
2658         * UIProcess/API/C/mac/WKContextPrivateMac.h:
2659         * UIProcess/API/C/mac/WKContextPrivateMac.mm:
2660         (WKContextShouldBlockWebGL):
2661         (WKContextShouldSuggestBlockWebGL):
2662
2663 2014-03-07  Eric Carlson  <eric.carlson@apple.com>
2664
2665         Initialize new WKSI functions for WebKit2
2666         https://bugs.webkit.org/show_bug.cgi?id=129889
2667
2668         Reviewed by Simon Fraser.
2669
2670         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2671         (InitWebCoreSystemInterface):
2672
2673 2014-03-07  Carlos Garcia Campos  <cgarcia@igalia.com>
2674
2675         [GTK] Use final and override in WebPrintOperationGtk
2676         https://bugs.webkit.org/show_bug.cgi?id=129868
2677
2678         Reviewed by Sergio Villar Senin.
2679
2680         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
2681
2682 2014-03-06  Alexey Proskuryakov  <ap@apple.com>
2683
2684         [Mac] Allow com.apple.GSSCred in WebKit sandbox profiles
2685         https://bugs.webkit.org/show_bug.cgi?id=129777
2686         <rdar://problem/16050832>
2687
2688         Reviewed by Anders Carlsson.
2689
2690         * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
2691         * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
2692         * WebProcess/com.apple.WebProcess.sb.in:
2693
2694 2014-03-06  Filip Pizlo  <fpizlo@apple.com>
2695
2696         If the FTL is build-time enabled then it should be run-time enabled.
2697
2698         Rubber stamped by Geoffrey Garen.
2699
2700         * Shared/WebProcessCreationParameters.cpp:
2701         (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
2702         (WebKit::WebProcessCreationParameters::encode):
2703         (WebKit::WebProcessCreationParameters::decode):
2704         * Shared/WebProcessCreationParameters.h:
2705         * UIProcess/mac/WebContextMac.mm:
2706         (WebKit::registerUserDefaultsIfNeeded):
2707         (WebKit::WebContext::platformInitializeWebProcess):
2708         * WebProcess/cocoa/WebProcessCocoa.mm:
2709         (WebKit::WebProcess::platformInitializeWebProcess):
2710
2711 2014-03-06  Hyowon Kim  <hw1008.kim@samsung.com>
2712
2713         [EFL] Move EvasGL classes from WebKit to WebCore namespace.
2714         https://bugs.webkit.org/show_bug.cgi?id=129797
2715
2716         Reviewed by Gyuyoung Kim.
2717
2718         * UIProcess/API/efl/EwkView.h: namespace changes for EvasGLContext/Surface.
2719
2720 2014-03-06  Simon Fraser  <simon.fraser@apple.com>
2721
2722         Remove one more setCustomFixedPositionRect() that I missed.
2723
2724         * UIProcess/DrawingAreaProxy.h:
2725
2726 2014-03-06  Simon Fraser  <simon.fraser@apple.com>
2727
2728         Send the fixed position rect to the WebProcess along with the other rects
2729         https://bugs.webkit.org/show_bug.cgi?id=129856
2730
2731         Reviewed by Benjamin Poulain.
2732         
2733         Remove the functions that pass the custom fixed position rect through
2734         the DrawingArea, and replace them by adding this rect to the
2735         VisibleContentRectUpdateInfo, along with the "is stable" flag. We
2736         then set the custom fixed position rect in the web process for
2737         stable updates.
2738
2739         * Shared/VisibleContentRectUpdateInfo.cpp:
2740         (WebKit::VisibleContentRectUpdateInfo::encode):
2741         (WebKit::VisibleContentRectUpdateInfo::decode):
2742         * Shared/VisibleContentRectUpdateInfo.h:
2743         (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
2744         (WebKit::VisibleContentRectUpdateInfo::customFixedPositionRect):
2745         (WebKit::VisibleContentRectUpdateInfo::inStableState):
2746         (WebKit::operator==):
2747         * UIProcess/DrawingAreaProxy.cpp:
2748         * UIProcess/ios/WKContentView.mm:
2749         (-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):
2750         * WebProcess/WebPage/DrawingArea.h:
2751         * WebProcess/WebPage/DrawingArea.messages.in:
2752         * WebProcess/WebPage/ios/WebPageIOS.mm:
2753         (WebKit::WebPage::updateVisibleContentRects):
2754         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
2755         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
2756         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2757
2758 2014-03-06  Simon Fraser  <simon.fraser@apple.com>
2759
2760         Remove empty class extension in WKContentViewInteraction
2761         https://bugs.webkit.org/show_bug.cgi?id=129849
2762
2763         Reviewed by Enrica Casucci.
2764         
2765         This empty class extension is cruft left over from refactoring.
2766         It can be removed.
2767
2768         * UIProcess/ios/WKContentViewInteraction.mm:
2769
2770 2014-03-06  Simon Fraser  <simon.fraser@apple.com>
2771
2772         [iOS] didUpdateVisibleRect: should use fabs, not abs
2773         https://bugs.webkit.org/show_bug.cgi?id=129843
2774
2775         Reviewed by Benjamin Poulain.
2776         
2777         When zooming we sent messages to the web process with an unchanging
2778         zoom scale because of use of abs() rather than fabs().
2779
2780         * UIProcess/ios/WKContentView.mm:
2781         (-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):
2782
2783 2014-03-06  Anders Carlsson  <andersca@apple.com>
2784
2785         Remove WebKit1 header includes from WebKit2
2786         https://bugs.webkit.org/show_bug.cgi?id=129824
2787
2788         Reviewed by Dan Bernstein.
2789
2790         * UIProcess/mac/WKFullScreenWindowController.mm:
2791         (makeResponderFirstResponderIfDescendantOfView):
2792         Add a new function instead of calling an NSWindow category method that's defined in WebKit1.
2793
2794         (-[WKFullScreenWindowController enterFullScreen:]):
2795         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
2796         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
2797         Call makeResponderFirstResponderIfDescendantOfView.
2798
2799         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
2800         Remove unused WebKit1 header import.
2801
2802         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
2803         (WebKit::WebEditorClient::documentFragmentFromAttributedString):
2804         Change a category to be on NSObject instead of WebResource.
2805
2806 2014-03-06  Jon Lee  <jonlee@apple.com>
2807
2808         iOS build fix.
2809
2810         Reviewed by Simon Fraser.
2811
2812         * UIProcess/ios/SmartMagnificationController.mm:
2813
2814 2014-03-06  Joseph Pecoraro  <pecoraro@apple.com>
2815
2816         Web Inspector: Expose the console object in JSContexts to interact with Web Inspector
2817         https://bugs.webkit.org/show_bug.cgi?id=127944
2818
2819         Reviewed by Geoffrey Garen.
2820
2821         * WebProcess/WebCoreSupport/WebChromeClient.h:
2822         Update namespaces.
2823
2824 2014-03-06  Carlos Garcia Campos  <cgarcia@igalia.com>
2825
2826         [GTK] Close the page when the view is disposed instead of when finalized
2827         https://bugs.webkit.org/show_bug.cgi?id=129783
2828
2829         Reviewed by Sergio Villar Senin.
2830
2831         When a GtkWidget is destroyed, the GObject is disposed, but not
2832         finalized if it has additional references. When the destroyed
2833         widget is leaked by the application, we leak the page proxy and
2834         what is more important the web process in multi-process mode.
2835
2836         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2837         (webkitWebViewBaseDispose): Close the WebPageProxy.
2838
2839 2014-03-05  Chris Fleizach  <cfleizach@apple.com>
2840
2841         AX: Support IOS Accessibility in WK2
2842         https://bugs.webkit.org/show_bug.cgi?id=129527
2843
2844         Build fix.
2845
2846         * WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
2847         (-[WKAccessibilityWebPageObject accessibilityHitTest:]):
2848
2849 2014-03-05  Chris Fleizach  <cfleizach@apple.com>
2850
2851         AX: Support IOS Accessibility in WK2
2852         https://bugs.webkit.org/show_bug.cgi?id=129527
2853
2854         Address review comments from Simon noted in bug.
2855
2856         * UIProcess/ios/WKContentView.mm:
2857         (-[WKContentView _accessibilityRegisterUIProcessTokens]):
2858         * WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.mm:
2859         (-[WKAccessibilityWebPageObject init]):
2860         (-[WKAccessibilityWebPageObject dealloc]):
2861         * WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.h:
2862         * WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
2863         (-[WKAccessibilityWebPageObject accessibilityAttributeNames]):
2864         (-[WKAccessibilityWebPageObject accessibilitySetValue:forAttribute:]):
2865         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
2866         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
2867         (-[WKAccessibilityWebPageObject accessibilityHitTest:]):
2868
2869 2014-03-05  Dean Jackson  <dino@apple.com>
2870
2871         [WebGL] Use WKSI to see what the system policy for WebGL is
2872         https://bugs.webkit.org/show_bug.cgi?id=129722
2873         <rdar://problem/15790542>
2874
2875         Reviewed by Tim Horton.
2876
2877         Use the WebKitSystemInterface methods WKShouldBlockWebGL
2878         and WKShouldSuggestBlockingWebGL to query what the host
2879         system thinks about the hardware. Tell the client about
2880         the result in a new WebPage method setSystemWebGLPolicy.
2881
2882         * UIProcess/API/APILoaderClient.h:
2883         (API::LoaderClient::setSystemWebGLLoadPolicy): New empty definition.
2884         * UIProcess/API/C/WKAPICast.h:
2885         (WebKit::toAPI): Convert a WebGLLoadPolicy into a WKWebGLLoadPolicy.
2886         * UIProcess/API/C/WKPage.cpp: Call setSystemWebGLLoadPolicy.
2887         (WKPageSetPageLoaderClient):
2888         * UIProcess/API/C/WKPageLoaderClient.h: New typedef and entry in client structure.
2889         * UIProcess/WebPageProxy.cpp:
2890         (WebKit::WebPageProxy::setSystemWebGLPolicy):
2891         * UIProcess/WebPageProxy.h:
2892         * UIProcess/WebPageProxy.messages.in: Add SetSystemWebGLPolicy.
2893         * Source/WebKit2/Configurations/WebKit2.xcconfig: We have to link against OpenGL now, because WKSI
2894         uses it for hardware detection.
2895         * WebProcess/WebPage/WebPage.cpp: Remove the implementation here, but leave
2896         empty methods for non-Apple platforms.
2897         (WebKit::WebPage::WebPage):
2898         (WebKit::WebPage::webGLPolicyForURL):
2899         (WebKit::WebPage::resolveWebGLPolicyForURL):
2900         * WebProcess/WebPage/WebPage.h: Add m_systemWebGLPolicy.
2901         * WebProcess/WebPage/mac/WebPageMac.mm:
2902         (WebKit::WebPage::webGLPolicyForURL): Moved in from WebPage, but now they call
2903         into WKSI and send the result to the client if necessary.
2904         (WebKit::WebPage::resolveWebGLPolicyForURL):
2905
2906 2014-03-05  Simon Fraser  <simon.fraser@apple.com>
2907
2908         Fix a stupid error in r165118 that caused userVisibleString()
2909         to call itself recursively.
2910
2911         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
2912         (WebKit::WebEditorClient::userVisibleString):
2913
2914 2014-03-05  Benjamin Poulain  <bpoulain@apple.com>
2915
2916         [iOS] Rename the various VisibleExtent variations to exposedContentRect
2917         https://bugs.webkit.org/show_bug.cgi?id=129728
2918
2919         Reviewed by Simon Fraser.
2920
2921         * WebProcess/WebPage/DrawingArea.h:
2922         * WebProcess/WebPage/ios/WebPageIOS.mm:
2923         (WebKit::WebPage::updateVisibleContentRects):
2924         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
2925         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
2926         (WebKit::RemoteLayerTreeDrawingArea::setExposedContentRect):
2927
2928 2014-03-05  Dean Jackson  <dino@apple.com>
2929
2930         Unreviewed. Fix the Apple-internal builds.
2931
2932         * Configurations/WebKit2.xcconfig: Add -framework OpenGL.
2933
2934 2014-03-05  Simon Fraser  <simon.fraser@apple.com>
2935
2936         ObjC exception when dropping files into a WKView: drag and drop uses code from WebKit.framework
2937         https://bugs.webkit.org/show_bug.cgi?id=129752
2938
2939         Reviewed by Enrica Casucci.
2940         
2941         Get WebDragClientMac off of all WebKit headers, and WebEditorClientMac off
2942         all but one by using C functions from WebCoreNSURLExtras.h rather than
2943         the NSURL category.
2944
2945         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
2946         (WebKit::WebDragClient::declareAndWriteDragImage):
2947         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
2948         (WebKit::WebEditorClient::userVisibleString):
2949         (WebKit::WebEditorClient::canonicalizeURL):
2950         (WebKit::WebEditorClient::canonicalizeURLString):
2951
2952 2014-03-05  Martin Hock  <mhock@apple.com>
2953
2954         Add support for sessions to MemoryCache.
2955         https://bugs.webkit.org/show_bug.cgi?id=127794
2956
2957         Reviewed by Sam Weinig.
2958
2959         * NetworkProcess/NetworkResourceLoader.h: Add sessionID() method.
2960         (WebKit::NetworkResourceLoader::sessionID):
2961         * NetworkProcess/mac/DiskCacheMonitor.h: Add sessionID member.
2962         * NetworkProcess/mac/DiskCacheMonitor.mm:
2963         (WebKit::DiskCacheMonitor::DiskCacheMonitor): Send sessionID to NetworkProcessConnection::DidCacheResource.
2964         * WebProcess/Network/NetworkProcessConnection.cpp: Add sessionID parameter to didCacheResource and pass to MemoryCache.
2965         (WebKit::NetworkProcessConnection::didCacheResource):
2966         * WebProcess/Network/NetworkProcessConnection.h: Ditto.
2967         * WebProcess/Network/NetworkProcessConnection.messages.in: Ditto.
2968
2969 2014-03-05  Enrica Casucci  <enrica@apple.com>
2970
2971         [iOS WebKit2] support multi-select and select with groups for iPhone.
2972         https://bugs.webkit.org/show_bug.cgi?id=129344
2973         <rdar://problem/16206928>
2974
2975         Reviewed by Simon Fraser.
2976
2977         This is the remaining work on select element support on iOS.
2978         This adds multi-select and select with group support with UI
2979         for iPhone that uses UIPickerView.
2980
2981         * UIProcess/ios/WKContentViewInteraction.mm:
2982         (-[WKContentView resignFirstResponder]):
2983         (-[WKContentView inputAccessoryView]): Removed incorrect early return.
2984         (-[WKContentView _stopAssistingNode]):
2985         * UIProcess/ios/forms/WKFormSelectControl.h:
2986         * UIProcess/ios/forms/WKFormSelectControl.mm:
2987         (adjustedFontSize): Moved here to make it available to both picker and
2988         popover based implementations.
2989         (-[WKFormSelectControl initWithView:]):
2990         * UIProcess/ios/forms/WKFormSelectPicker.mm:
2991         (-[WKOptionPickerCell _isSelectable]):
2992         (-[WKOptionPickerCell initCommon]):
2993         (-[WKOptionPickerCell initWithOptionItem:]):
2994         (-[WKOptionGroupPickerCell initWithOptionItem:]):
2995         (-[WKOptionGroupPickerCell labelWidthForBounds:]):
2996         (-[WKOptionGroupPickerCell layoutSubviews]):
2997         (-[WKMultipleSelectPicker initWithView:]):
2998         (-[WKMultipleSelectPicker dealloc]):
2999         (-[WKMultipleSelectPicker controlView]):
3000         (-[WKMultipleSelectPicker controlBeginEditing]):
3001         (-[WKMultipleSelectPicker controlEndEditing]):
3002         (-[WKMultipleSelectPicker layoutSubviews]):
3003         (-[WKMultipleSelectPicker pickerView:viewForRow:forComponent:reusingView:]):
3004         (-[WKMultipleSelectPicker numberOfComponentsInPickerView:]):
3005         (-[WKMultipleSelectPicker pickerView:numberOfRowsInComponent:]):
3006         (-[WKMultipleSelectPicker findItemIndexAt:]):
3007         (-[WKMultipleSelectPicker pickerView:row:column:checked:]):
3008         (-[WKSelectSinglePicker initWithView:]):
3009         (-[WKSelectSinglePicker controlEndEditing]):
3010         * UIProcess/ios/forms/WKFormSelectPopover.mm:
3011
3012 2014-03-03  Martin Robinson  <mrobinson@igalia.com>
3013
3014         [GTK][CMake] Generate documentation for the DOM bindings
3015         https://bugs.webkit.org/show_bug.cgi?id=126211
3016
3017         Reviewed by Carlos Garcia Campos.
3018
3019         * PlatformGTK.cmake: The list of headers for GIR generation has a better name now.
3020
3021 2014-03-04  Benjamin Poulain  <bpoulain@apple.com>
3022
3023         Fix the build after r165095
3024
3025         * UIProcess/API/Cocoa/WKWebView.mm:
3026         (-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]):
3027
3028 2014-03-04  Benjamin Poulain  <bpoulain@apple.com>
3029
3030         [iOS][WK2] Account for the keyboard when computing the unobscuredRect
3031         https://bugs.webkit.org/show_bug.cgi?id=129660
3032
3033         Reviewed by Enrica Casucci.
3034
3035         Adjust the unobscuredRect when a docked keyboard is on screen.
3036
3037         * UIProcess/API/Cocoa/WKWebView.mm:
3038         (-[WKWebView _updateVisibleContentRectsWithStableState:]):
3039         (-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]):
3040
3041 2014-03-04  Andy Estes  <aestes@apple.com>
3042
3043         [iOS][WebKit2] Exclude plug-in sandbox profiles from the build
3044         https://bugs.webkit.org/show_bug.cgi?id=129719
3045
3046         Reviewed by Simon Fraser.
3047
3048         * Configurations/WebKit2.xcconfig:
3049
3050 2014-03-04  Benjamin Poulain  <bpoulain@apple.com>
3051
3052         [iOS][WK2] WKScrollView should be able to cancel touches in content view
3053         https://bugs.webkit.org/show_bug.cgi?id=129711
3054
3055         Reviewed by Simon Fraser.
3056
3057         * UIProcess/ios/WKScrollView.mm:
3058         We should not override UIWebScrollView behavior regarding touch cancellation otherwise we force
3059         other gesture recognizers to fail if delayed touches have been dispatched.
3060
3061 2014-03-04  Benjamin Poulain  <bpoulain@apple.com>
3062
3063         [iOS][WK2] Consider the entire view state on update to find if a change is stable or not
3064         https://bugs.webkit.org/show_bug.cgi?id=129721
3065
3066         Reviewed by Simon Fraser.
3067
3068         Changes in scroll, zoom and obscuredRect can happen simultaneously. To compute if the current state
3069         is stable or not, we should consider the complete picture from all the type of updates.
3070
3071         * UIProcess/API/Cocoa/WKWebView.mm:
3072         (-[WKWebView _didFinishScrolling]):
3073         (-[WKWebView scrollViewDidScroll:]):
3074         (-[WKWebView scrollViewDidZoom:]):
3075         (-[WKWebView scrollViewDidEndZooming:withView:atScale:]):
3076         (-[WKWebView _frameOrBoundsChanged]):
3077         (-[WKWebView _updateVisibleContentRects]):
3078         (-[WKWebView _setObscuredInsets:]):
3079         (-[WKWebView _endInteractiveObscuredInsetsChange]):
3080
3081 2014-03-04  Jeremy Jones  <jeremyj@apple.com>
3082
3083         WebVideoFullscreen, should make the hand off of the video layer explicit.
3084         https://bugs.webkit.org/show_bug.cgi?id=128844
3085
3086         Reviewed by Simon Fraser.
3087
3088         This change introduces a more explicit hand-off of the video layer and fullscreen transition.
3089         This describes the interactions between WebVideoFullscreenInterface and WebVideoFullscreenModel
3090         WebVideoFullscreenModel <-> WebVideoFullscreenInterface
3091               enterFullScreen(*) ->
3092                                 <- borrowVideoLayer
3093               willLendVideoLayer ->
3094                didLendVideoLayer ->
3095                                 <- didEnterFullscreen
3096                                 ...
3097                                 <- requestExitFullscreen
3098                   exitFullscreen ->
3099                                 <- returnVideoLayer
3100                                 <- didExitFullscreen
3101         (*) enterFullScreen actually comes from WebVideoFullscreenControllerAVKit.
3102
3103         * UIProcess/ios/WebVideoFullscreenManagerProxy.h:
3104         Implement WebVideoFullscreenChangeObserver.
3105         Add support for explicit video layer hand-off.
3106         Add m_videoView to retain the videoLayer's UIView.
3107
3108         * UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
3109         WillLendVideoLayerWithID replaces SetVideoLayerID
3110
3111         * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
3112         Adopt new methods for explicit video layer hand-off.
3113
3114         (WebKit::WebVideoFullscreenManagerProxy::WebVideoFullscreenManagerProxy):
3115         Observe fullscreen changes.
3116
3117         (WebKit::WebVideoFullscreenManagerProxy::didCommitLayerTree):
3118         Pending fullscreen transition now does didLendVideoLayer instead of calling enter fullscreen.
3119         It also removes the videoView from it's super view now that it is safe to do so.
3120
3121         (WebKit::WebVideoFullscreenManagerProxy::willLendVideoLayerWithID):
3122         This replaces setVideoLayerID. It retains the UIView for the layer to keep it alive before it is unparented.
3123
3124         (WebKit::WebVideoFullscreenManagerProxy::requestExitFullscreen):
3125         Adopt more explicit fullscreen transition.
3126
3127         (WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen):
3128         Adopt more explicit fullscreen transition.
3129
3130         (WebKit::WebVideoFullscreenManagerProxy::didEnterFullscreen):
3131         Adopt more explicit fullscreen transition.
3132
3133         (WebKit::WebVideoFullscreenManagerProxy::borrowVideoLayer):
3134         Adopt more explicit video layer hand-off.
3135
3136         (WebKit::WebVideoFullscreenManagerProxy::returnVideoLayer):
3137         Adopt more explicit video layer hand-off.
3138
3139         * WebProcess/ios/WebVideoFullscreenManager.cpp:
3140         Manage state of fullscreen transition more competently. Wait till an animation is complete to begin the next one.
3141
3142         (WebKit::WebVideoFullscreenManager::WebVideoFullscreenManager):
3143         Init three new state members.
3144
3145         (WebKit::WebVideoFullscreenManager::enterFullscreenForNode):
3146         Update animation state. Don't procede if animation is in progress.
3147
3148         (WebKit::WebVideoFullscreenManager::exitFullscreenForNode):
3149         Update animation state. Don't procede if animation is in progress.
3150
3151         (WebKit::WebVideoFullscreenManager::willLendVideoLayer):
3152         Adopt more explicit video layer hand-off.
3153         This replaces SetVideoLayer.
3154
3155         (WebKit::WebVideoFullscreenManager::didLendVideoLayer):
3156         This is a no-op as this will be sent through a RemoteLayerTreeTransaction.
3157
3158         (WebKit::WebVideoFullscreenManager::didEnterFullscreen):
3159         Adopt more explicit fullscreen transition.
3160
3161         (WebKit::WebVideoFullscreenManager::didExitFullscreen):
3162         Adopt more explicit fullscreen transition.
3163
3164         * WebProcess/ios/WebVideoFullscreenManager.h:
3165         Adopt more explicit fullscreen transition.
3166
3167         * WebProcess/ios/WebVideoFullscreenManager.messages.in:
3168         Adopt more explicit fullscreen/video layer transition.
3169
3170 2014-03-04  Simon Fraser  <simon.fraser@apple.com>
3171
3172         Get position:fixed working slightly better on iOS WK2
3173         https://bugs.webkit.org/show_bug.cgi?id=129714
3174
3175         Reviewed by Benjamin Poulain.
3176         
3177         Start telling the RemoteScrollingCoordinatorProxy about scroll position changes
3178         again, so it can update fixed and sticky layers.
3179         
3180         Send the scroll position as a FloatPoint, rather than an IntPoint.
3181
3182         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
3183         (WebKit::RemoteScrollingCoordinatorProxy::scrollPositionChangedViaDelegatedScrolling):
3184         (WebKit::RemoteScrollingCoordinatorProxy::scrollPositionChanged):
3185         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
3186         * UIProcess/WebPageProxy.h:
3187         * UIProcess/ios/WKContentView.mm:
3188         (-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):
3189         Tell the RemoteScrollingCoordinatorProxy about the scroll update.
3190         Only update the customFixedPositionRect if we've finished scrolling or zooming.
3191         * UIProcess/ios/WebPageProxyIOS.mm:
3192         (WebKit::WebPageProxy::updateVisibleContentRects): Return a bool indicating
3193         whether the visible rects changed.
3194
3195 2014-03-04  Conrad Shultz  <conrad_shultz@apple.com>
3196
3197         WKPage's pageExtendedBackgroundColor API exposed through WKView/WKWebView should support NSColor
3198         https://bugs.webkit.org/show_bug.cgi?id=129704
3199
3200         Reviewed by Beth Dakin.
3201
3202         Add NSColor-returning methods to complement the existing UIColor-returning methods.
3203
3204         * UIProcess/API/Cocoa/WKViewPrivate.h:
3205         Declare _pageExtendedBackgroundColor for non-TARGET_OS_IPHONE.
3206
3207         * UIProcess/API/Cocoa/WKWebView.mm:
3208         (-[WKWebView _pageExtendedBackgroundColor]):
3209         Return an NSColor created from the pageExtendedBackgroundColor.
3210
3211         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
3212         Declare _pageExtendedBackgroundColor for non-TARGET_OS_IPHONE.
3213
3214         * UIProcess/API/mac/WKView.mm:
3215         (-[WKView _pageExtendedBackgroundColor]):
3216         Return an NSColor created from the pageExtendedBackgroundColor.
3217
3218 2014-03-04  Joseph Pecoraro  <pecoraro@apple.com>
3219
3220         Web Inspector: Give WebProcess private RWI entitlement
3221         https://bugs.webkit.org/show_bug.cgi?id=129710
3222
3223         Reviewed by Timothy Hatcher.
3224
3225         * Configurations/WebContent-iOS.entitlements:
3226         Add entitlements to "WebProcess" when code signing.
3227
3228         * Configurations/WebContentProcess.xcconfig:
3229         Add the private RWI entitlement.
3230
3231 2014-03-04  Enrica Casucci  <enrica@apple.com>
3232
3233         [iOS WebKit2]: Next/Prev button in the accessory bar do not work.
3234         https://bugs.webkit.org/show_bug.cgi?id=129690
3235         <rdar://problem/16073569>
3236
3237         Reviewed by Simon Fraser.
3238
3239         Adding support for Next and Previous buttons in the accessory bar.
3240         When the request is processed by the WebProcess, we identify the next
3241         focusable node that needs to be assisted and we call focus() on the element
3242         letting the focus changing machinery take care of updating the assisted node.
3243         This change also add support for the Clear button, when appropriate and hooks up
3244         the call to the WebProcess.
3245
3246         * UIProcess/WebPageProxy.h:
3247         * UIProcess/ios/WKContentViewInteraction.mm:
3248         (-[WKContentView accessoryTab:]):
3249         (-[WKContentView accessoryClear]):
3250         (-[WKContentView _updateAccessory]):
3251         * UIProcess/ios/WebPageProxyIOS.mm:
3252         (WebKit::WebPageProxy::focusNextAssistedNode):
3253         * WebProcess/WebPage/WebPage.h:
3254         * WebProcess/WebPage/WebPage.messages.in:
3255         * WebProcess/WebPage/ios/WebPageIOS.mm:
3256         (WebKit::nextFocusableElement):
3257         (WebKit::hasFocusableElement):
3258         (WebKit::WebPage::focusNextAssistedNode):
3259         (WebKit::WebPage::getAssistedNodeInformation):
3260
3261 2014-03-04  Simon Fraser  <simon.fraser@apple.com>
3262
3263         Allow iOS DumpRenderTree crashes to show application-specific information
3264         https://bugs.webkit.org/show_bug.cgi?id=129705
3265
3266         Reviewed by David Kilzer.
3267         
3268         Make the WKSI function SetCrashReportApplicationSpecificInformation available
3269         in iOS simulator builds.
3270
3271         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3272         (InitWebCoreSystemInterface):
3273
3274 2014-03-04  Mark Hahnenberg  <mhahnenberg@apple.com>
3275
3276         Merge API shims and JSLock
3277         https://bugs.webkit.org/show_bug.cgi?id=129650
3278
3279         Reviewed by Mark Lam.
3280
3281         JSLock is now taking on all of APIEntryShim's responsibilities since there is never a reason 
3282         to take just the JSLock. Ditto for DropAllLocks and APICallbackShim.
3283
3284         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
3285         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
3286         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
3287
3288 2014-03-03  Enrica Casucci  <enrica@apple.com>
3289
3290         [WK2] Selection remains after reload.
3291         https://bugs.webkit.org/show_bug.cgi?id=129648
3292         <rdar://problem/16207547>
3293
3294         Reviewed by Sam Weinig.
3295
3296         We normally clear the selection when resigninig first responder but
3297         that doesn't get called when reloading the page or when navigating with
3298         back/forward buttons. The correct place to do this is when we get
3299         _didCommitLoadForMainFrame where we already stop assisting the node.
3300         The method we call into webselectionassistant is resignedFirstResponder
3301         which takes care of clearing the selection and removing the selection view.
3302
3303         * UIProcess/ios/WKContentViewInteraction.mm:
3304         (-[WKContentView _stopAssistingNode]):
3305
3306 2014-03-04  Hyowon Kim  <hw1008.kim@samsung.com>
3307
3308         Move EvasGLContext and EvasGLSurface files into the efl common directory.
3309         https://bugs.webkit.org/show_bug.cgi?id=129603
3310
3311         Reviewed by Gyuyoung Kim.
3312
3313         * PlatformEfl.cmake: Update for removed files.
3314
3315 2014-03-03  Benjamin Poulain  <bpoulain@apple.com>
3316
3317         [iOS][WK2] WebPage::updateVisibleContentRects can set the position directly instead of using programmatic scrolling
3318         https://bugs.webkit.org/show_bug.cgi?id=129649
3319
3320         Reviewed by Sam Weinig.
3321
3322         * WebProcess/WebPage/ios/WebPageIOS.mm:
3323         (WebKit::WebPage::updateVisibleContentRects):
3324         Update my workaround from r165003. We should not use programmatic scrolling when the scroll position is changed
3325         from the UI.
3326
3327 2014-03-03  Benjamin Poulain  <bpoulain@apple.com>
3328
3329         [iOS][WK2] Update UIScrollView's contentSize when a new layer tree is committed
3330         https://bugs.webkit.org/show_bug.cgi?id=129641
3331
3332         Reviewed by Sam Weinig.
3333
3334         * UIProcess/API/Cocoa/WKWebView.mm:
3335         (-[WKWebView _didCommitLayerTree:WebKit::]):
3336         Previously, we relied on [UIScrollView setZoomScale:] to reset the contentSize for us.
3337         In the cases where we would not go through [UIScrollView setZoomScale:], the UIScrollView's contentSize
3338         did not match the actual WKContentView's area on screen.
3339
3340 2014-03-03  Jeremy Jones  <jeremyj@apple.com>
3341
3342         Forward application suspend resume notifications to the web process.
3343         https://bugs.webkit.org/show_bug.cgi?id=129356
3344
3345         Reviewed by Eric Carlson.
3346
3347         Repost UIApplicationWillEnterForegroundNotification,
3348         UIApplicationDidBecomeActiveNotification and 
3349         UIApplicationWillResignActiveNotification from UIProcess to WebProcess.
3350         As WebUIApplicationWillEnterForegroundNotification,
3351         WebUIApplicationDidBecomeActiveNotification, and
3352         WebUIApplicationWillResignActiveNotification
3353
3354         * UIProcess/WebPageProxy.h:
3355         Add applicationWillEnterForeground()
3356         applicationWillResignActive()
3357         applicationDidBecomeActive()
3358
3359         * UIProcess/ios/WKContentView.mm:
3360         (-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::]):
3361         Observe notifications.
3362
3363         (-[WKContentView dealloc]):
3364         Stop observing notifications.
3365
3366         (-[WKContentView _applicationWillResignActive:]):
3367         Notify WebPageProxy of the event.
3368
3369         (-[WKContentView _applicationWillEnterForeground:]):
3370         Notify WebPageProxy of the event.
3371
3372         (-[WKContentView _applicationDidBecomeActive:]):
3373         Notify WebPageProxy of the event.
3374
3375         * UIProcess/ios/WebPageProxyIOS.mm:
3376         (WebKit::WebPageProxy::applicationWillEnterForeground):
3377         Send corresponding Message to WebPage.
3378
3379         (WebKit::WebPageProxy::applicationWillResignActive):
3380         Send corresponding Message to WebPage.
3381
3382         (WebKit::WebPageProxy::applicationDidBecomeActive):
3383         Send corresponding Message to WebPage.
3384
3385         * WebProcess/WebPage/WebPage.h:
3386         Add applicationWillEnterForeground()
3387         applicationWillResignActive()
3388         applicationDidBecomeActive()
3389
3390         * WebProcess/WebPage/WebPage.messages.in:
3391         Add applicationWillEnterForeground()
3392         applicationWillResignActive()
3393         applicationDidBecomeActive()
3394
3395         * WebProcess/WebPage/ios/WebPageIOS.mm:
3396         (WebKit::WebPage::applicationWillResignActive):
3397         Post corresponding NSNotification.
3398
3399         (WebKit::WebPage::applicationWillEnterForeground):
3400         Post corresponding NSNotification.
3401
3402         (WebKit::WebPage::applicationDidBecomeActive):
3403         Post corresponding NSNotification.
3404
3405 2014-03-03  Commit Queue  <commit-queue@webkit.org>
3406
3407         Unreviewed, rolling out r165013.
3408         http://trac.webkit.org/changeset/165013
3409         https://bugs.webkit.org/show_bug.cgi?id=129646
3410
3411         New code is not thread safe, asserting on a worker test
3412         (Requested by ap on #webkit).
3413
3414         * NetworkProcess/NetworkResourceLoader.h:
3415         * NetworkProcess/mac/DiskCacheMonitor.h:
3416         * NetworkProcess/mac/DiskCacheMonitor.mm:
3417         (WebKit::DiskCacheMonitor::DiskCacheMonitor):
3418         * WebProcess/Network/NetworkProcessConnection.cpp:
3419         (WebKit::NetworkProcessConnection::didCacheResource):
3420         * WebProcess/Network/NetworkProcessConnection.h:
3421         * WebProcess/Network/NetworkProcessConnection.messages.in:
3422
3423 2014-03-03  Enrica Casucci  <enrica@apple.com>
3424
3425         [iOS WebKit2]: Text fields don't zoom in when focused
3426         https://bugs.webkit.org/show_bug.cgi?id=129632
3427         <rdar://problem/16185230>
3428
3429         Reviewed by Benjamin Poulain.
3430
3431         When focusing the node we need to zoom and center it and possibly
3432         scroll to make it visible.
3433         On iPad we only scroll, without zooming.
3434
3435         * Shared/AssistedNodeInformation.cpp:
3436         (WebKit::AssistedNodeInformation::encode):
3437         (WebKit::AssistedNodeInformation::decode):
3438         * Shared/AssistedNodeInformation.h:
3439         (WebKit::AssistedNodeInformation::AssistedNodeInformation):
3440         * UIProcess/API/Cocoa/WKWebViewInternal.h:
3441         * UIProcess/ios/WKContentView.h:
3442         * UIProcess/ios/WKContentView.mm:
3443         (-[WKContentView _scrollToRect:withOrigin:minimumScrollDistance:]):
3444         * UIProcess/ios/WKContentViewInteraction.mm:
3445         (-[WKContentView _displayFormNodeInputView]):
3446         (-[WKContentView _startAssistingNode:]):
3447         * WebProcess/WebPage/ios/WebPageIOS.mm:
3448         (WebKit::WebPage::getAssistedNodeInformation):
3449
3450 2014-03-03  Sam Weinig  <sam@webkit.org>
3451
3452         Fix ASSERT and leaks introduced in recent "Support IOS Accessibility in WK2" patch
3453
3454         Reviewed by Simon Fraser.
3455
3456         * UIProcess/ios/WKContentView.mm:
3457         (-[WKContentView _accessibilityRegisterUIProcessTokens]):
3458         * WebProcess/WebPage/ios/WebPageIOS.mm:
3459         (WebKit::WebPage::platformInitializeAccessibility):
3460
3461 2014-03-03  Simon Fraser  <simon.fraser@apple.com>
3462
3463         Composited masks not working on iOS after r164890 
3464         https://bugs.webkit.org/show_bug.cgi?id=129630
3465
3466         Reviewed by Jer Noble.
3467         
3468         Fix typo in UIView-related masks code; set the mask layer
3469         on the view, not the maskView.
3470
3471         * Shared/mac/RemoteLayerTreePropertyApplier.mm:
3472         (WebKit::RemoteLayerTreePropertyApplier::applyProperties):
3473
3474 2014-02-28  Chris Fleizach  <cfleizach@apple.com>
3475
3476         AX: Support IOS Accessibility in WK2
3477         https://bugs.webkit.org/show_bug.cgi?id=129527
3478
3479         Reviewed by Sam Weinig.
3480
3481         Implement enough AX hooks so that accessibility can work in WebKit2.
3482
3483         * Platform/IPC/Connection.h:
3484         * Platform/IPC/mac/ConnectionMac.cpp:
3485         (IPC::Connection::identifier):
3486         * UIProcess/ios/PageClientImplIOS.mm:
3487         (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):
3488         * UIProcess/ios/WKContentView.h:
3489         * UIProcess/ios/WKContentView.mm:
3490         (-[WKContentView _updateForScreen:]):
3491         (-[WKContentView _setAccessibilityWebProcessToken:]):
3492         (-[WKContentView _accessibilityRegisterUIProcessTokens]):
3493         (-[WKContentView _didRelaunchProcess]):
3494         * UIProcess/ios/WebPageProxyIOS.mm:
3495         (WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
3496         (WebKit::WebPageProxy::registerUIProcessAccessibilityTokens):
3497         * WebKit2.xcodeproj/project.pbxproj:
3498         * WebProcess/Plugins/PDF/PDFPlugin.mm:
3499         * WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.h: Added.
3500         * WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.mm: Added.
3501         (-[WKAccessibilityWebPageObject init]):
3502         (-[WKAccessibilityWebPageObject _accessibilityCategoryInstalled:]):
3503         (-[WKAccessibilityWebPageObject pageScale]):