1 2013-08-30 Tamas Czene <tczene@inf.u-szeged.hu>
3 Resolve unused parameter warning in FindController.cpp
4 https://bugs.webkit.org/show_bug.cgi?id=120516
6 Reviewed by Darin Adler.
8 * WebProcess/WebPage/FindController.cpp:
9 (WebKit::FindController::drawRect):
11 2013-08-30 Tamas Czene <tczene@inf.u-szeged.hu>
13 Resolve unused parameter warning in WKBundlePageOverlay.cpp
14 https://bugs.webkit.org/show_bug.cgi?id=120521
16 Reviewed by Andreas Kling.
18 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
19 (WKBundlePageOverlayFractionFadedIn):
21 2013-08-30 Antti Koivisto <antti@apple.com>
23 Remove code behind ENABLE(DIALOG_ELEMENT)
24 https://bugs.webkit.org/show_bug.cgi?id=120467
26 Reviewed by Darin Adler.
28 * Configurations/FeatureDefines.xcconfig:
30 2013-08-29 Sam Weinig <sam@webkit.org>
32 Add ENABLE gaurds for Promises
33 https://bugs.webkit.org/show_bug.cgi?id=120488
35 Reviewed by Andreas Kling.
37 * Configurations/FeatureDefines.xcconfig:
39 2013-08-29 Zan Dobersek <zdobersek@igalia.com>
41 [Automake] libWebCoreDOM.la could use a better name
42 https://bugs.webkit.org/show_bug.cgi?id=120232
44 Reviewed by Martin Robinson.
46 * GNUmakefile.am: libWebCoreDOM has a new name - libGObjectDOMBindings.
48 2013-08-29 Joseph Pecoraro <pecoraro@apple.com>
50 Web Inspector: Download Web Archive of Inspected Page
51 https://bugs.webkit.org/show_bug.cgi?id=119774
53 Reviewed by Timothy Hatcher.
55 Update to support InspectorFrontendHost.save's new base64Encoded
56 parameter. It means the incoming content is binary data, not a string.
58 * UIProcess/WebInspectorProxy.cpp:
59 (WebKit::WebInspectorProxy::save):
60 * UIProcess/WebInspectorProxy.h:
61 * UIProcess/WebInspectorProxy.messages.in:
62 * UIProcess/efl/WebInspectorProxyEfl.cpp:
63 (WebKit::WebInspectorProxy::platformSave):
64 * UIProcess/gtk/WebInspectorProxyGtk.cpp:
65 (WebKit::WebInspectorProxy::platformSave):
66 * UIProcess/mac/WebInspectorProxyMac.mm:
67 (WebKit::WebInspectorProxy::platformSave):
68 * UIProcess/qt/WebInspectorProxyQt.cpp:
69 (WebKit::WebInspectorProxy::platformSave):
70 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
71 (WebKit::WebInspectorFrontendClient::save):
72 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
73 * WebProcess/WebPage/WebInspector.cpp:
74 (WebKit::WebInspector::save):
75 * WebProcess/WebPage/WebInspector.h:
77 2013-08-29 Brian Holt <brian.holt@samsung.com>
79 [GTK] [WK2] TestWebKitWebView page-visibility fails
80 https://bugs.webkit.org/show_bug.cgi?id=120406
82 Reviewed by Gustavo Noronha Silva.
84 Removed the webkit prefix for document visibility properties.
86 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
87 (testWebViewPageVisibility):
89 2013-08-28 Chris Curtis <chris_curtis@apple.com>
91 https://bugs.webkit.org/show_bug.cgi?id=119548
92 Refactoring Exception throws.
94 Reviewed by Geoffrey Garen.
96 Moved setting an exception into the vm, These functions changed to use the new functionality.
98 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
99 (WebKit::JSNPObject::callMethod):
100 (WebKit::JSNPObject::callObject):
101 (WebKit::JSNPObject::callConstructor):
102 (WebKit::JSNPObject::throwInvalidAccessError):
103 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
104 (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
106 2013-08-28 Anders Carlsson <andersca@apple.com>
108 Allow the Flash plug-in to open its preference pane
109 https://bugs.webkit.org/show_bug.cgi?id=120431
110 <rdar://problem/14857039>
112 Reviewed by Andreas Kling.
114 Forward the -[NSWorkspace openFile:] call to the UI process and allow opening
115 the Flash preference pane (if Flash asks for it).
117 * PluginProcess/PluginProcess.h:
118 * PluginProcess/mac/PluginProcessMac.mm:
119 (WebKit::replacedNSWorkspace_openFile):
120 (WebKit::initializeCocoaOverrides):
121 (WebKit::PluginProcess::openFile):
122 * UIProcess/Plugins/PluginProcessProxy.h:
123 * UIProcess/Plugins/PluginProcessProxy.messages.in:
124 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
125 (WebKit::PluginProcessProxy::openURL):
126 (WebKit::shouldOpenFile):
127 (WebKit::PluginProcessProxy::openFile):
129 2013-08-28 Tamas Czene <tczene@inf.u-szeged.hu>
131 [wk2] Resolve unused parameters in WebPlatformStrategies.cpp
132 https://bugs.webkit.org/show_bug.cgi?id=120410
134 Reviewed by Darin Adler.
136 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
137 (WebKit::WebPlatformStrategies::getPluginInfo):
138 (WebKit::WebPlatformStrategies::transientLocalStorageNamespace):
140 2013-08-28 Tamas Czene <tczene@inf.u-szeged.hu>
142 [wk2] Resolve unused parameter warnings in the WebProcess.cpp
143 https://bugs.webkit.org/show_bug.cgi?id=120412
145 Reviewed by Darin Adler.
147 * WebProcess/WebProcess.cpp:
148 (WebKit::WebProcess::startMemorySampler):
150 2013-08-28 Darin Adler <darin@apple.com>
152 Eliminate Pasteboard::generalPasteboard
153 https://bugs.webkit.org/show_bug.cgi?id=120392
155 Reviewed by Anders Carlsson.
157 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
158 (WebKit::WebEditorClient::updateGlobalSelection):
159 Use createForGlobalSelection instead of generalPasteboard and setSelectionMode.
161 2013-08-28 Ábrahám Gábor <abrhm@inf.u-szeged.hu>
163 Fix unused variable warning.
164 https://bugs.webkit.org/show_bug.cgi?id=120396
166 Reviewed by Allan Sandfeld Jensen.
168 Fix unused variable compiler warning in PageOverlay.h
170 * WebProcess/WebPage/PageOverlay.h:
171 (WebKit::PageOverlay::Client::copyAccessibilityAttributeValue):
172 (WebKit::PageOverlay::Client::copyAccessibilityAttributeNames):
175 2013-08-28 Zan Dobersek <zdobersek@igalia.com>
177 [GTK][WK2] Only set up a RedirectedXCompositeWindow if running under an X11 display
178 https://bugs.webkit.org/show_bug.cgi?id=120321
180 Reviewed by Gustavo Noronha Silva.
182 Only set up the RedirectedXCompositeWindow member of the WebKitWebViewBasePrivate struct
183 if we're running under an X11 display. This is now done in the webkitWebViewBaseConstructed
184 function rather than the constructor, which is removed.
186 This allows for the UIProcess to run in a Wayland environment even when built with accelerated
187 compositing enabled. Of course, at the moment there's no support yet for accelerated compositing
188 under Wayland, so we fall back to rendering the backing store. No changes are introduced to
189 the behavior under X11 - accelerated compositing will be used where possible, if supported.
191 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
192 (webkitWebViewBaseConstructed):
194 2013-08-28 Zan Dobersek <zdobersek@igalia.com>
196 [GTK][WK2] Disable accelerated compositing under Wayland
197 https://bugs.webkit.org/show_bug.cgi?id=120347
199 Reviewed by Martin Robinson.
201 Accelerated compositing is not yet supported under the Wayland display protocol,
202 so it should be disabled. Since it is enabled by default and the GTK WK2 API does
203 not provide any way to change that, it's enough to disable it when attaching the
204 WebKitSettings object to the WebPageGroup if running under Wayland.
206 * UIProcess/API/gtk/WebKitWebViewGroup.cpp:
207 (webkitWebViewGroupAttachSettingsToPageGroup):
209 2013-08-28 Alexandre Abreu <alexandre.abreu@canonical.com>
211 Add a 'isMainFrame' parameter to QWebNavigationRequest.
212 https://bugs.webkit.org/show_bug.cgi?id=118860
214 Reviewed by Simon Hausmann.
216 * UIProcess/API/qt/qwebnavigationrequest.cpp:
217 (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
218 (QWebNavigationRequest::QWebNavigationRequest):
219 (QWebNavigationRequest::navigationType):
220 (QWebNavigationRequest::isMainFrame):
221 * UIProcess/API/qt/qwebnavigationrequest_p.h:
222 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
223 * UIProcess/qt/QtWebPagePolicyClient.cpp:
224 (WebKit::QtWebPagePolicyClient::decidePolicyForNavigationAction):
225 * UIProcess/qt/QtWebPagePolicyClient.h:
227 2013-08-27 Luciano Wolf <luciano.wolf@openbossa.org>
229 100% cpu usage for "transition: opacity" animation
230 https://bugs.webkit.org/show_bug.cgi?id=120012
232 Reviewed by Noam Rosenthal.
234 Schedule animation timer after scheduling a layer flush. This way it
235 won't overwrite animation timer with "0", thus avoiding 100% cpu usage.
237 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
238 (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
240 2013-08-27 Csaba Osztrogonác <ossy@webkit.org>
242 [WK2][Soup] Add WebFrameNetworkingContext::webFrameLoaderClient() after r154490
243 https://bugs.webkit.org/show_bug.cgi?id=120353
245 Reviewed by Alexey Proskuryakov.
247 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
248 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
249 (WebKit::WebFrameNetworkingContext::webFrameLoaderClient):
250 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
252 2013-08-26 Santosh Mahto <santosh.ma@samsung.com>
254 Fixing compilation warning "unused parameter" in WebPageProxy.cpp
255 https://bugs.webkit.org/show_bug.cgi?id=120205
257 Reviewed by Anders Carlsson.
259 * UIProcess/WebPageProxy.cpp:
260 (WebKit::WebPageProxy::findPlugin):
261 (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
262 Added UNUSED_PARAM to avoid warning.
264 2013-08-23 Andy Estes <aestes@apple.com>
266 Fix issues found by the Clang Static Analyzer
267 https://bugs.webkit.org/show_bug.cgi?id=120230
269 Reviewed by Darin Adler.
271 * UIProcess/API/mac/WKBrowsingContextController.mm:
272 (autoreleased): Don't leak CFURLs when in Objective-C GC.
273 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
274 (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
275 Don't leak CFStrings when in Objective-C GC.
277 2013-08-26 Csaba Osztrogonác <ossy@webkit.org>
279 [WK2] Buildfix for non Mac platforms
280 https://bugs.webkit.org/show_bug.cgi?id=120294
282 Reviewed by Darin Adler.
284 * NetworkProcess/AsynchronousNetworkLoaderClient.cpp:
285 (WebKit::AsynchronousNetworkLoaderClient::didReceiveBuffer):
286 * NetworkProcess/NetworkResourceLoader.h:
288 2013-08-26 Alexey Proskuryakov <ap@apple.com>
290 [Mac] can-read-in-dragstart-event.html and can-read-in-copy-and-cut-events.html fail
291 https://bugs.webkit.org/show_bug.cgi?id=113094
293 Reviewed by Darin Adler.
295 Return new pasteboard change count from all functions that change it.
297 * UIProcess/WebContext.h:
298 * UIProcess/WebContext.messages.in:
299 * UIProcess/mac/WebContextMac.mm:
300 (WebKit::WebContext::pasteboardCopy):
301 (WebKit::WebContext::addPasteboardTypes):
302 (WebKit::WebContext::setPasteboardTypes):
303 (WebKit::WebContext::setPasteboardPathnamesForType):
304 (WebKit::WebContext::setPasteboardStringForType):
305 (WebKit::WebContext::setPasteboardBufferForType):
306 * WebProcess/Plugins/PDF/PDFPlugin.mm:
307 (WebKit::PDFPlugin::writeItemsToPasteboard):
308 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
309 (WebKit::WebPlatformStrategies::copy):
310 (WebKit::WebPlatformStrategies::changeCount):
311 (WebKit::WebPlatformStrategies::addTypes):
312 (WebKit::WebPlatformStrategies::setTypes):
313 (WebKit::WebPlatformStrategies::setBufferForType):
314 (WebKit::WebPlatformStrategies::setPathnamesForType):
315 (WebKit::WebPlatformStrategies::setStringForType):
316 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
318 2013-08-26 Andreas Kling <akling@apple.com>
320 Unreviewed build fix.
322 * WebProcess/WebPage/WebFrame.cpp:
323 (WebKit::WebFrame::createWithCoreMainFrame):
324 (WebKit::WebFrame::createSubframe):
326 2013-08-26 Pratik Solanki <psolanki@apple.com>
328 PageGroup::groupSettings() should return a reference
329 https://bugs.webkit.org/show_bug.cgi?id=120319
331 Reviewed by Andreas Kling.
333 PageGroup::m_groupSettings is never NULL so we can just return a reference from groupSettings().
335 * WebProcess/Storage/StorageNamespaceImpl.cpp:
336 (WebKit::StorageNamespaceImpl::createLocalStorageNamespace):
338 2013-08-26 Andreas Kling <akling@apple.com>
340 WebCore: Let Page create the main Frame.
341 <https://webkit.org/b/119964>
343 Reviewed by Anders Carlsson.
345 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
346 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
347 (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
349 This starts out with a null WebFrame* pointer now.
351 (WebKit::WebFrameLoaderClient::setWebFrame):
353 WebFrame hooks itself up through this as soon as it's constructed.
355 (WebKit::WebFrameLoaderClient::frameLoaderDestroyed):
357 Tweak an out-of-date comment. The ref() we're balancing out comes from
360 * WebProcess/WebPage/WebFrame.cpp:
361 (WebKit::WebFrame::createWithCoreMainFrame):
363 Rewrote createMainFrame() as createWithCoreMainFrame(). The new method wraps
364 an existing WebCore::Frame instead of creating a new one.
366 (WebKit::WebFrame::createSubframe):
368 Merged WebFrame::init() into here since the logic isn't shared with main
369 Frame creation anymore.
371 (WebKit::WebFrame::create):
372 (WebKit::WebFrame::WebFrame):
374 Call WebFrameLoaderClient::setWebFrame(this).
376 * WebProcess/WebPage/WebFrame.h:
378 WebFrame::m_frameLoaderClient is now an OwnPtr rather than an inline member.
379 This way it can be created before the WebFrame.
381 * WebProcess/WebPage/WebPage.cpp:
382 (WebKit::WebPage::WebPage):
384 Set up a WebFrameLoaderClient and pass it to the Page constructor along with
385 the other PageClients.
387 2013-08-24 Carlos Garcia Campos <cgarcia@igalia.com>
389 [GTK] Add WebKit2 API for isolated worlds
390 https://bugs.webkit.org/show_bug.cgi?id=103377
392 Reviewed by Anders Carlsson.
394 * GNUmakefile.list.am: Add new files to compilation.
395 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
396 * UIProcess/API/gtk/tests/TestWebExtensions.cpp:
397 (testWebExtensionWindowObjectCleared):
398 (scriptDialogCallback):
399 (runJavaScriptInIsolatedWorldFinishedCallback):
400 (testWebExtensionIsolatedWorld):
402 * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
404 (windowObjectCleared):
406 (methodCallCallback):
407 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp:
408 (webkit_frame_get_javascript_context_for_script_world): New public
409 method to tget the JavaScript execution context for a given script
411 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.h:
412 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.cpp: Added.
413 (scriptWorlds): Global WebKitScriptWorld map.
414 (_WebKitScriptWorldPrivate::~_WebKitScriptWorldPrivate):
415 (webkitScriptWorldGet): Get the WebKitScriptWorld wrapping the
416 given injected bundle script world.
417 (webkitScriptWorldGetInjectedBundleScriptWorld): Get the injected
418 bundle script world wrapped by the given WebKitScriptWorld.
419 (webkitScriptWorldWindowObjectCleared): Emit
420 WebKitScriptWorld::window-object-cleared signal.
421 (webkitScriptWorldCreate): Create a new WebKitScriptWorld wrapping
422 the given injected bundle script world.
423 (createDefaultScriptWorld): Create the default WebKitScriptWorld
424 wrapping the normal world.
425 (webkit_script_world_get_default): Return the default WebKitScriptWorld.
426 (webkit_script_world_new): Create a new isolated WebKitScriptWorld.
427 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.h: Added.
428 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorldPrivate.h: Added.
429 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
430 (didClearWindowObjectForFrame): Call webkitScriptWorldWindowObjectCleared().
431 (webkitWebPageCreate): Add implementation for callback
432 didClearWindowObjectForFrame in injected bundle loader client.
433 * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
434 Include WebKitScriptWorld.h.
436 2013-08-26 Carlos Garcia Campos <cgarcia@igalia.com>
438 [WebKit2] Offsets for WKBundlePageLoaderClient in APIClientTraits are wrong
439 https://bugs.webkit.org/show_bug.cgi?id=120268
441 Reviewed by Anders Carlsson.
443 * Shared/APIClientTraits.cpp: Use always the first member of every
444 version as the offset of the version.
446 2013-08-26 Carlos Garcia Campos <cgarcia@igalia.com>
448 [GTK] Add missing initializer for pluginLoadPolicy in WKPageLoaderClient
449 https://bugs.webkit.org/show_bug.cgi?id=120289
451 Reviewed by Philippe Normand.
453 * UIProcess/API/gtk/WebKitLoaderClient.cpp:
454 (attachLoaderClientToView): Add initializer for pluginLoadPolicy
455 and rename the comment of the previous one as
456 pluginLoadPolicy_deprecatedForUseWithV2.
458 2013-08-26 Carlos Garcia Campos <cgarcia@igalia.com>
460 [GTK] webkitCredentialGetCredential returns a temporary in g_return_val_if_fail
461 https://bugs.webkit.org/show_bug.cgi?id=120287
463 Reviewed by Philippe Normand.
465 * UIProcess/API/gtk/WebKitCredential.cpp:
466 (webkitCredentialGetCredential): Use ASSERT() instead of
467 g_return_val_if_fail() since this is a private function.
469 2013-08-25 Zan Dobersek <zdobersek@igalia.com>
471 Unreviewed GTK build fix after r154565.
473 * UIProcess/API/gtk/tests/TestInspector.cpp: Include the Vector header.
474 * UIProcess/API/gtk/tests/TestResources.cpp: Ditto.
476 2013-08-24 Darin Adler <darin@apple.com>
478 Frame::tree should return a reference instead of a pointer
479 https://bugs.webkit.org/show_bug.cgi?id=120259
481 Reviewed by Andreas Kling.
483 * WebProcess/Plugins/PluginView.cpp:
484 (WebKit::PluginView::performJavaScriptURLRequest):
485 * WebProcess/Storage/StorageAreaMap.cpp:
486 (WebKit::StorageAreaMap::dispatchSessionStorageEvent):
487 (WebKit::StorageAreaMap::dispatchLocalStorageEvent):
488 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
489 (WebKit::WebFrameLoaderClient::createFrame):
490 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
491 (WebKit::WebContextMenuClient::searchWithSpotlight):
492 * WebProcess/WebPage/FindController.cpp:
493 (WebKit::frameWithSelection):
494 (WebKit::FindController::rectsForTextMatches):
495 * WebProcess/WebPage/WebFrame.cpp:
496 (WebKit::WebFrame::init):
497 (WebKit::WebFrame::contentsAsString):
498 (WebKit::WebFrame::name):
499 (WebKit::WebFrame::childFrames):
500 * WebProcess/WebPage/WebPage.cpp:
501 (WebKit::WebPage::clearMainFrameName):
502 (WebKit::WebPage::setDrawsBackground):
503 (WebKit::WebPage::setDrawsTransparentBackground):
504 (WebKit::WebPage::setWindowResizerSize):
505 (WebKit::frameWithSelection):
506 (WebKit::WebPage::unmarkAllMisspellings):
507 (WebKit::WebPage::unmarkAllBadGrammar):
508 (WebKit::pageContainsAnyHorizontalScrollbars):
509 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
510 (WebKit::TiledCoreAnimationDrawingArea::forceRepaint):
511 Use tree(). instead of tree()->.
513 2013-08-24 Commit Queue <commit-queue@webkit.org>
515 Unreviewed, rolling out r154545.
516 http://trac.webkit.org/changeset/154545
517 https://bugs.webkit.org/show_bug.cgi?id=120252
519 Broke WebKit2 API tests (Requested by andersca on #webkit).
521 * GNUmakefile.list.am:
522 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
523 * UIProcess/API/gtk/tests/TestWebExtensions.cpp:
525 * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
526 (methodCallCallback):
527 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp:
528 (webkit_frame_get_javascript_global_context):
529 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.h:
530 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.cpp: Removed.
531 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.h: Removed.
532 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorldPrivate.h: Removed.
533 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
534 (webkitWebPageCreate):
535 * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
537 2013-08-24 Carlos Garcia Campos <cgarcia@igalia.com>
539 [GTK] Add WebKit2 API for isolated worlds
540 https://bugs.webkit.org/show_bug.cgi?id=103377
542 Reviewed by Anders Carlsson.
544 * GNUmakefile.list.am: Add new files to compilation.
545 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
546 * UIProcess/API/gtk/tests/TestWebExtensions.cpp:
547 (testWebExtensionWindowObjectCleared):
548 (scriptDialogCallback):
549 (runJavaScriptInIsolatedWorldFinishedCallback):
550 (testWebExtensionIsolatedWorld):
552 * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
554 (windowObjectCleared):
556 (methodCallCallback):
557 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp:
558 (webkit_frame_get_javascript_context_for_script_world): New public
559 method to tget the JavaScript execution context for a given script
561 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.h:
562 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.cpp: Added.
563 (scriptWorlds): Global WebKitScriptWorld map.
564 (_WebKitScriptWorldPrivate::~_WebKitScriptWorldPrivate):
565 (webkitScriptWorldGet): Get the WebKitScriptWorld wrapping the
566 given injected bundle script world.
567 (webkitScriptWorldGetInjectedBundleScriptWorld): Get the injected
568 bundle script world wrapped by the given WebKitScriptWorld.
569 (webkitScriptWorldWindowObjectCleared): Emit
570 WebKitScriptWorld::window-object-cleared signal.
571 (webkitScriptWorldCreate): Create a new WebKitScriptWorld wrapping
572 the given injected bundle script world.
573 (createDefaultScriptWorld): Create the default WebKitScriptWorld
574 wrapping the normal world.
575 (webkit_script_world_get_default): Return the default WebKitScriptWorld.
576 (webkit_script_world_new): Create a new isolated WebKitScriptWorld.
577 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.h: Added.
578 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorldPrivate.h: Added.
579 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
580 (didClearWindowObjectForFrame): Call webkitScriptWorldWindowObjectCleared().
581 (webkitWebPageCreate): Add implementation for callback
582 didClearWindowObjectForFrame in injected bundle loader client.
583 * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
584 Include WebKitScriptWorld.h.
586 2013-08-24 Carlos Garcia Campos <cgarcia@igalia.com>
588 [GTK] Expose WebKitFrame in WebKit2GTK+ web extensions API
589 https://bugs.webkit.org/show_bug.cgi?id=119743
591 Reviewed by Anders Carlsson.
593 * GNUmakefile.list.am: Add new files to compilation.
594 * Shared/APIClientTraits.cpp: Update for new interface version.
595 * Shared/APIClientTraits.h: Ditto.
596 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add WebKitFrame
598 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new public
600 * UIProcess/API/gtk/docs/webkit2gtk.types: Add
601 webkit_frame_get_type.
602 * UIProcess/API/gtk/tests/FrameTest.cpp: Added.
603 (WebKitFrameTest::create):
604 (WebKitFrameTest::webPageFromArgs):
605 (WebKitFrameTest::testMainFrame):
606 (WebKitFrameTest::testURI):
607 (WebKitFrameTest::testJavaScriptContext):
608 (WebKitFrameTest::runTest):
610 * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test files.
611 * UIProcess/API/gtk/tests/TestFrame.cpp: Added.
612 (webkitFrameTestRun):
613 (testWebKitFrameMainFrame):
614 (testWebKitFrameURI):
615 (testWebKitFrameJavaScriptContext):
618 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add
619 willDestroyFrame callback to the injected bundle loader client, to
620 notify the client when a frame is about to be destroyed.
621 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp: Added.
622 (webkit_frame_class_init):
624 (webkit_frame_is_main_frame):
625 (webkit_frame_get_uri):
626 (webkit_frame_get_javascript_global_context):
627 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.h: Added.
628 * WebProcess/InjectedBundle/API/gtk/WebKitFramePrivate.h: Added.
629 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
630 (webkitFrameGetOrCreate): Helper function to create a WebKitFrame
631 wrapping the given WebFrame or returning the wrapper if it already
633 (willDestroyFrame): Remove the WebKitFrame wrapping the given
634 WebFrame if it exists.
635 (webkitWebPageCreate): Add willDestroyFrame implementation to
636 injected bundle loader client.
637 (webkit_web_page_get_main_frame): Return the main frame of the
639 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h:
640 * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
641 Include WebKitFrame.h.
642 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
643 (WebKit::InjectedBundlePageLoaderClient::willDestroyFrame): New
644 callback to be called when a frame is about to be destroyed.
645 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
646 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
647 (WebKit::WebFrameLoaderClient::frameLoaderDestroyed): Call
648 willDestroyFrame callback of injected bundle loader client.
649 * WebProcess/qt/QtBuiltinBundlePage.cpp:
650 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage): Add
651 willDestroyFrame callback.
653 2013-08-24 Antti Koivisto <antti@apple.com>
655 Revert accidental change.
659 * WebProcess/com.apple.WebProcess.sb.in:
661 2013-08-23 Beth Dakin <bdakin@apple.com>
663 REGRESSION (r132545): Some PDFs generated by WebKit are blank when viewed in
665 https://bugs.webkit.org/show_bug.cgi?id=120240
667 <rdar://problem/14634453>
669 Reviewed by Anders Carlsson.
671 Hook up new WebSystemInterface API to find out if the current context is the PDF
674 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
675 (InitWebCoreSystemInterface):
677 2013-08-23 Alexey Proskuryakov <ap@apple.com>
679 [WK2] Assertion failures when loading XSL stylesheets with NetworkProcess
680 https://bugs.webkit.org/show_bug.cgi?id=120186
681 <rdar://problem/14080273>
683 Reviewed by Brady Eidson.
685 Covered by many existing tests.
687 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
688 (WebKit::WebPlatformStrategies::loadResourceSynchronously): Pass frame ID and page ID.
689 They are mostly needed for authentication, which is not supported with sync requests,
690 but it will be supported some day.
692 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
693 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
694 (WebKit::WebFrameNetworkingContext::webFrameLoaderClient):
695 Added a way to get frame loader client from WebKit NetworkingContext subclass.
697 2013-08-22 Carlos Garcia Campos <cgarcia@igalia.com>
699 [GTK] Wrong interface version used in WebKitWebPage for loader client
700 https://bugs.webkit.org/show_bug.cgi?id=120199
702 Reviewed by Gustavo Noronha Silva.
704 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
705 (webkitWebPageCreate): Use kWKBundlePageLoaderClientCurrentVersion
706 instead of kWKBundlePageResourceLoadClientCurrentVersion in loader
707 client initialization.
709 2013-08-22 Simon Cooper <scooper@apple.com>
711 Need to disable FakeSYSVSHM when sandboxing is not enabled
712 https://bugs.webkit.org/show_bug.cgi?id=120182
713 <rdar://problem/14814461>
715 Reviewed by Alexey Proskuryakov.
717 When not in a sandbox do not enable the FakeSYSVSHIM. This
718 allows LocalConnection to work when Flash Player is run in
721 * PluginProcess/mac/PluginProcessShim.mm:
722 (WebKit::shim_disabled):
724 2013-08-22 Andy Estes <aestes@apple.com>
726 <https://webkit.org/b/120180> Fix issues with OTHER_LDFLAGS in various .xcconfig files
728 Reviewed by David Kilzer.
730 Adding ld flags for ASAN overwrote the unexported symbol flags we were
731 previously specifying. Since the unexported symbol ld flags are only
732 needed for the framework target, move them to WebKit2.xcconfig where we
733 can add them to OTHER_LDFLAGS along with the ASAN values inherited from
734 DebugRelease.xcconfig (and other values).
736 * Configurations/Base.xcconfig: Removed the unexported symbol ld flags.
737 * Configurations/WebKit2.xcconfig: ... and moved them here.
739 2013-08-21 Tim Horton <timothy_horton@apple.com>
741 Another null-deref under WebDragClient::startDrag
742 https://bugs.webkit.org/show_bug.cgi?id=120145
743 <rdar://problem/14650652>
745 Reviewed by Simon Fraser.
747 convertImageToBitmap can legitimately return null, so don't dereference it.
749 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
750 (WebKit::WebDragClient::startDrag):
752 2013-08-21 Beth Dakin <bdakin@apple.com>
754 <https://webkit.org/b/120140> Clients expect didFirstLayout-related calls to
755 happen before didLayout
757 Reviewed by Anders Carlsson.
759 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
760 (WebKit::WebFrameLoaderClient::dispatchDidLayout):
762 2013-08-21 Alexey Proskuryakov <ap@apple.com>
764 REGRESSION (r145458?): WebProcess doesn't respect UI process localization
765 https://bugs.webkit.org/show_bug.cgi?id=120096
767 Reviewed by Darin Adler.
769 We used to get into a situation where CFBundle thought that we had no good localization,
770 and used one passed as default. This is never the case with mixed localizations,
771 so default is just ignored now.
773 I think that the previous behavior was a bit of a hack. As WebProcess is not localized,
774 it's more honest to say that we want mixed localizations, and force the language
775 to match UI process localization.
777 * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h:
778 (WebKit::ChildProcessMain): Don't set default localization, it's not taken into
779 consideration unless all other attempts to compute bundle localization fail.
781 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::createProcess): Pass
782 UI process localization as -AppleLanguages argument, so that Core Foundation uses
783 that instead of actual user languages. We want to match UI process localization.
785 2013-08-20 Gavin Barraclough <barraclough@apple.com>
787 https://bugs.webkit.org/show_bug.cgi?id=120093
788 Remove getOwnPropertyDescriptor trap
790 Reviewed by Geoff Garen.
792 All implementations of this method are now called via the method table, and equivalent in behaviour.
793 Remove all duplicate implementations (and the method table trap), and add a single member function implementation on JSObject.
795 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
796 * WebProcess/Plugins/Netscape/JSNPObject.h:
797 - remove getOwnPropertyDescriptor
799 2013-08-20 Pratik Solanki <psolanki@apple.com>
801 <https://webkit.org/b/120029> Document::markers() should return a reference
803 Reviewed by Andreas Kling.
805 Document::m_markers is never NULL so return a reference from Document::markers(). Also mark
806 m_markers as const and initialize it in member initialization.
808 * WebProcess/WebPage/FindController.cpp:
809 (WebKit::FindController::rectsForTextMatches):
810 * WebProcess/WebPage/WebPage.cpp:
811 (WebKit::WebPage::unmarkAllMisspellings):
812 (WebKit::WebPage::unmarkAllBadGrammar):
814 2013-08-20 Gavin Barraclough <barraclough@apple.com>
816 https://bugs.webkit.org/show_bug.cgi?id=120053
817 Remove custom getOwnPropertyDescriptor for JSNPObject
819 Reviewed by Oliver Hunt.
821 Think this is the last one!
823 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
824 - Remove custom getOwnPropertyDescriptor implementation.
826 2013-08-20 Anton Obzhirov <a.obzhirov@samsung.com>
828 <https://webkit.org/b/119487> [Gtk] Cancel authentication on load failed
830 Reviewed by Martin Robinson.
832 Added callback to handle load-failed event in default authentication dialog.
833 Authentication request gets cancelled and the dialog widget gets destroyed.
835 * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
837 (webkitAuthenticationDialogInitialize):
838 (webkitAuthenticationDialogDispose):
839 (webkit_authentication_dialog_class_init):
840 (webkitAuthenticationDialogNew):
841 * UIProcess/API/gtk/WebKitAuthenticationDialog.h:
842 * UIProcess/API/gtk/WebKitWebView.cpp:
843 (webkitWebViewAuthenticate):
845 2013-08-20 Allan Sandfeld Jensen <allan.jensen@digia.com>
847 [Qt][WK2] Doesn't build without Plugin-process
848 https://bugs.webkit.org/show_bug.cgi?id=120060
850 Reviewed by Jocelyn Turcotte.
852 Disable netscape plugin api in WebKit2 when the plugin architecture is unsupported for WebKit2.
856 2013-08-19 Ryosuke Niwa <rniwa@webkit.org>
858 <https://webkit.org/b/120049> Delete code for Snow Leopard
860 Reviewed by Benjamin Poulain.
862 * NetworkProcess/mac/NetworkProcessMac.mm:
863 (WebKit::overrideSystemProxies):
864 (WebKit::NetworkProcess::platformInitializeNetworkProcess):
867 2013-08-19 Beth Dakin <bdakin@apple.com>
869 <https://webkit.org/b/120027> AXObjectCache's
870 accessibilityEnhancedUserInterfaceEnabled should be initialized on process
873 Reviewed by Sam Weinig.
875 Right now we only call AXObjectCache::setEnhancedAccessibility() when AppKit sends
876 us a notification indicating that the value has changed. We should not have to
877 rely on that to properly initialize this value. It should be done with the
878 WebProcessCreationParamters.
880 * Shared/WebProcessCreationParameters.cpp:
881 (WebKit::WebProcessCreationParameters::encode):
882 (WebKit::WebProcessCreationParameters::decode):
883 * Shared/WebProcessCreationParameters.h:
884 * UIProcess/mac/WebContextMac.mm:
885 (WebKit::WebContext::platformInitializeWebProcess):
886 * WebProcess/mac/WebProcessMac.mm:
887 (WebKit::WebProcess::platformInitializeWebProcess):
889 2013-08-19 Pratik Solanki <psolanki@apple.com>
891 <https://webkit.org/b/119918> Frame::selection() should return a reference
893 Reviewed by Darin Adler.
895 m_selection is never NULL so return a reference from Frame::selection(). Also removed some
896 unnecessary null checks and assert diff ts exposed as a result.
898 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
899 (WebKit::WebEditorClient::updateGlobalSelection):
900 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
901 (WebKit::collapseSelection):
902 (WebKit::WebEditorClient::updateGlobalSelection):
903 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
904 (WebKit::WebContextMenuClient::lookUpInDictionary):
905 (WebKit::WebContextMenuClient::searchWithSpotlight):
906 * WebProcess/WebPage/FindController.cpp:
907 (WebKit::frameWithSelection):
908 (WebKit::FindController::updateFindUIAfterPageScroll):
909 (WebKit::FindController::getFindIndicatorBitmapAndRect):
910 (WebKit::FindController::getImageForFindMatch):
911 (WebKit::FindController::selectFindMatch):
912 (WebKit::FindController::updateFindIndicator):
913 (WebKit::FindController::drawRect):
914 * WebProcess/WebPage/WebPage.cpp:
915 (WebKit::WebPage::editorState):
916 (WebKit::WebPage::scaledSnapshotWithOptions):
917 (WebKit::WebPage::centerSelectionInVisibleArea):
918 (WebKit::frameWithSelection):
919 (WebKit::WebPage::clearSelection):
920 (WebKit::WebPage::confirmComposition):
921 (WebKit::WebPage::setComposition):
922 (WebKit::WebPage::currentSelectionAsRange):
923 * WebProcess/WebPage/mac/WebPageMac.mm:
924 (WebKit::WebPage::setComposition):
925 (WebKit::WebPage::insertText):
926 (WebKit::WebPage::insertDictatedText):
927 (WebKit::WebPage::getMarkedRange):
928 (WebKit::WebPage::getSelectedRange):
929 (WebKit::WebPage::getAttributedSubstringFromRange):
930 (WebKit::WebPage::characterIndexForPoint):
931 (WebKit::convertToRange):
932 (WebKit::WebPage::performDictionaryLookupAtLocation):
933 (WebKit::WebPage::readSelectionFromPasteboard):
934 (WebKit::WebPage::getStringSelectionForPasteboard):
935 (WebKit::WebPage::getDataSelectionForPasteboard):
937 2013-08-18 Darin Adler <darin@apple.com>
939 <https://webkit.org/b/119989> Make use of Node::ownerDocument a compile time error
941 Reviewed by Sam Weinig.
943 * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
944 (WebKit::PDFPluginChoiceAnnotation::createAnnotationElement): Use document instead of
946 * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
947 (WebKit::PDFPluginTextAnnotation::createAnnotationElement): Ditto.
949 2013-08-18 Dan Bernstein <mitz@apple.com>
951 Fix clean engineering builds after r154251.
953 * WebKit2.xcodeproj/project.pbxproj: Removed references to the OfflineStorage XPC services
954 from the “Copy XPC services for engineering builds” build phase.
956 2013-08-18 Gavin Barraclough <barraclough@apple.com>
958 https://bugs.webkit.org/show_bug.cgi?id=119972
959 Add attributes field to PropertySlot
961 Reviewed by Geoff Garen.
963 For all JSC types, this makes getOwnPropertyDescriptor redundant.
964 There will be a bit more hacking required in WebCore to remove GOPD whilst maintaining current behaviour.
965 (Current behaviour is in many ways broken, particularly in that GOPD & GOPS are inconsistent, but we should fix incrementally).
967 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
968 (WebKit::JSNPObject::getOwnPropertySlot):
969 (WebKit::JSNPObject::getOwnPropertyDescriptor):
970 - Pass attributes to PropertySlot::set* methods.
972 2013-08-16 Sam Weinig <sam@webkit.org>
974 <https://webkit.org/b/119911> Remove the unused OfflineStorageProcess
976 Reviewed by Darin Adler.
978 * Configurations/OfflineStorageProcess.xcconfig: Removed.
979 * Configurations/OfflineStorageService.Development.xcconfig: Removed.
980 * Configurations/OfflineStorageService.xcconfig: Removed.
981 * DerivedSources.make:
982 * OfflineStorageProcess: Removed.
983 * OfflineStorageProcess/EntryPoint: Removed.
984 * OfflineStorageProcess/EntryPoint/mac: Removed.
985 * OfflineStorageProcess/EntryPoint/mac/LegacyProcess: Removed.
986 * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/Info.plist: Removed.
987 * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMain.mm: Removed.
988 * OfflineStorageProcess/EntryPoint/mac/XPCService: Removed.
989 * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService: Removed.
990 * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development: Removed.
991 * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/Info.plist: Removed.
992 * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/Info.plist: Removed.
993 * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageServiceEntryPoint.mm: Removed.
994 * OfflineStorageProcess/OfflineStorageProcess.cpp: Removed.
995 * OfflineStorageProcess/OfflineStorageProcess.h: Removed.
996 * OfflineStorageProcess/OfflineStorageProcess.messages.in: Removed.
997 * OfflineStorageProcess/mac: Removed.
998 * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm: Removed.
999 * OfflineStorageProcess/mac/com.apple.WebKit.OfflineStorage.sb: Removed.
1000 * Scripts/webkit2/messages.py:
1001 * Shared/OfflineStorage: Removed.
1002 * Shared/OfflineStorage/OfflineStorageProcessCreationParameters.cpp: Removed.
1003 * Shared/OfflineStorage/OfflineStorageProcessCreationParameters.h: Removed.
1004 * WebKit2.xcodeproj/project.pbxproj:
1007 2013-08-17 Darin Adler <darin@apple.com>
1009 <https://webkit.org/b/119941> Make Page::dragController return a reference
1011 Reviewed by Andreas Kling.
1013 * WebProcess/WebPage/WebPage.cpp:
1014 (WebKit::WebPage::performDragControllerAction):
1015 (WebKit::WebPage::dragEnded):
1018 2013-08-17 David Kilzer <ddkilzer@apple.com>
1020 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]
1021 <http://webkit.org/b/119935>
1022 <rdar://problem/14764131>
1024 Reviewed by Darin Adler.
1026 * UIProcess/Plugins/WebPluginSiteDataManager.h: Fix typo
1027 introduced in r78647.
1029 2013-08-16 Pratik Solanki <psolanki@apple.com>
1031 <https://webkit.org/b/119852> Frame::scriptController() should return a reference
1033 Reviewed by Andreas Kling.
1035 m_script is never NULL so we can just return a reference. Also remove some pointless null
1036 checks as a result of doing this.
1038 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1039 (WebKit::NPRuntimeObjectMap::globalObject):
1040 * WebProcess/Plugins/PluginView.cpp:
1041 (WebKit::PluginView::performJavaScriptURLRequest):
1042 (WebKit::PluginView::windowScriptNPObject):
1043 (WebKit::PluginView::pluginElementNPObject):
1044 * WebProcess/WebPage/WebFrame.cpp:
1045 (WebKit::WebFrame::jsContext):
1046 (WebKit::WebFrame::jsContextForWorld):
1047 (WebKit::WebFrame::jsWrapperForWorld):
1048 * WebProcess/WebPage/WebInspector.cpp:
1049 (WebKit::WebInspector::didSave):
1050 (WebKit::WebInspector::didAppend):
1051 * WebProcess/WebPage/WebPage.cpp:
1052 (WebKit::WebPage::runJavaScriptInMainFrame):
1054 2013-08-16 Brady Eidson <beidson@apple.com>
1056 (NetworkProcess) Sync XHRs should load using async ResourceHandles, not ResourceHandle::loadResourceSynchronously
1057 https://bugs.webkit.org/show_bug.cgi?id=119493
1059 Reviewed by Alexey Proskuryakov.
1061 This patch does the following:
1062 - Consolidates SchedulableLoader and NetworkResourceLoader into one class.
1063 - Removes SyncNetworkResourceLoader.
1064 - Adds a NetworkLoaderClient interface that customizes certain behaviors of the NetworkResourceLoader.
1065 - Implements a SynchronousNetworkLoaderClient and AsynchronousNetworkLoaderClient for the two different types of loads.
1067 The AsynchronousNetworkLoaderClient results in messaging back progress to the WebProcess as the load progresses.
1068 The SynchronousNetworkLoaderClient accumulates the response, data, and error to be communicated back to the WebProcess
1069 only when the load is complete.
1071 Update small swaths of code to reflect that NetworkResourceLoader is the One True Loader (tm):
1072 * NetworkProcess/HostRecord.cpp:
1073 (WebKit::HostRecord::scheduleResourceLoader):
1074 (WebKit::HostRecord::addLoaderInProgress):
1075 (WebKit::removeLoaderFromQueue):
1076 (WebKit::HostRecord::removeLoader):
1077 (WebKit::HostRecord::servePendingRequestsForQueue):
1078 (WebKit::HostRecord::limitsRequests):
1079 * NetworkProcess/HostRecord.h:
1081 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
1082 (WebKit::NetworkConnectionToWebProcess::didClose):
1083 (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
1084 (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):
1085 * NetworkProcess/NetworkConnectionToWebProcess.h:
1087 * NetworkProcess/NetworkProcess.cpp:
1088 * NetworkProcess/NetworkResourceLoadScheduler.cpp:
1089 (WebKit::NetworkResourceLoadScheduler::scheduleLoader):
1090 (WebKit::NetworkResourceLoadScheduler::removeLoader):
1091 (WebKit::NetworkResourceLoadScheduler::receivedRedirect):
1092 (WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):
1093 (WebKit::NetworkResourceLoadScheduler::scheduleRemoveLoader):
1094 * NetworkProcess/NetworkResourceLoadScheduler.h:
1096 Combine ScheduleableLoader and NetworkResourceLoader into NetworkResourceLoader:
1097 * NetworkProcess/NetworkResourceLoader.cpp:
1098 (WebKit::NetworkResourceLoader::NetworkResourceLoader):
1099 (WebKit::NetworkResourceLoader::~NetworkResourceLoader):
1100 (WebKit::NetworkResourceLoader::isSynchronous):
1101 (WebKit::NetworkResourceLoader::start):
1102 (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
1103 (WebKit::NetworkResourceLoader::didReceiveBuffer):
1104 (WebKit::NetworkResourceLoader::didFinishLoading):
1105 (WebKit::NetworkResourceLoader::didFail):
1106 (WebKit::NetworkResourceLoader::willSendRequestAsync):
1107 (WebKit::NetworkResourceLoader::continueWillSendRequest):
1108 (WebKit::NetworkResourceLoader::didSendData):
1109 (WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
1110 (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
1111 (WebKit::NetworkResourceLoader::consumeSandboxExtensions):
1112 (WebKit::NetworkResourceLoader::invalidateSandboxExtensions):
1113 (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
1114 * NetworkProcess/NetworkResourceLoader.h:
1115 (WebKit::NetworkResourceLoader::create):
1116 (WebKit::NetworkResourceLoader::connectionToWebProcess):
1117 (WebKit::NetworkResourceLoader::priority):
1118 (WebKit::NetworkResourceLoader::request):
1119 (WebKit::NetworkResourceLoader::isLoadingMainResource):
1120 (WebKit::NetworkResourceLoader::setHostRecord):
1121 (WebKit::NetworkResourceLoader::hostRecord):
1122 (WebKit::NetworkResourceLoader::sendAbortingOnFailure):
1124 Add an abstract NetworkLoaderClient to adapt a load to be either synchronous or asynchronous:
1125 * NetworkProcess/NetworkLoaderClient.h:
1126 (WebKit::NetworkLoaderClient::~NetworkLoaderClient):
1127 (WebKit::NetworkLoaderClient::isSynchronous):
1128 (WebKit::NetworkLoaderClient::NetworkLoaderClient):
1130 The asynchronous loader client, primarily to message progress back to the WebProcess as it happens:
1131 * NetworkProcess/AsynchronousNetworkLoaderClient.cpp: Added.
1132 (WebKit::AsynchronousNetworkLoaderClient::AsynchronousNetworkLoaderClient):
1133 (WebKit::AsynchronousNetworkLoaderClient::willSendRequest):
1134 (WebKit::AsynchronousNetworkLoaderClient::canAuthenticateAgainstProtectionSpace):
1135 (WebKit::AsynchronousNetworkLoaderClient::didReceiveResponse):
1136 (WebKit::AsynchronousNetworkLoaderClient::didReceiveBuffer):
1137 (WebKit::AsynchronousNetworkLoaderClient::didSendData):
1138 (WebKit::AsynchronousNetworkLoaderClient::didFinishLoading):
1139 (WebKit::AsynchronousNetworkLoaderClient::didFail):
1140 * NetworkProcess/AsynchronousNetworkLoaderClient.h:
1141 (WebKit::AsynchronousNetworkLoaderClient::create):
1143 The synchronous loader client, primarily to accumulate results of the load to send back to the WebProcess all at once:
1144 * NetworkProcess/SynchronousNetworkLoaderClient.cpp: Added.
1145 (WebKit::SynchronousNetworkLoaderClient::SynchronousNetworkLoaderClient):
1146 (WebKit::SynchronousNetworkLoaderClient::~SynchronousNetworkLoaderClient):
1147 (WebKit::SynchronousNetworkLoaderClient::willSendRequest):
1148 (WebKit::SynchronousNetworkLoaderClient::canAuthenticateAgainstProtectionSpace):
1149 (WebKit::SynchronousNetworkLoaderClient::didReceiveResponse):
1150 (WebKit::SynchronousNetworkLoaderClient::didReceiveBuffer):
1151 (WebKit::SynchronousNetworkLoaderClient::didFinishLoading):
1152 (WebKit::SynchronousNetworkLoaderClient::didFail):
1153 (WebKit::SynchronousNetworkLoaderClient::sendDelayedReply):
1154 * NetworkProcess/SynchronousNetworkLoaderClient.h: Added.
1155 (WebKit::SynchronousNetworkLoaderClient::create):
1157 * NetworkProcess/SchedulableLoader.cpp: Removed.
1158 * NetworkProcess/SchedulableLoader.h: Removed.
1159 * NetworkProcess/SyncNetworkResourceLoader.cpp: Removed.
1160 * NetworkProcess/SyncNetworkResourceLoader.h: Removed.
1162 * WebKit2.xcodeproj/project.pbxproj:
1164 2013-08-16 Gabor Rapcsanyi <rgabor@webkit.org>
1166 [Qt][ARM] Unreviewed buildfix after 154127.
1168 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: Add missing header.
1170 2013-08-15 Ryuan Choi <ryuan.choi@samsung.com>
1172 [EFL] Unreviewed build fix after r154142 and r154144.
1174 * UIProcess/WebContext.cpp:
1175 (WebKit::WebContext::useTestingNetworkSession):
1176 Fixed build break when NETWORK_PROCESS is disabled after r154144.
1178 2013-08-15 Chris Fleizach <cfleizach@apple.com>
1180 <https://webkit.org/b/119858> AX: Crash: com.apple.WebKit.WebContent at com.apple.WebKit2: WebKit::WebPage::accessibilityObjectForMainFramePlugin + 8
1182 Reviewed by Tim Horton.
1184 Ensure that the page is available before accessing it.
1186 * WebProcess/WebPage/mac/WebPageMac.mm:
1187 (WebKit::WebPage::accessibilityObjectForMainFramePlugin):
1189 2013-08-15 Alexey Proskuryakov <ap@apple.com>
1191 [WK2] NetworkProcess should use a temporary storage session for test
1192 https://bugs.webkit.org/show_bug.cgi?id=119855
1194 Reviewed by Darin Adler.
1196 We used to have a bundle API for WebKitTestRunner to do this in injected bundle, but
1197 NetworkProcess has no injected bundle.
1199 Added a WKContext API, sending the information to NetworkProcess with initialization
1200 parameters. Reworked WebProcess path to do the same for consistency - bundle API
1201 is better per se, but not when we also need to have another one.
1203 * NetworkProcess/NetworkProcess.cpp:
1204 (WebKit::NetworkProcess::initializeNetworkProcess):
1205 * Shared/Network/NetworkProcessCreationParameters.cpp:
1206 (WebKit::NetworkProcessCreationParameters::encode):
1207 (WebKit::NetworkProcessCreationParameters::decode):
1208 * Shared/Network/NetworkProcessCreationParameters.h:
1209 * Shared/WebProcessCreationParameters.cpp:
1210 (WebKit::WebProcessCreationParameters::encode):
1211 (WebKit::WebProcessCreationParameters::decode):
1212 * Shared/WebProcessCreationParameters.h:
1213 * UIProcess/API/C/WKContext.cpp:
1214 (WKContextUseTestingNetworkSession):
1215 * UIProcess/API/C/WKContextPrivate.h:
1216 * UIProcess/WebContext.cpp:
1217 (WebKit::WebContext::WebContext):
1218 (WebKit::WebContext::ensureNetworkProcess):
1219 (WebKit::WebContext::createNewWebProcess):
1220 (WebKit::WebContext::useTestingNetworkSession):
1221 * UIProcess/WebContext.h:
1222 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
1223 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
1224 * WebProcess/InjectedBundle/InjectedBundle.cpp:
1225 * WebProcess/InjectedBundle/InjectedBundle.h:
1226 * WebProcess/WebProcess.cpp:
1227 (WebKit::WebProcess::initializeWebProcess):
1229 2013-08-15 Anders Carlsson <andersca@apple.com>
1231 <https://webkit.org/b/119859> Frame::loader() should return a reference
1233 Reviewed by Andreas Kling.
1235 * Shared/WebRenderLayer.cpp:
1236 (WebKit::WebRenderLayer::create):
1237 * Shared/WebRenderObject.cpp:
1238 (WebKit::WebRenderObject::create):
1239 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
1240 (WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation):
1241 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1242 (WKBundleFrameGetFrameLoadState):
1243 (WKBundleFrameClearOpener):
1244 (WKBundleFrameCallShouldCloseOnWebView):
1245 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1246 (WebKit::InjectedBundleNodeHandle::documentFrame):
1247 (WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame):
1248 (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
1249 * WebProcess/InjectedBundle/InjectedBundle.cpp:
1250 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
1251 * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
1252 (WebKit::InjectedBundleDOMWindowExtension::frame):
1253 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
1254 (WebKit::InjectedBundleHitTestResult::frame):
1255 (WebKit::InjectedBundleHitTestResult::targetFrame):
1256 * WebProcess/Plugins/PDF/PDFPlugin.mm:
1257 (WebKit::PDFPlugin::clickedLink):
1258 * WebProcess/Plugins/PluginView.cpp:
1260 (WebKit::PluginView::didFailToInitializePlugin):
1261 (WebKit::PluginView::performFrameLoadURLRequest):
1262 (WebKit::PluginView::userAgent):
1263 (WebKit::PluginView::loadURL):
1264 (WebKit::PluginView::cancelManualStreamLoad):
1265 (WebKit::PluginView::proxiesForURL):
1266 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1267 (WebKit::WebChromeClient::focusedElementChanged):
1268 (WebKit::WebChromeClient::focusedFrameChanged):
1269 (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
1270 (WebKit::WebChromeClient::closeWindowSoon):
1271 (WebKit::WebChromeClient::runJavaScriptAlert):
1272 (WebKit::WebChromeClient::runJavaScriptConfirm):
1273 (WebKit::WebChromeClient::runJavaScriptPrompt):
1274 (WebKit::WebChromeClient::unavailablePluginButtonClicked):
1275 (WebKit::WebChromeClient::print):
1276 (WebKit::WebChromeClient::exceededDatabaseQuota):
1277 (WebKit::WebChromeClient::runOpenPanel):
1278 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1279 (WebKit::WebContextMenuClient::searchWithGoogle):
1280 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1281 (WebKit::WebEditorClient::textFieldDidBeginEditing):
1282 (WebKit::WebEditorClient::textFieldDidEndEditing):
1283 (WebKit::WebEditorClient::textDidChangeInTextField):
1284 (WebKit::WebEditorClient::textDidChangeInTextArea):
1285 (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
1286 (WebKit::WebEditorClient::textWillBeDeletedInTextField):
1287 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1288 (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
1289 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
1290 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
1291 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
1292 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
1293 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
1294 (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
1295 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
1296 (WebKit::WebFrameLoaderClient::updateGlobalHistory):
1297 (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
1298 (WebKit::WebFrameLoaderClient::restoreViewState):
1299 (WebKit::WebFrameLoaderClient::createFrame):
1300 (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
1301 (WebKit::WebFrameLoaderClient::objectContentType):
1302 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1303 (WebKit::WebPlatformStrategies::getPluginInfo):
1304 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1305 (WebKit::WebFrameNetworkingContext::blockedError):
1306 * WebProcess/WebPage/WebFrame.cpp:
1307 (WebKit::WebFrame::didReceivePolicyDecision):
1308 (WebKit::WebFrame::startDownload):
1309 (WebKit::WebFrame::source):
1310 (WebKit::WebFrame::contentsAsString):
1311 (WebKit::WebFrame::url):
1312 (WebKit::WebFrame::parentFrame):
1313 (WebKit::WebFrame::childFrames):
1314 (WebKit::WebFrame::stopLoading):
1315 (WebKit::WebFrame::frameForContext):
1316 (WebKit::WebFrame::provisionalURL):
1317 (WebKit::WebFrame::suggestedFilenameForResourceWithURL):
1318 (WebKit::WebFrame::mimeTypeForResourceWithURL):
1319 (WebKit::WebFrameFilter::shouldIncludeSubframe):
1320 * WebProcess/WebPage/WebPage.cpp:
1321 (WebKit::WebPage::createPlugin):
1322 (WebKit::WebPage::close):
1323 (WebKit::WebPage::tryClose):
1324 (WebKit::WebPage::loadURLRequest):
1325 (WebKit::WebPage::loadDataImpl):
1326 (WebKit::WebPage::linkClicked):
1327 (WebKit::WebPage::stopLoadingFrame):
1328 (WebKit::WebPage::stopLoading):
1329 (WebKit::WebPage::reload):
1330 (WebKit::WebPage::tryRestoreScrollPosition):
1331 (WebKit::WebPage::getMainResourceDataOfFrame):
1332 (WebKit::resourceDataForFrame):
1333 (WebKit::shouldReuseCommittedSandboxExtension):
1334 (WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad):
1335 (WebKit::WebPage::hasLocalDataForURL):
1336 (WebKit::WebPage::setCustomTextEncodingName):
1337 (WebKit::WebPage::canPluginHandleResponse):
1338 (WebKit::WebPage::canShowMIMEType):
1339 (WebKit::WebPage::didCommitLoad):
1340 * WebProcess/WebPage/mac/WebPageMac.mm:
1341 (WebKit::WebPage::platformHasLocalDataForURL):
1342 (WebKit::cachedResponseForURL):
1343 * WebProcess/WebProcess.cpp:
1344 (WebKit::WebProcess::downloadRequest):
1346 2013-08-14 Filip Pizlo <fpizlo@apple.com>
1348 Typed arrays should be rewritten
1349 https://bugs.webkit.org/show_bug.cgi?id=119064
1351 Reviewed by Oliver Hunt.
1353 You don't need to include JSUint8Array anymore if you just want to
1354 unwrap one; JSDOMBinding gives you all of the things you need.
1356 * WebProcess/InjectedBundle/InjectedBundle.cpp:
1358 2013-08-15 Eric Carlson <eric.carlson@apple.com>
1360 [Mac] Remove "legacy" media UI
1361 https://bugs.webkit.org/show_bug.cgi?id=119752
1363 Reviewed by Jer Noble.
1365 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1366 (InitWebCoreSystemInterface): Remove MediaControllerThemeAvailable.
1368 2013-08-14 Dean Jackson <dino@apple.com>
1370 <https://webkit.org/b/119827> Allow primary plug-in detection to run more than once if necessary
1372 Reviewed by Tim Horton.
1374 We occasionally see cases where the primary plug-in detection runs before the plugins have been added
1375 to the page, especially if they do so in response to a load event. Tweak the algorithm so that it can
1376 run an arbitrary number of times if it fails.
1378 While here, also have the detection run if there has ever been a plugin in the page as opposed to any
1379 current views. We may have snapshotted a plugin by now and deleted its view.
1381 * WebProcess/WebPage/WebPage.cpp:
1382 (WebKit::WebPage::WebPage): initialise new members.
1383 (WebKit::WebPage::addPluginView): Mark that we've seen a plugin.
1384 (WebKit::WebPage::resetPrimarySnapshottedPlugIn): Reset new members.
1385 (WebKit::WebPage::determinePrimarySnapshottedPlugIn): Exit early if we've never
1386 seen a plugin, rather than if we don't have any active views. Also, if we didn't find anything set
1387 a timer to run again (maximum of two attempts at the moment).
1388 * WebProcess/WebPage/WebPage.h: New members - m_numberOfPrimarySnapshotDetectionAttempts
1389 and m_hasSeenPlugin.
1391 2013-08-14 Dean Jackson <dino@apple.com>
1393 <https://webkit.org/b/119820> Add pluginView-related logging to WebPage
1395 Reviewed by Tim Horton.
1397 Add some more diagnostic output to help track down bugs.
1399 * WebProcess/WebPage/WebPage.cpp:
1400 (WebKit::WebPage::addPluginView): More logging.
1401 (WebKit::WebPage::removePluginView): Ditto.
1403 2013-08-14 Alexey Proskuryakov <ap@apple.com>
1405 [WK2] Sync messages with with non-default timeout sent from secondary threads always time out
1406 https://bugs.webkit.org/show_bug.cgi?id=119767
1409 Reviewed by Darin Adler.
1411 * Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
1412 The argument to wait() is absolute time, not a delta. This calculation matches one
1413 in Connection::waitForMessage().
1415 2013-08-14 Tim Horton <timothy_horton@apple.com>
1417 REGRESSION (r153877): Plugin scanning slows creation of WebViews
1418 https://bugs.webkit.org/show_bug.cgi?id=119665
1419 <rdar://problem/14716549>
1421 Reviewed by Darin Adler.
1423 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1424 (WebKit::WebPlatformStrategies::refreshPlugins):
1425 Don't repopulate the plugin cache in refreshPlugins, just invalidate it.
1426 It will be repopulated the next time something tries to use it.
1428 2013-08-12 Dan Bernstein <mitz@apple.com>
1430 Fixed an off-by-(sizeof(char*) - 1) bug.
1432 Reviewed by Sam Weinig.
1434 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
1435 (WebKit::XPCServiceEventHandler): Allocate a sufficiently large buffer.
1437 2013-08-12 Beth Dakin <bdakin@apple.com>
1439 Remove didNewFirstVisuallyNonEmptyLayout from WebKit2
1440 https://bugs.webkit.org/show_bug.cgi?id=119658
1442 Reviewed by Darin Adler.
1444 Removing this function entirely will change some functionality in the Nightlies,
1445 but we think that is an acceptable difference for the Nightlies. If is does cause
1446 a problem though, we can roll out this patch and deprecate the function instead.
1448 * UIProcess/API/C/WKPage.h:
1449 * UIProcess/WebLoaderClient.cpp:
1450 * UIProcess/WebLoaderClient.h:
1451 * UIProcess/WebPageProxy.cpp:
1452 (WebKit::WebPageProxy::initializeLoaderClient):
1453 * UIProcess/WebPageProxy.h:
1454 * UIProcess/WebPageProxy.messages.in:
1455 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1456 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
1457 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
1458 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1459 (WebKit::WebFrameLoaderClient::dispatchDidLayout):
1460 * WebProcess/WebPage/WebPage.cpp:
1461 (WebKit::WebPage::initializeInjectedBundleLoaderClient):
1463 2013-08-12 Arunprasad Rajkumar <arurajku@cisco.com>
1465 [Qt] [WebKit2] Remove duplicate RAM Size calculation and reuse WTF::ramSize()
1466 https://bugs.webkit.org/show_bug.cgi?id=119663
1468 Reviewed by Sam Weinig.
1470 * WebProcess/qt/WebProcessQt.cpp:
1471 (WebKit::WebProcess::platformSetCacheModel):
1473 2013-08-12 Anton Obzhirov <a.obzhirov@samsung.com>
1475 [GTK] Don't load GAIL when using GTK 3.2 or greater
1476 https://bugs.webkit.org/show_bug.cgi?id=72735
1478 Reviewed by Carlos Garcia Campos.
1480 * UIProcess/API/gtk/tests/AccessibilityTestServer.cpp:
1483 2013-08-09 Beth Dakin <bdakin@apple.com>
1485 AX: Not able to use arrow keys to read text in a WK2 app
1486 https://bugs.webkit.org/show_bug.cgi?id=119605
1488 <rdar://problem/14281275>
1490 Reviewed by Darin Adler.
1492 Make all of these scrolling functions actually return the WebCore bools that
1493 indicate whether or not scrolling happened.
1494 * WebProcess/WebPage/WebPage.cpp:
1495 (WebKit::WebPage::scroll):
1496 (WebKit::WebPage::logicalScroll):
1497 (WebKit::WebPage::scrollBy):
1498 * WebProcess/WebPage/WebPage.h:
1499 * WebProcess/WebPage/mac/WebPageMac.mm:
1500 (WebKit::WebPage::executeKeypressCommandsInternal):
1502 This function now gives accessibility a chance to handle the event too. And it
1503 also actually tracks whether or not the event was handled by scrolling instead of
1504 assuming that it was and universally returning true.
1505 (WebKit::WebPage::performNonEditingBehaviorForSelector):
1507 2013-08-09 Brian Holt <brian.holt@samsung.com>
1509 [GTK] [WebKit2] Add an 'authenticate' signal to WebKitWebView
1510 https://bugs.webkit.org/show_bug.cgi?id=99352
1512 Reviewed by Carlos Garcia Campos.
1514 Add a new public class to the API, WebKitAuthenticationRequest, to be
1515 emitted along with a new WebKitWebView::authenticate signal to
1516 let client applications to provide their own authentication
1517 when the user is challenged with HTTP authentication. The
1518 credential is exposed through a new class WebKitCredential.
1520 * GNUmakefile.list.am:
1521 * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
1522 (okButtonClicked): Use new API for authentication.
1523 (cancelButtonClicked): Ditto.
1524 (webkitAuthenticationDialogInitialize):Get
1525 authenticationChallenge from request object.
1526 (webkitAuthenticationDialogNew): Ditto.
1527 * UIProcess/API/gtk/WebKitAuthenticationDialog.h:
1528 * UIProcess/API/gtk/WebKitAuthenticationRequest.cpp: Added new
1529 class representing a HTTP authentication request.
1530 (webkitAuthenticationRequestDispose):
1531 (webkit_authentication_request_class_init):
1532 (webkitAuthenticationRequestCreate):
1533 (webkitAuthenticationRequestGetAuthenticationChallenge):
1534 (webkit_authentication_request_can_save_credentials):
1535 (webkit_authentication_request_get_proposed_credential):
1536 (webkit_authentication_request_get_host):
1537 (webkit_authentication_request_get_port):
1538 (webkit_authentication_request_get_realm):
1539 (webkit_authentication_request_get_scheme):
1540 (webkit_authentication_request_is_for_proxy):
1541 (webkit_authentication_request_is_retry):
1542 (webkit_authentication_request_authenticate):
1543 (webkit_authentication_request_cancel):
1544 * UIProcess/API/gtk/WebKitAuthenticationRequest.h: Added.
1545 * UIProcess/API/gtk/WebKitAuthenticationRequestPrivate.h: Added.
1546 * UIProcess/API/gtk/WebKitCredential.cpp: Added new class to
1547 support credentials for HTTP authentication.
1548 (_WebKitCredential::_WebKitCredential):
1549 (webkitCredentialCreate):
1550 (webkitCredentialGetCredential):
1551 (webkit_credential_new):
1552 (webkit_credential_copy):
1553 (webkit_credential_free):
1554 (webkit_credential_get_username):
1555 (webkit_credential_get_password):
1556 (webkit_credential_has_password):
1557 (webkit_credential_get_persistence):
1558 * UIProcess/API/gtk/WebKitCredential.h: Added.
1559 * UIProcess/API/gtk/WebKitCredentialPrivate.h: Added.
1560 * UIProcess/API/gtk/WebKitWebView.cpp: Added authenticate signal.
1561 (webkitWebViewAuthenticate): Default signal handler for authenticate.
1562 (webkit_web_view_class_init): Ditto.
1563 (webkitWebViewHandleAuthenticationChallenge): Create an
1564 authentication request and emit it with authenticate signal.
1565 * UIProcess/API/gtk/WebKitWebView.h: Replaced reserved function
1566 pointer slot with for WebViewClass with function pointer to
1567 authenticate signal handler.
1568 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new section for
1569 the authentication request.
1570 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
1571 * UIProcess/API/gtk/docs/webkit2gtk.types: Added authentication
1572 request and credential types.
1573 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Created a new
1574 unit test for HTTP authentication. A libsoup server callback
1575 handler is installed that creates soup messages with appropriate
1576 headers and body to test HTTP authentication.
1577 (testWebViewAuthenticationRequest): Test the authentication
1578 request and credential API.
1579 (testWebViewAuthenticationCancel): Test cancelled authentication.
1580 (testWebViewAuthenticationFailure): Test repeated authentication failures.
1581 (testWebViewAuthenticationNoCredential): Test continue without
1583 (testWebViewAuthenticationStorage): Test credential storage.
1584 (testWebViewAuthenticationSuccess): Test successful authentication.
1585 (beforeAll): Added tests.
1586 * UIProcess/API/gtk/webkit2.h: Added WebKitAuthenticationRequest and
1587 WebKitCredential headers.
1589 2013-08-09 Tim Horton <timothy_horton@apple.com>
1591 PDFPlugin is disabled by default in nightlies on Mac accidentally
1592 https://bugs.webkit.org/show_bug.cgi?id=119615
1594 Rubber-stamped by Andreas Kling.
1596 Enable PDFPlugin by default on Mac at the WebKit2 level.
1598 * Shared/WebPreferencesStore.h:
1599 * UIProcess/API/C/WKPreferencesPrivate.h:
1601 2013-08-08 Tim Horton <timothy_horton@apple.com>
1603 navigator.plugins has plugins in it when plugins are disabled
1604 https://bugs.webkit.org/show_bug.cgi?id=119607
1605 <rdar://problem/14678030>
1607 Reviewed by Anders Carlsson.
1609 * UIProcess/WebProcessProxy.cpp:
1610 (WebKit::WebProcessProxy::getPlugins):
1611 Return a list of all plugins, and a list of only application plugins.
1613 * UIProcess/WebProcessProxy.h:
1614 * UIProcess/WebProcessProxy.messages.in:
1615 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
1616 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1617 (WebKit::WebPlatformStrategies::getPluginInfo):
1618 Add applicationPlugin parameter to getPlugins, and storage for the returned list.
1620 (WebKit::WebPlatformStrategies::populatePluginCache):
1621 If plugins are disabled for the given page, give WebCore the list that
1622 only includes application plugins. Otherwise, give it the whole list
1623 as we are doing currently.
1625 2013-08-08 Gavin Barraclough <barraclough@apple.com>
1627 Disable suppression of plugin process for Java
1628 https://bugs.webkit.org/show_bug.cgi?id=119604
1630 Reviewed by Sam Weinig.
1632 Workaround, the Java plugin doesn't like this.
1634 * PluginProcess/mac/PluginProcessMac.mm:
1635 (WebKit::PluginProcess::platformInitializeProcess):
1636 - +1 active task count on the java plugin, to inhibit supression.
1638 2013-08-08 Dean Jackson <dino@apple.com>
1640 Add logging to the primary plugin detection
1641 https://bugs.webkit.org/show_bug.cgi?id=119594
1643 Reviewed by Tim Horton.
1645 Add some simple logging to our primary plug-in detection.
1647 * WebProcess/WebPage/WebPage.cpp:
1648 (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
1650 2013-08-08 Alexey Proskuryakov <ap@apple.com>
1652 WKBundleFrameCopyProvisionalURL crashes when there is no provisional loader
1653 https://bugs.webkit.org/show_bug.cgi?id=119587
1655 Reviewed by Darin Adler.
1657 * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::provisionalURL): Added a null
1658 check, like we already have in WebFrame::url().
1660 2013-08-07 Antti Koivisto <antti@apple.com>
1662 Try to fix EFL build.
1668 2013-08-06 Jer Noble <jer.noble@apple.com>
1670 Crash when entering fullscreen video playback from a WebView using WebKit2
1671 https://bugs.webkit.org/show_bug.cgi?id=119531
1673 Reviewed by Tim Horton.
1675 Initialize wkWindowSetScaledFrame and wkWindowSetAlpha when initializing WebCoreSystemInterface.
1677 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1678 (InitWebCoreSystemInterface):
1680 2013-08-06 Stephanie Lewis <slewis@apple.com>
1682 Update Order Files for Safari
1683 <rdar://problem/14517392>
1687 * mac/WebKit2.order:
1689 2013-08-04 Sam Weinig <sam@webkit.org>
1691 Remove support for HTML5 MicroData
1692 https://bugs.webkit.org/show_bug.cgi?id=119480
1694 Reviewed by Anders Carlsson.
1696 * Configurations/FeatureDefines.xcconfig:
1698 2013-08-06 Eunmi Lee <eunmi15.lee@samsung.com>
1700 [EFL][WK2] Implement gesture recognizer.
1701 https://bugs.webkit.org/show_bug.cgi?id=102643
1703 Reviewed by Gyuyoung Kim.
1705 Recognize tap, pan and pinch gestures using touch events.
1706 The tap gesture is separated into single tap, double tap and
1709 This patch references the webkit NIX port.
1710 https://github.com/WebKitNix/webkitnix
1712 * PlatformEfl.cmake:
1713 * UIProcess/API/efl/EwkView.cpp:
1715 (EwkView::doneWithTouchEvent):
1716 * UIProcess/API/efl/EwkView.h:
1717 * UIProcess/API/efl/GestureRecognizer.cpp: Added.
1718 (WebKit::GestureHandler::create):
1719 (WebKit::GestureHandler::GestureHandler):
1720 (WebKit::GestureHandler::handleSingleTap):
1721 (WebKit::GestureHandler::handleDoubleTap):
1722 (WebKit::GestureHandler::handleTapAndHold):
1723 (WebKit::GestureHandler::handlePanStarted):
1724 (WebKit::GestureHandler::handlePan):
1725 (WebKit::GestureHandler::handlePanFinished):
1726 (WebKit::GestureHandler::handlePinchStarted):
1727 (WebKit::GestureHandler::handlePinch):
1728 (WebKit::GestureHandler::handlePinchFinished):
1729 (WebKit::GestureRecognizer::GestureRecognizer):
1730 (WebKit::GestureRecognizer::~GestureRecognizer):
1731 (WebKit::GestureRecognizer::processTouchEvent):
1732 (WebKit::GestureRecognizer::doubleTapTimerCallback):
1733 (WebKit::GestureRecognizer::tapAndHoldTimerCallback):
1734 (WebKit::GestureRecognizer::exceedsPanThreshold):
1735 (WebKit::GestureRecognizer::exceedsDoubleTapThreshold):
1736 (WebKit::getPointAtIndex):
1737 (WebKit::createVectorWithWKArray):
1738 (WebKit::GestureRecognizer::noGesture):
1739 (WebKit::GestureRecognizer::singleTapGesture):
1740 (WebKit::GestureRecognizer::doubleTapGesture):
1741 (WebKit::GestureRecognizer::panGesture):
1742 (WebKit::GestureRecognizer::pinchGesture):
1743 (WebKit::GestureRecognizer::reset):
1744 (WebKit::GestureRecognizer::stopTapTimers):
1745 * UIProcess/API/efl/GestureRecognizer.h: Added.
1746 (WebKit::GestureRecognizer::create):
1748 2013-07-23 David Farler <dfarler@apple.com>
1750 Provide optional OTHER_CFLAGS, OTHER_CPPFLAGS, OTHER_LDFLAGS additions for building with ASAN
1751 https://bugs.webkit.org/show_bug.cgi?id=117762
1753 Reviewed by Mark Rowe.
1755 * Configurations/DebugRelease.xcconfig:
1756 Add ASAN_OTHER_CFLAGS, CPLUSPLUSFLAGS, LDFLAGS.
1757 * Configurations/WebContentProcess.xcconfig:
1758 Add ASAN_OTHER_LDFLAGS.
1759 * Configurations/WebKit2.xcconfig:
1760 Add ASAN_OTHER_LDFLAGS.
1762 2013-08-06 Andreas Kling <akling@apple.com>
1764 REGRESSION(r151403): Resizing is extremely laggy on many sites when plugins are disallowed.
1765 <http://webkit.org/b/119516>
1766 <rdar://problem/14648086>
1768 Reviewed by Simon Fraser.
1770 The web process relies on the WindowAndViewFramesChanged mechanism for caching a copy
1771 of the window rect for fast access from DOMWindow APIs.
1773 We retain part of the optimization introduced in r151403, namely not computing the
1774 viewFrameInWindowCoordinates and accessibilityPosition unless the web process needs them.
1776 * UIProcess/API/mac/WKView.mm:
1777 (-[WKView _updateWindowAndViewFrames]):
1779 2013-07-26 Mark Rowe <mrowe@apple.com>
1781 Logging should be configurable using human-readable channel names rather than crazy bitmasks
1782 <http://webkit.org/b/119031>
1784 Implement shared logic for initializing logging channels based on human-readable channel names in WTF,
1785 and rework the WebCore, WebKit and WebKit2 logging initialization on top of it.
1787 Logging channels may now be enabled by providing a comma-separated list of channel names, with the special
1788 "all" name enabling all channels. Channel names prefixed with a leading "-" will result in the named channel
1789 being disabled. For instance, specifying "all,-history,-loading" will result in all logging channels except
1790 for history and loading being enabled.
1792 For OS X developers, this also changes the name of the user defaults used to enable logging. This is done to allow
1793 the old user defaults to remain set for those people that need to switch between version of WebKit before and
1794 after this change. Where the old user default keys were WebCoreLogLevel, WebKitLogLevel and WebKit2LogLevel,
1795 the new user default keys are WebCoreLogging, WebKitLogging and WebKit2Logging.
1797 For GTK developers, this changes the separator used in the WEBKIT_DEBUG environment variable to a comma for
1798 consistency with the other platforms and to enable more code sharing.
1800 While doing this work I've also taken the opportunity to eliminate the need to touch multiple files when
1801 adding a new logging channel. Now only the header in the relevant project needs to be updated.
1803 Reviewed by Sam Weinig.
1805 * NetworkProcess/NetworkProcess.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.
1806 * Platform/Logging.cpp: Use WEBKIT2_LOG_CHANNELS to define all of the channels.
1807 (WebKit::initializeLogChannelsIfNecessary): Pass the channels and the log level string to the new WTF function
1808 that handles the initialization.
1809 (WebKit::logChannelByName): Renamed to match our naming conventions. Calls through to the new WTF function
1810 to find a log channel rather than repeating the names of the log channels a further two times each.
1811 (WebKit::logLevelString): Provide a no-op implementation.
1812 * Platform/Logging.h: Declare a WEBKIT2_LOG_CHANNELS macro that can be used to apply a preprocessor macro
1813 across the set of all logging channels. Use this macro to declare the logging channels.
1814 * Platform/efl/LoggingEfl.cpp:
1815 (WebKit::logLevelString): Pull the value out of the WEBKIT_DEBUG environment variable.
1816 * Platform/gtk/LoggingGtk.cpp:
1817 (WebKit::logLevelString): Ditto.
1818 * Platform/mac/Logging.mac.mm:
1819 (WebKit::logLevelString): Pull the value out of the WebKit2Logging user default key.
1820 * Platform/qt/LoggingQt.cpp:
1821 (WebKit::logLevelString): Pull the value out of the QT_WEBKIT_LOG environment variable.
1822 * Shared/WebKit2Initialize.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.
1823 * UIProcess/WebContext.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.
1825 2013-08-05 Anders Carlsson <andersca@apple.com>
1827 Ignore the Apple Java placeholder plug-in
1828 https://bugs.webkit.org/show_bug.cgi?id=119494
1829 <rdar://problem/14610818>
1831 Reviewed by Beth Dakin.
1833 Never attempt to load the Java placeholder plug-in.
1835 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
1836 (WebKit::PluginInfoStore::shouldUsePlugin):
1838 2013-08-03 Tim Horton <timothy_horton@apple.com>
1840 Unreviewed, build and style fix for r153693.
1842 * UIProcess/WebProcessProxy.cpp:
1843 * WebProcess/Plugins/PDF/PDFPlugin.h:
1844 * WebProcess/WebPage/WebPage.cpp:
1846 2013-08-03 Tim Horton <timothy_horton@apple.com>
1848 Remove SimplePDFPlugin
1849 https://bugs.webkit.org/show_bug.cgi?id=119437
1851 Reviewed by Alexey Proskuryakov.
1853 * UIProcess/WebProcessProxy.cpp:
1854 (WebKit::WebProcessProxy::getPlugins):
1855 * WebProcess/WebPage/WebPage.cpp:
1856 (WebKit::WebPage::createPlugin):
1857 Don't add SimplePDFPlugin, nor try to instantiate it.
1859 * WebProcess/Plugins/PDF/PDFPlugin.h:
1860 * WebProcess/Plugins/PDF/PDFPlugin.mm:
1861 Merge previously inherited behavior in from SimplePDFPlugin.
1863 * WebKit2.xcodeproj/project.pbxproj:
1864 * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Removed.
1865 * WebProcess/Plugins/PDF/SimplePDFPlugin.mm: Removed.
1866 Remove SimplePDFPlugin.
1868 2013-08-03 Tim Horton <timothy_horton@apple.com>
1870 Remove pageOverlayShouldApplyFadeWhenPainting() and adopt composited fade for the Mac port
1871 https://bugs.webkit.org/show_bug.cgi?id=119411
1873 Reviewed by Simon Fraser.
1875 Mac is the only holdout that performs non-composited fades of page
1876 overlays. We should adopt that mechanism (as a precursor to doing a
1877 CA-accelerated fade) and remove the now-unnecessary property.
1879 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
1880 (WKBundlePageOverlayFractionFadedIn):
1881 Always return 1 (fully-faded-in) so that clients who attempt to use this
1882 to bake the fade opacity into their painting will paint at full opacity,
1883 allowing us to do the composited fade separately.
1885 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
1886 * WebProcess/WebPage/DrawingArea.h:
1887 * WebProcess/WebPage/DrawingAreaImpl.cpp:
1888 * WebProcess/WebPage/DrawingAreaImpl.h:
1889 * WebProcess/WebPage/LayerTreeHost.h:
1890 * WebProcess/WebPage/PageOverlay.cpp:
1891 (WebKit::PageOverlay::PageOverlay):
1892 (WebKit::PageOverlay::setPage):
1893 (WebKit::PageOverlay::setNeedsDisplay):
1894 (WebKit::PageOverlay::fadeAnimationTimerFired):
1895 * WebProcess/WebPage/PageOverlay.h:
1896 Remove pageOverlayShouldApplyFadeWhenPainting and fractionFadedIn().
1898 * WebProcess/WebPage/FindController.cpp:
1899 (WebKit::FindController::drawRect):
1900 Draw the find overlay without taking the PageOverlay's fade into account.
1902 * WebProcess/WebPage/TapHighlightController.cpp:
1903 (WebKit::TapHighlightController::drawRect):
1904 Remove pageOverlayShouldApplyFadeWhenPainting. Since it's always
1905 "false" for all ports now, take the second path here.
1907 * WebProcess/WebPage/mac/LayerTreeHostMac.h:
1908 * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
1909 (WebKit::LayerTreeHostMac::setPageOverlayOpacity):
1910 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1911 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1912 (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayOpacity):
1913 Implement setPageOverlayOpacity for DrawingAreaImpl
1914 and TiledCoreAnimationDrawingArea.
1916 2013-08-02 Gavin Barraclough <barraclough@apple.com>
1918 Remove no-arguments constructor to PropertySlot
1919 https://bugs.webkit.org/show_bug.cgi?id=119460
1921 Reviewed by Geoff Garen.
1923 This constructor was unsafe if getValue is subsequently called,
1924 and the property is a getter. Simplest to just remove it.
1926 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1927 (WebKit::JSNPObject::getOwnPropertyDescriptor):
1929 2013-08-02 Ruth Fong <ruth_fong@apple.com>
1931 [Forms: color] WebColorPickerMac deconstructor shouldn't assert a variable
1932 <rdar://problem/14627633> and https://bugs.webkit.org/show_bug.cgi?id=119419
1934 Reviewed by Tim Horton.
1936 * UIProcess/mac/WebColorPickerMac.mm:
1937 (WebKit::WebColorPickerMac::~WebColorPickerMac): If the m_colorPickerUI variable
1938 is not null, then properly destroy it first before destroying WebColorPickerMac object.
1940 2013-08-02 Ruth Fong <ruth_fong@apple.com>
1942 [Forms: color] The positioning of the popover color well is inverted
1943 <rdar://problem/14635621> and https://bugs.webkit.org/show_bug.cgi?id=119455
1945 Reviewed by Tim Horton.
1947 This patch converts the coordinates of the <input type='color'> element to
1948 the window's base coordinate system.
1950 * UIProcess/mac/WebColorPickerMac.mm:
1951 (-[WKColorPopoverMac initWithFrame:inView:]):
1953 2013-08-01 Ruth Fong <ruth_fong@apple.com>
1955 [Forms: color] <input type='color'> popover color well implementation
1956 <rdar://problem/14411008> and https://bugs.webkit.org/show_bug.cgi?id=119356
1958 Reviewed by Benjamin Poulain.
1960 This patch adds an popover implementation of <input type='color'>.
1962 * Configurations/FeatureDefines.xcconfig: Added and enabled INPUT_TYPE_COLOR_POPOVER.
1964 * UIProcess/API/mac/PageClientImpl.mm:
1965 (WebKit::PageClientImpl::createColorPicker): Updated to pass the
1966 coordinates of the <input type='color'> element and the WKView
1967 object for the window.
1969 * UIProcess/WebPageProxy.cpp:
1970 (WebKit::WebPageProxy::viewWillStartLiveResize): Close popover color
1971 picker when the view is resized.
1972 (WebKit::WebPageProxy::viewInWindowStateDidChange): Close popover color
1973 picker when the view is no longer in the window.
1974 (WebKit::WebPageProxy::showColorPicker): Updated to show either a color panel
1975 or a popover color picker depending on whether INPUT_TYPE_COLOR_POPOVER is enabled.
1977 * UIProcess/mac/WebColorPickerMac.h:
1978 * UIProcess/mac/WebColorPickerMac.mm:
1979 (WebKit::WebColorPickerMac::create):
1980 (WebKit::WebColorPickerMac::~WebColorPickerMac):
1981 (WebKit::WebColorPickerMac::WebColorPickerMac):
1982 (WebKit::WebColorPickerMac::endPicker):
1983 (WebKit::WebColorPickerMac::setSelectedColor):
1984 (WebKit::WebColorPickerMac::showColorPicker):
1985 Methods updated to handle both the color panel implementation and
1986 the popover implementation; also renamed m_panel to m_colorPickerUI.
1988 (-[WKColorPopoverMac initWithFrame:WebCore::inView:]):
1989 (-[WKColorPopoverMac setAndShowPicker:WebKit::withColor:]):
1990 (-[WKColorPopoverMac dealloc]):
1991 (-[WKColorPopoverMac invalidate]):
1992 (-[WKColorPopoverMac windowWillClose:]):
1993 (-[WKColorPopoverMac didChooseColor:]):
1994 (-[WKColorPopoverMac setColor:]):
1995 WKColorPopoverMac provides the popover implementation of <input type='color'>.
1997 (-[WKColorPanelMac didChooseColor:]): Updated to match the interface of
1998 WKColorPickerMac::didChooseColor.
2000 2013-08-01 Anders Carlsson <andersca@apple.com>
2002 Lots of leaks under WebContext::pluginInfoStoreDidLoadPlugins()
2003 https://bugs.webkit.org/show_bug.cgi?id=119412
2005 Reviewed by Simon Fraser.
2007 For some sick reason, the WKContextClient plugInInformationBecameAvailable callback function
2008 expects a +1 reference to the plug-in array. Isolate that hack to WebContextClient so that
2009 we don't leak the array if there is no WKContextClient.
2011 * UIProcess/WebContext.cpp:
2012 (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
2013 * UIProcess/WebContextClient.cpp:
2014 (WebKit::WebContextClient::plugInInformationBecameAvailable):
2016 2013-08-01 Kwang Yul Seo <skyul@company100.net>
2018 Remove return statement in void function
2019 https://bugs.webkit.org/show_bug.cgi?id=119379
2021 Reviewed by Darin Adler.
2023 It does not make sense to return a value in void function.
2025 * WebProcess/WebProcess.cpp:
2026 (WebKit::addCaseFoldedCharacters):
2028 2013-08-01 Kwang Yul Seo <skyul@company100.net>
2030 [WK2] Add USE(SOUP) guard in WebProcess::destroyPrivateBrowsingSession
2031 https://bugs.webkit.org/show_bug.cgi?id=119381
2033 Reviewed by Darin Adler.
2035 The is a followup to r153355. I missed to add USE(SOUP) guard in
2036 WebProcess::destroyPrivateBrowsingSession.
2038 * WebProcess/WebProcess.cpp:
2039 (WebKit::WebProcess::destroyPrivateBrowsingSession):
2041 2013-08-01 Milian Wolff <milian.wolff@kdab.com>
2043 [Qt] Enable QML handling of crashed/unresponsive QtWebProcess
2044 https://bugs.webkit.org/show_bug.cgi?id=108474
2046 Forward the processDidCrash, didRelaunchProcess, processDidBecomeUnresponsive
2047 and processDidBecomeResponsive signals to QML's WebView.experimental.
2049 Reviewed by Jocelyn Turcotte.
2051 * UIProcess/API/qt/qquickwebview.cpp:
2052 (QQuickWebViewPrivate::processDidCrash):
2053 (QQuickWebViewPrivate::didRelaunchProcess):
2054 (QQuickWebViewPrivate::processDidBecomeUnresponsive):
2055 (QQuickWebViewPrivate::processDidBecomeResponsive):
2056 * UIProcess/API/qt/qquickwebview_p.h:
2057 * UIProcess/API/qt/qquickwebview_p_p.h:
2058 (QQuickWebViewPrivate):
2060 2013-07-31 Kwang Yul Seo <skyul@company100.net>
2062 Use emptyString instead of String("")
2063 https://bugs.webkit.org/show_bug.cgi?id=119335
2065 Reviewed by Darin Adler.
2067 Use emptyString() instead of String("") because it is better style and
2068 faster. This is a followup to r116908, removing all occurrences of
2069 String("") from WebKit.
2071 * Shared/mac/WebEventFactory.mm:
2072 (WebKit::textFromEvent):
2073 (WebKit::unmodifiedTextFromEvent):
2075 2013-07-31 Ruth Fong <ruth_fong@apple.com>
2077 <input type=color> Mac UI behaviour
2078 <rdar://problem/10269922> and https://bugs.webkit.org/show_bug.cgi?id=61276
2080 Implemented <input type='color'> on Mac using the native color picker.
2082 Reviewed by Brady Eidson.
2084 Code for WebColorPickerMac is derived from Chromium's color_chooser_mac.mm:
2085 https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/ui/cocoa/color_chooser_mac.mm
2087 * Configurations/FeatureDefines.xcconfig: Enabled INPUT_TYPE_COLOR.
2089 * UIProcess/API/mac/PageClientImpl.mm:
2090 (WebKit::PageClientImpl::createColorPicker): Replaced stub implementation
2091 and return a WebColorPickerMac object.
2093 * UIProcess/WebColorPicker.cpp:
2094 (WebKit::WebColorPicker::invalidate): Updated to call endChooser().
2095 (WebKit::WebColorPicker::showColorPicker): Added stub implementation.
2096 * UIProcess/WebColorPicker.h:
2098 * UIProcess/WebPageProxy.cpp:
2099 (WebKit::WebPageProxy::close): Removed invalidation of removed color picker objects.
2100 (WebKit::WebPageProxy::showColorPicker): Updated so that it works for
2101 multiple <input type='color'> elements on a page.
2102 (WebKit::WebPageProxy::didEndColorPicker): Removed cleanup of removed color picker objects.
2103 (WebKit::WebPageProxy::resetStateAfterProcessExited): Removed cleanup of removed color picker objects.
2105 * UIProcess/mac/WebColorPickerMac.h: Added.
2106 * UIProcess/mac/WebColorPickerMac.mm: Added.
2107 (WebKit::WebColorPickerMac::create):
2108 (WebKit::WebColorPickerMac::~WebColorPickerMac):
2109 (WebKit::WebColorPickerMac::WebColorPickerMac):
2110 (WebKit::WebColorPickerMac::endPicker):
2111 (WebKit::WebColorPickerMac::setSelectedColor):
2112 (WebKit::WebColorPickerMac::didChooseColor):
2113 (WebKit::WebColorPickerMac::showColorPicker):
2114 WebColorPickerMac contains a reference to a WKColorPanelMac object
2115 and is responsible for maintaining the color picker UI.
2117 (-[WKColorPanelMac setAndShowPicker:withColor:]):
2118 (-[WKColorPanelMac invalidate]):
2119 (-[WKColorPanelMac windowWillClose:]):
2120 (-[WKColorPanelMac didChooseColor:]):
2121 (-[WKColorPanelMac setColor:]):
2122 WKColorPanelMac is a wrapper for a NSColorPanel object and
2123 is responsible for the color picker UI.
2125 * WebKit2.xcodeproj/project.pbxproj:
2127 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2128 (WebKit::WebChromeClient::createColorChooser): Updated to always create a
2129 WebColorChooser object.
2131 * WebProcess/WebCoreSupport/WebColorChooser.cpp:
2132 (WebKit::WebColorChooser::reattachColorChooser): Sets the page's
2133 active color chooser to the current object and pings the UIProcess
2134 to show the color picker.
2135 (WebKit::WebColorChooser::setSelectedColor): Only sets the color in the
2136 color picker if the WebColorChooser object is the active color element.
2137 * WebProcess/WebCoreSupport/WebColorChooser.h:
2139 2013-07-30 Gavin Barraclough <barraclough@apple.com>
2141 Some cleanup in JSValue::get
2142 https://bugs.webkit.org/show_bug.cgi?id=119343
2144 Reviewed by Geoff Garen.
2146 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2147 (WebKit::JSNPObject::getOwnPropertySlot):
2148 * WebProcess/Plugins/Netscape/JSNPObject.h:
2149 - getOwnPropertySlot, JSCell -> JSObject
2151 2013-07-31 Allan Sandfeld Jensen <allan.jensen@digia.com>
2153 [Qt] Build WebKit with C++11
2154 https://bugs.webkit.org/show_bug.cgi?id=119337
2156 Reviewed by Csaba Osztrogonác.
2158 We no longer need to enable C++11 specifically for WebKit2.
2162 2013-07-30 Tim Horton <timothy_horton@apple.com>
2164 DHTML drag can result in a null-deref under WebDragClient::startDrag
2165 https://bugs.webkit.org/show_bug.cgi?id=119297
2166 <rdar://problem/14213012>
2168 Reviewed by Simon Fraser.
2170 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
2171 (WebKit::convertImageToBitmap):
2172 ShareableBitmap::createShareable can return null, but shouldn't dereference that.
2174 2013-07-30 Ruth Fong <ruth_fong@apple.com>
2176 Rename <input type='color'> functions in WebPageProxy, WebColorPicker
2177 <rdar://problem/14549771> and https://bugs.webkit.org/show_bug.cgi?id=119097
2179 Reviewed by Tim Horton.
2181 In bug 119025, WebColorChooserProxy was renamed WebColorPicker. This patch makes the UIProcess consistent
2182 by renaming UIProcess INPUT_TYPE_COLOR functions from ...colorChooser to ...colorPicker.
2184 * UIProcess/WebColorPicker.cpp:
2185 (WebKit::WebColorPicker::endPicker):
2186 * UIProcess/WebColorPicker.h:
2187 * UIProcess/WebColorPickerResultListenerProxy.cpp:
2188 (WebKit::WebColorPickerResultListenerProxy::setColor):
2189 * UIProcess/WebPageProxy.cpp:
2190 (WebKit::WebPageProxy::showColorPicker):
2191 (WebKit::WebPageProxy::setColorPickerColor):
2192 (WebKit::WebPageProxy::endColorPicker):
2193 (WebKit::WebPageProxy::didEndColorPicker):
2194 * UIProcess/WebPageProxy.h:
2195 * UIProcess/WebPageProxy.messages.in:
2196 * UIProcess/qt/WebColorPickerQt.cpp:
2197 (WebKit::WebColorPickerQt::createItem):
2198 (WebKit::WebColorPickerQt::notifyColorSelected):
2199 (WebKit::WebColorPickerQt::endPicker):
2200 * UIProcess/qt/WebColorPickerQt.h:
2201 * WebProcess/WebCoreSupport/WebColorChooser.cpp:
2202 (WebKit::WebColorChooser::WebColorChooser):
2203 (WebKit::WebColorChooser::setSelectedColor):
2204 (WebKit::WebColorChooser::endChooser):
2205 * WebProcess/WebPage/WebPage.cpp:
2206 (WebKit::WebPage::didEndColorPicker):
2207 * WebProcess/WebPage/WebPage.h:
2208 * WebProcess/WebPage/WebPage.messages.in:
2210 2013-07-30 Anders Carlsson <andersca@apple.com>
2212 Speculative fix for crash due to string access on multiple threads
2213 https://bugs.webkit.org/show_bug.cgi?id=119279
2214 <rdar://problem/14267833>
2216 Reviewed by Darin Adler.
2218 We can't use String::isolatedCopy for passing the local storage directory to the storage thread since
2219 that returns a String that's copied and then destroyed after the call to bind returns, leaving a small window
2220 where the refcount can be accessed simultaneously from two threads.
2222 Work around this by passing a PassRefPtr<StringImpl> to bind instead; the act of copying the PassRefPtr will
2223 clear out the original and so when the original is destroyed the underlying StringImpl pointer will be null.
2225 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
2226 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectory):
2227 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
2228 * UIProcess/Storage/LocalStorageDatabaseTracker.h:
2230 2013-07-30 Tim Horton <timothy_horton@apple.com>
2232 Fix typo in enum name ("SelectionInSnaphot" -> "SelectionInSnapshot")
2233 https://bugs.webkit.org/show_bug.cgi?id=119275
2235 Reviewed by Simon Fraser.
2237 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
2238 (WebKit::imageForRect):
2239 * WebProcess/WebPage/WebPage.cpp:
2240 (WebKit::WebPage::scaledSnapshotWithOptions):
2243 2013-07-30 Anders Carlsson <andersca@apple.com>
2245 Plug-in process crashes if plug-in is destroyed as a result of sending NPObjectMessageReceiver::Deallocate
2246 https://bugs.webkit.org/show_bug.cgi?id=119270
2247 <rdar://problem/13368226>
2249 Reviewed by Darin Adler.
2251 Normally we use the PluginDestructionProtector RAII object to prevent plug-ins from being destroyed while
2252 they're executing code. However, in the case of the NPObjectMessageReceiver::Deallocate message, we can't do this
2253 since we don't know the plug-in or connection.
2255 Instead, add a counter to Connection that keeps track of whether sendSync is currently called and defer plug-in
2256 destruction if it is. (This approach is actually more robust and we should investigate getting rid of the destruction protector).
2258 * Platform/CoreIPC/Connection.cpp:
2259 (CoreIPC::Connection::Connection):
2260 (CoreIPC::Connection::sendSyncMessage):
2261 * Platform/CoreIPC/Connection.h:
2262 (CoreIPC::Connection::inSendSync):
2263 * PluginProcess/PluginControllerProxy.cpp:
2264 (WebKit::PluginControllerProxy::destroy):
2266 2013-07-30 Tim Horton <timothy_horton@apple.com>
2268 Null deref under WebPage::scaledSnapshotWithOptions
2269 https://bugs.webkit.org/show_bug.cgi?id=119243
2270 <rdar://problem/14502050>
2272 Reviewed by Darin Adler.
2274 * WebProcess/WebPage/WebPage.cpp:
2275 (WebKit::WebPage::scaledSnapshotWithOptions):
2276 WebFrame::coreFrame() can be null (if the Frame is already torn down),
2277 so we should check it.
2279 2013-07-30 Tim Horton <timothy_horton@apple.com>
2281 Null deref under PluginView::handlesPageScaleFactor()
2282 https://bugs.webkit.org/show_bug.cgi?id=119231
2283 <rdar://problem/14440207>
2285 Reviewed by Darin Adler.
2287 Null-check the PluginView in the caller as well.
2289 * WebProcess/WebPage/WebFrame.cpp:
2290 (WebKit::WebFrame::handlesPageScaleGesture):
2292 2013-07-30 Patrick Gansterer <paroga@webkit.org>
2294 Remove unused Download*.cpp files
2295 https://bugs.webkit.org/show_bug.cgi?id=119248
2297 Reviewed by Anders Carlsson.
2299 * Shared/Downloads/cfnet/DownloadCFNet.cpp: Removed.
2300 * Shared/Downloads/curl/DownloadCurl.cpp: Removed.
2302 2013-07-30 Jeff Miller <jeffm@apple.com>
2304 Page for WKPageLoaderClient processDidCrash callback always reports a process identifier of 0
2305 https://bugs.webkit.org/show_bug.cgi?id=119269
2306 <rdar://problem/14582393>
2308 Reviewed by Anders Carlsson.
2310 * UIProcess/WebPageProxy.cpp:
2311 (WebKit::WebPageProxy::processIdentifier):
2312 Return 0 if the page is closed instead of requiring isValid().
2314 2013-07-30 Kwang Yul Seo <skyul@company100.net>
2316 [WK2] Move the implementation of WebEditorClient::checkTextOfParagraph to WebEditorClient.cpp
2317 https://bugs.webkit.org/show_bug.cgi?id=119034
2319 Reviewed by Anders Carlsson.
2321 The Mac and EFL ports use the same implementation of
2322 WebEditorClient::checkTextOfParagraph and GTK will use the same
2323 implementation too. So rather than duplicating the same code in
2324 platform specific files, move the implementation to platform agnostic
2325 WebProcess/WebCoreSupport/WebEditorClient.cpp.
2327 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2328 (WebKit::WebEditorClient::checkTextOfParagraph):
2329 * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
2330 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
2332 2013-07-30 Brian Holt <brian.holt@samsung.com>
2334 [WebKit2] [Gtk] WebKitResponsePolicyDecision URI response property incorrect
2335 https://bugs.webkit.org/show_bug.cgi?id=119258
2337 Reviewed by Martin Robinson.
2339 Corrected the installed URI response property from PROP_REQUEST to
2340 PROP_RESPONSE and type from WEBKIT_TYPE_URI_REQUEST to
2341 WEBKIT_TYPE_URI_RESPONSE.
2343 * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
2344 (webkit_response_policy_decision_class_init):
2346 2013-07-29 Carlos Garcia Campos <cgarcia@igalia.com>
2348 Unreviewed. Fix make distcheck.
2350 * GNUmakefile.list.am: Add missing header file to compilation.
2352 2013-07-29 Tim Horton <timothy_horton@apple.com>
2354 [wk2] Flush the WebProcess’ implicit transaction when using endDeferringViewInWindowChangesSync
2355 https://bugs.webkit.org/show_bug.cgi?id=119225
2356 <rdar://problem/14568841>
2358 Reviewed by Simon Fraser.
2360 Tell CoreAnimation to flush the implicit transaction before replying
2361 when using endDeferringViewInWindowChangesSync, as that method's contract
2362 is that the WebProcess is totally ready to be in-window when it returns.
2364 * UIProcess/API/mac/WKView.mm:
2365 (-[WKView endDeferringViewInWindowChanges]):
2366 Adopt viewInWindowStateDidChange.
2368 (-[WKView endDeferringViewInWindowChangesSync]):
2369 Adopt viewInWindowStateDidChange, asking it to send a reply only if we're going to wait for one.
2371 * UIProcess/WebPageProxy.cpp:
2372 (WebKit::WebPageProxy::viewInWindowStateDidChange):
2373 (WebKit::WebPageProxy::viewStateDidChange):
2374 Pull viewInWindowStateDidChange out of viewStateDidChange.
2375 Request a reply from SetIsInWindow if we're told to.
2377 * UIProcess/WebPageProxy.h: Add WantsReplyOrNot and viewInWindowStateDidChange.
2378 * WebProcess/WebPage/WebPage.cpp:
2379 (WebKit::WebPage::didUpdateInWindowStateTimerFired):
2380 Don't build this version on Mac, we'll have a WebPageMac version.
2382 (WebKit::WebPage::setIsInWindow):
2383 Only start the timer to send the didUpdateInWindowState reply if we're asked to.
2385 * WebProcess/WebPage/WebPage.h:
2386 * WebProcess/WebPage/WebPage.messages.in:
2387 Add an argument to the SetIsInWindow message for whether the WebProcess
2388 should inform the UIProcess when SetIsInWindow completes or not.
2390 * WebProcess/WebPage/mac/WebPageMac.mm:
2391 (WebKit::WebPage::didUpdateInWindowStateTimerFired):
2392 Tell CA to flush the implicit transaction before telling the UIProcess that
2393 we're finished moving in-window.
2395 2013-07-29 Tim Horton <timothy_horton@apple.com>
2397 Null deref under PluginView::handlesPageScaleFactor()
2398 https://bugs.webkit.org/show_bug.cgi?id=119231
2399 <rdar://problem/14440207>
2401 Reviewed by Simon Fraser.
2403 * WebProcess/Plugins/PluginView.cpp:
2404 (WebKit::PluginView::handlesPageScaleFactor):
2405 * WebProcess/Plugins/PluginView.h:
2406 Null-check m_plugin and check m_isInitialized.
2407 Make pageScaleFactor() and handlesPageScaleFactor const.
2409 2013-07-29 Anders Carlsson <andersca@apple.com>
2411 Remove setUnderlayPage() and associated code
2412 https://bugs.webkit.org/show_bug.cgi?id=119220
2413 <rdar://problem/14392426>
2415 Reviewed by Jessie Berlin.
2417 This is dead code, get rid of it.
2419 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2420 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2421 * WebProcess/WebPage/WebPage.cpp:
2422 (WebKit::WebPage::close):
2423 (WebKit::WebPage::layoutIfNeeded):
2424 (WebKit::WebPage::drawRect):
2425 * WebProcess/WebPage/WebPage.h:
2427 2013-07-29 Sergio Correia <sergio.correia@openbossa.org>
2429 CoordinatedGraphics: Add API to get and set the active state of a WebView
2430 https://bugs.webkit.org/show_bug.cgi?id=119067
2432 Reviewed by Noam Rosenthal.
2434 A view being in the "active" state generally means that it is not in the
2435 "background", although this definition can vary depending on the platform
2436 under consideration.
2438 This patch adds the following APIs to WKView:
2439 - bool WKViewIsActive(WKViewRef)
2440 This API accepts a WKViewRef as parameter and returns a boolean indicating
2441 whether the given view is active.
2443 - void WKViewSetIsActive(WKViewRef, bool)
2444 This API accepts a WKViewRef and a boolean as parameteres, and it sets the
2445 active state of the given view to the given boolean argument.
2447 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
2448 (WKViewIsActive): API added.
2449 (WKViewSetIsActive): Ditto.
2450 * UIProcess/API/C/CoordinatedGraphics/WKView.h: Export aforementioned API.
2451 * UIProcess/CoordinatedGraphics/WebView.cpp:
2452 (WebKit::WebView::initialize): Use new setActive method.
2453 (WebKit::WebView::setActive): Added method to set the active state of the
2455 (WebKit::WebView::isActive): Added method to return the active state of
2457 (WebKit::WebView::enterAcceleratedCompositingMode): Use new setActive
2459 (WebKit::WebView::exitAcceleratedCompositingMode): Ditto.
2460 * UIProcess/CoordinatedGraphics/WebView.h: Added declarations of isActive
2463 2013-07-29 Jae Hyun Park <jae.park@company100.net>
2465 Remove duplicated LayerTreeHost::supportsAcceleratedCompositing
2466 https://bugs.webkit.org/show_bug.cgi?id=118949
2468 Reviewed by Noam Rosenthal.
2470 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2471 * WebProcess/WebPage/LayerTreeHost.h:
2472 (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
2474 2013-07-29 Zan Dobersek <zdobersek@igalia.com>
2476 [Automake] Remove references to non-existent *_CFLAGS and *_LIBS variables
2477 https://bugs.webkit.org/show_bug.cgi?id=119212
2479 Reviewed by Carlos Garcia Campos.
2481 * GNUmakefile.am: Remove references to GLOBALDEPS_(CFLAGS|LIBS) and CLUTTER_(CFLAGS|LIBS)
2482 variables that are not defined during the configuration process.
2484 2013-07-28 Grzegorz Czajkowski <g.czajkowski@samsung.com>
2486 [EFL][WK2] Simplify context_menu_spelling_items_availability unit test
2487 https://bugs.webkit.org/show_bug.cgi?id=119085
2489 Reviewed by Gyuyoung Kim.
2491 Use findContextMenuItem method to check whether the item
2492 appears in context menu.
2494 * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
2495 (EWK2TextCheckerTest::findContextMenuItem):
2496 Do not report failure inside the method.
2497 It doesn't allow to test the negative test cases.
2499 (EWK2TextCheckerTest::checkCorrectnessOfSpellingItems):
2500 Use findContextMenuItem method.
2502 (EWK2TextCheckerTest::toogleCheckSpellingWhileTyping):
2503 (EWK2TextCheckerTest::selectLearnSpelling):
2504 (EWK2TextCheckerTest::selectIgnoreSpelling):
2505 Verify the return value of findContextMenuItem.
2508 Reset wasContextMenuShown variable, it's needed after r152153.
2509 Use waitUntilTrue method.
2511 2013-07-27 Jacky Jiang <zhajiang@blackberry.com>
2513 Replace all uses of GraphicsLayer::create function with the one that takes a GraphicsLayerFactory
2514 https://bugs.webkit.org/show_bug.cgi?id=119186
2516 Reviewed by Anders Carlsson.
2518 * UIProcess/mac/RemoteLayerTreeHost.mm:
2519 (WebKit::RemoteLayerTreeHost::getOrCreateLayer):
2521 2013-07-27 Chris Fleizach <cfleizach@apple.com>
2523 AX: VoiceOver not working with data detection page overlays
2524 https://bugs.webkit.org/show_bug.cgi?id=118680
2526 Reviewed by Sam Weinig.
2528 Expose API in BundlePageOverlay so that accessibility attributes can be retrieved through the overlay.
2529 This requires two methods in a new callback struct. One to copy the attribute names, and the other to
2530 copy the attribute values. I've folded both parameterized and non-parameterized attribute names into one method
2531 with a boolean to determine which one should be used. The non-parameterized attributes are not used or passed to the
2532 overlay at this time as there are no clients with such a need.
2534 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
2535 (PageOverlayClientImpl::setAccessibilityClient):
2536 (PageOverlayClientImpl::PageOverlayClientImpl):
2537 (PageOverlayClientImpl::copyAccessibilityAttributeValue):
2538 (PageOverlayClientImpl::copyAccessibilityAttributeNames):
2539 (WKBundlePageOverlaySetAccessibilityClient):
2540 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
2541 * WebProcess/WebPage/PageOverlay.cpp:
2542 (WebKit::PageOverlay::copyAccessibilityAttributeValue):
2543 (WebKit::PageOverlay::copyAccessibilityAttributeNames):
2544 * WebProcess/WebPage/PageOverlay.h:
2545 (WebKit::PageOverlay::Client::copyAccessibilityAttributeValue):
2546 (WebKit::PageOverlay::Client::copyAccessibilityAttributeNames):
2547 (WebKit::PageOverlay::client):
2548 * WebProcess/WebPage/WebPage.cpp:
2549 (WebKit::WebPage::pageOverlayCopyAccessibilityAttributeValue):
2550 (WebKit::WebPage::pageOverlayCopyAccessibilityAttributesNames):
2551 * WebProcess/WebPage/WebPage.h:
2552 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
2553 (-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
2554 (-[WKAccessibilityWebPageObject _convertScreenPointToWindow:]):
2555 (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
2557 2013-07-27 Simon Fraser <simon.fraser@apple.com>
2559 If entering fullscreen for a window fails, don't leave things in a bad state
2560 https://bugs.webkit.org/show_bug.cgi?id=119179
2562 Reviewed by Sam Weinig.
2564 On Lion, attempting to take a video fullscreen when the Safari window is already
2565 fullscreen can sometimes fail, and AppKit informs us via windowDidFailToEnterFullScreen:
2567 When this happens we have to undo the work done when entering fullscreen, to
2568 avoid leaving things in a bad state.
2570 * UIProcess/mac/WKFullScreenWindowController.mm:
2571 (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
2573 2013-07-26 Tim Horton <timothy_horton@apple.com>
2575 Add a mode where autosizing fixes the FrameView height to at least the WKView height
2576 https://bugs.webkit.org/show_bug.cgi?id=119104
2577 <rdar://problem/14549021>
2579 Reviewed by Anders Carlsson.
2581 * Shared/WebPageCreationParameters.cpp:
2582 (WebKit::WebPageCreationParameters::encode):
2583 (WebKit::WebPageCreationParameters::decode):
2584 * Shared/WebPageCreationParameters.h:
2585 Add autoSizingShouldExpandToViewHeight parameter.
2587 * UIProcess/API/mac/WKView.mm:
2588 (-[WKView minimumWidthForAutoLayout]):
2589 (-[WKView setMinimumWidthForAutoLayout:]):
2590 Un-deprecate these as they're still useful if not sending a height.
2592 (-[WKView shouldExpandToViewHeightForAutoLayout]):
2593 (-[WKView setShouldExpandToViewHeightForAutoLayout:]):
2594 * UIProcess/API/mac/WKViewPrivate.h:
2595 New property, forward to WebPageProxy.
2597 * UIProcess/WebPageProxy.cpp:
2598 (WebKit::WebPageProxy::WebPageProxy):
2599 (WebKit::WebPageProxy::creationParameters):
2600 (WebKit::WebPageProxy::setAutoSizingShouldExpandToViewHeight):
2601 * UIProcess/WebPageProxy.h:
2602 (WebKit::WebPageProxy::autoSizingShouldExpandToViewHeight):
2603 New property, forward to WebPage.
2605 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2606 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
2607 If enabled, update the FrameView's autoSizeFixedMinimumHeight.
2609 * WebProcess/WebPage/WebPage.cpp:
2610 (WebKit::WebPage::WebPage):
2611 (WebKit::WebPage::setAutoSizingShouldExpandToViewHeight):
2612 * WebProcess/WebPage/WebPage.h:
2613 (WebKit::WebPage::autoSizingShouldExpandToViewHeight):
2614 New property; if enabled, set FrameView's autoSizeFixedMinimumHeight,
2615 otherwise reset it to 0.
2617 * WebProcess/WebPage/WebPage.messages.in:
2618 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2619 (WebKit::TiledCoreAnimationDrawingArea::updateIntrinsicContentSizeTimerFired):
2620 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
2621 Retrieve intrinsic content size explicitly from the FrameView, as
2622 it may not have used it as its final contentsSize if
2623 autoSizeFixedMinimumHeight is set.
2625 Set the WebPage's size in case the load is committed so that the
2626 WebFrameLoaderClient doesn't reset us to the wrong size.
2628 Update autoSizeFixedMinimumHeight if enabled when the view size changes.
2630 2013-07-25 Andreas Kling <akling@apple.com>
2632 ChromeClient::focusedNodeChanged() should be focusedElementChanged().
2633 <http://webkit.org/b/119110>
2635 Reviewed by Anders Carlsson.
2637 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2638 (WebKit::WebChromeClient::focusedElementChanged):
2639 * WebProcess/WebCoreSupport/WebChromeClient.h:
2641 2013-07-25 Kwang Yul Seo <skyul@company100.net>
2643 [WK2][Soup] Add private browsing support
2644 https://bugs.webkit.org/show_bug.cgi?id=118657
2646 Reviewed by Gustavo Noronha Silva.
2648 Support private browsing in WK2 by implementing private browsing
2649 related methods in WebFrameNetworkingContext.
2651 * WebProcess/InjectedBundle/InjectedBundle.cpp:
2652 (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
2653 Add USE(SOUP) guard.
2655 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
2656 Add private browsing support methods. Copied from the Mac port.
2657 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
2658 (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession):
2659 (WebKit::WebFrameNetworkingContext::storageSession):
2660 Check if the frame enables private browsing and return the private
2662 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
2664 * WebProcess/WebProcess.cpp:
2665 (WebKit::WebProcess::ensurePrivateBrowsingSession):
2666 Add USE(SOUP) guard.
2668 2013-07-25 Kwang Yul Seo <skyul@company100.net>
2670 Build fix: use of long long in CoreIPC::ArgumentEncoder and CoreIPC::ArgumentDecoder
2671 https://bugs.webkit.org/show_bug.cgi?id=118228
2673 Reviewed by Anders Carlsson.
2675 Build fails on some platforms where int64_t and long long are different types.
2677 * Shared/FileAPI/BlobRegistrationData.cpp:
2678 (WebKit::BlobRegistrationData::encode):
2679 Add explicit casts to int64_t.
2680 (WebKit::BlobRegistrationData::decode):
2681 Use int64_t instead of long long.
2683 2013-07-25 Anders Carlsson <andersca@apple.com>
2685 Remove lastModifiedDate from ResourceResponse
2686 https://bugs.webkit.org/show_bug.cgi?id=119092
2688 Reviewed by Andreas Kling.
2690 Update for WebCore changes.
2692 * WebProcess/Plugins/PluginView.cpp:
2693 (WebKit::lastModifiedDate):
2694 Use ResourceResponse::lastModified() to get the last modified date.
2696 (WebKit::PluginView::Stream::didReceiveResponse):
2697 Call the static lastModified function.
2699 (WebKit::PluginView::manualLoadDidReceiveResponse):
2702 2013-07-25 Carlos Garcia Campos <cgarcia@igalia.com>
2704 [GTK] Add support for running unit tests in the web process
2705 https://bugs.webkit.org/show_bug.cgi?id=118427
2707 Reviewed by Gustavo Noronha Silva.
2709 Some tests, like GObject DOM bindings API tests, run entirely in
2710 the WebProcess, so we just need to start the test from the UI
2711 process and wait until the test finishes running in the
2712 WebProcess. Tests are split in two files, one containing the
2713 actual test that runs in the WebProcess and another one to add the
2714 tests to the glib test system that works as a
2715 proxy. WebProcessTestRunner class starts a private DBus session
2716 bus and starts the tests sending a message to the WebExtension
2717 waiting until it finishes or fails. WebProcess tests are created
2718 by defining a class derived from WebProcessTest class and
2719 implementing the static create method and the virtual runTest
2720 method. The macro REGISTER_TEST is used by the web process tests
2721 to register their test cases. This patch includes the migration
2722 of the WebKitDOMNode test, all other GObject DOM bindings tests
2723 will be migrated in the same way in follow up patches.
2725 * UIProcess/API/gtk/tests/DOMNodeTest.cpp: Added.
2726 (WebKitDOMNodeTest::create): Create a new WebKitDOMNodeTest.
2727 (WebKitDOMNodeTest::webPageFromArgs): Get the pageID parameter
2728 from the arguments dictionary.
2729 (WebKitDOMNodeTest::testHierarchyNavigation):
2730 (WebKitDOMNodeTest::testInsertion):
2731 (WebKitDOMNodeTest::runTest): Run the given test.
2732 (registerTests): Register test cases.
2733 * UIProcess/API/gtk/tests/GNUmakefile.am: Add new files to
2735 * UIProcess/API/gtk/tests/TestDOMNode.cpp: Added.
2736 (testWebKitDOMNodeHierarchyNavigation):
2737 (testWebKitDOMNodeInsertion):
2740 * UIProcess/API/gtk/tests/TestMain.cpp:
2741 (main): Unset DBUS_SESSION_BUS_ADDRESS environment variable to
2742 make sure that the GLib bus singleton is initialized by the
2743 private DBus session bus created by the tests.
2744 * UIProcess/API/gtk/tests/WebProcessTest.cpp: Added.
2745 (testsMap): Initialize and get the global map of tests.
2746 (WebProcessTest::add): Add a new test to the map, keeping a
2747 function to create the test.
2748 (WebProcessTest::create): Create a test for the given name.
2749 (methodCallCallback): Handle RunTest DBus method. It creates and
2750 runs the given test.
2751 (webkit_web_extension_initialize):Register the DBus service for
2753 * UIProcess/API/gtk/tests/WebProcessTest.h: Added.
2754 * UIProcess/API/gtk/tests/WebProcessTestRunner.cpp: Added.
2755 (WebProcessTestRunner::WebProcessTestRunner): Start a private DBus
2756 session bus and get a connection to it.
2757 (WebProcessTestRunner::~WebProcessTestRunner): Stop the private
2759 (WebProcessTestRunner::proxyCreatedCallback):
2760 (WebProcessTestRunner::proxy): Create a new proxy to send messages
2761 to the WebExtension if it doesn't exists.
2762 (WebProcessTestRunner::onNameAppeared): Called when the DBus
2763 service has been registered in the WebExtension and it's safe to
2765 (WebProcessTestRunner::onNameVanished): Called when the DBus
2766 service is unregistered. This happens when the web process crash,
2767 so we just exit here, because the g_asserts in the web process
2768 have already registered the error message.
2769 (WebProcessTestRunner::testFinishedCallback): Called when the
2770 WebProcess tests has finished.
2771 (WebProcessTestRunner::runTest): Send a message to the
2772 WebExtension to start the given test and monitor the service.
2773 (WebProcessTestRunner::finishTest): Save the test result and
2774 finish the main loop.
2775 * UIProcess/API/gtk/tests/WebProcessTestRunner.h: Added.
2777 2013-05-05 Geoffrey Garen <ggaren@apple.com>
2779 Rolled back in r149527 with crash fixed.
2781 Reviewed by Oliver Hunt.
2783 Rationalized 'this' value conversion
2784 https://bugs.webkit.org/show_bug.cgi?id=115542
2786 2013-07-24 Ruth Fong <ruth_fong@apple.com>
2788 Rename WebColorChooserProxy
2789 <rdar://problem/14528039> and https://bugs.webkit.org/show_bug.cgi?id=119025
2791 Reviewed by Brady Eidson.
2793 Renamed WebColorChooserProxy to WebColorPicker since the name WebColorChoooserProxy
2794 implies that it represents the same object as WebColorChooser, which is not true.
2795 Also, renamed createColorChooserProxy to createColorPicker in WebPageProxy and
2796 platform-equivalent versions of it.
2799 * GNUmakefile.list.am:
2801 * UIProcess/API/gtk/PageClientImpl.cpp:
2802 (WebKit::PageClientImpl::createColorPicker):
2803 * UIProcess/API/gtk/PageClientImpl.h:
2804 * UIProcess/API/mac/PageClientImpl.h:
2805 * UIProcess/API/mac/PageClientImpl.mm:
2806 (WebKit::PageClientImpl::createColorPicker):
2807 * UIProcess/API/qt/raw/qrawwebview.cpp:
2808 (QRawWebViewPrivate::createColorPicker):
2809 * UIProcess/API/qt/raw/qrawwebview_p_p.h:
2810 * UIProcess/CoordinatedGraphics/WebView.cpp:
2811 (WebKit::WebView::createColorPicker):
2812 * UIProcess/CoordinatedGraphics/WebView.h:
2813 * UIProcess/PageClient.h:
2814 * UIProcess/WebColorChooserProxy.cpp: Removed.
2815 * UIProcess/WebColorChooserProxy.h: Removed.
2816 * UIProcess/WebColorPicker.cpp: Copied from Source/WebKit2/UIProcess/WebColorChooserProxy.cpp.
2817 (WebKit::WebColorPicker::WebColorPicker):
2818 (WebKit::WebColorPicker::~WebColorPicker):
2819 (WebKit::WebColorPicker::endChooser):
2820 (WebKit::WebColorPicker::setSelectedColor):
2821 * UIProcess/WebColorPicker.h: Copied from Source/WebKit2/UIProcess/WebColorChooserProxy.h.
2822 (WebKit::WebColorPicker::create):
2823 * UIProcess/WebPageProxy.cpp:
2824 (WebKit::WebPageProxy::close):
2825 (WebKit::WebPageProxy::showColorChooser):
2826 (WebKit::WebPageProxy::setColorChooserColor):
2827 (WebKit::WebPageProxy::endColorChooser):
2828 (WebKit::WebPageProxy::didEndColorChooser):
2829 (WebKit::WebPageProxy::resetStateAfterProcessExited):
2830 * UIProcess/WebPageProxy.h: Renamed m_colorChooser to m_colorPicker.
2831 * UIProcess/qt/QtPageClient.cpp:
2832 (WebKit::QtPageClient::createColorPicker):
2833 * UIProcess/qt/QtPageClient.h:
2834 * UIProcess/qt/WebColorChooserProxyQt.cpp: Removed.
2835 * UIProcess/qt/WebColorChooserProxyQt.h: Removed.
2836 * UIProcess/qt/WebColorPickerQt.cpp: Added.
2837 (WebKit::ColorChooserContextObject::ColorChooserContextObject):
2838 (WebKit::ColorChooserContextObject::currentColor):
2839 (WebKit::ColorChooserContextObject::elementRect):
2840 (WebKit::ColorChooserContextObject::accept):
2841 (WebKit::ColorChooserContextObject::reject):
2842 (WebKit::WebColorPickerQt::WebColorPickerQt):
2843 (WebKit::WebColorPickerQt::~WebColorPickerQt):
2844 (WebKit::WebColorPickerQt::createItem):
2845 (WebKit::WebColorPickerQt::createContext):
2846 (WebKit::WebColorPickerQt::setSelectedColor):
2847 (WebKit::WebColorPickerQt::notifyColorSelected):
2848 (WebKit::WebColorPickerQt::endChooser):
2849 * UIProcess/qt/WebColorPickerQt.h: Added.
2850 (WebKit::WebColorPickerQt::create):
2851 * WebKit2.xcodeproj/project.pbxproj:
2853 2013-07-24 Anders Carlsson <andersca@apple.com>
2855 Crash when calling WKPageGetProcessIdentifier after aborted process launch
2856 https://bugs.webkit.org/show_bug.cgi?id=119069
2857 <rdar://problem/14494064>
2859 Reviewed by Andreas Kling.
2861 * UIProcess/WebPageProxy.cpp:
2862 (WebKit::WebPageProxy::processIdentifier):
2863 Check if the page is closed instead of checking whether we have a process - We'll always have a process.
2865 (WebKit::WebPageProxy::isValid):
2868 * UIProcess/WebPageProxy.h:
2870 2013-07-24 Kwang Yul Seo <skyul@company100.net>
2872 [WK2][Soup] Add entry point for network process
2873 https://bugs.webkit.org/show_bug.cgi?id=110136
2875 Reviewed by Gustavo Noronha Silva.
2877 Original patch by Balazs Kelemen <kbalazs@webkit.org>.
2879 Added a common entry point for non-Mac Unix ports.
2881 * NetworkProcess/unix/NetworkProcessMainUnix.cpp: Added.
2882 (WebKit::NetworkProcessMain):
2883 * NetworkProcess/unix/NetworkProcessMainUnix.h: Added.
2884 * unix/NetworkMainUnix.cpp: Added.
2887 2013-07-24 Jessie Berlin <jberlin@apple.com>
2889 Remove WKPageGetPlugInInformation - it is not used anymore
2890 https://bugs.webkit.org/show_bug.cgi?id=119047
2892 Reviewed by Alexey Proskuryakov.
2894 Revert r151172, which fixed a crash introduced in r151043, r151054, which fixed some naming
2895 and ref-churn issues introduced in r151043, and r151043, which added
2896 WKPageGetPlugInInformation.
2898 * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
2899 (WKPageIsURLKnownHSTSHost):
2900 * UIProcess/API/C/mac/WKPagePrivateMac.h:
2901 * UIProcess/Plugins/PluginProcessManager.h:
2902 * UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
2903 * UIProcess/WebPageProxy.cpp:
2904 (WebKit::WebPageProxy::close):
2905 * UIProcess/WebPageProxy.h:
2906 * UIProcess/WebPageProxy.messages.in:
2907 * UIProcess/mac/WebPageProxyMac.mm:
2908 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2909 * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
2910 * WebProcess/Plugins/Plugin.h:
2911 * WebProcess/Plugins/PluginProxy.h:
2912 * WebProcess/Plugins/PluginView.h:
2913 * WebProcess/WebPage/WebPage.h:
2914 * WebProcess/WebPage/WebPage.messages.in:
2915 * WebProcess/WebPage/mac/WebPageMac.mm:
2917 2013-07-24 Jessie Berlin <jberlin@apple.com>
2919 Remove WKPageGetPlugInInformation - it is not used anymore
2920 https://bugs.webkit.org/show_bug.cgi?id=119047
2922 Rubber-stamped by Alexey Proskuryakov.
2924 Revert r152328, which added a key used only in the callback info for
2925 WKPageGetPlugInInformation.
2927 * Shared/API/c/WKPluginInformation.cpp:
2928 * Shared/API/c/WKPluginInformation.h:
2929 * Shared/Plugins/Netscape/PluginInformation.cpp:
2930 * Shared/Plugins/Netscape/PluginInformation.h:
2931 * UIProcess/WebPageProxy.h:
2932 * UIProcess/WebPageProxy.messages.in:
2933 * UIProcess/mac/WebPageProxyMac.mm:
2934 (WebKit::WebPageProxy::containsPlugInCallback):
2935 * WebProcess/WebPage/mac/WebPageMac.mm:
2936 (WebKit::WebPage::containsPluginViewsWithPluginProcessToken):
2938 2013-07-24 Anton Obzhirov <a.obzhirov@samsung.com>
2940 [GTK] TestInspectorServer unit test is timing out
2941 https://bugs.webkit.org/show_bug.cgi?id=105866
2943 Reviewed by Gustavo Noronha Silva.
2945 The test failed because it couldn't find inspector resources in default folder
2946 (make install step was missing). It uses now resources available in
2947 WebKitBuild folder. WebInspectorServerGtk was refactored as well to make
2948 easier to use WEBKIT_INSPECTOR_SERVER_PATH variable.
2950 * UIProcess/API/gtk/tests/GNUmakefile.am:
2951 * UIProcess/API/gtk/tests/InspectorTestServer.cpp:
2953 * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
2954 (testInspectorServerPageList):
2955 * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
2956 (WebKit::WebInspectorServer::platformResourceForPath):
2957 (WebKit::WebInspectorServer::buildPageList):
2958 (WebKit::WebInspectorServer::inspectorServerFilesPath):
2960 2013-07-23 Simon Cooper <scooper@apple.com>
2962 10.7: Java applets do not work due to sandbox violation/exception
2963 https://bugs.webkit.org/show_bug.cgi?id=118920
2964 <rdar://problem/14471541&12910934&14223830&14260729&14267679>
2966 Reviewed by Alexey Proskuryakov.
2968 Introduce versioning into the common profile and use it to fix
2969 a number of issues with Java on 10.7 and 10.8. Allow writing the
2970 com.apple.java.util.prefs preference file. This change also
2971 introduces a "/Library/Application Support/Java/PublicFiles"
2972 area which Java can read without any restrictions. Files written
2973 to this location will need to be created and written to by
2974 a privileged process.
2976 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
2977 * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
2979 2013-07-23 Eunmi Lee <eunmi15.lee@samsung.com>
2981 [EFL][WK2] Add doneWithTouchEvent callback to the WKViewClient.
2982 https://bugs.webkit.org/show_bug.cgi?id=110085
2984 Reviewed by Kenneth Rohde Christiansen.
2986 Add doneWithTouchEvent callback to the WKViewClient in order to get the
2987 result of touch events in the EwkView. The result will be used to
2988 recognize gestures in the Bug 102643.
2990 APIs to get values from WKTouchEventRef and WKTouchPointRef are added
2991 because WKTypeRef is opaque to the applications.
2993 * UIProcess/API/C/CoordinatedGraphics/WKView.h:
2994 * UIProcess/API/C/efl/WKAPICastEfl.h:
2996 * UIProcess/API/C/efl/WKEventEfl.cpp:
2997 (WKTouchEventGetType):
2998 (WKTouchEventGetTouchPoints):
2999 (WKTouchEventGetModifiers):
3000 (WKTouchEventGetTimestamp):
3001 (WKTouchPointGetID):
3002 (WKTouchPointGetState):
3003 (WKTouchPointGetScreenPosition):
3004 (WKTouchPointGetPosition):
3005 (WKTouchPointGetRadius):
3006 (WKTouchPointGetRotationAngle):
3007 (WKTouchPointGetForceFactor):
3008 * UIProcess/API/C/efl/WKEventEfl.h:
3009 * UIProcess/API/efl/EwkView.cpp:
3010 (EwkView::doneWithTouchEvent):
3011 * UIProcess/API/efl/EwkView.h:
3012 * UIProcess/CoordinatedGraphics/WebView.cpp:
3013 (WebKit::WebView::doneWithTouchEvent):
3014 * UIProcess/CoordinatedGraphics/WebViewClient.cpp:
3015 (WebKit::WebViewClient::doneWithTouchEvent):
3016 * UIProcess/CoordinatedGraphics/WebViewClient.h:
3017 * UIProcess/efl/ViewClientEfl.cpp:
3018 (WebKit::ViewClientEfl::doneWithTouchEvent):
3019 (WebKit::ViewClientEfl::ViewClientEfl):
3020 * UIProcess/efl/ViewClientEfl.h:
3022 2013-07-22 Alexey Proskuryakov <ap@apple.com>
3024 Frequent MESSAGE_CHECK failures in WebPageProxy::didReceiveEvent
3025 https://bugs.webkit.org/show_bug.cgi?id=118976
3026 <rdar://problem/14155030>
3028 Reviewed by Sam Weinig.
3030 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::resetStateAfterProcessExited):
3031 Clear m_gestureEventQueue, just like we clear all other event queues here.
3033 2013-07-21 Anders Carlsson <andersca@apple.com>
3035 Java Updater not launched on Lion and Mountain Lion
3036 https://bugs.webkit.org/show_bug.cgi?id=118953
3037 <rdar://problem/14496721>
3039 Reviewed by Sam Weinig.
3041 On Lion and Mountain Lion, -[NSURL isEqual:] will return NO for two file URLs if one of
3042 them has "localhost" specified, even if the paths are otherwise equal. Work around this by
3043 comparing the paths directly.
3045 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
3046 (WebKit::isJavaUpdaterURL):
3048 2013-07-19 Morten Stenshorne <mstensho@opera.com>
3050 [GTK] Need a way to enable region based columns from the command line
3051 https://bugs.webkit.org/show_bug.cgi?id=116611
3053 Reviewed by Martin Robinson.
3055 Add an environment variable to enable experimental features.
3057 This provides a means to enable experimental features without polluting
3060 Environment variable name: WEBKITGTK_EXPERIMENTAL_FEATURES
3062 Format: WEBKITGTK_EXPERIMENTAL_FEATURES="<feature1>=1,<feature2>=1,..."
3063 Or, to enable all experimental features: WEBKITGTK_EXPERIMENTAL_FEATURES=all
3065 So far the only feature is region based columns (implement multicol using
3066 the CSS regions implementation rather than ColumnInfo & co) - REGION_BASED_COLUMNS.
3068 Example: WEBKITGTK_EXPERIMENTAL_FEATURES="REGION_BASED_COLUMNS=1"
3070 * GNUmakefile.list.am:
3071 * PlatformGTK.cmake:
3072 * UIProcess/API/gtk/WebKitSettings.cpp:
3073 (webKitSettingsConstructed):
3074 (webkit_settings_class_init):
3075 * UIProcess/gtk/ExperimentalFeatures.cpp: Added.
3078 (WebKit::ExperimentalFeatures::ExperimentalFeatures):
3079 (WebKit::ExperimentalFeatures::isEnabled):
3080 (WebKit::ExperimentalFeatures::setEnableByName):
3081 (WebKit::ExperimentalFeatures::parseEnvironment):
3082 * UIProcess/gtk/ExperimentalFeatures.h: Added.
3084 (ExperimentalFeatures):
3086 2013-07-18 Eunmi Lee <eunmi15.lee@samsung.com>
3088 [WK2] Share Qt port's codes to find zoomable area with CoordinatedGraphics.
3089 https://bugs.webkit.org/show_bug.cgi?id=118585
3091 Reviewed by Anders Carlsson.
3093 The function to find zoomable area is needed in order to implement the
3094 feature to scale for double-tap gesture. The WK2 EFL and NIX port want
3095 to use that function, so extract the code from the Qt port, make it
3096 usable in the CoordinatedGraphics and add API and callback.
3100 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
3101 (WKViewFindZoomableAreaForRect):
3102 * UIProcess/API/C/CoordinatedGraphics/WKView.h:
3103 * UIProcess/API/efl/EwkView.cpp:
3104 (EwkView::didFindZoomableArea):
3105 * UIProcess/API/efl/EwkView.h:
3106 * UIProcess/CoordinatedGraphics/WebPageProxyCoordinatedGraphics.cpp: Added.
3107 (WebKit::WebPageProxy::findZoomableAreaForPoint):
3108 (WebKit::WebPageProxy::didFindZoomableArea):
3109 * UIProcess/CoordinatedGraphics/WebView.cpp:
3110 (WebKit::WebView::didFindZoomableArea):
3111 (WebKit::WebView::findZoomableAreaForPoint):
3112 * UIProcess/CoordinatedGraphics/WebView.h:
3113 * UIProcess/CoordinatedGraphics/WebViewClient.cpp:
3114 (WebKit::WebViewClient::didFindZoomableArea):
3115 * UIProcess/CoordinatedGraphics/WebViewClient.h:
3116 * UIProcess/PageClient.h:
3117 * UIProcess/WebPageProxy.h:
3118 * UIProcess/WebPageProxy.messages.in:
3119 * UIProcess/efl/ViewClientEfl.cpp:
3120 (WebKit::ViewClientEfl::didFindZoomableArea):
3121 (WebKit::ViewClientEfl::ViewClientEfl):
3122 * UIProcess/efl/ViewClientEfl.h:
3123 * UIProcess/qt/WebPageProxyQt.cpp:
3124 * WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp: Added.
3125 (WebKit::WebPage::findZoomableAreaForPoint):
3126 * WebProcess/WebPage/WebPage.cpp:
3127 * WebProcess/WebPage/WebPage.h:
3128 * WebProcess/WebPage/WebPage.messages.in:
3130 2013-07-18 Simon Cooper <scooper@apple.com>
3132 Flash Player: deny file-read-data /Library/Application Support/Macromedia/FlashAuthor.cfg
3133 https://bugs.webkit.org/show_bug.cgi?id=118874
3134 <rdar://problem/14271327>
3136 Reviewed by Alexey Proskuryakov.
3138 Silently deny access to FlashAuthor.cfg. This location contains
3139 files containing lists of paths that Flash Player will
3140 "allow" access to (without asking the user). Since the plugin
3141 sandbox won't permit the access to the listed paths it is better
3142 to silently block attempts to read this "whitelist".
3144 * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
3146 2013-07-18 Tim Horton <timothy_horton@apple.com>
3148 [wk2] Ensure that the plugin layer is removed completely when the PluginProcess crashes
3149 https://bugs.webkit.org/show_bug.cgi?id=118862
3151 Reviewed by Anders Carlsson.
3153 * WebProcess/Plugins/PluginView.cpp:
3154 (WebKit::PluginView::PluginView):
3155 Add m_pluginProcessHasCrashed.
3157 (WebKit::PluginView::platformLayer):
3158 Don't return the plugin's layer if it has crashed.
3160 (WebKit::PluginView::pluginProcessCrashed):
3161 Set m_pluginProcessHasCrashed.
3162 Cause a style recalc so that we rebuild the layer tree; our layer won't be included.
3164 * WebProcess/Plugins/PluginView.h:
3165 Add m_pluginProcessHasCrashed.
3167 2013-07-18 Alexey Proskuryakov <ap@apple.com>
3169 <rdar://problem/13886443> Assertion failures in NetworkProcess in SandboxExtension::revoke when aborting SyncNetworkResourceLoader
3170 <rdar://problem/13826348> ASSERT(!m_useCount) fails in NetworkProcess at SandboxExtension::~SandboxExtension
3171 https://bugs.webkit.org/show_bug.cgi?id=118855
3173 Reviewed by Brady Eidson.
3175 * NetworkProcess/NetworkResourceLoader.cpp:
3176 (WebKit::NetworkResourceLoader::cleanup):
3177 (WebKit::NetworkResourceLoader::didFinishLoading):
3178 (WebKit::NetworkResourceLoader::didFail):
3179 Moved sandbox extension invalidation to cleanup() meaning that we won't fail to
3180 do this when aborting a loader that currently loading from network.
3182 * NetworkProcess/SchedulableLoader.cpp:
3183 (WebKit::SchedulableLoader::SchedulableLoader):
3184 (WebKit::SchedulableLoader::consumeSandboxExtensions):
3185 (WebKit::SchedulableLoader::invalidateSandboxExtensions):
3186 * NetworkProcess/SchedulableLoader.h:
3187 Keep track of whether sandbox extensions are consumed, we don't want to revoke
3188 extensions that were never consumed (as used to be the case with sync loaders,
3189 and would be with async ones after the above fix). Also, get rid of extensions
3190 immediately when invalidating, we won't need them again.
3192 2013-07-18 Tim Horton <timothy_horton@apple.com>
3194 Remove PDFViewController and WKView "custom representations"
3195 https://bugs.webkit.org/show_bug.cgi?id=118720
3197 Reviewed by Alexey Proskuryakov.
3199 PDFViewController was the only implementation of
3200 a "custom representation" for a WKView. As it has
3201 been superceded by PDFPlugin, we can remove both
3202 PDFViewController and the notion of a WKView custom
3205 * UIProcess/API/gtk/PageClientImpl.cpp:
3206 * UIProcess/API/gtk/PageClientImpl.h:
3207 * UIProcess/API/mac/PDFViewController.h: Removed.
3208 * UIProcess/API/mac/PDFViewController.mm: Removed.
3209 * UIProcess/API/mac/PageClientImpl.h:
3210 * UIProcess/API/mac/PageClientImpl.mm:
3211 * UIProcess/API/mac/WKView.mm:
3212 (-[WKView accessibilityFocusedUIElement]):
3213 (-[WKView accessibilityHitTest:]):
3214 (-[WKView accessibilityAttributeValue:]):
3215 (-[WKView printOperationWithPrintInfo:forFrame:]):
3216 * UIProcess/API/mac/WKViewInternal.h:
3217 * UIProcess/API/qt/raw/qrawwebview_p_p.h:
3218 * UIProcess/CoordinatedGraphics/WebView.cpp:
3219 * UIProcess/CoordinatedGraphics/WebView.h:
3220 * UIProcess/DrawingAreaProxy.h:
3221 * UIProcess/DrawingAreaProxyImpl.cpp:
3222 * UIProcess/DrawingAreaProxyImpl.h:
3223 * UIProcess/PageClient.h:
3224 * UIProcess/WebPageProxy.cpp:
3225 (WebKit::WebPageProxy::WebPageProxy):
3226 (WebKit::WebPageProxy::supportsTextEncoding):
3227 (WebKit::WebPageProxy::supportsTextZoom):
3228 (WebKit::WebPageProxy::setTextZoomFactor):
3229 (WebKit::WebPageProxy::setPageZoomFactor):
3230 (WebKit::WebPageProxy::setPageAndTextZoomFactors):
3231 (WebKit::WebPageProxy::findString):
3232 (WebKit::WebPageProxy::countStringMatches):
3233 (WebKit::WebPageProxy::didCommitLoadForFrame):
3234 * UIProcess/WebPageProxy.h:
3235 (WebKit::WebPageProxy::textZoomFactor):
3236 (WebKit::WebPageProxy::pageZoomFactor):
3237 * UIProcess/WebPageProxy.messages.in:
3238 * UIProcess/qt/QtPageClient.h:
3239 * WebKit2.xcodeproj/project.pbxproj:
3240 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3241 (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
3242 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
3243 (WebKit::WebFrameLoaderClient::committedLoad):
3244 (WebKit::WebFrameLoaderClient::finishedLoading):
3245 (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
3246 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
3247 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3248 * WebProcess/WebPage/DrawingArea.h:
3249 * WebProcess/WebPage/DrawingArea.messages.in:
3250 * WebProcess/WebPage/DrawingAreaImpl.cpp:
3251 (WebKit::DrawingAreaImpl::setNeedsDisplayInRect):
3252 (WebKit::DrawingAreaImpl::scroll):
3253 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
3254 (WebKit::DrawingAreaImpl::display):
3255 * WebProcess/WebPage/DrawingAreaImpl.h:
3256 * WebProcess/WebPage/WebPage.cpp:
3257 * WebProcess/WebPage/WebPage.h:
3258 * WebProcess/WebPage/mac/WebPageMac.mm:
3259 (WebKit::WebPage::platformPreferencesDidChange):
3260 * mac/WebKit2.order:
3262 2013-07-18 Dong-Gwan Kim <donggwan.kim@samsung.com>
3264 [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_color_picker.cpp
3265 https://bugs.webkit.org/show_bug.cgi?id=118797
3267 Reviewed by Christophe Dumez.
3269 Some mouseClick methods are used in test_ewk2_color_picker.cpp.
3270 But it is difficult to understand what they mean.
3271 So i would like to replace those with more meaningful method for readability.
3273 * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
3274 (EWK2ColorPickerTest::clickButton):
3277 2013-07-18 Eunmi Lee <eunmi15.lee@samsung.com>
3279 [WK2] Replace getRect() to pixelSnappedBoundingBox().
3280 https://bugs.webkit.org/show_bug.cgi?id=118588
3282 Reviewed by Noam Rosenthal.
3284 The Node::getRect() function was removed in the
3285 http://trac.webkit.org/changeset/128006, so use
3286 pixelSnappedBoundingBox() instead.
3288 * WebProcess/WebPage/WebPage.cpp:
3289 (WebKit::WebPage::findZoomableAreaForPoint):
3291 2013-07-18 Dong-Gwan Kim <donggwan.kim@samsung.com>
3293 [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_context_menu.cpp
3294 https://bugs.webkit.org/show_bug.cgi?id=118796
3296 Reviewed by Christophe Dumez.
3298 Some mouseClick methods are used in test_ewk2_context_menu.cpp.
3299 But it is difficult to understand what they mean.
3300 So i would like to replace those with more meaningful method for readability.
3302 * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
3303 (EWK2ContextMenuTest::testContextMenu):
3304 (EWK2ContextMenuTest::testContextMenuForRemoveAndAppend):
3305 (EWK2ContextMenuTest::testContextMenuForSubmenu):
3306 (EWK2ContextMenuTest::finishTest):
3307 (EWK2ContextMenuTest::showContextMenu):
3310 2013-07-18 Dong-Gwan Kim <donggwan.kim@samsung.com>
3312 [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_file_chooser_request.cpp
3313 https://bugs.webkit.org/show_bug.cgi?id=118792
3315 Reviewed by Christophe Dumez.
3317 Some mouseClick methods are used in test_ewk2_file_chooser_request.cpp.
3318 But it is difficult to understand what they mean.
3319 So i would like to replace those with more meaningful method for readability.
3321 * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
3322 (EWK2FileChooserRequestTest::clickFileInput):
3325 2013-07-18 Dong-Gwan Kim <donggwan.kim@samsung.com>
3327 [EFL][WK2] Move all the static methods into EWK2TextCheckerTest in test_ewk2_text_checker.cpp
3328 https://bugs.webkit.org/show_bug.cgi?id=118790
3330 Reviewed by Christophe Dumez.
3332 All the static methods should be moved to EWK2TextCheckerTest.
3334 * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
3335 (EWK2TextCheckerTest::resetCallbacksExecutionStats):
3336 (EWK2TextCheckerTest::onTimeout):
3337 (EWK2TextCheckerTest::onSettingChange):
3338 (EWK2TextCheckerTest::onSpellDocumentTag):
3339 (EWK2TextCheckerTest::onSpellDocumentTagClose):
3340 (EWK2TextCheckerTest::onSpellingCheck):
3341 (EWK2TextCheckerTest::onSpellingForKnownWord):
3342 (EWK2TextCheckerTest::onWordGuesses):
3343 (EWK2TextCheckerTest::onWordLearn):
3344 (EWK2TextCheckerTest::onWordIgnore):
3345 (EWK2TextCheckerTest::findContextMenuItem):
3346 (EWK2TextCheckerTest::checkCorrectnessOfSpellingItems):
3347 (EWK2TextCheckerTest::toogleCheckSpellingWhileTyping):
3348 (EWK2TextCheckerTest::checkClientSuggestionsForWord):
3349 (EWK2TextCheckerTest::selectLearnSpelling):
3350 (EWK2TextCheckerTest::selectIgnoreSpelling):
3351 (EWK2TextCheckerTest::countContextMenuItems):
3352 (EWK2TextCheckerTest::clickButton):
3353 (EWK2TextCheckerTest::showContextMenu):
3354 (EWK2TextCheckerTest::selectFirstWord):
3356 2013-07-17 Tim Horton <timothy_horton@apple.com>
3358 Update blocked/missing plug-in UI
3359 https://bugs.webkit.org/show_bug.cgi?id=118347
3360 <rdar://problem/14209318>
3362 Reviewed by Sam Weinig.
3364 * Platform/CoreIPC/HandleMessage.h:
3365 (CoreIPC::callMemberFunction):
3366 Add a 6 argument -> 4 reply message handler.
3367 (It seems that FindPlugin is getting a little out of hand.)
3369 * Shared/APIClientTraits.cpp:
3370 * Shared/APIClientTraits.h:
3371 * UIProcess/API/C/WKPage.h:
3372 * UIProcess/WebLoaderClient.cpp:
3373 (WebKit::WebLoaderClient::pluginLoadPolicy):
3374 * UIProcess/WebLoaderClient.h:
3375 Add an unavailability description out-argument to a new version of
3376 pluginLoadPolicy, so clients can override the text of the unavailable
3377 plugin indicator. Bump the WKPageLoaderClient version and update APIClientTraits.
3379 * UIProcess/WebPageProxy.cpp:
3380 (WebKit::WebPageProxy::findPlugin):
3381 * UIProcess/WebPageProxy.h:
3382 * UIProcess/WebPageProxy.messages.in:
3383 Plumb the unavailability description through to the WebProcess via
3384 the FindPlugin message.
3386 * WebProcess/WebPage/WebPage.cpp:
3387 (WebKit::WebPage::createPlugin):
3388 Acquire the unavailability description from the client
3389 (via FindPlugin) and hand it to the RenderEmbeddedObject.
3391 2013-07-17 Commit Queue <commit-queue@webkit.org>
3393 Unreviewed, rolling out r152701, r152703, r152739, r152754,
3395 http://trac.webkit.org/changeset/152701
3396 http://trac.webkit.org/changeset/152703
3397 http://trac.webkit.org/changeset/152739
3398 http://trac.webkit.org/changeset/152754
3399 http://trac.webkit.org/changeset/152756
3400 https://bugs.webkit.org/show_bug.cgi?id=118821
3402 this was a buggy fix and we're going to try something
3403 different (Requested by thorton on #webkit).
3405 * Platform/CoreIPC/HandleMessage.h:
3406 * Shared/APIClientTraits.cpp:
3407 * Shared/APIClientTraits.h:
3408 * UIProcess/API/C/WKPage.h:
3409 * UIProcess/WebLoaderClient.cpp:
3410 (WebKit::WebLoaderClient::pluginLoadPolicy):
3411 * UIProcess/WebLoaderClient.h:
3412 * UIProcess/WebPageProxy.cpp:
3413 (WebKit::WebPageProxy::findPlugin):
3414 * UIProcess/WebPageProxy.h:
3415 * UIProcess/WebPageProxy.messages.in:
3416 * WebProcess/Plugins/PluginProcessConnection.cpp:
3417 (WebKit::PluginProcessConnection::didClose):
3418 * WebProcess/Plugins/PluginView.cpp:
3419 (WebKit::PluginView::pluginProcessCrashed):
3420 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3421 (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
3422 * WebProcess/WebCoreSupport/WebChromeClient.h:
3423 * WebProcess/WebPage/WebPage.cpp:
3424 (WebKit::WebPage::createPlugin):
3425 (WebKit::WebPage::canPluginHandleResponse):
3427 2013-07-17 Alexey Proskuryakov <ap@apple.com>
3429 [Mac] Crashes in CFURLGetBytes under WebProcess::updateActivePages()
3430 https://bugs.webkit.org/show_bug.cgi?id=118814
3431 <rdar://problem/14173389>
3433 Reviewed by Brady Eidson.
3435 Speculative fix. It's unclear how we end up with an invalid URL when committing
3438 * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::updateActivePages):
3441 2013-07-17 Commit Queue <commit-queue@webkit.org>
3443 Unreviewed, rolling out r152786 and r152789.
3444 http://trac.webkit.org/changeset/152786
3445 http://trac.webkit.org/changeset/152789
3446 https://bugs.webkit.org/show_bug.cgi?id=118807
3448 overly platform specific and dirty API (and Sam says no)
3449 (Requested by thorton on #webkit).
3451 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
3452 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
3453 * WebProcess/WebPage/PageOverlay.cpp:
3454 * WebProcess/WebPage/PageOverlay.h:
3455 * WebProcess/WebPage/WebPage.cpp:
3456 * WebProcess/WebPage/WebPage.h:
3457 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
3459 2013-07-17 Tim Horton <timothy_horton@apple.com>
3461 AX: VoiceOver not working with data detection page overlays
3462 https://bugs.webkit.org/show_bug.cgi?id=118680
3464 Reviewed by Anders Carlsson.
3466 Bump the API version after r152786.
3468 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
3470 2013-07-17 Simon Cooper <scooper@apple.com>
3472 YouTube webcam capture (Flash Plug-in) in Safari can't see built-in camera
3473 https://bugs.webkit.org/show_bug.cgi?id=118787
3474 <rdar://problem/14418799>
3476 Reviewed by Alexey Proskuryakov.
3478 Add support for built-in cameras, including the original iSight.
3480 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
3481 * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
3483 2013-07-17 Chris Fleizach <cfleizach@apple.com>
3485 AX: VoiceOver not working with data detection page overlays
3486 https://bugs.webkit.org/show_bug.cgi?id=118680
3488 Reviewed by Tim Horton.