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