Need to disable FakeSYSVSHM when sandboxing is not enabled
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2013-08-22  Simon Cooper  <scooper@apple.com>
2
3         Need to disable FakeSYSVSHM when sandboxing is not enabled
4         https://bugs.webkit.org/show_bug.cgi?id=120182
5         <rdar://problem/14814461>
6
7         Reviewed by Alexey Proskuryakov.
8
9         When not in a sandbox do not enable the FakeSYSVSHIM. This
10         allows LocalConnection to work when Flash Player is run in
11         "Unsafe Mode".
12
13         * PluginProcess/mac/PluginProcessShim.mm:
14         (WebKit::shim_disabled):
15
16 2013-08-22  Andy Estes  <aestes@apple.com>
17
18         <https://webkit.org/b/120180> Fix issues with OTHER_LDFLAGS in various .xcconfig files
19
20         Reviewed by David Kilzer.
21
22         Adding ld flags for ASAN overwrote the unexported symbol flags we were
23         previously specifying. Since the unexported symbol ld flags are only
24         needed for the framework target, move them to WebKit2.xcconfig where we
25         can add them to OTHER_LDFLAGS along with the ASAN values inherited from
26         DebugRelease.xcconfig (and other values).
27
28         * Configurations/Base.xcconfig: Removed the unexported symbol ld flags.
29         * Configurations/WebKit2.xcconfig: ... and moved them here.
30
31 2013-08-21  Tim Horton  <timothy_horton@apple.com>
32
33         Another null-deref under WebDragClient::startDrag
34         https://bugs.webkit.org/show_bug.cgi?id=120145
35         <rdar://problem/14650652>
36
37         Reviewed by Simon Fraser.
38
39         convertImageToBitmap can legitimately return null, so don't dereference it.
40
41         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
42         (WebKit::WebDragClient::startDrag):
43
44 2013-08-21  Beth Dakin  <bdakin@apple.com>
45
46         <https://webkit.org/b/120140> Clients expect didFirstLayout-related calls to 
47         happen before didLayout
48
49         Reviewed by Anders Carlsson.
50
51         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
52         (WebKit::WebFrameLoaderClient::dispatchDidLayout):
53
54 2013-08-21  Alexey Proskuryakov  <ap@apple.com>
55
56         REGRESSION (r145458?): WebProcess doesn't respect UI process localization
57         https://bugs.webkit.org/show_bug.cgi?id=120096
58
59         Reviewed by Darin Adler.
60
61         We used to get into a situation where CFBundle thought that we had no good localization,
62         and used one passed as default. This is never the case with mixed localizations,
63         so default is just ignored now.
64
65         I think that the previous behavior was a bit of a hack. As WebProcess is not localized,
66         it's more honest to say that we want mixed localizations, and force the language
67         to match UI process localization.
68
69         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h:
70         (WebKit::ChildProcessMain): Don't set default localization, it's not taken into
71         consideration unless all other attempts to compute bundle localization fail.
72
73         * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::createProcess): Pass
74         UI process localization as -AppleLanguages argument, so that Core Foundation uses
75         that instead of actual user languages. We want to match UI process localization.
76
77 2013-08-20  Gavin Barraclough  <barraclough@apple.com>
78
79         https://bugs.webkit.org/show_bug.cgi?id=120093
80         Remove getOwnPropertyDescriptor trap
81
82         Reviewed by Geoff Garen.
83
84         All implementations of this method are now called via the method table, and equivalent in behaviour.
85         Remove all duplicate implementations (and the method table trap), and add a single member function implementation on JSObject.
86
87         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
88         * WebProcess/Plugins/Netscape/JSNPObject.h:
89             - remove getOwnPropertyDescriptor
90
91 2013-08-20  Pratik Solanki  <psolanki@apple.com>
92
93         <https://webkit.org/b/120029> Document::markers() should return a reference
94
95         Reviewed by Andreas Kling.
96
97         Document::m_markers is never NULL so return a reference from Document::markers(). Also mark
98         m_markers as const and initialize it in member initialization.
99
100         * WebProcess/WebPage/FindController.cpp:
101         (WebKit::FindController::rectsForTextMatches):
102         * WebProcess/WebPage/WebPage.cpp:
103         (WebKit::WebPage::unmarkAllMisspellings):
104         (WebKit::WebPage::unmarkAllBadGrammar):
105
106 2013-08-20  Gavin Barraclough  <barraclough@apple.com>
107
108         https://bugs.webkit.org/show_bug.cgi?id=120053
109         Remove custom getOwnPropertyDescriptor for JSNPObject
110
111         Reviewed by Oliver Hunt.
112
113         Think this is the last one!
114
115         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
116             - Remove custom getOwnPropertyDescriptor implementation.
117
118 2013-08-20  Anton Obzhirov  <a.obzhirov@samsung.com>
119
120         <https://webkit.org/b/119487> [Gtk] Cancel authentication on load failed
121
122         Reviewed by Martin Robinson.
123
124         Added callback to handle load-failed event in default authentication dialog.
125         Authentication request gets cancelled and the dialog widget gets destroyed.
126
127         * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
128         (pageLoadFailed):
129         (webkitAuthenticationDialogInitialize):
130         (webkitAuthenticationDialogDispose):
131         (webkit_authentication_dialog_class_init):
132         (webkitAuthenticationDialogNew):
133         * UIProcess/API/gtk/WebKitAuthenticationDialog.h:
134         * UIProcess/API/gtk/WebKitWebView.cpp:
135         (webkitWebViewAuthenticate):
136
137 2013-08-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
138
139         [Qt][WK2] Doesn't build without Plugin-process
140         https://bugs.webkit.org/show_bug.cgi?id=120060
141
142         Reviewed by Jocelyn Turcotte.
143
144         Disable netscape plugin api in WebKit2 when the plugin architecture is unsupported for WebKit2.
145
146         * Target.pri:
147
148 2013-08-19  Ryosuke Niwa  <rniwa@webkit.org>
149
150         <https://webkit.org/b/120049> Delete code for Snow Leopard
151
152         Reviewed by Benjamin Poulain.
153
154         * NetworkProcess/mac/NetworkProcessMac.mm:
155         (WebKit::overrideSystemProxies):
156         (WebKit::NetworkProcess::platformInitializeNetworkProcess):
157         * WebKit2Prefix.h:
158
159 2013-08-19  Beth Dakin  <bdakin@apple.com>
160
161         <https://webkit.org/b/120027> AXObjectCache's 
162         accessibilityEnhancedUserInterfaceEnabled should be initialized on process 
163         creation
164
165         Reviewed by Sam Weinig.
166
167         Right now we only call AXObjectCache::setEnhancedAccessibility() when AppKit sends 
168         us a notification indicating that the value has changed. We should not have to 
169         rely on that to properly initialize this value. It should be done with the 
170         WebProcessCreationParamters. 
171
172         * Shared/WebProcessCreationParameters.cpp:
173         (WebKit::WebProcessCreationParameters::encode):
174         (WebKit::WebProcessCreationParameters::decode):
175         * Shared/WebProcessCreationParameters.h:
176         * UIProcess/mac/WebContextMac.mm:
177         (WebKit::WebContext::platformInitializeWebProcess):
178         * WebProcess/mac/WebProcessMac.mm:
179         (WebKit::WebProcess::platformInitializeWebProcess):
180
181 2013-08-19  Pratik Solanki  <psolanki@apple.com>
182
183         <https://webkit.org/b/119918> Frame::selection() should return a reference
184
185         Reviewed by Darin Adler.
186
187         m_selection is never NULL so return a reference from Frame::selection(). Also removed some
188         unnecessary null checks and assert diff ts exposed as a result.
189
190         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
191         (WebKit::WebEditorClient::updateGlobalSelection):
192         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
193         (WebKit::collapseSelection):
194         (WebKit::WebEditorClient::updateGlobalSelection):
195         * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
196         (WebKit::WebContextMenuClient::lookUpInDictionary):
197         (WebKit::WebContextMenuClient::searchWithSpotlight):
198         * WebProcess/WebPage/FindController.cpp:
199         (WebKit::frameWithSelection):
200         (WebKit::FindController::updateFindUIAfterPageScroll):
201         (WebKit::FindController::getFindIndicatorBitmapAndRect):
202         (WebKit::FindController::getImageForFindMatch):
203         (WebKit::FindController::selectFindMatch):
204         (WebKit::FindController::updateFindIndicator):
205         (WebKit::FindController::drawRect):
206         * WebProcess/WebPage/WebPage.cpp:
207         (WebKit::WebPage::editorState):
208         (WebKit::WebPage::scaledSnapshotWithOptions):
209         (WebKit::WebPage::centerSelectionInVisibleArea):
210         (WebKit::frameWithSelection):
211         (WebKit::WebPage::clearSelection):
212         (WebKit::WebPage::confirmComposition):
213         (WebKit::WebPage::setComposition):
214         (WebKit::WebPage::currentSelectionAsRange):
215         * WebProcess/WebPage/mac/WebPageMac.mm:
216         (WebKit::WebPage::setComposition):
217         (WebKit::WebPage::insertText):
218         (WebKit::WebPage::insertDictatedText):
219         (WebKit::WebPage::getMarkedRange):
220         (WebKit::WebPage::getSelectedRange):
221         (WebKit::WebPage::getAttributedSubstringFromRange):
222         (WebKit::WebPage::characterIndexForPoint):
223         (WebKit::convertToRange):
224         (WebKit::WebPage::performDictionaryLookupAtLocation):
225         (WebKit::WebPage::readSelectionFromPasteboard):
226         (WebKit::WebPage::getStringSelectionForPasteboard):
227         (WebKit::WebPage::getDataSelectionForPasteboard):
228
229 2013-08-18  Darin Adler  <darin@apple.com>
230
231         <https://webkit.org/b/119989> Make use of Node::ownerDocument a compile time error
232
233         Reviewed by Sam Weinig.
234
235         * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
236         (WebKit::PDFPluginChoiceAnnotation::createAnnotationElement): Use document instead of
237         ownerDocument.
238         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
239         (WebKit::PDFPluginTextAnnotation::createAnnotationElement): Ditto.
240
241 2013-08-18  Dan Bernstein  <mitz@apple.com>
242
243         Fix clean engineering builds after r154251.
244
245         * WebKit2.xcodeproj/project.pbxproj: Removed references to the OfflineStorage XPC services
246         from the “Copy XPC services for engineering builds” build phase.
247
248 2013-08-18  Gavin Barraclough  <barraclough@apple.com>
249
250         https://bugs.webkit.org/show_bug.cgi?id=119972
251         Add attributes field to PropertySlot
252
253         Reviewed by Geoff Garen.
254
255         For all JSC types, this makes getOwnPropertyDescriptor redundant.
256         There will be a bit more hacking required in WebCore to remove GOPD whilst maintaining current behaviour.
257         (Current behaviour is in many ways broken, particularly in that GOPD & GOPS are inconsistent, but we should fix incrementally).
258
259         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
260         (WebKit::JSNPObject::getOwnPropertySlot):
261         (WebKit::JSNPObject::getOwnPropertyDescriptor):
262             - Pass attributes to PropertySlot::set* methods.
263
264 2013-08-16  Sam Weinig  <sam@webkit.org>
265
266         <https://webkit.org/b/119911> Remove the unused OfflineStorageProcess
267
268         Reviewed by Darin Adler.
269
270         * Configurations/OfflineStorageProcess.xcconfig: Removed.
271         * Configurations/OfflineStorageService.Development.xcconfig: Removed.
272         * Configurations/OfflineStorageService.xcconfig: Removed.
273         * DerivedSources.make:
274         * OfflineStorageProcess: Removed.
275         * OfflineStorageProcess/EntryPoint: Removed.
276         * OfflineStorageProcess/EntryPoint/mac: Removed.
277         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess: Removed.
278         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/Info.plist: Removed.
279         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMain.mm: Removed.
280         * OfflineStorageProcess/EntryPoint/mac/XPCService: Removed.
281         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService: Removed.
282         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development: Removed.
283         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/Info.plist: Removed.
284         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/Info.plist: Removed.
285         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageServiceEntryPoint.mm: Removed.
286         * OfflineStorageProcess/OfflineStorageProcess.cpp: Removed.
287         * OfflineStorageProcess/OfflineStorageProcess.h: Removed.
288         * OfflineStorageProcess/OfflineStorageProcess.messages.in: Removed.
289         * OfflineStorageProcess/mac: Removed.
290         * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm: Removed.
291         * OfflineStorageProcess/mac/com.apple.WebKit.OfflineStorage.sb: Removed.
292         * Scripts/webkit2/messages.py:
293         * Shared/OfflineStorage: Removed.
294         * Shared/OfflineStorage/OfflineStorageProcessCreationParameters.cpp: Removed.
295         * Shared/OfflineStorage/OfflineStorageProcessCreationParameters.h: Removed.
296         * WebKit2.xcodeproj/project.pbxproj:
297         Remove.
298
299 2013-08-17  Darin Adler  <darin@apple.com>
300
301         <https://webkit.org/b/119941> Make Page::dragController return a reference
302
303         Reviewed by Andreas Kling.
304
305         * WebProcess/WebPage/WebPage.cpp:
306         (WebKit::WebPage::performDragControllerAction):
307         (WebKit::WebPage::dragEnded):
308         Updated call sites.
309
310 2013-08-17  David Kilzer  <ddkilzer@apple.com>
311
312         WebKit2 fails to build with trunk clang: error: 'WebPluginSiteDataManagerh' is used as a header guard here, followed by #define of a different macro [-Werror,-Wheader-guard]
313         <http://webkit.org/b/119935>
314         <rdar://problem/14764131>
315
316         Reviewed by Darin Adler.
317
318         * UIProcess/Plugins/WebPluginSiteDataManager.h: Fix typo
319         introduced in r78647.
320
321 2013-08-16  Pratik Solanki  <psolanki@apple.com>
322
323         <https://webkit.org/b/119852> Frame::scriptController() should return a reference
324
325         Reviewed by Andreas Kling.
326
327         m_script is never NULL so we can just return a reference. Also remove some pointless null
328         checks as a result of doing this.
329
330         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
331         (WebKit::NPRuntimeObjectMap::globalObject):
332         * WebProcess/Plugins/PluginView.cpp:
333         (WebKit::PluginView::performJavaScriptURLRequest):
334         (WebKit::PluginView::windowScriptNPObject):
335         (WebKit::PluginView::pluginElementNPObject):
336         * WebProcess/WebPage/WebFrame.cpp:
337         (WebKit::WebFrame::jsContext):
338         (WebKit::WebFrame::jsContextForWorld):
339         (WebKit::WebFrame::jsWrapperForWorld):
340         * WebProcess/WebPage/WebInspector.cpp:
341         (WebKit::WebInspector::didSave):
342         (WebKit::WebInspector::didAppend):
343         * WebProcess/WebPage/WebPage.cpp:
344         (WebKit::WebPage::runJavaScriptInMainFrame):
345
346 2013-08-16  Brady Eidson  <beidson@apple.com>
347
348         (NetworkProcess)  Sync XHRs should load using async ResourceHandles, not ResourceHandle::loadResourceSynchronously
349         https://bugs.webkit.org/show_bug.cgi?id=119493
350
351         Reviewed by Alexey Proskuryakov.
352
353         This patch does the following:
354           - Consolidates SchedulableLoader and NetworkResourceLoader into one class.
355           - Removes SyncNetworkResourceLoader.
356           - Adds a NetworkLoaderClient interface that customizes certain behaviors of the NetworkResourceLoader.
357           - Implements a SynchronousNetworkLoaderClient and AsynchronousNetworkLoaderClient for the two different types of loads.
358
359         The AsynchronousNetworkLoaderClient results in messaging back progress to the WebProcess as the load progresses.
360         The SynchronousNetworkLoaderClient accumulates the response, data, and error to be communicated back to the WebProcess
361         only when the load is complete.
362
363         Update small swaths of code to reflect that NetworkResourceLoader is the One True Loader (tm):
364         * NetworkProcess/HostRecord.cpp:
365         (WebKit::HostRecord::scheduleResourceLoader):
366         (WebKit::HostRecord::addLoaderInProgress):
367         (WebKit::removeLoaderFromQueue):
368         (WebKit::HostRecord::removeLoader):
369         (WebKit::HostRecord::servePendingRequestsForQueue):
370         (WebKit::HostRecord::limitsRequests):
371         * NetworkProcess/HostRecord.h:
372
373         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
374         (WebKit::NetworkConnectionToWebProcess::didClose):
375         (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
376         (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):
377         * NetworkProcess/NetworkConnectionToWebProcess.h:
378
379         * NetworkProcess/NetworkProcess.cpp:
380         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
381         (WebKit::NetworkResourceLoadScheduler::scheduleLoader):
382         (WebKit::NetworkResourceLoadScheduler::removeLoader):
383         (WebKit::NetworkResourceLoadScheduler::receivedRedirect):
384         (WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):
385         (WebKit::NetworkResourceLoadScheduler::scheduleRemoveLoader):
386         * NetworkProcess/NetworkResourceLoadScheduler.h:
387
388         Combine ScheduleableLoader and NetworkResourceLoader into NetworkResourceLoader:
389         * NetworkProcess/NetworkResourceLoader.cpp:
390         (WebKit::NetworkResourceLoader::NetworkResourceLoader):
391         (WebKit::NetworkResourceLoader::~NetworkResourceLoader):
392         (WebKit::NetworkResourceLoader::isSynchronous):
393         (WebKit::NetworkResourceLoader::start):
394         (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
395         (WebKit::NetworkResourceLoader::didReceiveBuffer):
396         (WebKit::NetworkResourceLoader::didFinishLoading):
397         (WebKit::NetworkResourceLoader::didFail):
398         (WebKit::NetworkResourceLoader::willSendRequestAsync):
399         (WebKit::NetworkResourceLoader::continueWillSendRequest):
400         (WebKit::NetworkResourceLoader::didSendData):
401         (WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
402         (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
403         (WebKit::NetworkResourceLoader::consumeSandboxExtensions):
404         (WebKit::NetworkResourceLoader::invalidateSandboxExtensions):
405         (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
406         * NetworkProcess/NetworkResourceLoader.h:
407         (WebKit::NetworkResourceLoader::create):
408         (WebKit::NetworkResourceLoader::connectionToWebProcess):
409         (WebKit::NetworkResourceLoader::priority):
410         (WebKit::NetworkResourceLoader::request):
411         (WebKit::NetworkResourceLoader::isLoadingMainResource):
412         (WebKit::NetworkResourceLoader::setHostRecord):
413         (WebKit::NetworkResourceLoader::hostRecord):
414         (WebKit::NetworkResourceLoader::sendAbortingOnFailure):
415
416         Add an abstract NetworkLoaderClient to adapt a load to be either synchronous or asynchronous:
417         * NetworkProcess/NetworkLoaderClient.h:
418         (WebKit::NetworkLoaderClient::~NetworkLoaderClient):
419         (WebKit::NetworkLoaderClient::isSynchronous):
420         (WebKit::NetworkLoaderClient::NetworkLoaderClient):
421
422         The asynchronous loader client, primarily to message progress back to the WebProcess as it happens:
423         * NetworkProcess/AsynchronousNetworkLoaderClient.cpp: Added.
424         (WebKit::AsynchronousNetworkLoaderClient::AsynchronousNetworkLoaderClient):
425         (WebKit::AsynchronousNetworkLoaderClient::willSendRequest):
426         (WebKit::AsynchronousNetworkLoaderClient::canAuthenticateAgainstProtectionSpace):
427         (WebKit::AsynchronousNetworkLoaderClient::didReceiveResponse):
428         (WebKit::AsynchronousNetworkLoaderClient::didReceiveBuffer):
429         (WebKit::AsynchronousNetworkLoaderClient::didSendData):
430         (WebKit::AsynchronousNetworkLoaderClient::didFinishLoading):
431         (WebKit::AsynchronousNetworkLoaderClient::didFail):
432         * NetworkProcess/AsynchronousNetworkLoaderClient.h:
433         (WebKit::AsynchronousNetworkLoaderClient::create):
434
435         The synchronous loader client, primarily to accumulate results of the load to send back to the WebProcess all at once:
436         * NetworkProcess/SynchronousNetworkLoaderClient.cpp: Added.
437         (WebKit::SynchronousNetworkLoaderClient::SynchronousNetworkLoaderClient):
438         (WebKit::SynchronousNetworkLoaderClient::~SynchronousNetworkLoaderClient):
439         (WebKit::SynchronousNetworkLoaderClient::willSendRequest):
440         (WebKit::SynchronousNetworkLoaderClient::canAuthenticateAgainstProtectionSpace):
441         (WebKit::SynchronousNetworkLoaderClient::didReceiveResponse):
442         (WebKit::SynchronousNetworkLoaderClient::didReceiveBuffer):
443         (WebKit::SynchronousNetworkLoaderClient::didFinishLoading):
444         (WebKit::SynchronousNetworkLoaderClient::didFail):
445         (WebKit::SynchronousNetworkLoaderClient::sendDelayedReply):
446         * NetworkProcess/SynchronousNetworkLoaderClient.h: Added.
447         (WebKit::SynchronousNetworkLoaderClient::create):
448
449         * NetworkProcess/SchedulableLoader.cpp: Removed.
450         * NetworkProcess/SchedulableLoader.h: Removed.
451         * NetworkProcess/SyncNetworkResourceLoader.cpp: Removed.
452         * NetworkProcess/SyncNetworkResourceLoader.h: Removed.
453
454         * WebKit2.xcodeproj/project.pbxproj:
455
456 2013-08-16  Gabor Rapcsanyi  <rgabor@webkit.org>
457
458         [Qt][ARM] Unreviewed buildfix after 154127.
459
460         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: Add missing header.
461
462 2013-08-15  Ryuan Choi  <ryuan.choi@samsung.com>
463
464         [EFL] Unreviewed build fix after r154142 and r154144.
465
466         * UIProcess/WebContext.cpp:
467         (WebKit::WebContext::useTestingNetworkSession):
468         Fixed build break when NETWORK_PROCESS is disabled after r154144.
469
470 2013-08-15  Chris Fleizach  <cfleizach@apple.com>
471
472         <https://webkit.org/b/119858> AX: Crash: com.apple.WebKit.WebContent at com.apple.WebKit2: WebKit::WebPage::accessibilityObjectForMainFramePlugin + 8
473
474         Reviewed by Tim Horton.
475
476         Ensure that the page is available before accessing it.
477
478         * WebProcess/WebPage/mac/WebPageMac.mm:
479         (WebKit::WebPage::accessibilityObjectForMainFramePlugin):
480
481 2013-08-15  Alexey Proskuryakov  <ap@apple.com>
482
483         [WK2] NetworkProcess should use a temporary storage session for test
484         https://bugs.webkit.org/show_bug.cgi?id=119855
485
486         Reviewed by Darin Adler.
487
488         We used to have a bundle API for WebKitTestRunner to do this in injected bundle, but
489         NetworkProcess has no injected bundle.
490
491         Added a WKContext API, sending the information to NetworkProcess with initialization
492         parameters. Reworked WebProcess path to do the same for consistency - bundle API
493         is better per se, but not when we also need to have another one.
494
495         * NetworkProcess/NetworkProcess.cpp:
496         (WebKit::NetworkProcess::initializeNetworkProcess):
497         * Shared/Network/NetworkProcessCreationParameters.cpp:
498         (WebKit::NetworkProcessCreationParameters::encode):
499         (WebKit::NetworkProcessCreationParameters::decode):
500         * Shared/Network/NetworkProcessCreationParameters.h:
501         * Shared/WebProcessCreationParameters.cpp:
502         (WebKit::WebProcessCreationParameters::encode):
503         (WebKit::WebProcessCreationParameters::decode):
504         * Shared/WebProcessCreationParameters.h:
505         * UIProcess/API/C/WKContext.cpp:
506         (WKContextUseTestingNetworkSession):
507         * UIProcess/API/C/WKContextPrivate.h:
508         * UIProcess/WebContext.cpp:
509         (WebKit::WebContext::WebContext):
510         (WebKit::WebContext::ensureNetworkProcess):
511         (WebKit::WebContext::createNewWebProcess):
512         (WebKit::WebContext::useTestingNetworkSession):
513         * UIProcess/WebContext.h:
514         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
515         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
516         * WebProcess/InjectedBundle/InjectedBundle.cpp:
517         * WebProcess/InjectedBundle/InjectedBundle.h:
518         * WebProcess/WebProcess.cpp:
519         (WebKit::WebProcess::initializeWebProcess):
520
521 2013-08-15  Anders Carlsson  <andersca@apple.com>
522
523         <https://webkit.org/b/119859> Frame::loader() should return a reference
524
525         Reviewed by Andreas Kling.
526
527         * Shared/WebRenderLayer.cpp:
528         (WebKit::WebRenderLayer::create):
529         * Shared/WebRenderObject.cpp:
530         (WebKit::WebRenderObject::create):
531         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
532         (WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation):
533         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
534         (WKBundleFrameGetFrameLoadState):
535         (WKBundleFrameClearOpener):
536         (WKBundleFrameCallShouldCloseOnWebView):
537         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
538         (WebKit::InjectedBundleNodeHandle::documentFrame):
539         (WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame):
540         (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
541         * WebProcess/InjectedBundle/InjectedBundle.cpp:
542         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
543         * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
544         (WebKit::InjectedBundleDOMWindowExtension::frame):
545         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
546         (WebKit::InjectedBundleHitTestResult::frame):
547         (WebKit::InjectedBundleHitTestResult::targetFrame):
548         * WebProcess/Plugins/PDF/PDFPlugin.mm:
549         (WebKit::PDFPlugin::clickedLink):
550         * WebProcess/Plugins/PluginView.cpp:
551         (WebKit::webPage):
552         (WebKit::PluginView::didFailToInitializePlugin):
553         (WebKit::PluginView::performFrameLoadURLRequest):
554         (WebKit::PluginView::userAgent):
555         (WebKit::PluginView::loadURL):
556         (WebKit::PluginView::cancelManualStreamLoad):
557         (WebKit::PluginView::proxiesForURL):
558         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
559         (WebKit::WebChromeClient::focusedElementChanged):
560         (WebKit::WebChromeClient::focusedFrameChanged):
561         (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
562         (WebKit::WebChromeClient::closeWindowSoon):
563         (WebKit::WebChromeClient::runJavaScriptAlert):
564         (WebKit::WebChromeClient::runJavaScriptConfirm):
565         (WebKit::WebChromeClient::runJavaScriptPrompt):
566         (WebKit::WebChromeClient::unavailablePluginButtonClicked):
567         (WebKit::WebChromeClient::print):
568         (WebKit::WebChromeClient::exceededDatabaseQuota):
569         (WebKit::WebChromeClient::runOpenPanel):
570         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
571         (WebKit::WebContextMenuClient::searchWithGoogle):
572         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
573         (WebKit::WebEditorClient::textFieldDidBeginEditing):
574         (WebKit::WebEditorClient::textFieldDidEndEditing):
575         (WebKit::WebEditorClient::textDidChangeInTextField):
576         (WebKit::WebEditorClient::textDidChangeInTextArea):
577         (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
578         (WebKit::WebEditorClient::textWillBeDeletedInTextField):
579         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
580         (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
581         (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
582         (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
583         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
584         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
585         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
586         (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
587         (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
588         (WebKit::WebFrameLoaderClient::updateGlobalHistory):
589         (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
590         (WebKit::WebFrameLoaderClient::restoreViewState):
591         (WebKit::WebFrameLoaderClient::createFrame):
592         (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
593         (WebKit::WebFrameLoaderClient::objectContentType):
594         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
595         (WebKit::WebPlatformStrategies::getPluginInfo):
596         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
597         (WebKit::WebFrameNetworkingContext::blockedError):
598         * WebProcess/WebPage/WebFrame.cpp:
599         (WebKit::WebFrame::didReceivePolicyDecision):
600         (WebKit::WebFrame::startDownload):
601         (WebKit::WebFrame::source):
602         (WebKit::WebFrame::contentsAsString):
603         (WebKit::WebFrame::url):
604         (WebKit::WebFrame::parentFrame):
605         (WebKit::WebFrame::childFrames):
606         (WebKit::WebFrame::stopLoading):
607         (WebKit::WebFrame::frameForContext):
608         (WebKit::WebFrame::provisionalURL):
609         (WebKit::WebFrame::suggestedFilenameForResourceWithURL):
610         (WebKit::WebFrame::mimeTypeForResourceWithURL):
611         (WebKit::WebFrameFilter::shouldIncludeSubframe):
612         * WebProcess/WebPage/WebPage.cpp:
613         (WebKit::WebPage::createPlugin):
614         (WebKit::WebPage::close):
615         (WebKit::WebPage::tryClose):
616         (WebKit::WebPage::loadURLRequest):
617         (WebKit::WebPage::loadDataImpl):
618         (WebKit::WebPage::linkClicked):
619         (WebKit::WebPage::stopLoadingFrame):
620         (WebKit::WebPage::stopLoading):
621         (WebKit::WebPage::reload):
622         (WebKit::WebPage::tryRestoreScrollPosition):
623         (WebKit::WebPage::getMainResourceDataOfFrame):
624         (WebKit::resourceDataForFrame):
625         (WebKit::shouldReuseCommittedSandboxExtension):
626         (WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad):
627         (WebKit::WebPage::hasLocalDataForURL):
628         (WebKit::WebPage::setCustomTextEncodingName):
629         (WebKit::WebPage::canPluginHandleResponse):
630         (WebKit::WebPage::canShowMIMEType):
631         (WebKit::WebPage::didCommitLoad):
632         * WebProcess/WebPage/mac/WebPageMac.mm:
633         (WebKit::WebPage::platformHasLocalDataForURL):
634         (WebKit::cachedResponseForURL):
635         * WebProcess/WebProcess.cpp:
636         (WebKit::WebProcess::downloadRequest):
637
638 2013-08-14  Filip Pizlo  <fpizlo@apple.com>
639
640         Typed arrays should be rewritten
641         https://bugs.webkit.org/show_bug.cgi?id=119064
642
643         Reviewed by Oliver Hunt.
644         
645         You don't need to include JSUint8Array anymore if you just want to
646         unwrap one; JSDOMBinding gives you all of the things you need.
647
648         * WebProcess/InjectedBundle/InjectedBundle.cpp:
649
650 2013-08-15  Eric Carlson  <eric.carlson@apple.com>
651
652         [Mac] Remove "legacy" media UI
653         https://bugs.webkit.org/show_bug.cgi?id=119752
654
655         Reviewed by Jer Noble.
656
657         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
658         (InitWebCoreSystemInterface): Remove MediaControllerThemeAvailable.
659
660 2013-08-14  Dean Jackson  <dino@apple.com>
661
662         <https://webkit.org/b/119827> Allow primary plug-in detection to run more than once if necessary
663
664         Reviewed by Tim Horton.
665
666         We occasionally see cases where the primary plug-in detection runs before the plugins have been added
667         to the page, especially if they do so in response to a load event. Tweak the algorithm so that it can
668         run an arbitrary number of times if it fails.
669
670         While here, also have the detection run if there has ever been a plugin in the page as opposed to any
671         current views. We may have snapshotted a plugin by now and deleted its view.
672
673         * WebProcess/WebPage/WebPage.cpp:
674         (WebKit::WebPage::WebPage): initialise new members.
675         (WebKit::WebPage::addPluginView): Mark that we've seen a plugin.
676         (WebKit::WebPage::resetPrimarySnapshottedPlugIn): Reset new members.
677         (WebKit::WebPage::determinePrimarySnapshottedPlugIn): Exit early if we've never
678         seen a plugin, rather than if we don't have any active views. Also, if we didn't find anything set
679         a timer to run again (maximum of two attempts at the moment).
680         * WebProcess/WebPage/WebPage.h: New members - m_numberOfPrimarySnapshotDetectionAttempts
681         and m_hasSeenPlugin.
682
683 2013-08-14  Dean Jackson  <dino@apple.com>
684
685         <https://webkit.org/b/119820> Add pluginView-related logging to WebPage
686
687         Reviewed by Tim Horton.
688
689         Add some more diagnostic output to help track down bugs.
690
691         * WebProcess/WebPage/WebPage.cpp:
692         (WebKit::WebPage::addPluginView): More logging.
693         (WebKit::WebPage::removePluginView): Ditto.
694
695 2013-08-14  Alexey Proskuryakov  <ap@apple.com>
696
697         [WK2] Sync messages with with non-default timeout sent from secondary threads always time out
698         https://bugs.webkit.org/show_bug.cgi?id=119767
699
700         Fix by Justin Bur.
701         Reviewed by Darin Adler.
702
703         * Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
704         The argument to wait() is absolute time, not a delta. This calculation matches one
705         in Connection::waitForMessage().
706
707 2013-08-14  Tim Horton  <timothy_horton@apple.com>
708
709         REGRESSION (r153877): Plugin scanning slows creation of WebViews
710         https://bugs.webkit.org/show_bug.cgi?id=119665
711         <rdar://problem/14716549>
712
713         Reviewed by Darin Adler.
714
715         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
716         (WebKit::WebPlatformStrategies::refreshPlugins):
717         Don't repopulate the plugin cache in refreshPlugins, just invalidate it.
718         It will be repopulated the next time something tries to use it.
719
720 2013-08-12  Dan Bernstein  <mitz@apple.com>
721
722         Fixed an off-by-(sizeof(char*) - 1) bug.
723
724         Reviewed by Sam Weinig.
725
726         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
727         (WebKit::XPCServiceEventHandler): Allocate a sufficiently large buffer.
728
729 2013-08-12  Beth Dakin  <bdakin@apple.com>
730
731         Remove didNewFirstVisuallyNonEmptyLayout from WebKit2
732         https://bugs.webkit.org/show_bug.cgi?id=119658
733
734         Reviewed by Darin Adler.
735
736         Removing this function entirely will change some functionality in the Nightlies, 
737         but we think that is an acceptable difference for the Nightlies. If is does cause 
738         a problem though, we can roll out this patch and deprecate the function instead.
739
740         * UIProcess/API/C/WKPage.h:
741         * UIProcess/WebLoaderClient.cpp:
742         * UIProcess/WebLoaderClient.h:
743         * UIProcess/WebPageProxy.cpp:
744         (WebKit::WebPageProxy::initializeLoaderClient):
745         * UIProcess/WebPageProxy.h:
746         * UIProcess/WebPageProxy.messages.in:
747         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
748         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
749         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
750         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
751         (WebKit::WebFrameLoaderClient::dispatchDidLayout):
752         * WebProcess/WebPage/WebPage.cpp:
753         (WebKit::WebPage::initializeInjectedBundleLoaderClient):
754
755 2013-08-12  Arunprasad Rajkumar  <arurajku@cisco.com>
756
757         [Qt] [WebKit2] Remove duplicate RAM Size calculation and reuse WTF::ramSize()
758         https://bugs.webkit.org/show_bug.cgi?id=119663
759
760         Reviewed by Sam Weinig.
761
762         * WebProcess/qt/WebProcessQt.cpp:
763         (WebKit::WebProcess::platformSetCacheModel):
764
765 2013-08-12  Anton Obzhirov  <a.obzhirov@samsung.com>
766
767         [GTK] Don't load GAIL when using GTK 3.2 or greater
768         https://bugs.webkit.org/show_bug.cgi?id=72735
769
770         Reviewed by Carlos Garcia Campos.
771
772         * UIProcess/API/gtk/tests/AccessibilityTestServer.cpp:
773         (main):
774
775 2013-08-09  Beth Dakin  <bdakin@apple.com>
776
777         AX: Not able to use arrow keys to read text in a WK2 app
778         https://bugs.webkit.org/show_bug.cgi?id=119605
779         -and corresponding-
780         <rdar://problem/14281275>
781
782         Reviewed by Darin Adler.
783
784         Make all of these scrolling functions actually return the WebCore bools that 
785         indicate whether or not scrolling happened. 
786         * WebProcess/WebPage/WebPage.cpp:
787         (WebKit::WebPage::scroll):
788         (WebKit::WebPage::logicalScroll):
789         (WebKit::WebPage::scrollBy):
790         * WebProcess/WebPage/WebPage.h:
791         * WebProcess/WebPage/mac/WebPageMac.mm:
792         (WebKit::WebPage::executeKeypressCommandsInternal):
793
794         This function now gives accessibility a chance to handle the event too. And it 
795         also actually tracks whether or not the event was handled by scrolling instead of 
796         assuming that it was and universally returning true.
797         (WebKit::WebPage::performNonEditingBehaviorForSelector):
798
799 2013-08-09  Brian Holt  <brian.holt@samsung.com>
800
801         [GTK] [WebKit2] Add an 'authenticate' signal to WebKitWebView
802         https://bugs.webkit.org/show_bug.cgi?id=99352
803
804         Reviewed by Carlos Garcia Campos.
805
806         Add a new public class to the API, WebKitAuthenticationRequest, to be
807         emitted along with a new WebKitWebView::authenticate signal to
808         let client applications to provide their own authentication
809         when the user is challenged with HTTP authentication. The
810         credential is exposed through a new class WebKitCredential.
811
812         * GNUmakefile.list.am:
813         * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
814         (okButtonClicked): Use new API for authentication.
815         (cancelButtonClicked): Ditto.
816         (webkitAuthenticationDialogInitialize):Get
817         authenticationChallenge from request object.
818         (webkitAuthenticationDialogNew): Ditto.
819         * UIProcess/API/gtk/WebKitAuthenticationDialog.h:
820         * UIProcess/API/gtk/WebKitAuthenticationRequest.cpp: Added new
821         class representing a HTTP authentication request.
822         (webkitAuthenticationRequestDispose):
823         (webkit_authentication_request_class_init):
824         (webkitAuthenticationRequestCreate):
825         (webkitAuthenticationRequestGetAuthenticationChallenge):
826         (webkit_authentication_request_can_save_credentials):
827         (webkit_authentication_request_get_proposed_credential):
828         (webkit_authentication_request_get_host):
829         (webkit_authentication_request_get_port):
830         (webkit_authentication_request_get_realm):
831         (webkit_authentication_request_get_scheme):
832         (webkit_authentication_request_is_for_proxy):
833         (webkit_authentication_request_is_retry):
834         (webkit_authentication_request_authenticate):
835         (webkit_authentication_request_cancel):
836         * UIProcess/API/gtk/WebKitAuthenticationRequest.h: Added.
837         * UIProcess/API/gtk/WebKitAuthenticationRequestPrivate.h: Added.
838         * UIProcess/API/gtk/WebKitCredential.cpp: Added new class to
839         support credentials for HTTP authentication.
840         (_WebKitCredential::_WebKitCredential):
841         (webkitCredentialCreate):
842         (webkitCredentialGetCredential):
843         (webkit_credential_new):
844         (webkit_credential_copy):
845         (webkit_credential_free):
846         (webkit_credential_get_username):
847         (webkit_credential_get_password):
848         (webkit_credential_has_password):
849         (webkit_credential_get_persistence):
850         * UIProcess/API/gtk/WebKitCredential.h: Added.
851         * UIProcess/API/gtk/WebKitCredentialPrivate.h: Added.
852         * UIProcess/API/gtk/WebKitWebView.cpp: Added authenticate signal.
853         (webkitWebViewAuthenticate): Default signal handler for authenticate.
854         (webkit_web_view_class_init): Ditto.
855         (webkitWebViewHandleAuthenticationChallenge): Create an
856         authentication request and emit it with authenticate signal.
857         * UIProcess/API/gtk/WebKitWebView.h: Replaced reserved function
858         pointer slot with for WebViewClass with function pointer to
859         authenticate signal handler.
860         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new section for
861         the authentication request.
862         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
863         * UIProcess/API/gtk/docs/webkit2gtk.types: Added authentication
864         request and credential types.
865         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Created a new
866         unit test for HTTP authentication. A libsoup server callback
867         handler is installed that creates soup messages with appropriate
868         headers and body to test HTTP authentication.
869         (testWebViewAuthenticationRequest): Test the authentication
870         request and credential API.
871         (testWebViewAuthenticationCancel): Test cancelled authentication.
872         (testWebViewAuthenticationFailure): Test repeated authentication failures.
873         (testWebViewAuthenticationNoCredential): Test continue without
874         credentials.
875         (testWebViewAuthenticationStorage): Test credential storage.
876         (testWebViewAuthenticationSuccess): Test successful authentication.
877         (beforeAll): Added tests.
878         * UIProcess/API/gtk/webkit2.h: Added WebKitAuthenticationRequest and
879         WebKitCredential headers.
880
881 2013-08-09  Tim Horton  <timothy_horton@apple.com>
882
883         PDFPlugin is disabled by default in nightlies on Mac accidentally
884         https://bugs.webkit.org/show_bug.cgi?id=119615
885
886         Rubber-stamped by Andreas Kling.
887
888         Enable PDFPlugin by default on Mac at the WebKit2 level.
889
890         * Shared/WebPreferencesStore.h:
891         * UIProcess/API/C/WKPreferencesPrivate.h:
892
893 2013-08-08  Tim Horton  <timothy_horton@apple.com>
894
895         navigator.plugins has plugins in it when plugins are disabled
896         https://bugs.webkit.org/show_bug.cgi?id=119607
897         <rdar://problem/14678030>
898
899         Reviewed by Anders Carlsson.
900
901         * UIProcess/WebProcessProxy.cpp:
902         (WebKit::WebProcessProxy::getPlugins):
903         Return a list of all plugins, and a list of only application plugins.
904
905         * UIProcess/WebProcessProxy.h:
906         * UIProcess/WebProcessProxy.messages.in:
907         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
908         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
909         (WebKit::WebPlatformStrategies::getPluginInfo):
910         Add applicationPlugin parameter to getPlugins, and storage for the returned list.
911
912         (WebKit::WebPlatformStrategies::populatePluginCache):
913         If plugins are disabled for the given page, give WebCore the list that
914         only includes application plugins. Otherwise, give it the whole list
915         as we are doing currently.
916
917 2013-08-08  Gavin Barraclough  <barraclough@apple.com>
918
919         Disable suppression of plugin process for Java
920         https://bugs.webkit.org/show_bug.cgi?id=119604
921
922         Reviewed by Sam Weinig.
923
924         Workaround, the Java plugin doesn't like this.
925
926         * PluginProcess/mac/PluginProcessMac.mm:
927         (WebKit::PluginProcess::platformInitializeProcess):
928             - +1 active task count on the java plugin, to inhibit supression.
929
930 2013-08-08  Dean Jackson  <dino@apple.com>
931
932         Add logging to the primary plugin detection
933         https://bugs.webkit.org/show_bug.cgi?id=119594
934
935         Reviewed by Tim Horton.
936
937         Add some simple logging to our primary plug-in detection.
938
939         * WebProcess/WebPage/WebPage.cpp:
940         (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
941
942 2013-08-08  Alexey Proskuryakov  <ap@apple.com>
943
944         WKBundleFrameCopyProvisionalURL crashes when there is no provisional loader
945         https://bugs.webkit.org/show_bug.cgi?id=119587
946
947         Reviewed by Darin Adler.
948
949         * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::provisionalURL): Added a null
950         check, like we already have in WebFrame::url().
951
952 2013-08-07  Antti Koivisto  <antti@apple.com>
953
954         Try to fix EFL build.
955         
956         Not reviewed.
957
958         * CMakeLists.txt:
959
960 2013-08-06  Jer Noble  <jer.noble@apple.com>
961
962         Crash when entering fullscreen video playback from a WebView using WebKit2
963         https://bugs.webkit.org/show_bug.cgi?id=119531
964
965         Reviewed by Tim Horton.
966
967         Initialize wkWindowSetScaledFrame and wkWindowSetAlpha when initializing WebCoreSystemInterface.
968
969         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
970         (InitWebCoreSystemInterface):
971
972 2013-08-06  Stephanie Lewis  <slewis@apple.com>
973
974         Update Order Files for Safari
975         <rdar://problem/14517392>
976
977         Unreviewed.
978
979         * mac/WebKit2.order:
980
981 2013-08-04  Sam Weinig  <sam@webkit.org>
982
983         Remove support for HTML5 MicroData
984         https://bugs.webkit.org/show_bug.cgi?id=119480
985
986         Reviewed by Anders Carlsson.
987
988         * Configurations/FeatureDefines.xcconfig:
989
990 2013-08-06  Eunmi Lee  <eunmi15.lee@samsung.com>
991
992         [EFL][WK2] Implement gesture recognizer.
993         https://bugs.webkit.org/show_bug.cgi?id=102643
994
995         Reviewed by Gyuyoung Kim.
996
997         Recognize tap, pan and pinch gestures using touch events.
998         The tap gesture is separated into single tap, double tap and
999         'tap and hold'.
1000
1001         This patch references the webkit NIX port.
1002         https://github.com/WebKitNix/webkitnix
1003
1004         * PlatformEfl.cmake:
1005         * UIProcess/API/efl/EwkView.cpp:
1006         (EwkView::EwkView):
1007         (EwkView::doneWithTouchEvent):
1008         * UIProcess/API/efl/EwkView.h:
1009         * UIProcess/API/efl/GestureRecognizer.cpp: Added.
1010         (WebKit::GestureHandler::create):
1011         (WebKit::GestureHandler::GestureHandler):
1012         (WebKit::GestureHandler::handleSingleTap):
1013         (WebKit::GestureHandler::handleDoubleTap):
1014         (WebKit::GestureHandler::handleTapAndHold):
1015         (WebKit::GestureHandler::handlePanStarted):
1016         (WebKit::GestureHandler::handlePan):
1017         (WebKit::GestureHandler::handlePanFinished):
1018         (WebKit::GestureHandler::handlePinchStarted):
1019         (WebKit::GestureHandler::handlePinch):
1020         (WebKit::GestureHandler::handlePinchFinished):
1021         (WebKit::GestureRecognizer::GestureRecognizer):
1022         (WebKit::GestureRecognizer::~GestureRecognizer):
1023         (WebKit::GestureRecognizer::processTouchEvent):
1024         (WebKit::GestureRecognizer::doubleTapTimerCallback):
1025         (WebKit::GestureRecognizer::tapAndHoldTimerCallback):
1026         (WebKit::GestureRecognizer::exceedsPanThreshold):
1027         (WebKit::GestureRecognizer::exceedsDoubleTapThreshold):
1028         (WebKit::getPointAtIndex):
1029         (WebKit::createVectorWithWKArray):
1030         (WebKit::GestureRecognizer::noGesture):
1031         (WebKit::GestureRecognizer::singleTapGesture):
1032         (WebKit::GestureRecognizer::doubleTapGesture):
1033         (WebKit::GestureRecognizer::panGesture):
1034         (WebKit::GestureRecognizer::pinchGesture):
1035         (WebKit::GestureRecognizer::reset):
1036         (WebKit::GestureRecognizer::stopTapTimers):
1037         * UIProcess/API/efl/GestureRecognizer.h: Added.
1038         (WebKit::GestureRecognizer::create):
1039
1040 2013-07-23  David Farler  <dfarler@apple.com>
1041
1042         Provide optional OTHER_CFLAGS, OTHER_CPPFLAGS, OTHER_LDFLAGS additions for building with ASAN
1043         https://bugs.webkit.org/show_bug.cgi?id=117762
1044
1045         Reviewed by Mark Rowe.
1046
1047         * Configurations/DebugRelease.xcconfig:
1048         Add ASAN_OTHER_CFLAGS, CPLUSPLUSFLAGS, LDFLAGS.
1049         * Configurations/WebContentProcess.xcconfig:
1050         Add ASAN_OTHER_LDFLAGS.
1051         * Configurations/WebKit2.xcconfig:
1052         Add ASAN_OTHER_LDFLAGS.
1053
1054 2013-08-06  Andreas Kling  <akling@apple.com>
1055
1056         REGRESSION(r151403): Resizing is extremely laggy on many sites when plugins are disallowed.
1057         <http://webkit.org/b/119516>
1058         <rdar://problem/14648086>
1059
1060         Reviewed by Simon Fraser.
1061
1062         The web process relies on the WindowAndViewFramesChanged mechanism for caching a copy
1063         of the window rect for fast access from DOMWindow APIs.
1064
1065         We retain part of the optimization introduced in r151403, namely not computing the
1066         viewFrameInWindowCoordinates and accessibilityPosition unless the web process needs them.
1067
1068         * UIProcess/API/mac/WKView.mm:
1069         (-[WKView _updateWindowAndViewFrames]):
1070
1071 2013-07-26  Mark Rowe  <mrowe@apple.com>
1072
1073         Logging should be configurable using human-readable channel names rather than crazy bitmasks
1074         <http://webkit.org/b/119031>
1075
1076         Implement shared logic for initializing logging channels based on human-readable channel names in WTF,
1077         and rework the WebCore, WebKit and WebKit2 logging initialization on top of it.
1078
1079         Logging channels may now be enabled by providing a comma-separated list of channel names, with the special
1080         "all" name enabling all channels. Channel names prefixed with a leading "-" will result in the named channel
1081         being disabled. For instance, specifying "all,-history,-loading" will result in all logging channels except
1082         for history and loading being enabled.
1083
1084         For OS X developers, this also changes the name of the user defaults used to enable logging. This is done to allow
1085         the old user defaults to remain set for those people that need to switch between version of WebKit before and
1086         after this change. Where the old user default keys were WebCoreLogLevel, WebKitLogLevel and WebKit2LogLevel,
1087         the new user default keys are WebCoreLogging, WebKitLogging and WebKit2Logging.
1088
1089         For GTK developers, this changes the separator used in the WEBKIT_DEBUG environment variable to a comma for
1090         consistency with the other platforms and to enable more code sharing.
1091
1092         While doing this work I've also taken the opportunity to eliminate the need to touch multiple files when
1093         adding a new logging channel. Now only the header in the relevant project needs to be updated.
1094
1095         Reviewed by Sam Weinig.
1096
1097         * NetworkProcess/NetworkProcess.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.
1098         * Platform/Logging.cpp: Use WEBKIT2_LOG_CHANNELS to define all of the channels.
1099         (WebKit::initializeLogChannelsIfNecessary): Pass the channels and the log level string to the new WTF function
1100         that handles the initialization.
1101         (WebKit::logChannelByName): Renamed to match our naming conventions. Calls through to the new WTF function
1102         to find a log channel rather than repeating the names of the log channels a further two times each.
1103         (WebKit::logLevelString): Provide a no-op implementation.
1104         * Platform/Logging.h: Declare a WEBKIT2_LOG_CHANNELS macro that can be used to apply a preprocessor macro
1105         across the set of all logging channels. Use this macro to declare the logging channels.
1106         * Platform/efl/LoggingEfl.cpp:
1107         (WebKit::logLevelString): Pull the value out of the WEBKIT_DEBUG environment variable.
1108         * Platform/gtk/LoggingGtk.cpp:
1109         (WebKit::logLevelString): Ditto.
1110         * Platform/mac/Logging.mac.mm:
1111         (WebKit::logLevelString): Pull the value out of the WebKit2Logging user default key.
1112         * Platform/qt/LoggingQt.cpp:
1113         (WebKit::logLevelString): Pull the value out of the QT_WEBKIT_LOG environment variable.
1114         * Shared/WebKit2Initialize.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.
1115         * UIProcess/WebContext.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.
1116
1117 2013-08-05  Anders Carlsson  <andersca@apple.com>
1118
1119         Ignore the Apple Java placeholder plug-in
1120         https://bugs.webkit.org/show_bug.cgi?id=119494
1121         <rdar://problem/14610818>
1122
1123         Reviewed by Beth Dakin.
1124
1125         Never attempt to load the Java placeholder plug-in.
1126
1127         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
1128         (WebKit::PluginInfoStore::shouldUsePlugin):
1129
1130 2013-08-03  Tim Horton  <timothy_horton@apple.com>
1131
1132         Unreviewed, build and style fix for r153693.
1133
1134         * UIProcess/WebProcessProxy.cpp:
1135         * WebProcess/Plugins/PDF/PDFPlugin.h:
1136         * WebProcess/WebPage/WebPage.cpp:
1137
1138 2013-08-03  Tim Horton  <timothy_horton@apple.com>
1139
1140         Remove SimplePDFPlugin
1141         https://bugs.webkit.org/show_bug.cgi?id=119437
1142
1143         Reviewed by Alexey Proskuryakov.
1144
1145         * UIProcess/WebProcessProxy.cpp:
1146         (WebKit::WebProcessProxy::getPlugins):
1147         * WebProcess/WebPage/WebPage.cpp:
1148         (WebKit::WebPage::createPlugin):
1149         Don't add SimplePDFPlugin, nor try to instantiate it.
1150
1151         * WebProcess/Plugins/PDF/PDFPlugin.h:
1152         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1153         Merge previously inherited behavior in from SimplePDFPlugin.
1154
1155         * WebKit2.xcodeproj/project.pbxproj:
1156         * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Removed.
1157         * WebProcess/Plugins/PDF/SimplePDFPlugin.mm: Removed.
1158         Remove SimplePDFPlugin.
1159
1160 2013-08-03  Tim Horton  <timothy_horton@apple.com>
1161
1162         Remove pageOverlayShouldApplyFadeWhenPainting() and adopt composited fade for the Mac port
1163         https://bugs.webkit.org/show_bug.cgi?id=119411
1164
1165         Reviewed by Simon Fraser.
1166
1167         Mac is the only holdout that performs non-composited fades of page
1168         overlays. We should adopt that mechanism (as a precursor to doing a
1169         CA-accelerated fade) and remove the now-unnecessary property.
1170
1171         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
1172         (WKBundlePageOverlayFractionFadedIn):
1173         Always return 1 (fully-faded-in) so that clients who attempt to use this
1174         to bake the fade opacity into their painting will paint at full opacity,
1175         allowing us to do the composited fade separately.
1176
1177         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
1178         * WebProcess/WebPage/DrawingArea.h:
1179         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1180         * WebProcess/WebPage/DrawingAreaImpl.h:
1181         * WebProcess/WebPage/LayerTreeHost.h:
1182         * WebProcess/WebPage/PageOverlay.cpp:
1183         (WebKit::PageOverlay::PageOverlay):
1184         (WebKit::PageOverlay::setPage):
1185         (WebKit::PageOverlay::setNeedsDisplay):
1186         (WebKit::PageOverlay::fadeAnimationTimerFired):
1187         * WebProcess/WebPage/PageOverlay.h:
1188         Remove pageOverlayShouldApplyFadeWhenPainting and fractionFadedIn().
1189
1190         * WebProcess/WebPage/FindController.cpp:
1191         (WebKit::FindController::drawRect):
1192         Draw the find overlay without taking the PageOverlay's fade into account.
1193
1194         * WebProcess/WebPage/TapHighlightController.cpp:
1195         (WebKit::TapHighlightController::drawRect):
1196         Remove pageOverlayShouldApplyFadeWhenPainting. Since it's always
1197         "false" for all ports now, take the second path here.
1198
1199         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
1200         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
1201         (WebKit::LayerTreeHostMac::setPageOverlayOpacity):
1202         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1203         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1204         (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayOpacity):
1205         Implement setPageOverlayOpacity for DrawingAreaImpl
1206         and TiledCoreAnimationDrawingArea.
1207
1208 2013-08-02  Gavin Barraclough  <barraclough@apple.com>
1209
1210         Remove no-arguments constructor to PropertySlot
1211         https://bugs.webkit.org/show_bug.cgi?id=119460
1212
1213         Reviewed by Geoff Garen.
1214
1215         This constructor was unsafe if getValue is subsequently called,
1216         and the property is a getter. Simplest to just remove it.
1217
1218         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1219         (WebKit::JSNPObject::getOwnPropertyDescriptor):
1220
1221 2013-08-02  Ruth Fong  <ruth_fong@apple.com>
1222
1223         [Forms: color] WebColorPickerMac deconstructor shouldn't assert a variable
1224         <rdar://problem/14627633> and https://bugs.webkit.org/show_bug.cgi?id=119419
1225
1226         Reviewed by Tim Horton.
1227
1228         * UIProcess/mac/WebColorPickerMac.mm:
1229         (WebKit::WebColorPickerMac::~WebColorPickerMac): If the m_colorPickerUI variable
1230           is not null, then properly destroy it first before destroying WebColorPickerMac object.
1231
1232 2013-08-02  Ruth Fong  <ruth_fong@apple.com>
1233
1234         [Forms: color] The positioning of the popover color well is inverted
1235         <rdar://problem/14635621> and https://bugs.webkit.org/show_bug.cgi?id=119455
1236
1237         Reviewed by Tim Horton.
1238
1239         This patch converts the coordinates of the <input type='color'> element to
1240         the window's base coordinate system.
1241
1242         * UIProcess/mac/WebColorPickerMac.mm:
1243         (-[WKColorPopoverMac initWithFrame:inView:]):
1244
1245 2013-08-01  Ruth Fong  <ruth_fong@apple.com>
1246
1247         [Forms: color] <input type='color'> popover color well implementation
1248         <rdar://problem/14411008> and https://bugs.webkit.org/show_bug.cgi?id=119356
1249
1250         Reviewed by Benjamin Poulain.
1251
1252         This patch adds an popover implementation of <input type='color'>.
1253
1254         * Configurations/FeatureDefines.xcconfig: Added and enabled INPUT_TYPE_COLOR_POPOVER.
1255
1256         * UIProcess/API/mac/PageClientImpl.mm:
1257         (WebKit::PageClientImpl::createColorPicker): Updated to pass the 
1258           coordinates of the <input type='color'> element and the WKView 
1259           object for the window.
1260
1261         * UIProcess/WebPageProxy.cpp:
1262         (WebKit::WebPageProxy::viewWillStartLiveResize): Close popover color 
1263           picker when the view is resized.
1264         (WebKit::WebPageProxy::viewInWindowStateDidChange): Close popover color
1265           picker when the view is no longer in the window.
1266         (WebKit::WebPageProxy::showColorPicker): Updated to show either a color panel
1267           or a popover color picker depending on whether INPUT_TYPE_COLOR_POPOVER is enabled.
1268
1269         * UIProcess/mac/WebColorPickerMac.h:
1270         * UIProcess/mac/WebColorPickerMac.mm:
1271         (WebKit::WebColorPickerMac::create):
1272         (WebKit::WebColorPickerMac::~WebColorPickerMac):
1273         (WebKit::WebColorPickerMac::WebColorPickerMac):
1274         (WebKit::WebColorPickerMac::endPicker):
1275         (WebKit::WebColorPickerMac::setSelectedColor):
1276         (WebKit::WebColorPickerMac::showColorPicker):
1277         Methods updated to handle both the color panel implementation and 
1278           the popover implementation; also renamed m_panel to m_colorPickerUI. 
1279
1280         (-[WKColorPopoverMac initWithFrame:WebCore::inView:]):
1281         (-[WKColorPopoverMac setAndShowPicker:WebKit::withColor:]):
1282         (-[WKColorPopoverMac dealloc]):
1283         (-[WKColorPopoverMac invalidate]):
1284         (-[WKColorPopoverMac windowWillClose:]):
1285         (-[WKColorPopoverMac didChooseColor:]):
1286         (-[WKColorPopoverMac setColor:]):
1287         WKColorPopoverMac provides the popover implementation of <input type='color'>.
1288
1289         (-[WKColorPanelMac didChooseColor:]): Updated to match the interface of 
1290           WKColorPickerMac::didChooseColor.
1291
1292 2013-08-01  Anders Carlsson  <andersca@apple.com>
1293
1294         Lots of leaks under WebContext::pluginInfoStoreDidLoadPlugins()
1295         https://bugs.webkit.org/show_bug.cgi?id=119412
1296
1297         Reviewed by Simon Fraser.
1298
1299         For some sick reason, the WKContextClient plugInInformationBecameAvailable callback function
1300         expects a +1 reference to the plug-in array. Isolate that hack to WebContextClient so that
1301         we don't leak the array if there is no WKContextClient.
1302         
1303         * UIProcess/WebContext.cpp:
1304         (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
1305         * UIProcess/WebContextClient.cpp:
1306         (WebKit::WebContextClient::plugInInformationBecameAvailable):
1307
1308 2013-08-01  Kwang Yul Seo  <skyul@company100.net>
1309
1310         Remove return statement in void function
1311         https://bugs.webkit.org/show_bug.cgi?id=119379
1312
1313         Reviewed by Darin Adler.
1314
1315         It does not make sense to return a value in void function.
1316
1317         * WebProcess/WebProcess.cpp:
1318         (WebKit::addCaseFoldedCharacters):
1319
1320 2013-08-01  Kwang Yul Seo  <skyul@company100.net>
1321
1322         [WK2] Add USE(SOUP) guard in WebProcess::destroyPrivateBrowsingSession
1323         https://bugs.webkit.org/show_bug.cgi?id=119381
1324
1325         Reviewed by Darin Adler.
1326
1327         The is a followup to r153355. I missed to add USE(SOUP) guard in
1328         WebProcess::destroyPrivateBrowsingSession.
1329
1330         * WebProcess/WebProcess.cpp:
1331         (WebKit::WebProcess::destroyPrivateBrowsingSession):
1332
1333 2013-08-01  Milian Wolff  <milian.wolff@kdab.com>
1334
1335         [Qt] Enable QML handling of crashed/unresponsive QtWebProcess
1336         https://bugs.webkit.org/show_bug.cgi?id=108474
1337
1338         Forward the processDidCrash, didRelaunchProcess, processDidBecomeUnresponsive
1339         and processDidBecomeResponsive signals to QML's WebView.experimental.
1340
1341         Reviewed by Jocelyn Turcotte.
1342
1343         * UIProcess/API/qt/qquickwebview.cpp:
1344         (QQuickWebViewPrivate::processDidCrash):
1345         (QQuickWebViewPrivate::didRelaunchProcess):
1346         (QQuickWebViewPrivate::processDidBecomeUnresponsive):
1347         (QQuickWebViewPrivate::processDidBecomeResponsive):
1348         * UIProcess/API/qt/qquickwebview_p.h:
1349         * UIProcess/API/qt/qquickwebview_p_p.h:
1350         (QQuickWebViewPrivate):
1351
1352 2013-07-31  Kwang Yul Seo  <skyul@company100.net>
1353
1354         Use emptyString instead of String("")
1355         https://bugs.webkit.org/show_bug.cgi?id=119335
1356
1357         Reviewed by Darin Adler.
1358
1359         Use emptyString() instead of String("") because it is better style and
1360         faster. This is a followup to r116908, removing all occurrences of
1361         String("") from WebKit.
1362
1363         * Shared/mac/WebEventFactory.mm:
1364         (WebKit::textFromEvent):
1365         (WebKit::unmodifiedTextFromEvent):
1366
1367 2013-07-31  Ruth Fong  <ruth_fong@apple.com>
1368
1369         <input type=color> Mac UI behaviour
1370         <rdar://problem/10269922> and https://bugs.webkit.org/show_bug.cgi?id=61276
1371
1372         Implemented <input type='color'> on Mac using the native color picker. 
1373
1374         Reviewed by Brady Eidson.
1375
1376         Code for WebColorPickerMac is derived from Chromium's color_chooser_mac.mm:
1377         https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/ui/cocoa/color_chooser_mac.mm
1378
1379         * Configurations/FeatureDefines.xcconfig: Enabled INPUT_TYPE_COLOR.
1380
1381         * UIProcess/API/mac/PageClientImpl.mm:
1382         (WebKit::PageClientImpl::createColorPicker): Replaced stub implementation
1383           and return a WebColorPickerMac object.
1384
1385         * UIProcess/WebColorPicker.cpp:
1386         (WebKit::WebColorPicker::invalidate): Updated to call endChooser().
1387         (WebKit::WebColorPicker::showColorPicker): Added stub implementation.
1388         * UIProcess/WebColorPicker.h:
1389
1390         * UIProcess/WebPageProxy.cpp:
1391         (WebKit::WebPageProxy::close): Removed invalidation of removed color picker objects.
1392         (WebKit::WebPageProxy::showColorPicker): Updated so that it works for
1393           multiple <input type='color'> elements on a page.
1394         (WebKit::WebPageProxy::didEndColorPicker): Removed cleanup of removed color picker objects.
1395         (WebKit::WebPageProxy::resetStateAfterProcessExited): Removed cleanup of removed color picker objects.
1396
1397         * UIProcess/mac/WebColorPickerMac.h: Added.
1398         * UIProcess/mac/WebColorPickerMac.mm: Added.
1399         (WebKit::WebColorPickerMac::create):
1400         (WebKit::WebColorPickerMac::~WebColorPickerMac):
1401         (WebKit::WebColorPickerMac::WebColorPickerMac):
1402         (WebKit::WebColorPickerMac::endPicker):
1403         (WebKit::WebColorPickerMac::setSelectedColor):
1404         (WebKit::WebColorPickerMac::didChooseColor):
1405         (WebKit::WebColorPickerMac::showColorPicker):
1406         WebColorPickerMac contains a reference to a WKColorPanelMac object
1407           and is responsible for maintaining the color picker UI.
1408
1409         (-[WKColorPanelMac setAndShowPicker:withColor:]):
1410         (-[WKColorPanelMac invalidate]):
1411         (-[WKColorPanelMac windowWillClose:]):
1412         (-[WKColorPanelMac didChooseColor:]):
1413         (-[WKColorPanelMac setColor:]):
1414         WKColorPanelMac is a wrapper for a NSColorPanel object and 
1415           is responsible for the color picker UI.
1416
1417         * WebKit2.xcodeproj/project.pbxproj:
1418
1419         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1420         (WebKit::WebChromeClient::createColorChooser): Updated to always create a 
1421           WebColorChooser object.
1422
1423         * WebProcess/WebCoreSupport/WebColorChooser.cpp:
1424         (WebKit::WebColorChooser::reattachColorChooser): Sets the page's 
1425           active color chooser to the current object and pings the UIProcess
1426           to show the color picker.
1427         (WebKit::WebColorChooser::setSelectedColor): Only sets the color in the
1428           color picker if the WebColorChooser object is the active color element.
1429         * WebProcess/WebCoreSupport/WebColorChooser.h:
1430
1431 2013-07-30  Gavin Barraclough  <barraclough@apple.com>
1432
1433         Some cleanup in JSValue::get
1434         https://bugs.webkit.org/show_bug.cgi?id=119343
1435
1436         Reviewed by Geoff Garen.
1437
1438         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1439         (WebKit::JSNPObject::getOwnPropertySlot):
1440         * WebProcess/Plugins/Netscape/JSNPObject.h:
1441             - getOwnPropertySlot, JSCell -> JSObject
1442
1443 2013-07-31  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1444
1445         [Qt] Build WebKit with C++11
1446         https://bugs.webkit.org/show_bug.cgi?id=119337
1447
1448         Reviewed by Csaba Osztrogonác.
1449
1450         We no longer need to enable C++11 specifically for WebKit2.
1451
1452         * WebKit2.pri:
1453
1454 2013-07-30  Tim Horton  <timothy_horton@apple.com>
1455
1456         DHTML drag can result in a null-deref under WebDragClient::startDrag
1457         https://bugs.webkit.org/show_bug.cgi?id=119297
1458         <rdar://problem/14213012>
1459
1460         Reviewed by Simon Fraser.
1461
1462         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
1463         (WebKit::convertImageToBitmap):
1464         ShareableBitmap::createShareable can return null, but shouldn't dereference that.
1465
1466 2013-07-30  Ruth Fong  <ruth_fong@apple.com>
1467
1468         Rename <input type='color'> functions in WebPageProxy, WebColorPicker
1469         <rdar://problem/14549771> and https://bugs.webkit.org/show_bug.cgi?id=119097
1470
1471         Reviewed by Tim Horton.
1472
1473         In bug 119025, WebColorChooserProxy was renamed WebColorPicker. This patch makes the UIProcess consistent
1474         by renaming UIProcess INPUT_TYPE_COLOR functions from ...colorChooser to ...colorPicker.
1475
1476         * UIProcess/WebColorPicker.cpp:
1477         (WebKit::WebColorPicker::endPicker):
1478         * UIProcess/WebColorPicker.h:
1479         * UIProcess/WebColorPickerResultListenerProxy.cpp:
1480         (WebKit::WebColorPickerResultListenerProxy::setColor):
1481         * UIProcess/WebPageProxy.cpp:
1482         (WebKit::WebPageProxy::showColorPicker):
1483         (WebKit::WebPageProxy::setColorPickerColor):
1484         (WebKit::WebPageProxy::endColorPicker):
1485         (WebKit::WebPageProxy::didEndColorPicker):
1486         * UIProcess/WebPageProxy.h:
1487         * UIProcess/WebPageProxy.messages.in:
1488         * UIProcess/qt/WebColorPickerQt.cpp:
1489         (WebKit::WebColorPickerQt::createItem):
1490         (WebKit::WebColorPickerQt::notifyColorSelected):
1491         (WebKit::WebColorPickerQt::endPicker):
1492         * UIProcess/qt/WebColorPickerQt.h:
1493         * WebProcess/WebCoreSupport/WebColorChooser.cpp:
1494         (WebKit::WebColorChooser::WebColorChooser):
1495         (WebKit::WebColorChooser::setSelectedColor):
1496         (WebKit::WebColorChooser::endChooser):
1497         * WebProcess/WebPage/WebPage.cpp:
1498         (WebKit::WebPage::didEndColorPicker):
1499         * WebProcess/WebPage/WebPage.h:
1500         * WebProcess/WebPage/WebPage.messages.in:
1501
1502 2013-07-30  Anders Carlsson  <andersca@apple.com>
1503
1504         Speculative fix for crash due to string access on multiple threads
1505         https://bugs.webkit.org/show_bug.cgi?id=119279
1506         <rdar://problem/14267833>
1507
1508         Reviewed by Darin Adler.
1509
1510         We can't use String::isolatedCopy for passing the local storage directory to the storage thread since
1511         that returns a String that's copied and then destroyed after the call to bind returns, leaving a small window
1512         where the refcount can be accessed simultaneously from two threads.
1513
1514         Work around this by passing a PassRefPtr<StringImpl> to bind instead; the act of copying the PassRefPtr will
1515         clear out the original and so when the original is destroyed the underlying StringImpl pointer will be null.
1516
1517         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
1518         (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectory):
1519         (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
1520         * UIProcess/Storage/LocalStorageDatabaseTracker.h:
1521
1522 2013-07-30  Tim Horton  <timothy_horton@apple.com>
1523
1524         Fix typo in enum name ("SelectionInSnaphot" -> "SelectionInSnapshot")
1525         https://bugs.webkit.org/show_bug.cgi?id=119275
1526
1527         Reviewed by Simon Fraser.
1528
1529         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1530         (WebKit::imageForRect):
1531         * WebProcess/WebPage/WebPage.cpp:
1532         (WebKit::WebPage::scaledSnapshotWithOptions):
1533         Fix typo.
1534
1535 2013-07-30  Anders Carlsson  <andersca@apple.com>
1536
1537         Plug-in process crashes if plug-in is destroyed as a result of sending NPObjectMessageReceiver::Deallocate
1538         https://bugs.webkit.org/show_bug.cgi?id=119270
1539         <rdar://problem/13368226>
1540
1541         Reviewed by Darin Adler.
1542
1543         Normally we use the PluginDestructionProtector RAII object to prevent plug-ins from being destroyed while
1544         they're executing code. However, in the case of the NPObjectMessageReceiver::Deallocate message, we can't do this
1545         since we don't know the plug-in or connection. 
1546         
1547         Instead, add a counter to Connection that keeps track of whether sendSync is currently called and defer plug-in
1548         destruction if it is. (This approach is actually more robust and we should investigate getting rid of the destruction protector).
1549
1550         * Platform/CoreIPC/Connection.cpp:
1551         (CoreIPC::Connection::Connection):
1552         (CoreIPC::Connection::sendSyncMessage):
1553         * Platform/CoreIPC/Connection.h:
1554         (CoreIPC::Connection::inSendSync):
1555         * PluginProcess/PluginControllerProxy.cpp:
1556         (WebKit::PluginControllerProxy::destroy):
1557
1558 2013-07-30  Tim Horton  <timothy_horton@apple.com>
1559
1560         Null deref under WebPage::scaledSnapshotWithOptions
1561         https://bugs.webkit.org/show_bug.cgi?id=119243
1562         <rdar://problem/14502050>
1563
1564         Reviewed by Darin Adler.
1565
1566         * WebProcess/WebPage/WebPage.cpp:
1567         (WebKit::WebPage::scaledSnapshotWithOptions):
1568         WebFrame::coreFrame() can be null (if the Frame is already torn down),
1569         so we should check it.
1570
1571 2013-07-30  Tim Horton  <timothy_horton@apple.com>
1572
1573         Null deref under PluginView::handlesPageScaleFactor()
1574         https://bugs.webkit.org/show_bug.cgi?id=119231
1575         <rdar://problem/14440207>
1576
1577         Reviewed by Darin Adler.
1578
1579         Null-check the PluginView in the caller as well.
1580
1581         * WebProcess/WebPage/WebFrame.cpp:
1582         (WebKit::WebFrame::handlesPageScaleGesture):
1583
1584 2013-07-30  Patrick Gansterer  <paroga@webkit.org>
1585
1586         Remove unused Download*.cpp files
1587         https://bugs.webkit.org/show_bug.cgi?id=119248
1588
1589         Reviewed by Anders Carlsson.
1590
1591         * Shared/Downloads/cfnet/DownloadCFNet.cpp: Removed.
1592         * Shared/Downloads/curl/DownloadCurl.cpp: Removed.
1593
1594 2013-07-30  Jeff Miller  <jeffm@apple.com>
1595
1596         Page for WKPageLoaderClient processDidCrash callback always reports a process identifier of 0
1597         https://bugs.webkit.org/show_bug.cgi?id=119269
1598         <rdar://problem/14582393>
1599
1600         Reviewed by Anders Carlsson.
1601
1602         * UIProcess/WebPageProxy.cpp:
1603         (WebKit::WebPageProxy::processIdentifier):
1604         Return 0 if the page is closed instead of requiring isValid().
1605
1606 2013-07-30  Kwang Yul Seo  <skyul@company100.net>
1607
1608         [WK2] Move the implementation of WebEditorClient::checkTextOfParagraph to WebEditorClient.cpp
1609         https://bugs.webkit.org/show_bug.cgi?id=119034
1610
1611         Reviewed by Anders Carlsson.
1612
1613         The Mac and EFL ports use the same implementation of
1614         WebEditorClient::checkTextOfParagraph and GTK will use the same
1615         implementation too. So rather than duplicating the same code in
1616         platform specific files, move the implementation to platform agnostic
1617         WebProcess/WebCoreSupport/WebEditorClient.cpp.
1618
1619         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1620         (WebKit::WebEditorClient::checkTextOfParagraph):
1621         * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
1622         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
1623
1624 2013-07-30  Brian Holt  <brian.holt@samsung.com>
1625
1626         [WebKit2] [Gtk] WebKitResponsePolicyDecision URI response property incorrect
1627         https://bugs.webkit.org/show_bug.cgi?id=119258
1628
1629         Reviewed by Martin Robinson.
1630
1631         Corrected the installed URI response property from PROP_REQUEST to
1632         PROP_RESPONSE and type from WEBKIT_TYPE_URI_REQUEST to
1633         WEBKIT_TYPE_URI_RESPONSE.
1634
1635         * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
1636         (webkit_response_policy_decision_class_init):
1637
1638 2013-07-29  Carlos Garcia Campos  <cgarcia@igalia.com>
1639
1640         Unreviewed. Fix make distcheck.
1641
1642         * GNUmakefile.list.am: Add missing header file to compilation.
1643
1644 2013-07-29  Tim Horton  <timothy_horton@apple.com>
1645
1646         [wk2] Flush the WebProcess’ implicit transaction when using endDeferringViewInWindowChangesSync
1647         https://bugs.webkit.org/show_bug.cgi?id=119225
1648         <rdar://problem/14568841>
1649
1650         Reviewed by Simon Fraser.
1651
1652         Tell CoreAnimation to flush the implicit transaction before replying
1653         when using endDeferringViewInWindowChangesSync, as that method's contract
1654         is that the WebProcess is totally ready to be in-window when it returns.
1655
1656         * UIProcess/API/mac/WKView.mm:
1657         (-[WKView endDeferringViewInWindowChanges]):
1658         Adopt viewInWindowStateDidChange.
1659
1660         (-[WKView endDeferringViewInWindowChangesSync]):
1661         Adopt viewInWindowStateDidChange, asking it to send a reply only if we're going to wait for one.
1662
1663         * UIProcess/WebPageProxy.cpp:
1664         (WebKit::WebPageProxy::viewInWindowStateDidChange):
1665         (WebKit::WebPageProxy::viewStateDidChange):
1666         Pull viewInWindowStateDidChange out of viewStateDidChange.
1667         Request a reply from SetIsInWindow if we're told to.
1668
1669         * UIProcess/WebPageProxy.h: Add WantsReplyOrNot and viewInWindowStateDidChange.
1670         * WebProcess/WebPage/WebPage.cpp:
1671         (WebKit::WebPage::didUpdateInWindowStateTimerFired):
1672         Don't build this version on Mac, we'll have a WebPageMac version.
1673
1674         (WebKit::WebPage::setIsInWindow):
1675         Only start the timer to send the didUpdateInWindowState reply if we're asked to.
1676
1677         * WebProcess/WebPage/WebPage.h:
1678         * WebProcess/WebPage/WebPage.messages.in:
1679         Add an argument to the SetIsInWindow message for whether the WebProcess
1680         should inform the UIProcess when SetIsInWindow completes or not.
1681
1682         * WebProcess/WebPage/mac/WebPageMac.mm:
1683         (WebKit::WebPage::didUpdateInWindowStateTimerFired):
1684         Tell CA to flush the implicit transaction before telling the UIProcess that
1685         we're finished moving in-window.
1686
1687 2013-07-29  Tim Horton  <timothy_horton@apple.com>
1688
1689         Null deref under PluginView::handlesPageScaleFactor()
1690         https://bugs.webkit.org/show_bug.cgi?id=119231
1691         <rdar://problem/14440207>
1692
1693         Reviewed by Simon Fraser.
1694
1695         * WebProcess/Plugins/PluginView.cpp:
1696         (WebKit::PluginView::handlesPageScaleFactor):
1697         * WebProcess/Plugins/PluginView.h:
1698         Null-check m_plugin and check m_isInitialized.
1699         Make pageScaleFactor() and handlesPageScaleFactor const.
1700
1701 2013-07-29  Anders Carlsson  <andersca@apple.com>
1702
1703         Remove setUnderlayPage() and associated code
1704         https://bugs.webkit.org/show_bug.cgi?id=119220
1705         <rdar://problem/14392426>
1706
1707         Reviewed by Jessie Berlin.
1708
1709         This is dead code, get rid of it.
1710
1711         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1712         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1713         * WebProcess/WebPage/WebPage.cpp:
1714         (WebKit::WebPage::close):
1715         (WebKit::WebPage::layoutIfNeeded):
1716         (WebKit::WebPage::drawRect):
1717         * WebProcess/WebPage/WebPage.h:
1718
1719 2013-07-29  Sergio Correia  <sergio.correia@openbossa.org>
1720
1721         CoordinatedGraphics: Add API to get and set the active state of a WebView
1722         https://bugs.webkit.org/show_bug.cgi?id=119067
1723
1724         Reviewed by Noam Rosenthal.
1725
1726         A view being in the "active" state generally means that it is not in the
1727         "background", although this definition can vary depending on the platform
1728         under consideration.
1729
1730         This patch adds the following APIs to WKView:
1731         - bool WKViewIsActive(WKViewRef)
1732         This API accepts a WKViewRef as parameter and returns a boolean indicating
1733         whether the given view is active.
1734
1735         - void WKViewSetIsActive(WKViewRef, bool)
1736         This API accepts a WKViewRef and a boolean as parameteres, and it sets the
1737         active state of the given view to the given boolean argument.
1738
1739         * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
1740         (WKViewIsActive): API added.
1741         (WKViewSetIsActive): Ditto.
1742         * UIProcess/API/C/CoordinatedGraphics/WKView.h: Export aforementioned API.
1743         * UIProcess/CoordinatedGraphics/WebView.cpp:
1744         (WebKit::WebView::initialize): Use new setActive method.
1745         (WebKit::WebView::setActive): Added method to set the active state of the
1746         view.
1747         (WebKit::WebView::isActive): Added method to return the active state of
1748         view.
1749         (WebKit::WebView::enterAcceleratedCompositingMode): Use new setActive
1750         method.
1751         (WebKit::WebView::exitAcceleratedCompositingMode): Ditto.
1752         * UIProcess/CoordinatedGraphics/WebView.h: Added declarations of isActive
1753         and setActive.
1754
1755 2013-07-29  Jae Hyun Park  <jae.park@company100.net>
1756
1757         Remove duplicated LayerTreeHost::supportsAcceleratedCompositing
1758         https://bugs.webkit.org/show_bug.cgi?id=118949
1759
1760         Reviewed by Noam Rosenthal.
1761
1762         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1763         * WebProcess/WebPage/LayerTreeHost.h:
1764         (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
1765
1766 2013-07-29  Zan Dobersek  <zdobersek@igalia.com>
1767
1768         [Automake] Remove references to non-existent *_CFLAGS and *_LIBS variables
1769         https://bugs.webkit.org/show_bug.cgi?id=119212
1770
1771         Reviewed by Carlos Garcia Campos.
1772
1773         * GNUmakefile.am: Remove references to GLOBALDEPS_(CFLAGS|LIBS) and CLUTTER_(CFLAGS|LIBS)
1774         variables that are not defined during the configuration process.
1775
1776 2013-07-28  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
1777
1778         [EFL][WK2] Simplify context_menu_spelling_items_availability unit test
1779         https://bugs.webkit.org/show_bug.cgi?id=119085
1780
1781         Reviewed by Gyuyoung Kim.
1782
1783         Use findContextMenuItem method to check whether the item
1784         appears in context menu.
1785
1786         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
1787         (EWK2TextCheckerTest::findContextMenuItem):
1788         Do not report failure inside the method.
1789         It doesn't allow to test the negative test cases.
1790
1791         (EWK2TextCheckerTest::checkCorrectnessOfSpellingItems):
1792         Use findContextMenuItem method.
1793
1794         (EWK2TextCheckerTest::toogleCheckSpellingWhileTyping):
1795         (EWK2TextCheckerTest::selectLearnSpelling):
1796         (EWK2TextCheckerTest::selectIgnoreSpelling):
1797         Verify the return value of findContextMenuItem.
1798
1799         (TEST_F):
1800         Reset wasContextMenuShown variable, it's needed after r152153.
1801         Use waitUntilTrue method.
1802
1803 2013-07-27  Jacky Jiang  <zhajiang@blackberry.com>
1804
1805         Replace all uses of GraphicsLayer::create function with the one that takes a GraphicsLayerFactory
1806         https://bugs.webkit.org/show_bug.cgi?id=119186
1807
1808         Reviewed by Anders Carlsson.
1809
1810         * UIProcess/mac/RemoteLayerTreeHost.mm:
1811         (WebKit::RemoteLayerTreeHost::getOrCreateLayer):
1812
1813 2013-07-27  Chris Fleizach  <cfleizach@apple.com>
1814
1815         AX: VoiceOver not working with data detection page overlays
1816         https://bugs.webkit.org/show_bug.cgi?id=118680
1817
1818         Reviewed by Sam Weinig.
1819
1820         Expose API in BundlePageOverlay so that accessibility attributes can be retrieved through the overlay.
1821         This requires two methods in a new callback struct. One to copy the attribute names, and the other to 
1822         copy the attribute values. I've folded both parameterized and non-parameterized attribute names into one method
1823         with a boolean to determine which one should be used. The non-parameterized attributes are not used or passed to the
1824         overlay at this time as there are no clients with such a need.
1825
1826         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
1827         (PageOverlayClientImpl::setAccessibilityClient):
1828         (PageOverlayClientImpl::PageOverlayClientImpl):
1829         (PageOverlayClientImpl::copyAccessibilityAttributeValue):
1830         (PageOverlayClientImpl::copyAccessibilityAttributeNames):
1831         (WKBundlePageOverlaySetAccessibilityClient):
1832         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
1833         * WebProcess/WebPage/PageOverlay.cpp:
1834         (WebKit::PageOverlay::copyAccessibilityAttributeValue):
1835         (WebKit::PageOverlay::copyAccessibilityAttributeNames):
1836         * WebProcess/WebPage/PageOverlay.h:
1837         (WebKit::PageOverlay::Client::copyAccessibilityAttributeValue):
1838         (WebKit::PageOverlay::Client::copyAccessibilityAttributeNames):
1839         (WebKit::PageOverlay::client):
1840         * WebProcess/WebPage/WebPage.cpp:
1841         (WebKit::WebPage::pageOverlayCopyAccessibilityAttributeValue):
1842         (WebKit::WebPage::pageOverlayCopyAccessibilityAttributesNames):
1843         * WebProcess/WebPage/WebPage.h:
1844         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
1845         (-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
1846         (-[WKAccessibilityWebPageObject _convertScreenPointToWindow:]):
1847         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
1848
1849 2013-07-27  Simon Fraser  <simon.fraser@apple.com>
1850
1851         If entering fullscreen for a window fails, don't leave things in a bad state
1852         https://bugs.webkit.org/show_bug.cgi?id=119179
1853
1854         Reviewed by Sam Weinig.
1855         
1856         On Lion, attempting to take a video fullscreen when the Safari window is already
1857         fullscreen can sometimes fail, and AppKit informs us via windowDidFailToEnterFullScreen:
1858         
1859         When this happens we have to undo the work done when entering fullscreen, to
1860         avoid leaving things in a bad state.
1861
1862         * UIProcess/mac/WKFullScreenWindowController.mm:
1863         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
1864
1865 2013-07-26  Tim Horton  <timothy_horton@apple.com>
1866
1867         Add a mode where autosizing fixes the FrameView height to at least the WKView height
1868         https://bugs.webkit.org/show_bug.cgi?id=119104
1869         <rdar://problem/14549021>
1870
1871         Reviewed by Anders Carlsson.
1872
1873         * Shared/WebPageCreationParameters.cpp:
1874         (WebKit::WebPageCreationParameters::encode):
1875         (WebKit::WebPageCreationParameters::decode):
1876         * Shared/WebPageCreationParameters.h:
1877         Add autoSizingShouldExpandToViewHeight parameter.
1878
1879         * UIProcess/API/mac/WKView.mm:
1880         (-[WKView minimumWidthForAutoLayout]):
1881         (-[WKView setMinimumWidthForAutoLayout:]):
1882         Un-deprecate these as they're still useful if not sending a height.
1883
1884         (-[WKView shouldExpandToViewHeightForAutoLayout]):
1885         (-[WKView setShouldExpandToViewHeightForAutoLayout:]):
1886         * UIProcess/API/mac/WKViewPrivate.h:
1887         New property, forward to WebPageProxy.
1888
1889         * UIProcess/WebPageProxy.cpp:
1890         (WebKit::WebPageProxy::WebPageProxy):
1891         (WebKit::WebPageProxy::creationParameters):
1892         (WebKit::WebPageProxy::setAutoSizingShouldExpandToViewHeight):
1893         * UIProcess/WebPageProxy.h:
1894         (WebKit::WebPageProxy::autoSizingShouldExpandToViewHeight):
1895         New property, forward to WebPage.
1896
1897         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1898         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
1899         If enabled, update the FrameView's autoSizeFixedMinimumHeight.
1900
1901         * WebProcess/WebPage/WebPage.cpp:
1902         (WebKit::WebPage::WebPage):
1903         (WebKit::WebPage::setAutoSizingShouldExpandToViewHeight):
1904         * WebProcess/WebPage/WebPage.h:
1905         (WebKit::WebPage::autoSizingShouldExpandToViewHeight):
1906         New property; if enabled, set FrameView's autoSizeFixedMinimumHeight,
1907         otherwise reset it to 0.
1908
1909         * WebProcess/WebPage/WebPage.messages.in:
1910         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1911         (WebKit::TiledCoreAnimationDrawingArea::updateIntrinsicContentSizeTimerFired):
1912         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
1913         Retrieve intrinsic content size explicitly from the FrameView, as
1914         it may not have used it as its final contentsSize if
1915         autoSizeFixedMinimumHeight is set.
1916
1917         Set the WebPage's size in case the load is committed so that the
1918         WebFrameLoaderClient doesn't reset us to the wrong size.
1919
1920         Update autoSizeFixedMinimumHeight if enabled when the view size changes.
1921
1922 2013-07-25  Andreas Kling  <akling@apple.com>
1923
1924         ChromeClient::focusedNodeChanged() should be focusedElementChanged().
1925         <http://webkit.org/b/119110>
1926
1927         Reviewed by Anders Carlsson.
1928
1929         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1930         (WebKit::WebChromeClient::focusedElementChanged):
1931         * WebProcess/WebCoreSupport/WebChromeClient.h:
1932
1933 2013-07-25  Kwang Yul Seo  <skyul@company100.net>
1934
1935         [WK2][Soup] Add private browsing support
1936         https://bugs.webkit.org/show_bug.cgi?id=118657
1937
1938         Reviewed by Gustavo Noronha Silva.
1939
1940         Support private browsing in WK2 by implementing private browsing
1941         related methods in WebFrameNetworkingContext.
1942
1943         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1944         (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
1945         Add USE(SOUP) guard.
1946
1947         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
1948         Add private browsing support methods. Copied from the Mac port.
1949         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
1950         (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession):
1951         (WebKit::WebFrameNetworkingContext::storageSession):
1952         Check if the frame enables private browsing and return the private
1953         browsing session.
1954         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
1955
1956         * WebProcess/WebProcess.cpp:
1957         (WebKit::WebProcess::ensurePrivateBrowsingSession):
1958         Add USE(SOUP) guard.
1959
1960 2013-07-25  Kwang Yul Seo  <skyul@company100.net>
1961
1962         Build fix: use of long long in CoreIPC::ArgumentEncoder and CoreIPC::ArgumentDecoder
1963         https://bugs.webkit.org/show_bug.cgi?id=118228
1964
1965         Reviewed by Anders Carlsson.
1966
1967         Build fails on some platforms where int64_t and long long are different types.
1968
1969         * Shared/FileAPI/BlobRegistrationData.cpp:
1970         (WebKit::BlobRegistrationData::encode):
1971         Add explicit casts to int64_t.
1972         (WebKit::BlobRegistrationData::decode):
1973         Use int64_t instead of long long.
1974
1975 2013-07-25  Anders Carlsson  <andersca@apple.com>
1976
1977         Remove lastModifiedDate from ResourceResponse
1978         https://bugs.webkit.org/show_bug.cgi?id=119092
1979
1980         Reviewed by Andreas Kling.
1981
1982         Update for WebCore changes.
1983
1984         * WebProcess/Plugins/PluginView.cpp:
1985         (WebKit::lastModifiedDate):
1986         Use ResourceResponse::lastModified() to get the last modified date.
1987
1988         (WebKit::PluginView::Stream::didReceiveResponse):
1989         Call the static lastModified function.
1990
1991         (WebKit::PluginView::manualLoadDidReceiveResponse):
1992         Ditto.
1993
1994 2013-07-25  Carlos Garcia Campos  <cgarcia@igalia.com>
1995
1996         [GTK] Add support for running unit tests in the web process
1997         https://bugs.webkit.org/show_bug.cgi?id=118427
1998
1999         Reviewed by Gustavo Noronha Silva.
2000
2001         Some tests, like GObject DOM bindings API tests, run entirely in
2002         the WebProcess, so we just need to start the test from the UI
2003         process and wait until the test finishes running in the
2004         WebProcess. Tests are split in two files, one containing the
2005         actual test that runs in the WebProcess and another one to add the
2006         tests to the glib test system that works as a
2007         proxy. WebProcessTestRunner class starts a private DBus session
2008         bus and starts the tests sending a message to the WebExtension
2009         waiting until it finishes or fails. WebProcess tests are created
2010         by defining a class derived from WebProcessTest class and
2011         implementing the static create method and the virtual runTest
2012         method. The macro REGISTER_TEST is used by the web process tests
2013         to register their test cases. This patch includes the migration
2014         of the WebKitDOMNode test, all other GObject DOM bindings tests
2015         will be migrated in the same way in follow up patches.
2016
2017         * UIProcess/API/gtk/tests/DOMNodeTest.cpp: Added.
2018         (WebKitDOMNodeTest::create): Create a new WebKitDOMNodeTest.
2019         (WebKitDOMNodeTest::webPageFromArgs): Get the pageID parameter
2020         from the arguments dictionary.
2021         (WebKitDOMNodeTest::testHierarchyNavigation):
2022         (WebKitDOMNodeTest::testInsertion):
2023         (WebKitDOMNodeTest::runTest): Run the given test.
2024         (registerTests): Register test cases.
2025         * UIProcess/API/gtk/tests/GNUmakefile.am: Add new files to
2026         compilation.
2027         * UIProcess/API/gtk/tests/TestDOMNode.cpp: Added.
2028         (testWebKitDOMNodeHierarchyNavigation):
2029         (testWebKitDOMNodeInsertion):
2030         (beforeAll):
2031         (afterAll):
2032         * UIProcess/API/gtk/tests/TestMain.cpp:
2033         (main): Unset DBUS_SESSION_BUS_ADDRESS environment variable to
2034         make sure that the GLib bus singleton is initialized by the
2035         private DBus session bus created by the tests.
2036         * UIProcess/API/gtk/tests/WebProcessTest.cpp: Added.
2037         (testsMap): Initialize and get the global map of tests.
2038         (WebProcessTest::add): Add a new test to the map, keeping a
2039         function to create the test.
2040         (WebProcessTest::create): Create a test for the given name.
2041         (methodCallCallback): Handle RunTest DBus method. It creates and
2042         runs the given test.
2043         (webkit_web_extension_initialize):Register the DBus service for
2044         this WebExtension.
2045         * UIProcess/API/gtk/tests/WebProcessTest.h: Added.
2046         * UIProcess/API/gtk/tests/WebProcessTestRunner.cpp: Added.
2047         (WebProcessTestRunner::WebProcessTestRunner): Start a private DBus
2048         session bus and get a connection to it.
2049         (WebProcessTestRunner::~WebProcessTestRunner): Stop the private
2050         DBus session bus.
2051         (WebProcessTestRunner::proxyCreatedCallback):
2052         (WebProcessTestRunner::proxy): Create a new proxy to send messages
2053         to the WebExtension if it doesn't exists.
2054         (WebProcessTestRunner::onNameAppeared): Called when the DBus
2055         service has been registered in the WebExtension and it's safe to
2056         create a proxy.
2057         (WebProcessTestRunner::onNameVanished): Called when the DBus
2058         service is unregistered. This happens when the web process crash,
2059         so we just exit here, because the g_asserts in the web process
2060         have already registered the error message.
2061         (WebProcessTestRunner::testFinishedCallback): Called when the
2062         WebProcess tests has finished.
2063         (WebProcessTestRunner::runTest): Send a message to the
2064         WebExtension to start the given test and monitor the service.
2065         (WebProcessTestRunner::finishTest): Save the test result and
2066         finish the main loop.
2067         * UIProcess/API/gtk/tests/WebProcessTestRunner.h: Added.
2068
2069 2013-05-05  Geoffrey Garen  <ggaren@apple.com>
2070
2071         Rolled back in r149527 with crash fixed.
2072
2073         Reviewed by Oliver Hunt.
2074
2075             Rationalized 'this' value conversion
2076             https://bugs.webkit.org/show_bug.cgi?id=115542
2077
2078 2013-07-24  Ruth Fong  <ruth_fong@apple.com>
2079
2080         Rename WebColorChooserProxy
2081         <rdar://problem/14528039> and https://bugs.webkit.org/show_bug.cgi?id=119025
2082
2083         Reviewed by Brady Eidson.
2084
2085         Renamed WebColorChooserProxy to WebColorPicker since the name WebColorChoooserProxy
2086         implies that it represents the same object as WebColorChooser, which is not true.
2087         Also, renamed createColorChooserProxy to createColorPicker in WebPageProxy and 
2088         platform-equivalent versions of it.
2089
2090         * CMakeLists.txt:
2091         * GNUmakefile.list.am:
2092         * Target.pri:
2093         * UIProcess/API/gtk/PageClientImpl.cpp:
2094         (WebKit::PageClientImpl::createColorPicker):
2095         * UIProcess/API/gtk/PageClientImpl.h:
2096         * UIProcess/API/mac/PageClientImpl.h:
2097         * UIProcess/API/mac/PageClientImpl.mm:
2098         (WebKit::PageClientImpl::createColorPicker):
2099         * UIProcess/API/qt/raw/qrawwebview.cpp:
2100         (QRawWebViewPrivate::createColorPicker):
2101         * UIProcess/API/qt/raw/qrawwebview_p_p.h:
2102         * UIProcess/CoordinatedGraphics/WebView.cpp:
2103         (WebKit::WebView::createColorPicker):
2104         * UIProcess/CoordinatedGraphics/WebView.h:
2105         * UIProcess/PageClient.h:
2106         * UIProcess/WebColorChooserProxy.cpp: Removed.
2107         * UIProcess/WebColorChooserProxy.h: Removed.
2108         * UIProcess/WebColorPicker.cpp: Copied from Source/WebKit2/UIProcess/WebColorChooserProxy.cpp.
2109         (WebKit::WebColorPicker::WebColorPicker):
2110         (WebKit::WebColorPicker::~WebColorPicker):
2111         (WebKit::WebColorPicker::endChooser):
2112         (WebKit::WebColorPicker::setSelectedColor):
2113         * UIProcess/WebColorPicker.h: Copied from Source/WebKit2/UIProcess/WebColorChooserProxy.h.
2114         (WebKit::WebColorPicker::create):
2115         * UIProcess/WebPageProxy.cpp:
2116         (WebKit::WebPageProxy::close):
2117         (WebKit::WebPageProxy::showColorChooser):
2118         (WebKit::WebPageProxy::setColorChooserColor):
2119         (WebKit::WebPageProxy::endColorChooser):
2120         (WebKit::WebPageProxy::didEndColorChooser):
2121         (WebKit::WebPageProxy::resetStateAfterProcessExited):
2122         * UIProcess/WebPageProxy.h: Renamed m_colorChooser to m_colorPicker.
2123         * UIProcess/qt/QtPageClient.cpp:
2124         (WebKit::QtPageClient::createColorPicker):
2125         * UIProcess/qt/QtPageClient.h:
2126         * UIProcess/qt/WebColorChooserProxyQt.cpp: Removed.
2127         * UIProcess/qt/WebColorChooserProxyQt.h: Removed.
2128         * UIProcess/qt/WebColorPickerQt.cpp: Added.
2129         (WebKit::ColorChooserContextObject::ColorChooserContextObject):
2130         (WebKit::ColorChooserContextObject::currentColor):
2131         (WebKit::ColorChooserContextObject::elementRect):
2132         (WebKit::ColorChooserContextObject::accept):
2133         (WebKit::ColorChooserContextObject::reject):
2134         (WebKit::WebColorPickerQt::WebColorPickerQt):
2135         (WebKit::WebColorPickerQt::~WebColorPickerQt):
2136         (WebKit::WebColorPickerQt::createItem):
2137         (WebKit::WebColorPickerQt::createContext):
2138         (WebKit::WebColorPickerQt::setSelectedColor):
2139         (WebKit::WebColorPickerQt::notifyColorSelected):
2140         (WebKit::WebColorPickerQt::endChooser):
2141         * UIProcess/qt/WebColorPickerQt.h: Added.
2142         (WebKit::WebColorPickerQt::create):
2143         * WebKit2.xcodeproj/project.pbxproj:
2144
2145 2013-07-24  Anders Carlsson  <andersca@apple.com>
2146
2147         Crash when calling WKPageGetProcessIdentifier after aborted process launch
2148         https://bugs.webkit.org/show_bug.cgi?id=119069
2149         <rdar://problem/14494064>
2150
2151         Reviewed by Andreas Kling.
2152
2153         * UIProcess/WebPageProxy.cpp:
2154         (WebKit::WebPageProxy::processIdentifier):
2155         Check if the page is closed instead of checking whether we have a process - We'll always have a process.
2156         
2157         (WebKit::WebPageProxy::isValid):
2158         Make this const.
2159
2160         * UIProcess/WebPageProxy.h:
2161
2162 2013-07-24  Kwang Yul Seo  <skyul@company100.net>
2163
2164         [WK2][Soup] Add entry point for network process
2165         https://bugs.webkit.org/show_bug.cgi?id=110136
2166
2167         Reviewed by Gustavo Noronha Silva.
2168
2169         Original patch by Balazs Kelemen <kbalazs@webkit.org>.
2170
2171         Added a common entry point for non-Mac Unix ports.
2172
2173         * NetworkProcess/unix/NetworkProcessMainUnix.cpp: Added.
2174         (WebKit::NetworkProcessMain):
2175         * NetworkProcess/unix/NetworkProcessMainUnix.h: Added.
2176         * unix/NetworkMainUnix.cpp: Added.
2177         (main):
2178
2179 2013-07-24  Jessie Berlin  <jberlin@apple.com>
2180
2181         Remove WKPageGetPlugInInformation - it is not used anymore
2182         https://bugs.webkit.org/show_bug.cgi?id=119047
2183
2184         Reviewed by Alexey Proskuryakov.
2185
2186         Revert r151172, which fixed a crash introduced in r151043, r151054, which fixed some naming
2187         and ref-churn issues introduced in r151043, and r151043, which added
2188         WKPageGetPlugInInformation.
2189
2190         * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
2191         (WKPageIsURLKnownHSTSHost):
2192         * UIProcess/API/C/mac/WKPagePrivateMac.h:
2193         * UIProcess/Plugins/PluginProcessManager.h:
2194         * UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
2195         * UIProcess/WebPageProxy.cpp:
2196         (WebKit::WebPageProxy::close):
2197         * UIProcess/WebPageProxy.h:
2198         * UIProcess/WebPageProxy.messages.in:
2199         * UIProcess/mac/WebPageProxyMac.mm:
2200         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2201         * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
2202         * WebProcess/Plugins/Plugin.h:
2203         * WebProcess/Plugins/PluginProxy.h:
2204         * WebProcess/Plugins/PluginView.h:
2205         * WebProcess/WebPage/WebPage.h:
2206         * WebProcess/WebPage/WebPage.messages.in:
2207         * WebProcess/WebPage/mac/WebPageMac.mm:
2208
2209 2013-07-24  Jessie Berlin  <jberlin@apple.com>
2210
2211         Remove WKPageGetPlugInInformation - it is not used anymore
2212         https://bugs.webkit.org/show_bug.cgi?id=119047
2213
2214         Rubber-stamped by Alexey Proskuryakov.
2215
2216         Revert r152328, which added a key used only in the callback info for
2217         WKPageGetPlugInInformation.
2218
2219         * Shared/API/c/WKPluginInformation.cpp:
2220         * Shared/API/c/WKPluginInformation.h:
2221         * Shared/Plugins/Netscape/PluginInformation.cpp:
2222         * Shared/Plugins/Netscape/PluginInformation.h:
2223         * UIProcess/WebPageProxy.h:
2224         * UIProcess/WebPageProxy.messages.in:
2225         * UIProcess/mac/WebPageProxyMac.mm:
2226         (WebKit::WebPageProxy::containsPlugInCallback):
2227         * WebProcess/WebPage/mac/WebPageMac.mm:
2228         (WebKit::WebPage::containsPluginViewsWithPluginProcessToken):
2229
2230 2013-07-24  Anton Obzhirov  <a.obzhirov@samsung.com>
2231
2232         [GTK] TestInspectorServer unit test is timing out
2233         https://bugs.webkit.org/show_bug.cgi?id=105866
2234
2235         Reviewed by Gustavo Noronha Silva.
2236
2237         The test failed because it couldn't find inspector resources in default folder
2238         (make install step was missing). It uses now resources available in
2239         WebKitBuild folder. WebInspectorServerGtk was refactored as well to make
2240         easier to use WEBKIT_INSPECTOR_SERVER_PATH variable.
2241
2242         * UIProcess/API/gtk/tests/GNUmakefile.am:
2243         * UIProcess/API/gtk/tests/InspectorTestServer.cpp:
2244         (main):
2245         * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
2246         (testInspectorServerPageList):
2247         * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
2248         (WebKit::WebInspectorServer::platformResourceForPath):
2249         (WebKit::WebInspectorServer::buildPageList):
2250         (WebKit::WebInspectorServer::inspectorServerFilesPath):
2251
2252 2013-07-23  Simon Cooper  <scooper@apple.com>
2253
2254         10.7: Java applets do not work due to sandbox violation/exception
2255         https://bugs.webkit.org/show_bug.cgi?id=118920
2256         <rdar://problem/14471541&12910934&14223830&14260729&14267679>
2257
2258         Reviewed by Alexey Proskuryakov.
2259
2260         Introduce versioning into the common profile and use it to fix
2261         a number of issues with Java on 10.7 and 10.8. Allow writing the
2262         com.apple.java.util.prefs preference file. This change also
2263         introduces a "/Library/Application Support/Java/PublicFiles"
2264         area which Java can read without any restrictions. Files written
2265         to this location will need to be created and written to by
2266         a privileged process.
2267
2268         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
2269         * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
2270
2271 2013-07-23  Eunmi Lee  <eunmi15.lee@samsung.com>
2272
2273         [EFL][WK2] Add doneWithTouchEvent callback to the WKViewClient.
2274         https://bugs.webkit.org/show_bug.cgi?id=110085
2275
2276         Reviewed by Kenneth Rohde Christiansen.
2277
2278         Add doneWithTouchEvent callback to the WKViewClient in order to get the
2279         result of touch events in the EwkView. The result will be used to
2280         recognize gestures in the Bug 102643.
2281
2282         APIs to get values from WKTouchEventRef and WKTouchPointRef are added
2283         because WKTypeRef is opaque to the applications.
2284
2285         * UIProcess/API/C/CoordinatedGraphics/WKView.h:
2286         * UIProcess/API/C/efl/WKAPICastEfl.h:
2287         (WebKit::toAPI):
2288         * UIProcess/API/C/efl/WKEventEfl.cpp:
2289         (WKTouchEventGetType):
2290         (WKTouchEventGetTouchPoints):
2291         (WKTouchEventGetModifiers):
2292         (WKTouchEventGetTimestamp):
2293         (WKTouchPointGetID):
2294         (WKTouchPointGetState):
2295         (WKTouchPointGetScreenPosition):
2296         (WKTouchPointGetPosition):
2297         (WKTouchPointGetRadius):
2298         (WKTouchPointGetRotationAngle):
2299         (WKTouchPointGetForceFactor):
2300         * UIProcess/API/C/efl/WKEventEfl.h:
2301         * UIProcess/API/efl/EwkView.cpp:
2302         (EwkView::doneWithTouchEvent):
2303         * UIProcess/API/efl/EwkView.h:
2304         * UIProcess/CoordinatedGraphics/WebView.cpp:
2305         (WebKit::WebView::doneWithTouchEvent):
2306         * UIProcess/CoordinatedGraphics/WebViewClient.cpp:
2307         (WebKit::WebViewClient::doneWithTouchEvent):
2308         * UIProcess/CoordinatedGraphics/WebViewClient.h:
2309         * UIProcess/efl/ViewClientEfl.cpp:
2310         (WebKit::ViewClientEfl::doneWithTouchEvent):
2311         (WebKit::ViewClientEfl::ViewClientEfl):
2312         * UIProcess/efl/ViewClientEfl.h:
2313
2314 2013-07-22  Alexey Proskuryakov  <ap@apple.com>
2315
2316         Frequent MESSAGE_CHECK failures in WebPageProxy::didReceiveEvent
2317         https://bugs.webkit.org/show_bug.cgi?id=118976
2318         <rdar://problem/14155030>
2319
2320         Reviewed by Sam Weinig.
2321
2322         * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::resetStateAfterProcessExited):
2323         Clear m_gestureEventQueue, just like we clear all other event queues here.
2324
2325 2013-07-21  Anders Carlsson  <andersca@apple.com>
2326
2327         Java Updater not launched on Lion and Mountain Lion
2328         https://bugs.webkit.org/show_bug.cgi?id=118953
2329         <rdar://problem/14496721>
2330
2331         Reviewed by Sam Weinig.
2332
2333         On Lion and Mountain Lion, -[NSURL isEqual:] will return NO for two file URLs if one of
2334         them has "localhost" specified, even if the paths are otherwise equal. Work around this by
2335         comparing the paths directly.
2336
2337         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2338         (WebKit::isJavaUpdaterURL):
2339
2340 2013-07-19  Morten Stenshorne  <mstensho@opera.com>
2341
2342         [GTK] Need a way to enable region based columns from the command line
2343         https://bugs.webkit.org/show_bug.cgi?id=116611
2344
2345         Reviewed by Martin Robinson.
2346
2347         Add an environment variable to enable experimental features.
2348
2349         This provides a means to enable experimental features without polluting
2350         the public API.
2351
2352         Environment variable name: WEBKITGTK_EXPERIMENTAL_FEATURES
2353
2354         Format: WEBKITGTK_EXPERIMENTAL_FEATURES="<feature1>=1,<feature2>=1,..."
2355         Or, to enable all experimental features: WEBKITGTK_EXPERIMENTAL_FEATURES=all
2356
2357         So far the only feature is region based columns (implement multicol using
2358         the CSS regions implementation rather than ColumnInfo & co) - REGION_BASED_COLUMNS.
2359
2360         Example: WEBKITGTK_EXPERIMENTAL_FEATURES="REGION_BASED_COLUMNS=1"
2361
2362         * GNUmakefile.list.am:
2363         * PlatformGTK.cmake:
2364         * UIProcess/API/gtk/WebKitSettings.cpp:
2365         (webKitSettingsConstructed):
2366         (webkit_settings_class_init):
2367         * UIProcess/gtk/ExperimentalFeatures.cpp: Added.
2368         (WebKit):
2369         (Setting):
2370         (WebKit::ExperimentalFeatures::ExperimentalFeatures):
2371         (WebKit::ExperimentalFeatures::isEnabled):
2372         (WebKit::ExperimentalFeatures::setEnableByName):
2373         (WebKit::ExperimentalFeatures::parseEnvironment):
2374         * UIProcess/gtk/ExperimentalFeatures.h: Added.
2375         (WebKit):
2376         (ExperimentalFeatures):
2377
2378 2013-07-18  Eunmi Lee  <eunmi15.lee@samsung.com>
2379
2380         [WK2] Share Qt port's codes to find zoomable area with CoordinatedGraphics.
2381         https://bugs.webkit.org/show_bug.cgi?id=118585
2382
2383         Reviewed by Anders Carlsson.
2384
2385         The function to find zoomable area is needed in order to implement the
2386         feature to scale for double-tap gesture. The WK2 EFL and NIX port want
2387         to use that function, so extract the code from the Qt port, make it
2388         usable in the CoordinatedGraphics and add API and callback.
2389
2390         * CMakeLists.txt:
2391         * Target.pri:
2392         * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
2393         (WKViewFindZoomableAreaForRect):
2394         * UIProcess/API/C/CoordinatedGraphics/WKView.h:
2395         * UIProcess/API/efl/EwkView.cpp:
2396         (EwkView::didFindZoomableArea):
2397         * UIProcess/API/efl/EwkView.h:
2398         * UIProcess/CoordinatedGraphics/WebPageProxyCoordinatedGraphics.cpp: Added.
2399         (WebKit::WebPageProxy::findZoomableAreaForPoint):
2400         (WebKit::WebPageProxy::didFindZoomableArea):
2401         * UIProcess/CoordinatedGraphics/WebView.cpp:
2402         (WebKit::WebView::didFindZoomableArea):
2403         (WebKit::WebView::findZoomableAreaForPoint):
2404         * UIProcess/CoordinatedGraphics/WebView.h:
2405         * UIProcess/CoordinatedGraphics/WebViewClient.cpp:
2406         (WebKit::WebViewClient::didFindZoomableArea):
2407         * UIProcess/CoordinatedGraphics/WebViewClient.h:
2408         * UIProcess/PageClient.h:
2409         * UIProcess/WebPageProxy.h:
2410         * UIProcess/WebPageProxy.messages.in:
2411         * UIProcess/efl/ViewClientEfl.cpp:
2412         (WebKit::ViewClientEfl::didFindZoomableArea):
2413         (WebKit::ViewClientEfl::ViewClientEfl):
2414         * UIProcess/efl/ViewClientEfl.h:
2415         * UIProcess/qt/WebPageProxyQt.cpp:
2416         * WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp: Added.
2417         (WebKit::WebPage::findZoomableAreaForPoint):
2418         * WebProcess/WebPage/WebPage.cpp:
2419         * WebProcess/WebPage/WebPage.h:
2420         * WebProcess/WebPage/WebPage.messages.in:
2421
2422 2013-07-18  Simon Cooper  <scooper@apple.com>
2423
2424         Flash Player: deny file-read-data /Library/Application Support/Macromedia/FlashAuthor.cfg
2425         https://bugs.webkit.org/show_bug.cgi?id=118874
2426         <rdar://problem/14271327>
2427
2428         Reviewed by Alexey Proskuryakov.
2429
2430         Silently deny access to FlashAuthor.cfg. This location contains
2431         files containing lists of paths that Flash Player will
2432         "allow" access to (without asking the user). Since the plugin
2433         sandbox won't permit the access to the listed paths it is better
2434         to silently block attempts to read this "whitelist".
2435
2436         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
2437
2438 2013-07-18  Tim Horton  <timothy_horton@apple.com>
2439
2440         [wk2] Ensure that the plugin layer is removed completely when the PluginProcess crashes
2441         https://bugs.webkit.org/show_bug.cgi?id=118862
2442
2443         Reviewed by Anders Carlsson.
2444
2445         * WebProcess/Plugins/PluginView.cpp:
2446         (WebKit::PluginView::PluginView):
2447         Add m_pluginProcessHasCrashed.
2448
2449         (WebKit::PluginView::platformLayer):
2450         Don't return the plugin's layer if it has crashed.
2451
2452         (WebKit::PluginView::pluginProcessCrashed):
2453         Set m_pluginProcessHasCrashed.
2454         Cause a style recalc so that we rebuild the layer tree; our layer won't be included.
2455
2456         * WebProcess/Plugins/PluginView.h:
2457         Add m_pluginProcessHasCrashed.
2458
2459 2013-07-18  Alexey Proskuryakov  <ap@apple.com>
2460
2461         <rdar://problem/13886443> Assertion failures in NetworkProcess in SandboxExtension::revoke when aborting SyncNetworkResourceLoader
2462         <rdar://problem/13826348> ASSERT(!m_useCount) fails in NetworkProcess at SandboxExtension::~SandboxExtension
2463         https://bugs.webkit.org/show_bug.cgi?id=118855
2464
2465         Reviewed by Brady Eidson.
2466
2467         * NetworkProcess/NetworkResourceLoader.cpp:
2468         (WebKit::NetworkResourceLoader::cleanup):
2469         (WebKit::NetworkResourceLoader::didFinishLoading):
2470         (WebKit::NetworkResourceLoader::didFail):
2471         Moved sandbox extension invalidation to cleanup() meaning that we won't fail to
2472         do this when aborting a loader that currently loading from network.
2473     
2474         * NetworkProcess/SchedulableLoader.cpp:
2475         (WebKit::SchedulableLoader::SchedulableLoader):
2476         (WebKit::SchedulableLoader::consumeSandboxExtensions):
2477         (WebKit::SchedulableLoader::invalidateSandboxExtensions):
2478         * NetworkProcess/SchedulableLoader.h:
2479         Keep track of whether sandbox extensions are consumed, we don't want to revoke
2480         extensions that were never consumed (as used to be the case with sync loaders,
2481         and would be with async ones after the above fix). Also, get rid of extensions
2482         immediately when invalidating, we won't need them again.
2483
2484 2013-07-18  Tim Horton  <timothy_horton@apple.com>
2485
2486         Remove PDFViewController and WKView "custom representations"
2487         https://bugs.webkit.org/show_bug.cgi?id=118720
2488
2489         Reviewed by Alexey Proskuryakov.
2490
2491         PDFViewController was the only implementation of
2492         a "custom representation" for a WKView. As it has
2493         been superceded by PDFPlugin, we can remove both
2494         PDFViewController and the notion of a WKView custom
2495         representation.
2496
2497         * UIProcess/API/gtk/PageClientImpl.cpp:
2498         * UIProcess/API/gtk/PageClientImpl.h:
2499         * UIProcess/API/mac/PDFViewController.h: Removed.
2500         * UIProcess/API/mac/PDFViewController.mm: Removed.
2501         * UIProcess/API/mac/PageClientImpl.h:
2502         * UIProcess/API/mac/PageClientImpl.mm:
2503         * UIProcess/API/mac/WKView.mm:
2504         (-[WKView accessibilityFocusedUIElement]):
2505         (-[WKView accessibilityHitTest:]):
2506         (-[WKView accessibilityAttributeValue:]):
2507         (-[WKView printOperationWithPrintInfo:forFrame:]):
2508         * UIProcess/API/mac/WKViewInternal.h:
2509         * UIProcess/API/qt/raw/qrawwebview_p_p.h:
2510         * UIProcess/CoordinatedGraphics/WebView.cpp:
2511         * UIProcess/CoordinatedGraphics/WebView.h:
2512         * UIProcess/DrawingAreaProxy.h:
2513         * UIProcess/DrawingAreaProxyImpl.cpp:
2514         * UIProcess/DrawingAreaProxyImpl.h:
2515         * UIProcess/PageClient.h:
2516         * UIProcess/WebPageProxy.cpp:
2517         (WebKit::WebPageProxy::WebPageProxy):
2518         (WebKit::WebPageProxy::supportsTextEncoding):
2519         (WebKit::WebPageProxy::supportsTextZoom):
2520         (WebKit::WebPageProxy::setTextZoomFactor):
2521         (WebKit::WebPageProxy::setPageZoomFactor):
2522         (WebKit::WebPageProxy::setPageAndTextZoomFactors):
2523         (WebKit::WebPageProxy::findString):
2524         (WebKit::WebPageProxy::countStringMatches):
2525         (WebKit::WebPageProxy::didCommitLoadForFrame):
2526         * UIProcess/WebPageProxy.h:
2527         (WebKit::WebPageProxy::textZoomFactor):
2528         (WebKit::WebPageProxy::pageZoomFactor):
2529         * UIProcess/WebPageProxy.messages.in:
2530         * UIProcess/qt/QtPageClient.h:
2531         * WebKit2.xcodeproj/project.pbxproj:
2532         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2533         (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
2534         (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
2535         (WebKit::WebFrameLoaderClient::committedLoad):
2536         (WebKit::WebFrameLoaderClient::finishedLoading):
2537         (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
2538         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
2539         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2540         * WebProcess/WebPage/DrawingArea.h:
2541         * WebProcess/WebPage/DrawingArea.messages.in:
2542         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2543         (WebKit::DrawingAreaImpl::setNeedsDisplayInRect):
2544         (WebKit::DrawingAreaImpl::scroll):
2545         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
2546         (WebKit::DrawingAreaImpl::display):
2547         * WebProcess/WebPage/DrawingAreaImpl.h:
2548         * WebProcess/WebPage/WebPage.cpp:
2549         * WebProcess/WebPage/WebPage.h:
2550         * WebProcess/WebPage/mac/WebPageMac.mm:
2551         (WebKit::WebPage::platformPreferencesDidChange):
2552         * mac/WebKit2.order:
2553
2554 2013-07-18  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2555
2556         [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_color_picker.cpp
2557         https://bugs.webkit.org/show_bug.cgi?id=118797
2558
2559         Reviewed by Christophe Dumez.
2560
2561         Some mouseClick methods are used in test_ewk2_color_picker.cpp.
2562         But it is difficult to understand what they mean.
2563         So i would like to replace those with more meaningful method for readability.
2564
2565         * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
2566         (EWK2ColorPickerTest::clickButton):
2567         (TEST_F):
2568
2569 2013-07-18  Eunmi Lee  <eunmi15.lee@samsung.com>
2570
2571         [WK2] Replace getRect() to pixelSnappedBoundingBox().
2572         https://bugs.webkit.org/show_bug.cgi?id=118588
2573
2574         Reviewed by Noam Rosenthal.
2575
2576         The Node::getRect() function was removed in the
2577         http://trac.webkit.org/changeset/128006, so use
2578         pixelSnappedBoundingBox() instead.
2579
2580         * WebProcess/WebPage/WebPage.cpp:
2581         (WebKit::WebPage::findZoomableAreaForPoint):
2582
2583 2013-07-18  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2584
2585         [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_context_menu.cpp
2586         https://bugs.webkit.org/show_bug.cgi?id=118796
2587
2588         Reviewed by Christophe Dumez.
2589
2590         Some mouseClick methods are used in test_ewk2_context_menu.cpp.
2591         But it is difficult to understand what they mean.
2592         So i would like to replace those with more meaningful method for readability.
2593
2594         * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
2595         (EWK2ContextMenuTest::testContextMenu):
2596         (EWK2ContextMenuTest::testContextMenuForRemoveAndAppend):
2597         (EWK2ContextMenuTest::testContextMenuForSubmenu):
2598         (EWK2ContextMenuTest::finishTest):
2599         (EWK2ContextMenuTest::showContextMenu):
2600         (TEST_F):
2601
2602 2013-07-18  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2603
2604         [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_file_chooser_request.cpp
2605         https://bugs.webkit.org/show_bug.cgi?id=118792
2606
2607         Reviewed by Christophe Dumez.
2608
2609         Some mouseClick methods are used in test_ewk2_file_chooser_request.cpp.
2610         But it is difficult to understand what they mean.
2611         So i would like to replace those with more meaningful method for readability.
2612
2613         * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
2614         (EWK2FileChooserRequestTest::clickFileInput):
2615         (TEST_F):
2616
2617 2013-07-18  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2618
2619         [EFL][WK2] Move all the static methods into EWK2TextCheckerTest in test_ewk2_text_checker.cpp
2620         https://bugs.webkit.org/show_bug.cgi?id=118790
2621
2622         Reviewed by Christophe Dumez.
2623
2624         All the static methods should be moved to EWK2TextCheckerTest.
2625
2626         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
2627         (EWK2TextCheckerTest::resetCallbacksExecutionStats):
2628         (EWK2TextCheckerTest::onTimeout):
2629         (EWK2TextCheckerTest::onSettingChange):
2630         (EWK2TextCheckerTest::onSpellDocumentTag):
2631         (EWK2TextCheckerTest::onSpellDocumentTagClose):
2632         (EWK2TextCheckerTest::onSpellingCheck):
2633         (EWK2TextCheckerTest::onSpellingForKnownWord):
2634         (EWK2TextCheckerTest::onWordGuesses):
2635         (EWK2TextCheckerTest::onWordLearn):
2636         (EWK2TextCheckerTest::onWordIgnore):
2637         (EWK2TextCheckerTest::findContextMenuItem):
2638         (EWK2TextCheckerTest::checkCorrectnessOfSpellingItems):
2639         (EWK2TextCheckerTest::toogleCheckSpellingWhileTyping):
2640         (EWK2TextCheckerTest::checkClientSuggestionsForWord):
2641         (EWK2TextCheckerTest::selectLearnSpelling):
2642         (EWK2TextCheckerTest::selectIgnoreSpelling):
2643         (EWK2TextCheckerTest::countContextMenuItems):
2644         (EWK2TextCheckerTest::clickButton):
2645         (EWK2TextCheckerTest::showContextMenu):
2646         (EWK2TextCheckerTest::selectFirstWord):
2647
2648 2013-07-17  Tim Horton  <timothy_horton@apple.com>
2649
2650         Update blocked/missing plug-in UI
2651         https://bugs.webkit.org/show_bug.cgi?id=118347
2652         <rdar://problem/14209318>
2653
2654         Reviewed by Sam Weinig.
2655
2656         * Platform/CoreIPC/HandleMessage.h:
2657         (CoreIPC::callMemberFunction):
2658         Add a 6 argument -> 4 reply message handler.
2659         (It seems that FindPlugin is getting a little out of hand.)
2660
2661         * Shared/APIClientTraits.cpp:
2662         * Shared/APIClientTraits.h:
2663         * UIProcess/API/C/WKPage.h:
2664         * UIProcess/WebLoaderClient.cpp:
2665         (WebKit::WebLoaderClient::pluginLoadPolicy):
2666         * UIProcess/WebLoaderClient.h:
2667         Add an unavailability description out-argument to a new version of
2668         pluginLoadPolicy, so clients can override the text of the unavailable
2669         plugin indicator. Bump the WKPageLoaderClient version and update APIClientTraits.
2670
2671         * UIProcess/WebPageProxy.cpp:
2672         (WebKit::WebPageProxy::findPlugin):
2673         * UIProcess/WebPageProxy.h:
2674         * UIProcess/WebPageProxy.messages.in:
2675         Plumb the unavailability description through to the WebProcess via
2676         the FindPlugin message.
2677
2678         * WebProcess/WebPage/WebPage.cpp:
2679         (WebKit::WebPage::createPlugin):
2680         Acquire the unavailability description from the client
2681         (via FindPlugin) and hand it to the RenderEmbeddedObject.
2682
2683 2013-07-17  Commit Queue  <commit-queue@webkit.org>
2684
2685         Unreviewed, rolling out r152701, r152703, r152739, r152754,
2686         and r152756.
2687         http://trac.webkit.org/changeset/152701
2688         http://trac.webkit.org/changeset/152703
2689         http://trac.webkit.org/changeset/152739
2690         http://trac.webkit.org/changeset/152754
2691         http://trac.webkit.org/changeset/152756
2692         https://bugs.webkit.org/show_bug.cgi?id=118821
2693
2694         this was a buggy fix and we're going to try something
2695         different (Requested by thorton on #webkit).
2696
2697         * Platform/CoreIPC/HandleMessage.h:
2698         * Shared/APIClientTraits.cpp:
2699         * Shared/APIClientTraits.h:
2700         * UIProcess/API/C/WKPage.h:
2701         * UIProcess/WebLoaderClient.cpp:
2702         (WebKit::WebLoaderClient::pluginLoadPolicy):
2703         * UIProcess/WebLoaderClient.h:
2704         * UIProcess/WebPageProxy.cpp:
2705         (WebKit::WebPageProxy::findPlugin):
2706         * UIProcess/WebPageProxy.h:
2707         * UIProcess/WebPageProxy.messages.in:
2708         * WebProcess/Plugins/PluginProcessConnection.cpp:
2709         (WebKit::PluginProcessConnection::didClose):
2710         * WebProcess/Plugins/PluginView.cpp:
2711         (WebKit::PluginView::pluginProcessCrashed):
2712         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2713         (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
2714         * WebProcess/WebCoreSupport/WebChromeClient.h:
2715         * WebProcess/WebPage/WebPage.cpp:
2716         (WebKit::WebPage::createPlugin):
2717         (WebKit::WebPage::canPluginHandleResponse):
2718
2719 2013-07-17  Alexey Proskuryakov  <ap@apple.com>
2720
2721         [Mac] Crashes in CFURLGetBytes under WebProcess::updateActivePages()
2722         https://bugs.webkit.org/show_bug.cgi?id=118814
2723         <rdar://problem/14173389>
2724
2725         Reviewed by Brady Eidson.
2726
2727         Speculative fix. It's unclear how we end up with an invalid URL when committing
2728         a load.
2729
2730         * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::updateActivePages):
2731         Added a null check.
2732
2733 2013-07-17  Commit Queue  <commit-queue@webkit.org>
2734
2735         Unreviewed, rolling out r152786 and r152789.
2736         http://trac.webkit.org/changeset/152786
2737         http://trac.webkit.org/changeset/152789
2738         https://bugs.webkit.org/show_bug.cgi?id=118807
2739
2740         overly platform specific and dirty API (and Sam says no)
2741         (Requested by thorton on #webkit).
2742
2743         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
2744         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
2745         * WebProcess/WebPage/PageOverlay.cpp:
2746         * WebProcess/WebPage/PageOverlay.h:
2747         * WebProcess/WebPage/WebPage.cpp:
2748         * WebProcess/WebPage/WebPage.h:
2749         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
2750
2751 2013-07-17  Tim Horton  <timothy_horton@apple.com>
2752
2753         AX: VoiceOver not working with data detection page overlays
2754         https://bugs.webkit.org/show_bug.cgi?id=118680
2755
2756         Reviewed by Anders Carlsson.
2757
2758         Bump the API version after r152786.
2759
2760         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
2761
2762 2013-07-17  Simon Cooper  <scooper@apple.com>
2763
2764         YouTube webcam capture (Flash Plug-in) in Safari can't see built-in camera
2765         https://bugs.webkit.org/show_bug.cgi?id=118787
2766         <rdar://problem/14418799>
2767
2768         Reviewed by Alexey Proskuryakov.
2769
2770         Add support for built-in cameras, including the original iSight.
2771
2772         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
2773         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
2774
2775 2013-07-17  Chris Fleizach  <cfleizach@apple.com>
2776
2777         AX: VoiceOver not working with data detection page overlays
2778         https://bugs.webkit.org/show_bug.cgi?id=118680
2779
2780         Reviewed by Tim Horton.
2781
2782         Expose API methods so that a client implementing data detectors is able to respond
2783         to the needs of accessibility clients like VoiceOver.
2784
2785         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
2786         (PageOverlayClientImpl::supportsDataDetection):
2787         (PageOverlayClientImpl::dataDetectorExistsAtPoint):
2788         (PageOverlayClientImpl::dataDetectorCopyTypeAtPoint):
2789         (PageOverlayClientImpl::showDataDetectorMenuAtPoint):
2790         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
2791         * WebProcess/WebPage/PageOverlay.cpp:
2792         (WebKit::PageOverlay::supportsDataDetection):
2793         (WebKit::PageOverlay::dataDetectorExistsAtPoint):
2794         (WebKit::PageOverlay::dataDetectorCopyTypeAtPoint):
2795         (WebKit::PageOverlay::dataDetectorOpenMenuAtPoint):
2796         * WebProcess/WebPage/PageOverlay.h:
2797         (WebKit::PageOverlay::Client::supportsDataDetection):
2798         (WebKit::PageOverlay::Client::dataDetectorExistsAtPoint):
2799         (WebKit::PageOverlay::Client::dataDetectorCopyTypeAtPoint):
2800         (WebKit::PageOverlay::Client::showDataDetectorMenuAtPoint):
2801         * WebProcess/WebPage/WebPage.cpp:
2802         (WebKit::WebPage::pageOverlayOpenDataDetectorMenuAtPoint):
2803         (WebKit::WebPage::pageOverlayDataDetectorCopyTypeAtPoint):
2804         (WebKit::WebPage::pageOverlayDataDetectorExistsAtPoint):
2805         (WebKit::WebPage::pageOverlaySupportsDataDetection):
2806         * WebProcess/WebPage/WebPage.h:
2807         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
2808         (-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
2809         (-[WKAccessibilityWebPageObject _convertScreenPointToWindow:]):
2810         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
2811
2812 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2813
2814         [EFL][WK2] EWK2CookieManagerTest should be defined by inheriting from EWK2UnitTestBase.
2815         https://bugs.webkit.org/show_bug.cgi?id=118721
2816
2817         Reviewed by Christophe Dumez.
2818
2819         It should be defined as relevant test class specific to each test file for more readability.
2820         It could be helpful to remove unnecessary static methods.
2821
2822         * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
2823         (compareHostNames):
2824         (onCookiesChanged):
2825         (EWK2CookieManagerTest::getAcceptPolicy):
2826         (EWK2CookieManagerTest::getHostnamesWithCookies):
2827         (EWK2CookieManagerTest::freeHostNames):
2828         (EWK2CookieManagerTest::countHostnamesWithCookies):
2829         (TEST_F):
2830
2831 2013-07-16  Balazs Kelemen  <kbalazs@webkit.org>
2832
2833         [CMake] Undefined references should be detected at build time
2834         https://bugs.webkit.org/show_bug.cgi?id=110236
2835
2836         Reviewed by Christophe Dumez.
2837
2838         Add library dependencies that were not defined explicitly before.
2839
2840         * CMakeLists.txt:
2841         * PlatformEfl.cmake:
2842
2843 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2844
2845         [EFL][WK2] EWK2WindowFeaturesTest should be defined by inheriting from EWK2UnitTestBase.
2846         https://bugs.webkit.org/show_bug.cgi?id=118780
2847
2848         Reviewed by Christophe Dumez.
2849
2850         It should be defined as relevant test class specific to each test file for more readability.
2851         It could be helpful to remove unnecessary static methods.
2852
2853         * UIProcess/API/efl/tests/test_ewk2_window_features.cpp:
2854         (EWK2WindowFeaturesTest::createDefaultWindow):
2855         (EWK2WindowFeaturesTest::createWindow):
2856         (TEST_F):
2857
2858 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2859
2860         [EFL][WK2] EWK2ViewTest should be defined by inheriting from EWK2UnitTestBase.
2861         https://bugs.webkit.org/show_bug.cgi?id=118779
2862
2863         Reviewed by Christophe Dumez.
2864
2865         It should be defined as relevant test class specific to each test file for more readability.
2866         It could be helpful to remove unnecessary static methods.
2867
2868         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2869         (EWK2ViewTest::onLoadFinishedForRedirection):
2870         (EWK2ViewTest::serverCallbackNavigation):
2871         (EWK2ViewTest::onFormAboutToBeSubmitted):
2872         (EWK2ViewTest::fullScreenCallback):
2873         (EWK2ViewTest::fullScreenExitCallback):
2874         (EWK2ViewTest::checkAlert):
2875         (EWK2ViewTest::checkConfirm):
2876         (EWK2ViewTest::checkPrompt):
2877         (EWK2ViewTest::onTextFound):
2878         (EWK2ViewTest::onVibrate):
2879         (EWK2ViewTest::onCancelVibration):
2880         (EWK2ViewTest::loadVibrationHTMLString):
2881         (EWK2ViewTest::onContentsSizeChangedPortrait):
2882         (EWK2ViewTest::onContentsSizeChangedLandscape):
2883         (EWK2ViewTest::PageContentsAsMHTMLCallback):
2884         (EWK2ViewTest::PageContentsAsStringCallback):
2885         (TEST_F):
2886
2887 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2888
2889         [EFL][WK2] EWK2StorageManagerTest should be defined by inheriting from EWK2UnitTestBase.
2890         https://bugs.webkit.org/show_bug.cgi?id=118777
2891
2892         Reviewed by Christophe Dumez.
2893
2894         It should be defined as relevant test class specific to each test file for more readability.
2895         It could be helpful to remove unnecessary static methods.
2896
2897         * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
2898         (EWK2StorageManagerTest::OriginData::OriginData):
2899         (EWK2StorageManagerTest::getStorageOriginsCallback):
2900         (EWK2StorageManagerTest::timerCallback):
2901         (EWK2StorageManagerTest::checkOrigin):
2902         (TEST_F):
2903
2904 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2905
2906         [EFL][WK2] EWK2PopupMenuTest should be defined by inheriting from EWK2UnitTestBase.
2907         https://bugs.webkit.org/show_bug.cgi?id=118775
2908
2909         Reviewed by Christophe Dumez.
2910
2911         It should be defined as relevant test class specific to each test file for more readability.
2912         It could be helpful to remove unnecessary static methods.
2913
2914         * UIProcess/API/efl/tests/test_ewk2_popup_menu.cpp:
2915         (EWK2PopupMenuTest::checkBasicPopupMenuItem):
2916         (EWK2PopupMenuTest::selectItemAfterDelayed):
2917         (EWK2PopupMenuTest::showPopupMenu):
2918         (TEST_F):
2919
2920 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2921
2922         [EFL][WK2] EWK2FileChooserRequestTest should be defined by inheriting from EWK2UnitTestBase.
2923         https://bugs.webkit.org/show_bug.cgi?id=118773
2924
2925         Reviewed by Christophe Dumez.
2926
2927         It should be defined as relevant test class specific to each test file for more readability.
2928         It could be helpful to remove unnecessary static methods.
2929
2930         * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
2931         (EWK2FileChooserRequestTest::onFileChooserRequest):
2932         (EWK2FileChooserRequestTest::compareStrings):
2933         (EWK2FileChooserRequestTest::freeStringList):
2934         (TEST_F):
2935
2936 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2937
2938         [EFL][WK2] EWK2FaviconDatabaseTest should be defined by inheriting from EWK2UnitTestBase.
2939         https://bugs.webkit.org/show_bug.cgi?id=118772
2940
2941         Reviewed by Christophe Dumez.
2942
2943         It should be defined as relevant test class specific to each test file for more readability.
2944         It could be helpful to remove unnecessary static methods.
2945
2946         * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
2947         (EWK2FaviconDatabaseTest::serverCallback):
2948         (EWK2FaviconDatabaseTest::requestFaviconData):
2949         (TEST_F):
2950
2951 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2952
2953         [EFL][WK2] EWK2EinaSharedStringTest should be defined by inheriting from EWK2UnitTestBase.
2954         https://bugs.webkit.org/show_bug.cgi?id=118771
2955
2956         Reviewed by Christophe Dumez.
2957
2958         It should be defined as relevant test class specific to each test file for more readability.
2959         It could be helpful to remove unnecessary static methods.
2960
2961         * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
2962         (EWK2EinaSharedStringTest::checkString):
2963         (TEST_F):
2964
2965 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2966
2967         [EFL][WK2] EWK2DownloadJobTest should be defined by inheriting from EWK2UnitTestBase.
2968         https://bugs.webkit.org/show_bug.cgi?id=118769
2969
2970         Reviewed by Christophe Dumez.
2971
2972         It should be defined as relevant test class specific to each test file for more readability.
2973         It could be helpful to remove unnecessary static methods.
2974
2975         * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
2976         (EWK2DownloadJobTest::fileExists):
2977         (EWK2DownloadJobTest::serverCallback):
2978         (EWK2DownloadJobTest::on_download_requested):
2979         (EWK2DownloadJobTest::on_download_cancelled):
2980         (EWK2DownloadJobTest::on_download_failed):
2981         (EWK2DownloadJobTest::on_download_finished):
2982         (TEST_F):
2983
2984 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2985
2986         [EFL][WK2] EWK2AuthRequestTest should be defined by inheriting from EWK2UnitTestBase.
2987         https://bugs.webkit.org/show_bug.cgi?id=118766
2988
2989         Reviewed by Christophe Dumez.
2990
2991         It should be defined as relevant test class specific to each test file for more readability.
2992         It could be helpful to remove unnecessary static methods.
2993
2994         * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
2995         (EWK2AuthRequestTest::serverCallback):
2996         (EWK2AuthRequestTest::onAuthenticationRequest):
2997         (EWK2AuthRequestTest::onLoadFinished):
2998         (TEST_F):
2999
3000 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
3001
3002         [EFL][WK2] EWK2ContextMenuTest should be defined by inheriting from EWK2UnitTestBase.
3003         https://bugs.webkit.org/show_bug.cgi?id=118767
3004
3005         Reviewed by Christophe Dumez.
3006
3007         It should be defined as relevant test class specific to each test file for more readability.
3008         It could be helpful to remove unnecessary static methods.
3009
3010         * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
3011         (EWK2ContextMenuTest::checkBasicContextMenuItem):
3012         (EWK2ContextMenuTest::customItemSelected):
3013         (EWK2ContextMenuTest::showContextMenu):
3014         (EWK2ContextMenuTest::showContextMenuForRemoveAndAppend):
3015         (EWK2ContextMenuTest::showContextMenuForSubmenu):
3016         (EWK2ContextMenuTest::hideContextMenu):
3017         (TEST_F):
3018
3019 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
3020
3021         [EFL][WK2] EWK2ContextTest should be defined by inheriting from EWK2UnitTestBase.
3022         https://bugs.webkit.org/show_bug.cgi?id=118763
3023
3024         Reviewed by Christophe Dumez.
3025
3026         It should be defined as relevant test class specific to each test file for more readability.
3027         It could be helpful to remove unnecessary static methods.
3028
3029         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
3030         (EWK2ContextTest::schemeRequestCallback):
3031         (TEST_F):
3032
3033 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
3034
3035         [EFL][WK2] EWK2DatabaseManagerTest should be defined by inheriting from EWK2UnitTestBase
3036         https://bugs.webkit.org/show_bug.cgi?id=118726
3037
3038         Reviewed by Christophe Dumez.
3039
3040         It should be defined as relevant test class specific to each test file for more readability.
3041         It could be helpful to remove unnecessary static methods.
3042
3043         * UIProcess/API/efl/tests/test_ewk2_database_manager.cpp:
3044         (EWK2DatabaseManagerTest::OriginData::OriginData):
3045         (EWK2DatabaseManagerTest::databaseOriginsCallback):
3046         (EWK2DatabaseManagerTest::timerCallback):
3047         (TEST_F):
3048
3049 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
3050
3051         [EFL][WK2] EWK2ColorPickerTest should be defined by inheriting from EWK2UnitTestBase.
3052         https://bugs.webkit.org/show_bug.cgi?id=118762
3053
3054         Reviewed by Christophe Dumez.
3055
3056         It should be defined as relevant test class specific to each test file for more readability.
3057         It could be helpful to remove unnecessary static methods.
3058
3059         * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
3060         (EWK2ColorPickerTest::onColorPickerDone):
3061         (EWK2ColorPickerTest::setColorPickerColor):
3062         (EWK2ColorPickerTest::showColorPicker):
3063         (EWK2ColorPickerTest::hideColorPicker):
3064         (EWK2ColorPickerTest::hideColorPickerByRemovingElement):
3065         (TEST_F):
3066
3067 2013-07-16  Gordon Sheridan  <gordon_sheridan@apple.com>
3068
3069         setPluginUnavailabilityReason can destroy renderObject before obscurity check
3070         https://bugs.webkit.org/show_bug.cgi?id=118770
3071         <rdar://problem/14462331>
3072
3073         Reviewed by Tim Horton.
3074
3075         * WebProcess/WebPage/WebPage.cpp:
3076         (WebKit::WebPage::createPlugin):
3077         Moved obscurity check to before renderObject is potentially destroyed.
3078
3079 2013-07-16  Alexey Proskuryakov  <ap@apple.com>
3080
3081         REGRESSION (r150291): Chinese predictive input pop-up disappears on twitter.com
3082         https://bugs.webkit.org/show_bug.cgi?id=118739
3083         <rdar://problem/14300350>
3084
3085         Reviewed by Daniel Bates.
3086
3087         EditorState tracking on UI side is very fragile. This is a targeted fix just for
3088         this specific scenario.
3089
3090         The issue was that we had a stale m_temporarilyClosedComposition flag, which was
3091         making UI process believe that a composition was closed from WebProcess side,
3092         and notify input method about that. It shouldn't have been a problem, because there
3093         is no composition at this point indeed, but this extra call is a problem for
3094         predictive input, which works in a somewhat unconventional way (<rdar://problem/14458297>).
3095
3096         * UIProcess/mac/WebPageProxyMac.mm:
3097         (WebKit::WebPageProxy::insertText): Reset m_temporarilyClosedComposition flag when
3098         getting new EditorState in response to performing this action. There is certainly
3099         no composition after insertText, and all interested parties are on the same page
3100         already.
3101
3102 2013-07-16  Jessie Berlin  <jberlin@apple.com>
3103
3104         Fix some NSDictionary misuse pointed out by the clang static analyzer
3105         https://bugs.webkit.org/show_bug.cgi?id=118736
3106
3107         Reviewed by Anders Carlsson.
3108
3109         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
3110         (WebKit::WebEditorClient::documentFragmentFromAttributedString):
3111         Do not put a key with a nil value pair into the NSDictionary.
3112
3113 2013-07-16  Michael Brüning  <michael.bruning@digia.com>
3114
3115         [Qt] Replace Nokia with Qt Project in service name.
3116         https://bugs.webkit.org/show_bug.cgi?id=118729
3117
3118         Reviewed by Simon Hausmann.
3119
3120         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
3121         (WebKit::ProcessLauncher::launchProcess):
3122
3123 2013-07-16  Dong-Gwan Kim  <donggwan.kim@samsung.com>
3124
3125         EWK2BackForwardListTest should be defined by inheriting from EWK2UnitTestBase.
3126         https://bugs.webkit.org/show_bug.cgi?id=118717
3127
3128         Reviewed by Christophe Dumez.
3129
3130         * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
3131         (EWK2BackForwardListTest::checkItem):
3132         (EWK2BackForwardListTest::urlFromTitle):
3133         (EWK2BackForwardListTest::freeEinaList):
3134         (TEST_F):
3135
3136 2013-07-16  Kangil Han  <kangil.han@samsung.com>
3137
3138         Use toHTMLSelectElement and dismiss isHTMLSelectElement
3139         https://bugs.webkit.org/show_bug.cgi?id=118714
3140
3141         Reviewed by Ryosuke Niwa.
3142
3143         To avoid direct use of static_cast, this patch introduces toHTMLIFrameElement for code cleanup.
3144         Additionally, this patch removes isHTMLSelectElement because not all element subclasses can be checked by a combination of tag names.
3145
3146         * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
3147         (WebKit::PDFPluginChoiceAnnotation::commit):
3148
3149 2013-07-16  Dong-Gwan Kim  <donggwan.kim@samsung.com>
3150
3151         Replace mouseClick with more meaningful method in test_ewk2_text_checker.cpp
3152         https://bugs.webkit.org/show_bug.cgi?id=118699
3153
3154         Reviewed by Christophe Dumez.
3155
3156         Many mouseClick methods are used in test_ewk2_text_checker.cpp.
3157         But it is difficult to understand what they mean.
3158         So i would like to replace those with more meaningful method for readability.
3159
3160         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
3161         (EWK2TextCheckerTest::clickSelectAllWordsWithSpellcheckButton):
3162         (EWK2TextCheckerTest::clickSelectAllWordsWithoutSpellcheckButton):
3163         (EWK2TextCheckerTest::clickSelectSubWordWithSpellcheckButton):
3164         (EWK2TextCheckerTest::showContextMenuWithFirstLineText):
3165         (EWK2TextCheckerTest::showContextMenuWithSecondLineText):
3166         (EWK2TextCheckerTest::selectFirstWordInFirstLineText):
3167         (EWK2TextCheckerTest::selectFirstWordInSecondLineText):
3168         (TEST_F):
3169
3170 2013-07-15  Kangil Han  <kangil.han@samsung.com>
3171
3172         Introduce toHTMLIFrameElement
3173         https://bugs.webkit.org/show_bug.cgi?id=118672
3174
3175         Reviewed by Ryosuke Niwa.
3176
3177         To avoid direct use of static_cast, this patch introduces toHTMLIFrameElement for code cleanup.
3178
3179         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
3180         (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
3181
3182 2013-07-15  Tim Horton  <timothy_horton@apple.com>
3183
3184         Update blocked/missing plug-in UI
3185         https://bugs.webkit.org/show_bug.cgi?id=118347
3186         <rdar://problem/14209318>
3187
3188         Reviewed by Sam Weinig.
3189         Patch by Antoine Quint, Anders Carlsson, Sam Weinig, and myself.
3190
3191         * Platform/CoreIPC/HandleMessage.h:
3192         (CoreIPC::callMemberFunction):
3193         Add a 6 argument -> 4 reply message handler.
3194         (It seems that FindPlugin is getting a little out of hand.)
3195
3196         * Shared/APIClientTraits.cpp:
3197         * Shared/APIClientTraits.h:
3198         * UIProcess/API/C/WKPage.h:
3199         * UIProcess/WebLoaderClient.cpp:
3200         (WebKit::WebLoaderClient::pluginLoadPolicy):
3201         * UIProcess/WebLoaderClient.h:
3202         Add an unavailability description out-argument to a new version of
3203         pluginLoadPolicy, so clients can override the text of the unavailable
3204         plugin indicator. Bump the WKPageLoaderClient version and update APIClientTraits.
3205
3206         * UIProcess/WebPageProxy.cpp:
3207         (WebKit::WebPageProxy::findPlugin):
3208         * UIProcess/WebPageProxy.h:
3209         * UIProcess/WebPageProxy.messages.in:
3210         Plumb the unavailability description through to the WebProcess via
3211         the FindPlugin message.
3212
3213         * WebProcess/Plugins/PluginProcessConnection.cpp:
3214         (WebKit::PluginProcessConnection::didClose):
3215         Make a strongly referencing copy of the list of PluginProxies, so we can
3216         throw them away without the HashMap being mutated underneath us (see the comment).
3217
3218         * WebProcess/Plugins/PluginView.cpp:
3219         (WebKit::PluginView::pluginProcessCrashed):
3220         Invalidate the plug-in's widget before setting the plugin unavailability reason,
3221         because doing so would cause the plug-in's renderer to be torn down, making
3222         invalidate() crash.
3223
3224         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3225         (WebKit::WebChromeClient::shouldUnavailablePluginMessageIncludeButton):
3226         * WebProcess/WebCoreSupport/WebChromeClient.h:
3227         Rename from shouldUnavailablePluginMessageBeButton to
3228         shouldUnavailablePluginMessageIncludeButton for accuracy.
3229
3230         * WebProcess/WebPage/WebPage.cpp:
3231         (WebKit::WebPage::createPlugin):
3232         Acquire the unavailability description from the client
3233         (via FindPlugin) and hand it to the RenderEmbeddedObject.
3234         (WebKit::WebPage::canPluginHandleResponse):
3235         Re-acquire the plugin's renderer, in case setPluginUnavailabilityReason destroyed it.
3236
3237 2013-07-15  Simon Cooper  <scooper@apple.com>
3238
3239         PluginProcess deny file-read-data /Library/Application Support/Macromedia/FlashPlayerTrust
3240         https://bugs.webkit.org/show_bug.cgi?id=118690
3241         <rdar://problem/14255963>
3242
3243         Reviewed by Dean Jackson.
3244
3245         Silently deny access to FlashPlayerTrust. This location contains
3246         files containing lists of paths that Flash Player will
3247         "allow" access to (without asking the user). Since the plugin
3248         sandbox won't permit the access to the listed paths it is better
3249         to silently block attempts to read these "whitelists". The
3250         "whitelists" are created by other Adobe "installer" like
3251         applications.
3252
3253         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
3254
3255 2013-07-14  Jon Lee  <jonlee@apple.com>
3256
3257         Calling Notification.requestPermission() without a callback crashes
3258         https://bugs.webkit.org/show_bug.cgi?id=118654
3259         <rdar://problem/14293352>
3260
3261         Reviewed by Alexey Proskuryakov.
3262
3263         When requestPermission() is called, we short-circuit if we know the permission was already set.
3264         The callback handler gets invoked. But now that callbacks are optional, we need to check to make
3265         sure a callback was provided.
3266
3267         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
3268         (WebKit::NotificationPermissionRequestManager::startRequest): Check for the callback.
3269
3270 2013-07-15  Anton Obzhirov  <a.obzhirov@samsung.com>
3271
3272         [GTK] Remote inspector server should send an error page if resources not found
3273         https://bugs.webkit.org/show_bug.cgi?id=117137
3274
3275         Reviewed by Gustavo Noronha Silva.
3276
3277         Sometimes it is difficult to understand why remote inspector fails to deliver the content.
3278         This patch gives an option to show error page with some basic explanation.
3279
3280         * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
3281         (WebKit::WebInspectorServer::platformResourceForPath):
3282
3283 2013-07-15  Simon Pena  <simon.pena@samsung.com>
3284
3285         [GTK] [WK2] Check if the keyEventQueue is empty in WebPageProxy::getEditorCommandsForKeyEvent
3286         https://bugs.webkit.org/show_bug.cgi?id=118530
3287
3288         Reviewed by Carlos Garcia Campos.
3289
3290         When a key event is started in the WebProcess (e.g. in the inspector)
3291         it doesn't have an associated GdkEvent queued. Adding a check in 
3292         WebPageProxy::getEditorCommandsForKeyEvent ensures there's always a queued
3293         key event to process.
3294
3295         In GTK-WK2, inspector-protocol/input/dispatchKeyEvent.html no longer crashes once
3296         this fix is in place. 
3297
3298         * UIProcess/gtk/WebPageProxyGtk.cpp:
3299         (WebKit::WebPageProxy::getEditorCommandsForKeyEvent): Ensure m_keyEventQueue is
3300         not empty.
3301
3302 2013-07-15  Alberto Garcia  <berto@igalia.com>
3303
3304         [WK2][GTK] SIGSEV in webkitWebViewBaseSizeAllocate
3305         https://bugs.webkit.org/show_bug.cgi?id=118052
3306
3307         Reviewed by Carlos Garcia Campos.
3308
3309         We don't need to check whether the drawing area is empty or not in
3310         order to set needsResizeOnMap.
3311
3312         It can also happen that the drawing area pointer is null (if
3313         e.g. the web process crashes), which is the reason for this
3314         SIGSEGV.
3315
3316         A test to prevent this was added in r88646 but was later moved to
3317         resizeWebKitWebViewBaseFromAllocation().
3318
3319         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3320         (webkitWebViewBaseSizeAllocate):
3321
3322 2013-07-10  Roger Fong  <roger_fong@apple.com>
3323
3324         Plugins that don't support snapshotting should not all autostart.
3325         https://bugs.webkit.org/show_bug.cgi?id=118572
3326         <rdar://problem/14324391>.
3327
3328         Reviewed by Dean Jackson.
3329
3330         * WebProcess/Plugins/PluginView.cpp:
3331         (WebKit::PluginView::shouldNotAddLayer): This method determines whether or not we should add the plugin's layer to the tree.
3332         It should not be added if the plugin is in it's snapshotted state but does not actually support snapshotting.
3333         (WebKit::PluginView::pluginSnapshotTimerFired): If the plugin does not support snapshotting go straight 
3334         to the the DisplayingSnapshot state.
3335         * WebProcess/Plugins/PluginView.h:
3336
3337 2013-07-11  Jessie Berlin  <jberlin@apple.com>
3338
3339         WebResourceCacheManager::cfURLCacheHostNamesWithCallback leaks an array (pointed out by the
3340         clang static analyzer)
3341         https://bugs.webkit.org/show_bug.cgi?id=118533
3342
3343         Reviewed by Anders Carlsson.
3344
3345         * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
3346         (WebKit::WebResourceCacheManager::cfURLCacheHostNamesWithCallback):
3347
3348 2013-07-11  Sergio Correia  <sergio.correia@openbossa.org>
3349
3350         Use GOwnPtr in PluginProcessProxyUnix to manage stdOut variable
3351         https://bugs.webkit.org/show_bug.cgi?id=118568
3352
3353         Reviewed by Martin Robinson.
3354
3355         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
3356         (WebKit::PluginProcessProxy::scanPlugin):
3357
3358 2013-07-11  Timothy Hatcher  <timothy@apple.com>
3359
3360         Revert r152267 and soft link WebInspectorUI.framework again.
3361
3362         https://bugs.webkit.org/show_bug.cgi?id=118544
3363
3364         Reviewed by David Kilzer.
3365
3366         * Configurations/WebKit2.xcconfig:
3367         * UIProcess/mac/WebInspectorProxyMac.mm:
3368         (WebKit::inspectorReallyUsesWebKitUserInterface):
3369         * WebKit2.xcodeproj/project.pbxproj:
3370         * WebProcess/WebPage/mac/WebInspectorMac.mm:
3371         (WebKit::inspectorReallyUsesWebKitUserInterface):
3372
3373 2013-07-11  Jae Hyun Park  <jae.park@company100.net>
3374
3375         [Coordinated Graphics] Parameter of commitSceneState should be const
3376         https://bugs.webkit.org/show_bug.cgi?id=118564
3377
3378         Reviewed by Noam Rosenthal.
3379
3380         Parameter of commitSceneState should be const as there should not be any
3381         modifications to the passed CoordinatedGraphicsState.
3382
3383         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
3384         (WebKit::CoordinatedLayerTreeHost::commitSceneState):
3385         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
3386
3387 2013-07-10  Mark Rowe  <mrowe@apple.com>
3388
3389         <rdar://problem/14395759> PluginProcess sometimes logs an error about being unable to load WebKit2.framework.
3390
3391         Reviewed by Alexey Proskuryakov.
3392
3393         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
3394         (WebKit::PluginProcessProxy::createPropertyListFile): Ensure that any environment variables
3395         specified in dynamic linker load commands are passed to the subprocess that we spawn to create
3396         the MIME type property list.
3397
3398 2013-07-10  Brady Eidson  <beidson@apple.com>
3399
3400         Some Java plugin instances can deadlock with the WebProcess on NPP_Destroy.
3401         <rdar://problem/14286390> and https://bugs.webkit.org/show_bug.cgi?id=118535
3402
3403         Reviewed by Alexey Proskuryakov.
3404
3405         * Shared/Plugins/NPObjectProxy.cpp:
3406         (WebKit::NPObjectProxy::~NPObjectProxy): ASSERT this is the main thread.
3407         (WebKit::NPObjectProxy::NP_Deallocate): If this isn't the main thread, call it again on the main thread.
3408
3409 2013-07-10  Sergio Correia  <sergio.correia@openbossa.org>
3410
3411         Remove the meshType from CoordinatedCustomFilterOperation
3412         https://bugs.webkit.org/show_bug.cgi?id=118529
3413
3414         Reviewed by Noam Rosenthal.
3415
3416         Following the removal of the meshType from CustomFilterOperation in r149153,
3417         remove also the meshType from CoordinatedCustomFilterOperation.
3418
3419         No new tests, no new functionality.
3420
3421         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
3422         (CoreIPC::::encode): Remove dead comment.
3423         (CoreIPC::::decode): Remove meshType from CoordinatedCustomFilterOperation
3424         call.
3425
3426 2013-07-09  Byungwoo Lee  <bw80.lee@samsung.com>
3427
3428         [EFL] tooltip callback doesn't work.
3429         https://bugs.webkit.org/show_bug.cgi?id=118522
3430
3431         Reviewed by Christophe Dumez.
3432
3433         Add missing code to connect didChangeTooltip callback.
3434
3435         * UIProcess/efl/ViewClientEfl.cpp:
3436         (WebKit::ViewClientEfl::ViewClientEfl):
3437
3438 2013-07-09  Jer Noble  <jer.noble@apple.com>
3439
3440         Reviewed by Simon Fraser.
3441
3442         Remember the scroll position and restore after exiting full-screen mode.
3443         https://bugs.webkit.org/show_bug.cgi?id=61956
3444         <rdar://problem/9544461>
3445
3446         Call into the main FrameView to save the scroll position before swapping the
3447         WebView into the full-screen window, and restore the scroll position after 
3448         swapping the WebView back into the browser window.
3449
3450         * UIProcess/mac/WKFullScreenWindowController.mm:
3451         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
3452         (-[WKFullScreenWindowController beganExitFullScreenAnimation]):
3453
3454         In WebKit2, this requires some communication between the WebProcess and the
3455         UIProcess, so add two new messages to WebFullScreenManager to be called by
3456         its proxy.
3457
3458         * UIProcess/WebFullScreenManagerProxy.h:
3459         * UIProcess/WebFullScreenManagerProxy.cpp:
3460         (WebKit::WebFullScreenManagerProxy::saveScrollPosition):
3461         (WebKit::WebFullScreenManagerProxy::restoreScrollPosition):
3462         * WebProcess/FullScreen/WebFullScreenManager.h:
3463         * WebProcess/FullScreen/WebFullScreenManager.messages.in:
3464         * WebProcess/FullScreen/WebFullScreenManager.cpp:
3465         (WebKit::WebFullScreenManager::saveScrollPosition):
3466         (WebKit::WebFullScreenManager::restoreScrollPosition):
3467
3468 2013-07-07  Carlos Garcia Campos  <cgarcia@igalia.com>
3469
3470         [GTK] Runtime critical warning when unloading a module that failed to load
3471         https://bugs.webkit.org/show_bug.cgi?id=118425
3472
3473         Reviewed by Martin Robinson.
3474
3475         * Platform/gtk/ModuleGtk.cpp:
3476         (WebKit::Module::load): Show an error message when the module
3477         fails to load.
3478         (WebKit::Module::unload): Check module pointer before calling
3479         unload method.
3480
3481 2013-07-05  Tim Horton  <timothy_horton@apple.com>
3482
3483         [wk2] Add API to lock the scroll position at the top or bottom of the page
3484         https://bugs.webkit.org/show_bug.cgi?id=118429
3485         <rdar://problem/14120323>