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