1 2013-08-28 Ábrahám Gábor <abrhm@inf.u-szeged.hu>
3 Fix unused variable warning.
4 https://bugs.webkit.org/show_bug.cgi?id=120396
6 Reviewed by Allan Sandfeld Jensen.
8 Fix unused variable compiler warning in PageOverlay.h
10 * WebProcess/WebPage/PageOverlay.h:
11 (WebKit::PageOverlay::Client::copyAccessibilityAttributeValue):
12 (WebKit::PageOverlay::Client::copyAccessibilityAttributeNames):
15 2013-08-28 Zan Dobersek <zdobersek@igalia.com>
17 [GTK][WK2] Only set up a RedirectedXCompositeWindow if running under an X11 display
18 https://bugs.webkit.org/show_bug.cgi?id=120321
20 Reviewed by Gustavo Noronha Silva.
22 Only set up the RedirectedXCompositeWindow member of the WebKitWebViewBasePrivate struct
23 if we're running under an X11 display. This is now done in the webkitWebViewBaseConstructed
24 function rather than the constructor, which is removed.
26 This allows for the UIProcess to run in a Wayland environment even when built with accelerated
27 compositing enabled. Of course, at the moment there's no support yet for accelerated compositing
28 under Wayland, so we fall back to rendering the backing store. No changes are introduced to
29 the behavior under X11 - accelerated compositing will be used where possible, if supported.
31 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
32 (webkitWebViewBaseConstructed):
34 2013-08-28 Zan Dobersek <zdobersek@igalia.com>
36 [GTK][WK2] Disable accelerated compositing under Wayland
37 https://bugs.webkit.org/show_bug.cgi?id=120347
39 Reviewed by Martin Robinson.
41 Accelerated compositing is not yet supported under the Wayland display protocol,
42 so it should be disabled. Since it is enabled by default and the GTK WK2 API does
43 not provide any way to change that, it's enough to disable it when attaching the
44 WebKitSettings object to the WebPageGroup if running under Wayland.
46 * UIProcess/API/gtk/WebKitWebViewGroup.cpp:
47 (webkitWebViewGroupAttachSettingsToPageGroup):
49 2013-08-28 Alexandre Abreu <alexandre.abreu@canonical.com>
51 Add a 'isMainFrame' parameter to QWebNavigationRequest.
52 https://bugs.webkit.org/show_bug.cgi?id=118860
54 Reviewed by Simon Hausmann.
56 * UIProcess/API/qt/qwebnavigationrequest.cpp:
57 (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
58 (QWebNavigationRequest::QWebNavigationRequest):
59 (QWebNavigationRequest::navigationType):
60 (QWebNavigationRequest::isMainFrame):
61 * UIProcess/API/qt/qwebnavigationrequest_p.h:
62 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
63 * UIProcess/qt/QtWebPagePolicyClient.cpp:
64 (WebKit::QtWebPagePolicyClient::decidePolicyForNavigationAction):
65 * UIProcess/qt/QtWebPagePolicyClient.h:
67 2013-08-27 Luciano Wolf <luciano.wolf@openbossa.org>
69 100% cpu usage for "transition: opacity" animation
70 https://bugs.webkit.org/show_bug.cgi?id=120012
72 Reviewed by Noam Rosenthal.
74 Schedule animation timer after scheduling a layer flush. This way it
75 won't overwrite animation timer with "0", thus avoiding 100% cpu usage.
77 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
78 (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
80 2013-08-27 Csaba Osztrogonác <ossy@webkit.org>
82 [WK2][Soup] Add WebFrameNetworkingContext::webFrameLoaderClient() after r154490
83 https://bugs.webkit.org/show_bug.cgi?id=120353
85 Reviewed by Alexey Proskuryakov.
87 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
88 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
89 (WebKit::WebFrameNetworkingContext::webFrameLoaderClient):
90 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
92 2013-08-26 Santosh Mahto <santosh.ma@samsung.com>
94 Fixing compilation warning "unused parameter" in WebPageProxy.cpp
95 https://bugs.webkit.org/show_bug.cgi?id=120205
97 Reviewed by Anders Carlsson.
99 * UIProcess/WebPageProxy.cpp:
100 (WebKit::WebPageProxy::findPlugin):
101 (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
102 Added UNUSED_PARAM to avoid warning.
104 2013-08-23 Andy Estes <aestes@apple.com>
106 Fix issues found by the Clang Static Analyzer
107 https://bugs.webkit.org/show_bug.cgi?id=120230
109 Reviewed by Darin Adler.
111 * UIProcess/API/mac/WKBrowsingContextController.mm:
112 (autoreleased): Don't leak CFURLs when in Objective-C GC.
113 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
114 (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
115 Don't leak CFStrings when in Objective-C GC.
117 2013-08-26 Csaba Osztrogonác <ossy@webkit.org>
119 [WK2] Buildfix for non Mac platforms
120 https://bugs.webkit.org/show_bug.cgi?id=120294
122 Reviewed by Darin Adler.
124 * NetworkProcess/AsynchronousNetworkLoaderClient.cpp:
125 (WebKit::AsynchronousNetworkLoaderClient::didReceiveBuffer):
126 * NetworkProcess/NetworkResourceLoader.h:
128 2013-08-26 Alexey Proskuryakov <ap@apple.com>
130 [Mac] can-read-in-dragstart-event.html and can-read-in-copy-and-cut-events.html fail
131 https://bugs.webkit.org/show_bug.cgi?id=113094
133 Reviewed by Darin Adler.
135 Return new pasteboard change count from all functions that change it.
137 * UIProcess/WebContext.h:
138 * UIProcess/WebContext.messages.in:
139 * UIProcess/mac/WebContextMac.mm:
140 (WebKit::WebContext::pasteboardCopy):
141 (WebKit::WebContext::addPasteboardTypes):
142 (WebKit::WebContext::setPasteboardTypes):
143 (WebKit::WebContext::setPasteboardPathnamesForType):
144 (WebKit::WebContext::setPasteboardStringForType):
145 (WebKit::WebContext::setPasteboardBufferForType):
146 * WebProcess/Plugins/PDF/PDFPlugin.mm:
147 (WebKit::PDFPlugin::writeItemsToPasteboard):
148 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
149 (WebKit::WebPlatformStrategies::copy):
150 (WebKit::WebPlatformStrategies::changeCount):
151 (WebKit::WebPlatformStrategies::addTypes):
152 (WebKit::WebPlatformStrategies::setTypes):
153 (WebKit::WebPlatformStrategies::setBufferForType):
154 (WebKit::WebPlatformStrategies::setPathnamesForType):
155 (WebKit::WebPlatformStrategies::setStringForType):
156 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
158 2013-08-26 Andreas Kling <akling@apple.com>
160 Unreviewed build fix.
162 * WebProcess/WebPage/WebFrame.cpp:
163 (WebKit::WebFrame::createWithCoreMainFrame):
164 (WebKit::WebFrame::createSubframe):
166 2013-08-26 Pratik Solanki <psolanki@apple.com>
168 PageGroup::groupSettings() should return a reference
169 https://bugs.webkit.org/show_bug.cgi?id=120319
171 Reviewed by Andreas Kling.
173 PageGroup::m_groupSettings is never NULL so we can just return a reference from groupSettings().
175 * WebProcess/Storage/StorageNamespaceImpl.cpp:
176 (WebKit::StorageNamespaceImpl::createLocalStorageNamespace):
178 2013-08-26 Andreas Kling <akling@apple.com>
180 WebCore: Let Page create the main Frame.
181 <https://webkit.org/b/119964>
183 Reviewed by Anders Carlsson.
185 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
186 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
187 (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
189 This starts out with a null WebFrame* pointer now.
191 (WebKit::WebFrameLoaderClient::setWebFrame):
193 WebFrame hooks itself up through this as soon as it's constructed.
195 (WebKit::WebFrameLoaderClient::frameLoaderDestroyed):
197 Tweak an out-of-date comment. The ref() we're balancing out comes from
200 * WebProcess/WebPage/WebFrame.cpp:
201 (WebKit::WebFrame::createWithCoreMainFrame):
203 Rewrote createMainFrame() as createWithCoreMainFrame(). The new method wraps
204 an existing WebCore::Frame instead of creating a new one.
206 (WebKit::WebFrame::createSubframe):
208 Merged WebFrame::init() into here since the logic isn't shared with main
209 Frame creation anymore.
211 (WebKit::WebFrame::create):
212 (WebKit::WebFrame::WebFrame):
214 Call WebFrameLoaderClient::setWebFrame(this).
216 * WebProcess/WebPage/WebFrame.h:
218 WebFrame::m_frameLoaderClient is now an OwnPtr rather than an inline member.
219 This way it can be created before the WebFrame.
221 * WebProcess/WebPage/WebPage.cpp:
222 (WebKit::WebPage::WebPage):
224 Set up a WebFrameLoaderClient and pass it to the Page constructor along with
225 the other PageClients.
227 2013-08-24 Carlos Garcia Campos <cgarcia@igalia.com>
229 [GTK] Add WebKit2 API for isolated worlds
230 https://bugs.webkit.org/show_bug.cgi?id=103377
232 Reviewed by Anders Carlsson.
234 * GNUmakefile.list.am: Add new files to compilation.
235 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
236 * UIProcess/API/gtk/tests/TestWebExtensions.cpp:
237 (testWebExtensionWindowObjectCleared):
238 (scriptDialogCallback):
239 (runJavaScriptInIsolatedWorldFinishedCallback):
240 (testWebExtensionIsolatedWorld):
242 * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
244 (windowObjectCleared):
246 (methodCallCallback):
247 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp:
248 (webkit_frame_get_javascript_context_for_script_world): New public
249 method to tget the JavaScript execution context for a given script
251 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.h:
252 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.cpp: Added.
253 (scriptWorlds): Global WebKitScriptWorld map.
254 (_WebKitScriptWorldPrivate::~_WebKitScriptWorldPrivate):
255 (webkitScriptWorldGet): Get the WebKitScriptWorld wrapping the
256 given injected bundle script world.
257 (webkitScriptWorldGetInjectedBundleScriptWorld): Get the injected
258 bundle script world wrapped by the given WebKitScriptWorld.
259 (webkitScriptWorldWindowObjectCleared): Emit
260 WebKitScriptWorld::window-object-cleared signal.
261 (webkitScriptWorldCreate): Create a new WebKitScriptWorld wrapping
262 the given injected bundle script world.
263 (createDefaultScriptWorld): Create the default WebKitScriptWorld
264 wrapping the normal world.
265 (webkit_script_world_get_default): Return the default WebKitScriptWorld.
266 (webkit_script_world_new): Create a new isolated WebKitScriptWorld.
267 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.h: Added.
268 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorldPrivate.h: Added.
269 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
270 (didClearWindowObjectForFrame): Call webkitScriptWorldWindowObjectCleared().
271 (webkitWebPageCreate): Add implementation for callback
272 didClearWindowObjectForFrame in injected bundle loader client.
273 * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
274 Include WebKitScriptWorld.h.
276 2013-08-26 Carlos Garcia Campos <cgarcia@igalia.com>
278 [WebKit2] Offsets for WKBundlePageLoaderClient in APIClientTraits are wrong
279 https://bugs.webkit.org/show_bug.cgi?id=120268
281 Reviewed by Anders Carlsson.
283 * Shared/APIClientTraits.cpp: Use always the first member of every
284 version as the offset of the version.
286 2013-08-26 Carlos Garcia Campos <cgarcia@igalia.com>
288 [GTK] Add missing initializer for pluginLoadPolicy in WKPageLoaderClient
289 https://bugs.webkit.org/show_bug.cgi?id=120289
291 Reviewed by Philippe Normand.
293 * UIProcess/API/gtk/WebKitLoaderClient.cpp:
294 (attachLoaderClientToView): Add initializer for pluginLoadPolicy
295 and rename the comment of the previous one as
296 pluginLoadPolicy_deprecatedForUseWithV2.
298 2013-08-26 Carlos Garcia Campos <cgarcia@igalia.com>
300 [GTK] webkitCredentialGetCredential returns a temporary in g_return_val_if_fail
301 https://bugs.webkit.org/show_bug.cgi?id=120287
303 Reviewed by Philippe Normand.
305 * UIProcess/API/gtk/WebKitCredential.cpp:
306 (webkitCredentialGetCredential): Use ASSERT() instead of
307 g_return_val_if_fail() since this is a private function.
309 2013-08-25 Zan Dobersek <zdobersek@igalia.com>
311 Unreviewed GTK build fix after r154565.
313 * UIProcess/API/gtk/tests/TestInspector.cpp: Include the Vector header.
314 * UIProcess/API/gtk/tests/TestResources.cpp: Ditto.
316 2013-08-24 Darin Adler <darin@apple.com>
318 Frame::tree should return a reference instead of a pointer
319 https://bugs.webkit.org/show_bug.cgi?id=120259
321 Reviewed by Andreas Kling.
323 * WebProcess/Plugins/PluginView.cpp:
324 (WebKit::PluginView::performJavaScriptURLRequest):
325 * WebProcess/Storage/StorageAreaMap.cpp:
326 (WebKit::StorageAreaMap::dispatchSessionStorageEvent):
327 (WebKit::StorageAreaMap::dispatchLocalStorageEvent):
328 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
329 (WebKit::WebFrameLoaderClient::createFrame):
330 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
331 (WebKit::WebContextMenuClient::searchWithSpotlight):
332 * WebProcess/WebPage/FindController.cpp:
333 (WebKit::frameWithSelection):
334 (WebKit::FindController::rectsForTextMatches):
335 * WebProcess/WebPage/WebFrame.cpp:
336 (WebKit::WebFrame::init):
337 (WebKit::WebFrame::contentsAsString):
338 (WebKit::WebFrame::name):
339 (WebKit::WebFrame::childFrames):
340 * WebProcess/WebPage/WebPage.cpp:
341 (WebKit::WebPage::clearMainFrameName):
342 (WebKit::WebPage::setDrawsBackground):
343 (WebKit::WebPage::setDrawsTransparentBackground):
344 (WebKit::WebPage::setWindowResizerSize):
345 (WebKit::frameWithSelection):
346 (WebKit::WebPage::unmarkAllMisspellings):
347 (WebKit::WebPage::unmarkAllBadGrammar):
348 (WebKit::pageContainsAnyHorizontalScrollbars):
349 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
350 (WebKit::TiledCoreAnimationDrawingArea::forceRepaint):
351 Use tree(). instead of tree()->.
353 2013-08-24 Commit Queue <commit-queue@webkit.org>
355 Unreviewed, rolling out r154545.
356 http://trac.webkit.org/changeset/154545
357 https://bugs.webkit.org/show_bug.cgi?id=120252
359 Broke WebKit2 API tests (Requested by andersca on #webkit).
361 * GNUmakefile.list.am:
362 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
363 * UIProcess/API/gtk/tests/TestWebExtensions.cpp:
365 * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
366 (methodCallCallback):
367 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp:
368 (webkit_frame_get_javascript_global_context):
369 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.h:
370 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.cpp: Removed.
371 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.h: Removed.
372 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorldPrivate.h: Removed.
373 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
374 (webkitWebPageCreate):
375 * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
377 2013-08-24 Carlos Garcia Campos <cgarcia@igalia.com>
379 [GTK] Add WebKit2 API for isolated worlds
380 https://bugs.webkit.org/show_bug.cgi?id=103377
382 Reviewed by Anders Carlsson.
384 * GNUmakefile.list.am: Add new files to compilation.
385 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
386 * UIProcess/API/gtk/tests/TestWebExtensions.cpp:
387 (testWebExtensionWindowObjectCleared):
388 (scriptDialogCallback):
389 (runJavaScriptInIsolatedWorldFinishedCallback):
390 (testWebExtensionIsolatedWorld):
392 * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
394 (windowObjectCleared):
396 (methodCallCallback):
397 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp:
398 (webkit_frame_get_javascript_context_for_script_world): New public
399 method to tget the JavaScript execution context for a given script
401 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.h:
402 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.cpp: Added.
403 (scriptWorlds): Global WebKitScriptWorld map.
404 (_WebKitScriptWorldPrivate::~_WebKitScriptWorldPrivate):
405 (webkitScriptWorldGet): Get the WebKitScriptWorld wrapping the
406 given injected bundle script world.
407 (webkitScriptWorldGetInjectedBundleScriptWorld): Get the injected
408 bundle script world wrapped by the given WebKitScriptWorld.
409 (webkitScriptWorldWindowObjectCleared): Emit
410 WebKitScriptWorld::window-object-cleared signal.
411 (webkitScriptWorldCreate): Create a new WebKitScriptWorld wrapping
412 the given injected bundle script world.
413 (createDefaultScriptWorld): Create the default WebKitScriptWorld
414 wrapping the normal world.
415 (webkit_script_world_get_default): Return the default WebKitScriptWorld.
416 (webkit_script_world_new): Create a new isolated WebKitScriptWorld.
417 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.h: Added.
418 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorldPrivate.h: Added.
419 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
420 (didClearWindowObjectForFrame): Call webkitScriptWorldWindowObjectCleared().
421 (webkitWebPageCreate): Add implementation for callback
422 didClearWindowObjectForFrame in injected bundle loader client.
423 * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
424 Include WebKitScriptWorld.h.
426 2013-08-24 Carlos Garcia Campos <cgarcia@igalia.com>
428 [GTK] Expose WebKitFrame in WebKit2GTK+ web extensions API
429 https://bugs.webkit.org/show_bug.cgi?id=119743
431 Reviewed by Anders Carlsson.
433 * GNUmakefile.list.am: Add new files to compilation.
434 * Shared/APIClientTraits.cpp: Update for new interface version.
435 * Shared/APIClientTraits.h: Ditto.
436 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add WebKitFrame
438 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new public
440 * UIProcess/API/gtk/docs/webkit2gtk.types: Add
441 webkit_frame_get_type.
442 * UIProcess/API/gtk/tests/FrameTest.cpp: Added.
443 (WebKitFrameTest::create):
444 (WebKitFrameTest::webPageFromArgs):
445 (WebKitFrameTest::testMainFrame):
446 (WebKitFrameTest::testURI):
447 (WebKitFrameTest::testJavaScriptContext):
448 (WebKitFrameTest::runTest):
450 * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test files.
451 * UIProcess/API/gtk/tests/TestFrame.cpp: Added.
452 (webkitFrameTestRun):
453 (testWebKitFrameMainFrame):
454 (testWebKitFrameURI):
455 (testWebKitFrameJavaScriptContext):
458 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add
459 willDestroyFrame callback to the injected bundle loader client, to
460 notify the client when a frame is about to be destroyed.
461 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp: Added.
462 (webkit_frame_class_init):
464 (webkit_frame_is_main_frame):
465 (webkit_frame_get_uri):
466 (webkit_frame_get_javascript_global_context):
467 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.h: Added.
468 * WebProcess/InjectedBundle/API/gtk/WebKitFramePrivate.h: Added.
469 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
470 (webkitFrameGetOrCreate): Helper function to create a WebKitFrame
471 wrapping the given WebFrame or returning the wrapper if it already
473 (willDestroyFrame): Remove the WebKitFrame wrapping the given
474 WebFrame if it exists.
475 (webkitWebPageCreate): Add willDestroyFrame implementation to
476 injected bundle loader client.
477 (webkit_web_page_get_main_frame): Return the main frame of the
479 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h:
480 * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
481 Include WebKitFrame.h.
482 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
483 (WebKit::InjectedBundlePageLoaderClient::willDestroyFrame): New
484 callback to be called when a frame is about to be destroyed.
485 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
486 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
487 (WebKit::WebFrameLoaderClient::frameLoaderDestroyed): Call
488 willDestroyFrame callback of injected bundle loader client.
489 * WebProcess/qt/QtBuiltinBundlePage.cpp:
490 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage): Add
491 willDestroyFrame callback.
493 2013-08-24 Antti Koivisto <antti@apple.com>
495 Revert accidental change.
499 * WebProcess/com.apple.WebProcess.sb.in:
501 2013-08-23 Beth Dakin <bdakin@apple.com>
503 REGRESSION (r132545): Some PDFs generated by WebKit are blank when viewed in
505 https://bugs.webkit.org/show_bug.cgi?id=120240
507 <rdar://problem/14634453>
509 Reviewed by Anders Carlsson.
511 Hook up new WebSystemInterface API to find out if the current context is the PDF
514 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
515 (InitWebCoreSystemInterface):
517 2013-08-23 Alexey Proskuryakov <ap@apple.com>
519 [WK2] Assertion failures when loading XSL stylesheets with NetworkProcess
520 https://bugs.webkit.org/show_bug.cgi?id=120186
521 <rdar://problem/14080273>
523 Reviewed by Brady Eidson.
525 Covered by many existing tests.
527 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
528 (WebKit::WebPlatformStrategies::loadResourceSynchronously): Pass frame ID and page ID.
529 They are mostly needed for authentication, which is not supported with sync requests,
530 but it will be supported some day.
532 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
533 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
534 (WebKit::WebFrameNetworkingContext::webFrameLoaderClient):
535 Added a way to get frame loader client from WebKit NetworkingContext subclass.
537 2013-08-22 Carlos Garcia Campos <cgarcia@igalia.com>
539 [GTK] Wrong interface version used in WebKitWebPage for loader client
540 https://bugs.webkit.org/show_bug.cgi?id=120199
542 Reviewed by Gustavo Noronha Silva.
544 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
545 (webkitWebPageCreate): Use kWKBundlePageLoaderClientCurrentVersion
546 instead of kWKBundlePageResourceLoadClientCurrentVersion in loader
547 client initialization.
549 2013-08-22 Simon Cooper <scooper@apple.com>
551 Need to disable FakeSYSVSHM when sandboxing is not enabled
552 https://bugs.webkit.org/show_bug.cgi?id=120182
553 <rdar://problem/14814461>
555 Reviewed by Alexey Proskuryakov.
557 When not in a sandbox do not enable the FakeSYSVSHIM. This
558 allows LocalConnection to work when Flash Player is run in
561 * PluginProcess/mac/PluginProcessShim.mm:
562 (WebKit::shim_disabled):
564 2013-08-22 Andy Estes <aestes@apple.com>
566 <https://webkit.org/b/120180> Fix issues with OTHER_LDFLAGS in various .xcconfig files
568 Reviewed by David Kilzer.
570 Adding ld flags for ASAN overwrote the unexported symbol flags we were
571 previously specifying. Since the unexported symbol ld flags are only
572 needed for the framework target, move them to WebKit2.xcconfig where we
573 can add them to OTHER_LDFLAGS along with the ASAN values inherited from
574 DebugRelease.xcconfig (and other values).
576 * Configurations/Base.xcconfig: Removed the unexported symbol ld flags.
577 * Configurations/WebKit2.xcconfig: ... and moved them here.
579 2013-08-21 Tim Horton <timothy_horton@apple.com>
581 Another null-deref under WebDragClient::startDrag
582 https://bugs.webkit.org/show_bug.cgi?id=120145
583 <rdar://problem/14650652>
585 Reviewed by Simon Fraser.
587 convertImageToBitmap can legitimately return null, so don't dereference it.
589 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
590 (WebKit::WebDragClient::startDrag):
592 2013-08-21 Beth Dakin <bdakin@apple.com>
594 <https://webkit.org/b/120140> Clients expect didFirstLayout-related calls to
595 happen before didLayout
597 Reviewed by Anders Carlsson.
599 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
600 (WebKit::WebFrameLoaderClient::dispatchDidLayout):
602 2013-08-21 Alexey Proskuryakov <ap@apple.com>
604 REGRESSION (r145458?): WebProcess doesn't respect UI process localization
605 https://bugs.webkit.org/show_bug.cgi?id=120096
607 Reviewed by Darin Adler.
609 We used to get into a situation where CFBundle thought that we had no good localization,
610 and used one passed as default. This is never the case with mixed localizations,
611 so default is just ignored now.
613 I think that the previous behavior was a bit of a hack. As WebProcess is not localized,
614 it's more honest to say that we want mixed localizations, and force the language
615 to match UI process localization.
617 * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h:
618 (WebKit::ChildProcessMain): Don't set default localization, it's not taken into
619 consideration unless all other attempts to compute bundle localization fail.
621 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::createProcess): Pass
622 UI process localization as -AppleLanguages argument, so that Core Foundation uses
623 that instead of actual user languages. We want to match UI process localization.
625 2013-08-20 Gavin Barraclough <barraclough@apple.com>
627 https://bugs.webkit.org/show_bug.cgi?id=120093
628 Remove getOwnPropertyDescriptor trap
630 Reviewed by Geoff Garen.
632 All implementations of this method are now called via the method table, and equivalent in behaviour.
633 Remove all duplicate implementations (and the method table trap), and add a single member function implementation on JSObject.
635 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
636 * WebProcess/Plugins/Netscape/JSNPObject.h:
637 - remove getOwnPropertyDescriptor
639 2013-08-20 Pratik Solanki <psolanki@apple.com>
641 <https://webkit.org/b/120029> Document::markers() should return a reference
643 Reviewed by Andreas Kling.
645 Document::m_markers is never NULL so return a reference from Document::markers(). Also mark
646 m_markers as const and initialize it in member initialization.
648 * WebProcess/WebPage/FindController.cpp:
649 (WebKit::FindController::rectsForTextMatches):
650 * WebProcess/WebPage/WebPage.cpp:
651 (WebKit::WebPage::unmarkAllMisspellings):
652 (WebKit::WebPage::unmarkAllBadGrammar):
654 2013-08-20 Gavin Barraclough <barraclough@apple.com>
656 https://bugs.webkit.org/show_bug.cgi?id=120053
657 Remove custom getOwnPropertyDescriptor for JSNPObject
659 Reviewed by Oliver Hunt.
661 Think this is the last one!
663 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
664 - Remove custom getOwnPropertyDescriptor implementation.
666 2013-08-20 Anton Obzhirov <a.obzhirov@samsung.com>
668 <https://webkit.org/b/119487> [Gtk] Cancel authentication on load failed
670 Reviewed by Martin Robinson.
672 Added callback to handle load-failed event in default authentication dialog.
673 Authentication request gets cancelled and the dialog widget gets destroyed.
675 * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
677 (webkitAuthenticationDialogInitialize):
678 (webkitAuthenticationDialogDispose):
679 (webkit_authentication_dialog_class_init):
680 (webkitAuthenticationDialogNew):
681 * UIProcess/API/gtk/WebKitAuthenticationDialog.h:
682 * UIProcess/API/gtk/WebKitWebView.cpp:
683 (webkitWebViewAuthenticate):
685 2013-08-20 Allan Sandfeld Jensen <allan.jensen@digia.com>
687 [Qt][WK2] Doesn't build without Plugin-process
688 https://bugs.webkit.org/show_bug.cgi?id=120060
690 Reviewed by Jocelyn Turcotte.
692 Disable netscape plugin api in WebKit2 when the plugin architecture is unsupported for WebKit2.
696 2013-08-19 Ryosuke Niwa <rniwa@webkit.org>
698 <https://webkit.org/b/120049> Delete code for Snow Leopard
700 Reviewed by Benjamin Poulain.
702 * NetworkProcess/mac/NetworkProcessMac.mm:
703 (WebKit::overrideSystemProxies):
704 (WebKit::NetworkProcess::platformInitializeNetworkProcess):
707 2013-08-19 Beth Dakin <bdakin@apple.com>
709 <https://webkit.org/b/120027> AXObjectCache's
710 accessibilityEnhancedUserInterfaceEnabled should be initialized on process
713 Reviewed by Sam Weinig.
715 Right now we only call AXObjectCache::setEnhancedAccessibility() when AppKit sends
716 us a notification indicating that the value has changed. We should not have to
717 rely on that to properly initialize this value. It should be done with the
718 WebProcessCreationParamters.
720 * Shared/WebProcessCreationParameters.cpp:
721 (WebKit::WebProcessCreationParameters::encode):
722 (WebKit::WebProcessCreationParameters::decode):
723 * Shared/WebProcessCreationParameters.h:
724 * UIProcess/mac/WebContextMac.mm:
725 (WebKit::WebContext::platformInitializeWebProcess):
726 * WebProcess/mac/WebProcessMac.mm:
727 (WebKit::WebProcess::platformInitializeWebProcess):
729 2013-08-19 Pratik Solanki <psolanki@apple.com>
731 <https://webkit.org/b/119918> Frame::selection() should return a reference
733 Reviewed by Darin Adler.
735 m_selection is never NULL so return a reference from Frame::selection(). Also removed some
736 unnecessary null checks and assert diff ts exposed as a result.
738 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
739 (WebKit::WebEditorClient::updateGlobalSelection):
740 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
741 (WebKit::collapseSelection):
742 (WebKit::WebEditorClient::updateGlobalSelection):
743 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
744 (WebKit::WebContextMenuClient::lookUpInDictionary):
745 (WebKit::WebContextMenuClient::searchWithSpotlight):
746 * WebProcess/WebPage/FindController.cpp:
747 (WebKit::frameWithSelection):
748 (WebKit::FindController::updateFindUIAfterPageScroll):
749 (WebKit::FindController::getFindIndicatorBitmapAndRect):
750 (WebKit::FindController::getImageForFindMatch):
751 (WebKit::FindController::selectFindMatch):
752 (WebKit::FindController::updateFindIndicator):
753 (WebKit::FindController::drawRect):
754 * WebProcess/WebPage/WebPage.cpp:
755 (WebKit::WebPage::editorState):
756 (WebKit::WebPage::scaledSnapshotWithOptions):
757 (WebKit::WebPage::centerSelectionInVisibleArea):
758 (WebKit::frameWithSelection):
759 (WebKit::WebPage::clearSelection):
760 (WebKit::WebPage::confirmComposition):
761 (WebKit::WebPage::setComposition):
762 (WebKit::WebPage::currentSelectionAsRange):
763 * WebProcess/WebPage/mac/WebPageMac.mm:
764 (WebKit::WebPage::setComposition):
765 (WebKit::WebPage::insertText):
766 (WebKit::WebPage::insertDictatedText):
767 (WebKit::WebPage::getMarkedRange):
768 (WebKit::WebPage::getSelectedRange):
769 (WebKit::WebPage::getAttributedSubstringFromRange):
770 (WebKit::WebPage::characterIndexForPoint):
771 (WebKit::convertToRange):
772 (WebKit::WebPage::performDictionaryLookupAtLocation):
773 (WebKit::WebPage::readSelectionFromPasteboard):
774 (WebKit::WebPage::getStringSelectionForPasteboard):
775 (WebKit::WebPage::getDataSelectionForPasteboard):
777 2013-08-18 Darin Adler <darin@apple.com>
779 <https://webkit.org/b/119989> Make use of Node::ownerDocument a compile time error
781 Reviewed by Sam Weinig.
783 * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
784 (WebKit::PDFPluginChoiceAnnotation::createAnnotationElement): Use document instead of
786 * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
787 (WebKit::PDFPluginTextAnnotation::createAnnotationElement): Ditto.
789 2013-08-18 Dan Bernstein <mitz@apple.com>
791 Fix clean engineering builds after r154251.
793 * WebKit2.xcodeproj/project.pbxproj: Removed references to the OfflineStorage XPC services
794 from the “Copy XPC services for engineering builds” build phase.
796 2013-08-18 Gavin Barraclough <barraclough@apple.com>
798 https://bugs.webkit.org/show_bug.cgi?id=119972
799 Add attributes field to PropertySlot
801 Reviewed by Geoff Garen.
803 For all JSC types, this makes getOwnPropertyDescriptor redundant.
804 There will be a bit more hacking required in WebCore to remove GOPD whilst maintaining current behaviour.
805 (Current behaviour is in many ways broken, particularly in that GOPD & GOPS are inconsistent, but we should fix incrementally).
807 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
808 (WebKit::JSNPObject::getOwnPropertySlot):
809 (WebKit::JSNPObject::getOwnPropertyDescriptor):
810 - Pass attributes to PropertySlot::set* methods.
812 2013-08-16 Sam Weinig <sam@webkit.org>
814 <https://webkit.org/b/119911> Remove the unused OfflineStorageProcess
816 Reviewed by Darin Adler.
818 * Configurations/OfflineStorageProcess.xcconfig: Removed.
819 * Configurations/OfflineStorageService.Development.xcconfig: Removed.
820 * Configurations/OfflineStorageService.xcconfig: Removed.
821 * DerivedSources.make:
822 * OfflineStorageProcess: Removed.
823 * OfflineStorageProcess/EntryPoint: Removed.
824 * OfflineStorageProcess/EntryPoint/mac: Removed.
825 * OfflineStorageProcess/EntryPoint/mac/LegacyProcess: Removed.
826 * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/Info.plist: Removed.
827 * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMain.mm: Removed.
828 * OfflineStorageProcess/EntryPoint/mac/XPCService: Removed.
829 * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService: Removed.
830 * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development: Removed.
831 * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/Info.plist: Removed.
832 * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/Info.plist: Removed.
833 * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageServiceEntryPoint.mm: Removed.
834 * OfflineStorageProcess/OfflineStorageProcess.cpp: Removed.
835 * OfflineStorageProcess/OfflineStorageProcess.h: Removed.
836 * OfflineStorageProcess/OfflineStorageProcess.messages.in: Removed.
837 * OfflineStorageProcess/mac: Removed.
838 * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm: Removed.
839 * OfflineStorageProcess/mac/com.apple.WebKit.OfflineStorage.sb: Removed.
840 * Scripts/webkit2/messages.py:
841 * Shared/OfflineStorage: Removed.
842 * Shared/OfflineStorage/OfflineStorageProcessCreationParameters.cpp: Removed.
843 * Shared/OfflineStorage/OfflineStorageProcessCreationParameters.h: Removed.
844 * WebKit2.xcodeproj/project.pbxproj:
847 2013-08-17 Darin Adler <darin@apple.com>
849 <https://webkit.org/b/119941> Make Page::dragController return a reference
851 Reviewed by Andreas Kling.
853 * WebProcess/WebPage/WebPage.cpp:
854 (WebKit::WebPage::performDragControllerAction):
855 (WebKit::WebPage::dragEnded):
858 2013-08-17 David Kilzer <ddkilzer@apple.com>
860 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]
861 <http://webkit.org/b/119935>
862 <rdar://problem/14764131>
864 Reviewed by Darin Adler.
866 * UIProcess/Plugins/WebPluginSiteDataManager.h: Fix typo
867 introduced in r78647.
869 2013-08-16 Pratik Solanki <psolanki@apple.com>
871 <https://webkit.org/b/119852> Frame::scriptController() should return a reference
873 Reviewed by Andreas Kling.
875 m_script is never NULL so we can just return a reference. Also remove some pointless null
876 checks as a result of doing this.
878 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
879 (WebKit::NPRuntimeObjectMap::globalObject):
880 * WebProcess/Plugins/PluginView.cpp:
881 (WebKit::PluginView::performJavaScriptURLRequest):
882 (WebKit::PluginView::windowScriptNPObject):
883 (WebKit::PluginView::pluginElementNPObject):
884 * WebProcess/WebPage/WebFrame.cpp:
885 (WebKit::WebFrame::jsContext):
886 (WebKit::WebFrame::jsContextForWorld):
887 (WebKit::WebFrame::jsWrapperForWorld):
888 * WebProcess/WebPage/WebInspector.cpp:
889 (WebKit::WebInspector::didSave):
890 (WebKit::WebInspector::didAppend):
891 * WebProcess/WebPage/WebPage.cpp:
892 (WebKit::WebPage::runJavaScriptInMainFrame):
894 2013-08-16 Brady Eidson <beidson@apple.com>
896 (NetworkProcess) Sync XHRs should load using async ResourceHandles, not ResourceHandle::loadResourceSynchronously
897 https://bugs.webkit.org/show_bug.cgi?id=119493
899 Reviewed by Alexey Proskuryakov.
901 This patch does the following:
902 - Consolidates SchedulableLoader and NetworkResourceLoader into one class.
903 - Removes SyncNetworkResourceLoader.
904 - Adds a NetworkLoaderClient interface that customizes certain behaviors of the NetworkResourceLoader.
905 - Implements a SynchronousNetworkLoaderClient and AsynchronousNetworkLoaderClient for the two different types of loads.
907 The AsynchronousNetworkLoaderClient results in messaging back progress to the WebProcess as the load progresses.
908 The SynchronousNetworkLoaderClient accumulates the response, data, and error to be communicated back to the WebProcess
909 only when the load is complete.
911 Update small swaths of code to reflect that NetworkResourceLoader is the One True Loader (tm):
912 * NetworkProcess/HostRecord.cpp:
913 (WebKit::HostRecord::scheduleResourceLoader):
914 (WebKit::HostRecord::addLoaderInProgress):
915 (WebKit::removeLoaderFromQueue):
916 (WebKit::HostRecord::removeLoader):
917 (WebKit::HostRecord::servePendingRequestsForQueue):
918 (WebKit::HostRecord::limitsRequests):
919 * NetworkProcess/HostRecord.h:
921 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
922 (WebKit::NetworkConnectionToWebProcess::didClose):
923 (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
924 (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):
925 * NetworkProcess/NetworkConnectionToWebProcess.h:
927 * NetworkProcess/NetworkProcess.cpp:
928 * NetworkProcess/NetworkResourceLoadScheduler.cpp:
929 (WebKit::NetworkResourceLoadScheduler::scheduleLoader):
930 (WebKit::NetworkResourceLoadScheduler::removeLoader):
931 (WebKit::NetworkResourceLoadScheduler::receivedRedirect):
932 (WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):
933 (WebKit::NetworkResourceLoadScheduler::scheduleRemoveLoader):
934 * NetworkProcess/NetworkResourceLoadScheduler.h:
936 Combine ScheduleableLoader and NetworkResourceLoader into NetworkResourceLoader:
937 * NetworkProcess/NetworkResourceLoader.cpp:
938 (WebKit::NetworkResourceLoader::NetworkResourceLoader):
939 (WebKit::NetworkResourceLoader::~NetworkResourceLoader):
940 (WebKit::NetworkResourceLoader::isSynchronous):
941 (WebKit::NetworkResourceLoader::start):
942 (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
943 (WebKit::NetworkResourceLoader::didReceiveBuffer):
944 (WebKit::NetworkResourceLoader::didFinishLoading):
945 (WebKit::NetworkResourceLoader::didFail):
946 (WebKit::NetworkResourceLoader::willSendRequestAsync):
947 (WebKit::NetworkResourceLoader::continueWillSendRequest):
948 (WebKit::NetworkResourceLoader::didSendData):
949 (WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
950 (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
951 (WebKit::NetworkResourceLoader::consumeSandboxExtensions):
952 (WebKit::NetworkResourceLoader::invalidateSandboxExtensions):
953 (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
954 * NetworkProcess/NetworkResourceLoader.h:
955 (WebKit::NetworkResourceLoader::create):
956 (WebKit::NetworkResourceLoader::connectionToWebProcess):
957 (WebKit::NetworkResourceLoader::priority):
958 (WebKit::NetworkResourceLoader::request):
959 (WebKit::NetworkResourceLoader::isLoadingMainResource):
960 (WebKit::NetworkResourceLoader::setHostRecord):
961 (WebKit::NetworkResourceLoader::hostRecord):
962 (WebKit::NetworkResourceLoader::sendAbortingOnFailure):
964 Add an abstract NetworkLoaderClient to adapt a load to be either synchronous or asynchronous:
965 * NetworkProcess/NetworkLoaderClient.h:
966 (WebKit::NetworkLoaderClient::~NetworkLoaderClient):
967 (WebKit::NetworkLoaderClient::isSynchronous):
968 (WebKit::NetworkLoaderClient::NetworkLoaderClient):
970 The asynchronous loader client, primarily to message progress back to the WebProcess as it happens:
971 * NetworkProcess/AsynchronousNetworkLoaderClient.cpp: Added.
972 (WebKit::AsynchronousNetworkLoaderClient::AsynchronousNetworkLoaderClient):
973 (WebKit::AsynchronousNetworkLoaderClient::willSendRequest):
974 (WebKit::AsynchronousNetworkLoaderClient::canAuthenticateAgainstProtectionSpace):
975 (WebKit::AsynchronousNetworkLoaderClient::didReceiveResponse):
976 (WebKit::AsynchronousNetworkLoaderClient::didReceiveBuffer):
977 (WebKit::AsynchronousNetworkLoaderClient::didSendData):
978 (WebKit::AsynchronousNetworkLoaderClient::didFinishLoading):
979 (WebKit::AsynchronousNetworkLoaderClient::didFail):
980 * NetworkProcess/AsynchronousNetworkLoaderClient.h:
981 (WebKit::AsynchronousNetworkLoaderClient::create):
983 The synchronous loader client, primarily to accumulate results of the load to send back to the WebProcess all at once:
984 * NetworkProcess/SynchronousNetworkLoaderClient.cpp: Added.
985 (WebKit::SynchronousNetworkLoaderClient::SynchronousNetworkLoaderClient):
986 (WebKit::SynchronousNetworkLoaderClient::~SynchronousNetworkLoaderClient):
987 (WebKit::SynchronousNetworkLoaderClient::willSendRequest):
988 (WebKit::SynchronousNetworkLoaderClient::canAuthenticateAgainstProtectionSpace):
989 (WebKit::SynchronousNetworkLoaderClient::didReceiveResponse):
990 (WebKit::SynchronousNetworkLoaderClient::didReceiveBuffer):
991 (WebKit::SynchronousNetworkLoaderClient::didFinishLoading):
992 (WebKit::SynchronousNetworkLoaderClient::didFail):
993 (WebKit::SynchronousNetworkLoaderClient::sendDelayedReply):
994 * NetworkProcess/SynchronousNetworkLoaderClient.h: Added.
995 (WebKit::SynchronousNetworkLoaderClient::create):
997 * NetworkProcess/SchedulableLoader.cpp: Removed.
998 * NetworkProcess/SchedulableLoader.h: Removed.
999 * NetworkProcess/SyncNetworkResourceLoader.cpp: Removed.
1000 * NetworkProcess/SyncNetworkResourceLoader.h: Removed.
1002 * WebKit2.xcodeproj/project.pbxproj:
1004 2013-08-16 Gabor Rapcsanyi <rgabor@webkit.org>
1006 [Qt][ARM] Unreviewed buildfix after 154127.
1008 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: Add missing header.
1010 2013-08-15 Ryuan Choi <ryuan.choi@samsung.com>
1012 [EFL] Unreviewed build fix after r154142 and r154144.
1014 * UIProcess/WebContext.cpp:
1015 (WebKit::WebContext::useTestingNetworkSession):
1016 Fixed build break when NETWORK_PROCESS is disabled after r154144.
1018 2013-08-15 Chris Fleizach <cfleizach@apple.com>
1020 <https://webkit.org/b/119858> AX: Crash: com.apple.WebKit.WebContent at com.apple.WebKit2: WebKit::WebPage::accessibilityObjectForMainFramePlugin + 8
1022 Reviewed by Tim Horton.
1024 Ensure that the page is available before accessing it.
1026 * WebProcess/WebPage/mac/WebPageMac.mm:
1027 (WebKit::WebPage::accessibilityObjectForMainFramePlugin):
1029 2013-08-15 Alexey Proskuryakov <ap@apple.com>
1031 [WK2] NetworkProcess should use a temporary storage session for test
1032 https://bugs.webkit.org/show_bug.cgi?id=119855
1034 Reviewed by Darin Adler.
1036 We used to have a bundle API for WebKitTestRunner to do this in injected bundle, but
1037 NetworkProcess has no injected bundle.
1039 Added a WKContext API, sending the information to NetworkProcess with initialization
1040 parameters. Reworked WebProcess path to do the same for consistency - bundle API
1041 is better per se, but not when we also need to have another one.
1043 * NetworkProcess/NetworkProcess.cpp:
1044 (WebKit::NetworkProcess::initializeNetworkProcess):
1045 * Shared/Network/NetworkProcessCreationParameters.cpp:
1046 (WebKit::NetworkProcessCreationParameters::encode):
1047 (WebKit::NetworkProcessCreationParameters::decode):
1048 * Shared/Network/NetworkProcessCreationParameters.h:
1049 * Shared/WebProcessCreationParameters.cpp:
1050 (WebKit::WebProcessCreationParameters::encode):
1051 (WebKit::WebProcessCreationParameters::decode):
1052 * Shared/WebProcessCreationParameters.h:
1053 * UIProcess/API/C/WKContext.cpp:
1054 (WKContextUseTestingNetworkSession):
1055 * UIProcess/API/C/WKContextPrivate.h:
1056 * UIProcess/WebContext.cpp:
1057 (WebKit::WebContext::WebContext):
1058 (WebKit::WebContext::ensureNetworkProcess):
1059 (WebKit::WebContext::createNewWebProcess):
1060 (WebKit::WebContext::useTestingNetworkSession):
1061 * UIProcess/WebContext.h:
1062 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
1063 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
1064 * WebProcess/InjectedBundle/InjectedBundle.cpp:
1065 * WebProcess/InjectedBundle/InjectedBundle.h:
1066 * WebProcess/WebProcess.cpp:
1067 (WebKit::WebProcess::initializeWebProcess):
1069 2013-08-15 Anders Carlsson <andersca@apple.com>
1071 <https://webkit.org/b/119859> Frame::loader() should return a reference
1073 Reviewed by Andreas Kling.
1075 * Shared/WebRenderLayer.cpp:
1076 (WebKit::WebRenderLayer::create):
1077 * Shared/WebRenderObject.cpp:
1078 (WebKit::WebRenderObject::create):
1079 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
1080 (WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation):
1081 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1082 (WKBundleFrameGetFrameLoadState):
1083 (WKBundleFrameClearOpener):
1084 (WKBundleFrameCallShouldCloseOnWebView):
1085 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1086 (WebKit::InjectedBundleNodeHandle::documentFrame):
1087 (WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame):
1088 (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
1089 * WebProcess/InjectedBundle/InjectedBundle.cpp:
1090 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
1091 * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
1092 (WebKit::InjectedBundleDOMWindowExtension::frame):
1093 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
1094 (WebKit::InjectedBundleHitTestResult::frame):
1095 (WebKit::InjectedBundleHitTestResult::targetFrame):
1096 * WebProcess/Plugins/PDF/PDFPlugin.mm:
1097 (WebKit::PDFPlugin::clickedLink):
1098 * WebProcess/Plugins/PluginView.cpp:
1100 (WebKit::PluginView::didFailToInitializePlugin):
1101 (WebKit::PluginView::performFrameLoadURLRequest):
1102 (WebKit::PluginView::userAgent):
1103 (WebKit::PluginView::loadURL):
1104 (WebKit::PluginView::cancelManualStreamLoad):
1105 (WebKit::PluginView::proxiesForURL):
1106 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1107 (WebKit::WebChromeClient::focusedElementChanged):
1108 (WebKit::WebChromeClient::focusedFrameChanged):
1109 (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
1110 (WebKit::WebChromeClient::closeWindowSoon):
1111 (WebKit::WebChromeClient::runJavaScriptAlert):
1112 (WebKit::WebChromeClient::runJavaScriptConfirm):
1113 (WebKit::WebChromeClient::runJavaScriptPrompt):
1114 (WebKit::WebChromeClient::unavailablePluginButtonClicked):
1115 (WebKit::WebChromeClient::print):
1116 (WebKit::WebChromeClient::exceededDatabaseQuota):
1117 (WebKit::WebChromeClient::runOpenPanel):
1118 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1119 (WebKit::WebContextMenuClient::searchWithGoogle):
1120 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1121 (WebKit::WebEditorClient::textFieldDidBeginEditing):
1122 (WebKit::WebEditorClient::textFieldDidEndEditing):
1123 (WebKit::WebEditorClient::textDidChangeInTextField):
1124 (WebKit::WebEditorClient::textDidChangeInTextArea):
1125 (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
1126 (WebKit::WebEditorClient::textWillBeDeletedInTextField):
1127 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1128 (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
1129 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
1130 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
1131 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
1132 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
1133 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
1134 (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
1135 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
1136 (WebKit::WebFrameLoaderClient::updateGlobalHistory):
1137 (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
1138 (WebKit::WebFrameLoaderClient::restoreViewState):
1139 (WebKit::WebFrameLoaderClient::createFrame):
1140 (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
1141 (WebKit::WebFrameLoaderClient::objectContentType):
1142 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1143 (WebKit::WebPlatformStrategies::getPluginInfo):
1144 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1145 (WebKit::WebFrameNetworkingContext::blockedError):
1146 * WebProcess/WebPage/WebFrame.cpp:
1147 (WebKit::WebFrame::didReceivePolicyDecision):
1148 (WebKit::WebFrame::startDownload):
1149 (WebKit::WebFrame::source):
1150 (WebKit::WebFrame::contentsAsString):
1151 (WebKit::WebFrame::url):
1152 (WebKit::WebFrame::parentFrame):
1153 (WebKit::WebFrame::childFrames):
1154 (WebKit::WebFrame::stopLoading):
1155 (WebKit::WebFrame::frameForContext):
1156 (WebKit::WebFrame::provisionalURL):
1157 (WebKit::WebFrame::suggestedFilenameForResourceWithURL):
1158 (WebKit::WebFrame::mimeTypeForResourceWithURL):
1159 (WebKit::WebFrameFilter::shouldIncludeSubframe):
1160 * WebProcess/WebPage/WebPage.cpp:
1161 (WebKit::WebPage::createPlugin):
1162 (WebKit::WebPage::close):
1163 (WebKit::WebPage::tryClose):
1164 (WebKit::WebPage::loadURLRequest):
1165 (WebKit::WebPage::loadDataImpl):
1166 (WebKit::WebPage::linkClicked):
1167 (WebKit::WebPage::stopLoadingFrame):
1168 (WebKit::WebPage::stopLoading):
1169 (WebKit::WebPage::reload):
1170 (WebKit::WebPage::tryRestoreScrollPosition):
1171 (WebKit::WebPage::getMainResourceDataOfFrame):
1172 (WebKit::resourceDataForFrame):
1173 (WebKit::shouldReuseCommittedSandboxExtension):
1174 (WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad):
1175 (WebKit::WebPage::hasLocalDataForURL):
1176 (WebKit::WebPage::setCustomTextEncodingName):
1177 (WebKit::WebPage::canPluginHandleResponse):
1178 (WebKit::WebPage::canShowMIMEType):
1179 (WebKit::WebPage::didCommitLoad):
1180 * WebProcess/WebPage/mac/WebPageMac.mm:
1181 (WebKit::WebPage::platformHasLocalDataForURL):
1182 (WebKit::cachedResponseForURL):
1183 * WebProcess/WebProcess.cpp:
1184 (WebKit::WebProcess::downloadRequest):
1186 2013-08-14 Filip Pizlo <fpizlo@apple.com>
1188 Typed arrays should be rewritten
1189 https://bugs.webkit.org/show_bug.cgi?id=119064
1191 Reviewed by Oliver Hunt.
1193 You don't need to include JSUint8Array anymore if you just want to
1194 unwrap one; JSDOMBinding gives you all of the things you need.
1196 * WebProcess/InjectedBundle/InjectedBundle.cpp:
1198 2013-08-15 Eric Carlson <eric.carlson@apple.com>
1200 [Mac] Remove "legacy" media UI
1201 https://bugs.webkit.org/show_bug.cgi?id=119752
1203 Reviewed by Jer Noble.
1205 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1206 (InitWebCoreSystemInterface): Remove MediaControllerThemeAvailable.
1208 2013-08-14 Dean Jackson <dino@apple.com>
1210 <https://webkit.org/b/119827> Allow primary plug-in detection to run more than once if necessary
1212 Reviewed by Tim Horton.
1214 We occasionally see cases where the primary plug-in detection runs before the plugins have been added
1215 to the page, especially if they do so in response to a load event. Tweak the algorithm so that it can
1216 run an arbitrary number of times if it fails.
1218 While here, also have the detection run if there has ever been a plugin in the page as opposed to any
1219 current views. We may have snapshotted a plugin by now and deleted its view.
1221 * WebProcess/WebPage/WebPage.cpp:
1222 (WebKit::WebPage::WebPage): initialise new members.
1223 (WebKit::WebPage::addPluginView): Mark that we've seen a plugin.
1224 (WebKit::WebPage::resetPrimarySnapshottedPlugIn): Reset new members.
1225 (WebKit::WebPage::determinePrimarySnapshottedPlugIn): Exit early if we've never
1226 seen a plugin, rather than if we don't have any active views. Also, if we didn't find anything set
1227 a timer to run again (maximum of two attempts at the moment).
1228 * WebProcess/WebPage/WebPage.h: New members - m_numberOfPrimarySnapshotDetectionAttempts
1229 and m_hasSeenPlugin.
1231 2013-08-14 Dean Jackson <dino@apple.com>
1233 <https://webkit.org/b/119820> Add pluginView-related logging to WebPage
1235 Reviewed by Tim Horton.
1237 Add some more diagnostic output to help track down bugs.
1239 * WebProcess/WebPage/WebPage.cpp:
1240 (WebKit::WebPage::addPluginView): More logging.
1241 (WebKit::WebPage::removePluginView): Ditto.
1243 2013-08-14 Alexey Proskuryakov <ap@apple.com>
1245 [WK2] Sync messages with with non-default timeout sent from secondary threads always time out
1246 https://bugs.webkit.org/show_bug.cgi?id=119767
1249 Reviewed by Darin Adler.
1251 * Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
1252 The argument to wait() is absolute time, not a delta. This calculation matches one
1253 in Connection::waitForMessage().
1255 2013-08-14 Tim Horton <timothy_horton@apple.com>
1257 REGRESSION (r153877): Plugin scanning slows creation of WebViews
1258 https://bugs.webkit.org/show_bug.cgi?id=119665
1259 <rdar://problem/14716549>
1261 Reviewed by Darin Adler.
1263 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1264 (WebKit::WebPlatformStrategies::refreshPlugins):
1265 Don't repopulate the plugin cache in refreshPlugins, just invalidate it.
1266 It will be repopulated the next time something tries to use it.
1268 2013-08-12 Dan Bernstein <mitz@apple.com>
1270 Fixed an off-by-(sizeof(char*) - 1) bug.
1272 Reviewed by Sam Weinig.
1274 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
1275 (WebKit::XPCServiceEventHandler): Allocate a sufficiently large buffer.
1277 2013-08-12 Beth Dakin <bdakin@apple.com>
1279 Remove didNewFirstVisuallyNonEmptyLayout from WebKit2
1280 https://bugs.webkit.org/show_bug.cgi?id=119658
1282 Reviewed by Darin Adler.
1284 Removing this function entirely will change some functionality in the Nightlies,
1285 but we think that is an acceptable difference for the Nightlies. If is does cause
1286 a problem though, we can roll out this patch and deprecate the function instead.
1288 * UIProcess/API/C/WKPage.h:
1289 * UIProcess/WebLoaderClient.cpp:
1290 * UIProcess/WebLoaderClient.h:
1291 * UIProcess/WebPageProxy.cpp:
1292 (WebKit::WebPageProxy::initializeLoaderClient):
1293 * UIProcess/WebPageProxy.h:
1294 * UIProcess/WebPageProxy.messages.in:
1295 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1296 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
1297 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
1298 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1299 (WebKit::WebFrameLoaderClient::dispatchDidLayout):
1300 * WebProcess/WebPage/WebPage.cpp:
1301 (WebKit::WebPage::initializeInjectedBundleLoaderClient):
1303 2013-08-12 Arunprasad Rajkumar <arurajku@cisco.com>
1305 [Qt] [WebKit2] Remove duplicate RAM Size calculation and reuse WTF::ramSize()
1306 https://bugs.webkit.org/show_bug.cgi?id=119663
1308 Reviewed by Sam Weinig.
1310 * WebProcess/qt/WebProcessQt.cpp:
1311 (WebKit::WebProcess::platformSetCacheModel):
1313 2013-08-12 Anton Obzhirov <a.obzhirov@samsung.com>
1315 [GTK] Don't load GAIL when using GTK 3.2 or greater
1316 https://bugs.webkit.org/show_bug.cgi?id=72735
1318 Reviewed by Carlos Garcia Campos.
1320 * UIProcess/API/gtk/tests/AccessibilityTestServer.cpp:
1323 2013-08-09 Beth Dakin <bdakin@apple.com>
1325 AX: Not able to use arrow keys to read text in a WK2 app
1326 https://bugs.webkit.org/show_bug.cgi?id=119605
1328 <rdar://problem/14281275>
1330 Reviewed by Darin Adler.
1332 Make all of these scrolling functions actually return the WebCore bools that
1333 indicate whether or not scrolling happened.
1334 * WebProcess/WebPage/WebPage.cpp:
1335 (WebKit::WebPage::scroll):
1336 (WebKit::WebPage::logicalScroll):
1337 (WebKit::WebPage::scrollBy):
1338 * WebProcess/WebPage/WebPage.h:
1339 * WebProcess/WebPage/mac/WebPageMac.mm:
1340 (WebKit::WebPage::executeKeypressCommandsInternal):
1342 This function now gives accessibility a chance to handle the event too. And it
1343 also actually tracks whether or not the event was handled by scrolling instead of
1344 assuming that it was and universally returning true.
1345 (WebKit::WebPage::performNonEditingBehaviorForSelector):
1347 2013-08-09 Brian Holt <brian.holt@samsung.com>
1349 [GTK] [WebKit2] Add an 'authenticate' signal to WebKitWebView
1350 https://bugs.webkit.org/show_bug.cgi?id=99352
1352 Reviewed by Carlos Garcia Campos.
1354 Add a new public class to the API, WebKitAuthenticationRequest, to be
1355 emitted along with a new WebKitWebView::authenticate signal to
1356 let client applications to provide their own authentication
1357 when the user is challenged with HTTP authentication. The
1358 credential is exposed through a new class WebKitCredential.
1360 * GNUmakefile.list.am:
1361 * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
1362 (okButtonClicked): Use new API for authentication.
1363 (cancelButtonClicked): Ditto.
1364 (webkitAuthenticationDialogInitialize):Get
1365 authenticationChallenge from request object.
1366 (webkitAuthenticationDialogNew): Ditto.
1367 * UIProcess/API/gtk/WebKitAuthenticationDialog.h:
1368 * UIProcess/API/gtk/WebKitAuthenticationRequest.cpp: Added new
1369 class representing a HTTP authentication request.
1370 (webkitAuthenticationRequestDispose):
1371 (webkit_authentication_request_class_init):
1372 (webkitAuthenticationRequestCreate):
1373 (webkitAuthenticationRequestGetAuthenticationChallenge):
1374 (webkit_authentication_request_can_save_credentials):
1375 (webkit_authentication_request_get_proposed_credential):
1376 (webkit_authentication_request_get_host):
1377 (webkit_authentication_request_get_port):
1378 (webkit_authentication_request_get_realm):
1379 (webkit_authentication_request_get_scheme):
1380 (webkit_authentication_request_is_for_proxy):
1381 (webkit_authentication_request_is_retry):
1382 (webkit_authentication_request_authenticate):
1383 (webkit_authentication_request_cancel):
1384 * UIProcess/API/gtk/WebKitAuthenticationRequest.h: Added.
1385 * UIProcess/API/gtk/WebKitAuthenticationRequestPrivate.h: Added.
1386 * UIProcess/API/gtk/WebKitCredential.cpp: Added new class to
1387 support credentials for HTTP authentication.
1388 (_WebKitCredential::_WebKitCredential):
1389 (webkitCredentialCreate):
1390 (webkitCredentialGetCredential):
1391 (webkit_credential_new):
1392 (webkit_credential_copy):
1393 (webkit_credential_free):
1394 (webkit_credential_get_username):
1395 (webkit_credential_get_password):
1396 (webkit_credential_has_password):
1397 (webkit_credential_get_persistence):
1398 * UIProcess/API/gtk/WebKitCredential.h: Added.
1399 * UIProcess/API/gtk/WebKitCredentialPrivate.h: Added.
1400 * UIProcess/API/gtk/WebKitWebView.cpp: Added authenticate signal.
1401 (webkitWebViewAuthenticate): Default signal handler for authenticate.
1402 (webkit_web_view_class_init): Ditto.
1403 (webkitWebViewHandleAuthenticationChallenge): Create an
1404 authentication request and emit it with authenticate signal.
1405 * UIProcess/API/gtk/WebKitWebView.h: Replaced reserved function
1406 pointer slot with for WebViewClass with function pointer to
1407 authenticate signal handler.
1408 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new section for
1409 the authentication request.
1410 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
1411 * UIProcess/API/gtk/docs/webkit2gtk.types: Added authentication
1412 request and credential types.
1413 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Created a new
1414 unit test for HTTP authentication. A libsoup server callback
1415 handler is installed that creates soup messages with appropriate
1416 headers and body to test HTTP authentication.
1417 (testWebViewAuthenticationRequest): Test the authentication
1418 request and credential API.
1419 (testWebViewAuthenticationCancel): Test cancelled authentication.
1420 (testWebViewAuthenticationFailure): Test repeated authentication failures.
1421 (testWebViewAuthenticationNoCredential): Test continue without
1423 (testWebViewAuthenticationStorage): Test credential storage.
1424 (testWebViewAuthenticationSuccess): Test successful authentication.
1425 (beforeAll): Added tests.
1426 * UIProcess/API/gtk/webkit2.h: Added WebKitAuthenticationRequest and
1427 WebKitCredential headers.
1429 2013-08-09 Tim Horton <timothy_horton@apple.com>
1431 PDFPlugin is disabled by default in nightlies on Mac accidentally
1432 https://bugs.webkit.org/show_bug.cgi?id=119615
1434 Rubber-stamped by Andreas Kling.
1436 Enable PDFPlugin by default on Mac at the WebKit2 level.
1438 * Shared/WebPreferencesStore.h:
1439 * UIProcess/API/C/WKPreferencesPrivate.h:
1441 2013-08-08 Tim Horton <timothy_horton@apple.com>
1443 navigator.plugins has plugins in it when plugins are disabled
1444 https://bugs.webkit.org/show_bug.cgi?id=119607
1445 <rdar://problem/14678030>
1447 Reviewed by Anders Carlsson.
1449 * UIProcess/WebProcessProxy.cpp:
1450 (WebKit::WebProcessProxy::getPlugins):
1451 Return a list of all plugins, and a list of only application plugins.
1453 * UIProcess/WebProcessProxy.h:
1454 * UIProcess/WebProcessProxy.messages.in:
1455 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
1456 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1457 (WebKit::WebPlatformStrategies::getPluginInfo):
1458 Add applicationPlugin parameter to getPlugins, and storage for the returned list.
1460 (WebKit::WebPlatformStrategies::populatePluginCache):
1461 If plugins are disabled for the given page, give WebCore the list that
1462 only includes application plugins. Otherwise, give it the whole list
1463 as we are doing currently.
1465 2013-08-08 Gavin Barraclough <barraclough@apple.com>
1467 Disable suppression of plugin process for Java
1468 https://bugs.webkit.org/show_bug.cgi?id=119604
1470 Reviewed by Sam Weinig.
1472 Workaround, the Java plugin doesn't like this.
1474 * PluginProcess/mac/PluginProcessMac.mm:
1475 (WebKit::PluginProcess::platformInitializeProcess):
1476 - +1 active task count on the java plugin, to inhibit supression.
1478 2013-08-08 Dean Jackson <dino@apple.com>
1480 Add logging to the primary plugin detection
1481 https://bugs.webkit.org/show_bug.cgi?id=119594
1483 Reviewed by Tim Horton.
1485 Add some simple logging to our primary plug-in detection.
1487 * WebProcess/WebPage/WebPage.cpp:
1488 (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
1490 2013-08-08 Alexey Proskuryakov <ap@apple.com>
1492 WKBundleFrameCopyProvisionalURL crashes when there is no provisional loader
1493 https://bugs.webkit.org/show_bug.cgi?id=119587
1495 Reviewed by Darin Adler.
1497 * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::provisionalURL): Added a null
1498 check, like we already have in WebFrame::url().
1500 2013-08-07 Antti Koivisto <antti@apple.com>
1502 Try to fix EFL build.
1508 2013-08-06 Jer Noble <jer.noble@apple.com>
1510 Crash when entering fullscreen video playback from a WebView using WebKit2
1511 https://bugs.webkit.org/show_bug.cgi?id=119531
1513 Reviewed by Tim Horton.
1515 Initialize wkWindowSetScaledFrame and wkWindowSetAlpha when initializing WebCoreSystemInterface.
1517 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1518 (InitWebCoreSystemInterface):
1520 2013-08-06 Stephanie Lewis <slewis@apple.com>
1522 Update Order Files for Safari
1523 <rdar://problem/14517392>
1527 * mac/WebKit2.order:
1529 2013-08-04 Sam Weinig <sam@webkit.org>
1531 Remove support for HTML5 MicroData
1532 https://bugs.webkit.org/show_bug.cgi?id=119480
1534 Reviewed by Anders Carlsson.
1536 * Configurations/FeatureDefines.xcconfig:
1538 2013-08-06 Eunmi Lee <eunmi15.lee@samsung.com>
1540 [EFL][WK2] Implement gesture recognizer.
1541 https://bugs.webkit.org/show_bug.cgi?id=102643
1543 Reviewed by Gyuyoung Kim.
1545 Recognize tap, pan and pinch gestures using touch events.
1546 The tap gesture is separated into single tap, double tap and
1549 This patch references the webkit NIX port.
1550 https://github.com/WebKitNix/webkitnix
1552 * PlatformEfl.cmake:
1553 * UIProcess/API/efl/EwkView.cpp:
1555 (EwkView::doneWithTouchEvent):
1556 * UIProcess/API/efl/EwkView.h:
1557 * UIProcess/API/efl/GestureRecognizer.cpp: Added.
1558 (WebKit::GestureHandler::create):
1559 (WebKit::GestureHandler::GestureHandler):
1560 (WebKit::GestureHandler::handleSingleTap):
1561 (WebKit::GestureHandler::handleDoubleTap):
1562 (WebKit::GestureHandler::handleTapAndHold):
1563 (WebKit::GestureHandler::handlePanStarted):
1564 (WebKit::GestureHandler::handlePan):
1565 (WebKit::GestureHandler::handlePanFinished):
1566 (WebKit::GestureHandler::handlePinchStarted):
1567 (WebKit::GestureHandler::handlePinch):
1568 (WebKit::GestureHandler::handlePinchFinished):
1569 (WebKit::GestureRecognizer::GestureRecognizer):
1570 (WebKit::GestureRecognizer::~GestureRecognizer):
1571 (WebKit::GestureRecognizer::processTouchEvent):
1572 (WebKit::GestureRecognizer::doubleTapTimerCallback):
1573 (WebKit::GestureRecognizer::tapAndHoldTimerCallback):
1574 (WebKit::GestureRecognizer::exceedsPanThreshold):
1575 (WebKit::GestureRecognizer::exceedsDoubleTapThreshold):
1576 (WebKit::getPointAtIndex):
1577 (WebKit::createVectorWithWKArray):
1578 (WebKit::GestureRecognizer::noGesture):
1579 (WebKit::GestureRecognizer::singleTapGesture):
1580 (WebKit::GestureRecognizer::doubleTapGesture):
1581 (WebKit::GestureRecognizer::panGesture):
1582 (WebKit::GestureRecognizer::pinchGesture):
1583 (WebKit::GestureRecognizer::reset):
1584 (WebKit::GestureRecognizer::stopTapTimers):
1585 * UIProcess/API/efl/GestureRecognizer.h: Added.
1586 (WebKit::GestureRecognizer::create):
1588 2013-07-23 David Farler <dfarler@apple.com>
1590 Provide optional OTHER_CFLAGS, OTHER_CPPFLAGS, OTHER_LDFLAGS additions for building with ASAN
1591 https://bugs.webkit.org/show_bug.cgi?id=117762
1593 Reviewed by Mark Rowe.
1595 * Configurations/DebugRelease.xcconfig:
1596 Add ASAN_OTHER_CFLAGS, CPLUSPLUSFLAGS, LDFLAGS.
1597 * Configurations/WebContentProcess.xcconfig:
1598 Add ASAN_OTHER_LDFLAGS.
1599 * Configurations/WebKit2.xcconfig:
1600 Add ASAN_OTHER_LDFLAGS.
1602 2013-08-06 Andreas Kling <akling@apple.com>
1604 REGRESSION(r151403): Resizing is extremely laggy on many sites when plugins are disallowed.
1605 <http://webkit.org/b/119516>
1606 <rdar://problem/14648086>
1608 Reviewed by Simon Fraser.
1610 The web process relies on the WindowAndViewFramesChanged mechanism for caching a copy
1611 of the window rect for fast access from DOMWindow APIs.
1613 We retain part of the optimization introduced in r151403, namely not computing the
1614 viewFrameInWindowCoordinates and accessibilityPosition unless the web process needs them.
1616 * UIProcess/API/mac/WKView.mm:
1617 (-[WKView _updateWindowAndViewFrames]):
1619 2013-07-26 Mark Rowe <mrowe@apple.com>
1621 Logging should be configurable using human-readable channel names rather than crazy bitmasks
1622 <http://webkit.org/b/119031>
1624 Implement shared logic for initializing logging channels based on human-readable channel names in WTF,
1625 and rework the WebCore, WebKit and WebKit2 logging initialization on top of it.
1627 Logging channels may now be enabled by providing a comma-separated list of channel names, with the special
1628 "all" name enabling all channels. Channel names prefixed with a leading "-" will result in the named channel
1629 being disabled. For instance, specifying "all,-history,-loading" will result in all logging channels except
1630 for history and loading being enabled.
1632 For OS X developers, this also changes the name of the user defaults used to enable logging. This is done to allow
1633 the old user defaults to remain set for those people that need to switch between version of WebKit before and
1634 after this change. Where the old user default keys were WebCoreLogLevel, WebKitLogLevel and WebKit2LogLevel,
1635 the new user default keys are WebCoreLogging, WebKitLogging and WebKit2Logging.
1637 For GTK developers, this changes the separator used in the WEBKIT_DEBUG environment variable to a comma for
1638 consistency with the other platforms and to enable more code sharing.
1640 While doing this work I've also taken the opportunity to eliminate the need to touch multiple files when
1641 adding a new logging channel. Now only the header in the relevant project needs to be updated.
1643 Reviewed by Sam Weinig.
1645 * NetworkProcess/NetworkProcess.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.
1646 * Platform/Logging.cpp: Use WEBKIT2_LOG_CHANNELS to define all of the channels.
1647 (WebKit::initializeLogChannelsIfNecessary): Pass the channels and the log level string to the new WTF function
1648 that handles the initialization.
1649 (WebKit::logChannelByName): Renamed to match our naming conventions. Calls through to the new WTF function
1650 to find a log channel rather than repeating the names of the log channels a further two times each.
1651 (WebKit::logLevelString): Provide a no-op implementation.
1652 * Platform/Logging.h: Declare a WEBKIT2_LOG_CHANNELS macro that can be used to apply a preprocessor macro
1653 across the set of all logging channels. Use this macro to declare the logging channels.
1654 * Platform/efl/LoggingEfl.cpp:
1655 (WebKit::logLevelString): Pull the value out of the WEBKIT_DEBUG environment variable.
1656 * Platform/gtk/LoggingGtk.cpp:
1657 (WebKit::logLevelString): Ditto.
1658 * Platform/mac/Logging.mac.mm:
1659 (WebKit::logLevelString): Pull the value out of the WebKit2Logging user default key.
1660 * Platform/qt/LoggingQt.cpp:
1661 (WebKit::logLevelString): Pull the value out of the QT_WEBKIT_LOG environment variable.
1662 * Shared/WebKit2Initialize.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.
1663 * UIProcess/WebContext.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.
1665 2013-08-05 Anders Carlsson <andersca@apple.com>
1667 Ignore the Apple Java placeholder plug-in
1668 https://bugs.webkit.org/show_bug.cgi?id=119494
1669 <rdar://problem/14610818>
1671 Reviewed by Beth Dakin.
1673 Never attempt to load the Java placeholder plug-in.
1675 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
1676 (WebKit::PluginInfoStore::shouldUsePlugin):
1678 2013-08-03 Tim Horton <timothy_horton@apple.com>
1680 Unreviewed, build and style fix for r153693.
1682 * UIProcess/WebProcessProxy.cpp:
1683 * WebProcess/Plugins/PDF/PDFPlugin.h:
1684 * WebProcess/WebPage/WebPage.cpp:
1686 2013-08-03 Tim Horton <timothy_horton@apple.com>
1688 Remove SimplePDFPlugin
1689 https://bugs.webkit.org/show_bug.cgi?id=119437
1691 Reviewed by Alexey Proskuryakov.
1693 * UIProcess/WebProcessProxy.cpp:
1694 (WebKit::WebProcessProxy::getPlugins):
1695 * WebProcess/WebPage/WebPage.cpp:
1696 (WebKit::WebPage::createPlugin):
1697 Don't add SimplePDFPlugin, nor try to instantiate it.
1699 * WebProcess/Plugins/PDF/PDFPlugin.h:
1700 * WebProcess/Plugins/PDF/PDFPlugin.mm:
1701 Merge previously inherited behavior in from SimplePDFPlugin.
1703 * WebKit2.xcodeproj/project.pbxproj:
1704 * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Removed.
1705 * WebProcess/Plugins/PDF/SimplePDFPlugin.mm: Removed.
1706 Remove SimplePDFPlugin.
1708 2013-08-03 Tim Horton <timothy_horton@apple.com>
1710 Remove pageOverlayShouldApplyFadeWhenPainting() and adopt composited fade for the Mac port
1711 https://bugs.webkit.org/show_bug.cgi?id=119411
1713 Reviewed by Simon Fraser.
1715 Mac is the only holdout that performs non-composited fades of page
1716 overlays. We should adopt that mechanism (as a precursor to doing a
1717 CA-accelerated fade) and remove the now-unnecessary property.
1719 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
1720 (WKBundlePageOverlayFractionFadedIn):
1721 Always return 1 (fully-faded-in) so that clients who attempt to use this
1722 to bake the fade opacity into their painting will paint at full opacity,
1723 allowing us to do the composited fade separately.
1725 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
1726 * WebProcess/WebPage/DrawingArea.h:
1727 * WebProcess/WebPage/DrawingAreaImpl.cpp:
1728 * WebProcess/WebPage/DrawingAreaImpl.h:
1729 * WebProcess/WebPage/LayerTreeHost.h:
1730 * WebProcess/WebPage/PageOverlay.cpp:
1731 (WebKit::PageOverlay::PageOverlay):
1732 (WebKit::PageOverlay::setPage):
1733 (WebKit::PageOverlay::setNeedsDisplay):
1734 (WebKit::PageOverlay::fadeAnimationTimerFired):
1735 * WebProcess/WebPage/PageOverlay.h:
1736 Remove pageOverlayShouldApplyFadeWhenPainting and fractionFadedIn().
1738 * WebProcess/WebPage/FindController.cpp:
1739 (WebKit::FindController::drawRect):
1740 Draw the find overlay without taking the PageOverlay's fade into account.
1742 * WebProcess/WebPage/TapHighlightController.cpp:
1743 (WebKit::TapHighlightController::drawRect):
1744 Remove pageOverlayShouldApplyFadeWhenPainting. Since it's always
1745 "false" for all ports now, take the second path here.
1747 * WebProcess/WebPage/mac/LayerTreeHostMac.h:
1748 * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
1749 (WebKit::LayerTreeHostMac::setPageOverlayOpacity):
1750 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1751 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1752 (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayOpacity):
1753 Implement setPageOverlayOpacity for DrawingAreaImpl
1754 and TiledCoreAnimationDrawingArea.
1756 2013-08-02 Gavin Barraclough <barraclough@apple.com>
1758 Remove no-arguments constructor to PropertySlot
1759 https://bugs.webkit.org/show_bug.cgi?id=119460
1761 Reviewed by Geoff Garen.
1763 This constructor was unsafe if getValue is subsequently called,
1764 and the property is a getter. Simplest to just remove it.
1766 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1767 (WebKit::JSNPObject::getOwnPropertyDescriptor):
1769 2013-08-02 Ruth Fong <ruth_fong@apple.com>
1771 [Forms: color] WebColorPickerMac deconstructor shouldn't assert a variable
1772 <rdar://problem/14627633> and https://bugs.webkit.org/show_bug.cgi?id=119419
1774 Reviewed by Tim Horton.
1776 * UIProcess/mac/WebColorPickerMac.mm:
1777 (WebKit::WebColorPickerMac::~WebColorPickerMac): If the m_colorPickerUI variable
1778 is not null, then properly destroy it first before destroying WebColorPickerMac object.
1780 2013-08-02 Ruth Fong <ruth_fong@apple.com>
1782 [Forms: color] The positioning of the popover color well is inverted
1783 <rdar://problem/14635621> and https://bugs.webkit.org/show_bug.cgi?id=119455
1785 Reviewed by Tim Horton.
1787 This patch converts the coordinates of the <input type='color'> element to
1788 the window's base coordinate system.
1790 * UIProcess/mac/WebColorPickerMac.mm:
1791 (-[WKColorPopoverMac initWithFrame:inView:]):
1793 2013-08-01 Ruth Fong <ruth_fong@apple.com>
1795 [Forms: color] <input type='color'> popover color well implementation
1796 <rdar://problem/14411008> and https://bugs.webkit.org/show_bug.cgi?id=119356
1798 Reviewed by Benjamin Poulain.
1800 This patch adds an popover implementation of <input type='color'>.
1802 * Configurations/FeatureDefines.xcconfig: Added and enabled INPUT_TYPE_COLOR_POPOVER.
1804 * UIProcess/API/mac/PageClientImpl.mm:
1805 (WebKit::PageClientImpl::createColorPicker): Updated to pass the
1806 coordinates of the <input type='color'> element and the WKView
1807 object for the window.
1809 * UIProcess/WebPageProxy.cpp:
1810 (WebKit::WebPageProxy::viewWillStartLiveResize): Close popover color
1811 picker when the view is resized.
1812 (WebKit::WebPageProxy::viewInWindowStateDidChange): Close popover color
1813 picker when the view is no longer in the window.
1814 (WebKit::WebPageProxy::showColorPicker): Updated to show either a color panel
1815 or a popover color picker depending on whether INPUT_TYPE_COLOR_POPOVER is enabled.
1817 * UIProcess/mac/WebColorPickerMac.h:
1818 * UIProcess/mac/WebColorPickerMac.mm:
1819 (WebKit::WebColorPickerMac::create):
1820 (WebKit::WebColorPickerMac::~WebColorPickerMac):
1821 (WebKit::WebColorPickerMac::WebColorPickerMac):
1822 (WebKit::WebColorPickerMac::endPicker):
1823 (WebKit::WebColorPickerMac::setSelectedColor):
1824 (WebKit::WebColorPickerMac::showColorPicker):
1825 Methods updated to handle both the color panel implementation and
1826 the popover implementation; also renamed m_panel to m_colorPickerUI.
1828 (-[WKColorPopoverMac initWithFrame:WebCore::inView:]):
1829 (-[WKColorPopoverMac setAndShowPicker:WebKit::withColor:]):
1830 (-[WKColorPopoverMac dealloc]):
1831 (-[WKColorPopoverMac invalidate]):
1832 (-[WKColorPopoverMac windowWillClose:]):
1833 (-[WKColorPopoverMac didChooseColor:]):
1834 (-[WKColorPopoverMac setColor:]):
1835 WKColorPopoverMac provides the popover implementation of <input type='color'>.
1837 (-[WKColorPanelMac didChooseColor:]): Updated to match the interface of
1838 WKColorPickerMac::didChooseColor.
1840 2013-08-01 Anders Carlsson <andersca@apple.com>
1842 Lots of leaks under WebContext::pluginInfoStoreDidLoadPlugins()
1843 https://bugs.webkit.org/show_bug.cgi?id=119412
1845 Reviewed by Simon Fraser.
1847 For some sick reason, the WKContextClient plugInInformationBecameAvailable callback function
1848 expects a +1 reference to the plug-in array. Isolate that hack to WebContextClient so that
1849 we don't leak the array if there is no WKContextClient.
1851 * UIProcess/WebContext.cpp:
1852 (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
1853 * UIProcess/WebContextClient.cpp:
1854 (WebKit::WebContextClient::plugInInformationBecameAvailable):
1856 2013-08-01 Kwang Yul Seo <skyul@company100.net>
1858 Remove return statement in void function
1859 https://bugs.webkit.org/show_bug.cgi?id=119379
1861 Reviewed by Darin Adler.
1863 It does not make sense to return a value in void function.
1865 * WebProcess/WebProcess.cpp:
1866 (WebKit::addCaseFoldedCharacters):
1868 2013-08-01 Kwang Yul Seo <skyul@company100.net>
1870 [WK2] Add USE(SOUP) guard in WebProcess::destroyPrivateBrowsingSession
1871 https://bugs.webkit.org/show_bug.cgi?id=119381
1873 Reviewed by Darin Adler.
1875 The is a followup to r153355. I missed to add USE(SOUP) guard in
1876 WebProcess::destroyPrivateBrowsingSession.
1878 * WebProcess/WebProcess.cpp:
1879 (WebKit::WebProcess::destroyPrivateBrowsingSession):
1881 2013-08-01 Milian Wolff <milian.wolff@kdab.com>
1883 [Qt] Enable QML handling of crashed/unresponsive QtWebProcess
1884 https://bugs.webkit.org/show_bug.cgi?id=108474
1886 Forward the processDidCrash, didRelaunchProcess, processDidBecomeUnresponsive
1887 and processDidBecomeResponsive signals to QML's WebView.experimental.
1889 Reviewed by Jocelyn Turcotte.
1891 * UIProcess/API/qt/qquickwebview.cpp:
1892 (QQuickWebViewPrivate::processDidCrash):
1893 (QQuickWebViewPrivate::didRelaunchProcess):
1894 (QQuickWebViewPrivate::processDidBecomeUnresponsive):
1895 (QQuickWebViewPrivate::processDidBecomeResponsive):
1896 * UIProcess/API/qt/qquickwebview_p.h:
1897 * UIProcess/API/qt/qquickwebview_p_p.h:
1898 (QQuickWebViewPrivate):
1900 2013-07-31 Kwang Yul Seo <skyul@company100.net>
1902 Use emptyString instead of String("")
1903 https://bugs.webkit.org/show_bug.cgi?id=119335
1905 Reviewed by Darin Adler.
1907 Use emptyString() instead of String("") because it is better style and
1908 faster. This is a followup to r116908, removing all occurrences of
1909 String("") from WebKit.
1911 * Shared/mac/WebEventFactory.mm:
1912 (WebKit::textFromEvent):
1913 (WebKit::unmodifiedTextFromEvent):
1915 2013-07-31 Ruth Fong <ruth_fong@apple.com>
1917 <input type=color> Mac UI behaviour
1918 <rdar://problem/10269922> and https://bugs.webkit.org/show_bug.cgi?id=61276
1920 Implemented <input type='color'> on Mac using the native color picker.
1922 Reviewed by Brady Eidson.
1924 Code for WebColorPickerMac is derived from Chromium's color_chooser_mac.mm:
1925 https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/ui/cocoa/color_chooser_mac.mm
1927 * Configurations/FeatureDefines.xcconfig: Enabled INPUT_TYPE_COLOR.
1929 * UIProcess/API/mac/PageClientImpl.mm:
1930 (WebKit::PageClientImpl::createColorPicker): Replaced stub implementation
1931 and return a WebColorPickerMac object.
1933 * UIProcess/WebColorPicker.cpp:
1934 (WebKit::WebColorPicker::invalidate): Updated to call endChooser().
1935 (WebKit::WebColorPicker::showColorPicker): Added stub implementation.
1936 * UIProcess/WebColorPicker.h:
1938 * UIProcess/WebPageProxy.cpp:
1939 (WebKit::WebPageProxy::close): Removed invalidation of removed color picker objects.
1940 (WebKit::WebPageProxy::showColorPicker): Updated so that it works for
1941 multiple <input type='color'> elements on a page.
1942 (WebKit::WebPageProxy::didEndColorPicker): Removed cleanup of removed color picker objects.
1943 (WebKit::WebPageProxy::resetStateAfterProcessExited): Removed cleanup of removed color picker objects.
1945 * UIProcess/mac/WebColorPickerMac.h: Added.
1946 * UIProcess/mac/WebColorPickerMac.mm: Added.
1947 (WebKit::WebColorPickerMac::create):
1948 (WebKit::WebColorPickerMac::~WebColorPickerMac):
1949 (WebKit::WebColorPickerMac::WebColorPickerMac):
1950 (WebKit::WebColorPickerMac::endPicker):
1951 (WebKit::WebColorPickerMac::setSelectedColor):
1952 (WebKit::WebColorPickerMac::didChooseColor):
1953 (WebKit::WebColorPickerMac::showColorPicker):
1954 WebColorPickerMac contains a reference to a WKColorPanelMac object
1955 and is responsible for maintaining the color picker UI.
1957 (-[WKColorPanelMac setAndShowPicker:withColor:]):
1958 (-[WKColorPanelMac invalidate]):
1959 (-[WKColorPanelMac windowWillClose:]):
1960 (-[WKColorPanelMac didChooseColor:]):
1961 (-[WKColorPanelMac setColor:]):
1962 WKColorPanelMac is a wrapper for a NSColorPanel object and
1963 is responsible for the color picker UI.
1965 * WebKit2.xcodeproj/project.pbxproj:
1967 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1968 (WebKit::WebChromeClient::createColorChooser): Updated to always create a
1969 WebColorChooser object.
1971 * WebProcess/WebCoreSupport/WebColorChooser.cpp:
1972 (WebKit::WebColorChooser::reattachColorChooser): Sets the page's
1973 active color chooser to the current object and pings the UIProcess
1974 to show the color picker.
1975 (WebKit::WebColorChooser::setSelectedColor): Only sets the color in the
1976 color picker if the WebColorChooser object is the active color element.
1977 * WebProcess/WebCoreSupport/WebColorChooser.h:
1979 2013-07-30 Gavin Barraclough <barraclough@apple.com>
1981 Some cleanup in JSValue::get
1982 https://bugs.webkit.org/show_bug.cgi?id=119343
1984 Reviewed by Geoff Garen.
1986 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1987 (WebKit::JSNPObject::getOwnPropertySlot):
1988 * WebProcess/Plugins/Netscape/JSNPObject.h:
1989 - getOwnPropertySlot, JSCell -> JSObject
1991 2013-07-31 Allan Sandfeld Jensen <allan.jensen@digia.com>
1993 [Qt] Build WebKit with C++11
1994 https://bugs.webkit.org/show_bug.cgi?id=119337
1996 Reviewed by Csaba Osztrogonác.
1998 We no longer need to enable C++11 specifically for WebKit2.
2002 2013-07-30 Tim Horton <timothy_horton@apple.com>
2004 DHTML drag can result in a null-deref under WebDragClient::startDrag
2005 https://bugs.webkit.org/show_bug.cgi?id=119297
2006 <rdar://problem/14213012>
2008 Reviewed by Simon Fraser.
2010 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
2011 (WebKit::convertImageToBitmap):
2012 ShareableBitmap::createShareable can return null, but shouldn't dereference that.
2014 2013-07-30 Ruth Fong <ruth_fong@apple.com>
2016 Rename <input type='color'> functions in WebPageProxy, WebColorPicker
2017 <rdar://problem/14549771> and https://bugs.webkit.org/show_bug.cgi?id=119097
2019 Reviewed by Tim Horton.
2021 In bug 119025, WebColorChooserProxy was renamed WebColorPicker. This patch makes the UIProcess consistent
2022 by renaming UIProcess INPUT_TYPE_COLOR functions from ...colorChooser to ...colorPicker.
2024 * UIProcess/WebColorPicker.cpp:
2025 (WebKit::WebColorPicker::endPicker):
2026 * UIProcess/WebColorPicker.h:
2027 * UIProcess/WebColorPickerResultListenerProxy.cpp:
2028 (WebKit::WebColorPickerResultListenerProxy::setColor):
2029 * UIProcess/WebPageProxy.cpp:
2030 (WebKit::WebPageProxy::showColorPicker):
2031 (WebKit::WebPageProxy::setColorPickerColor):
2032 (WebKit::WebPageProxy::endColorPicker):
2033 (WebKit::WebPageProxy::didEndColorPicker):
2034 * UIProcess/WebPageProxy.h:
2035 * UIProcess/WebPageProxy.messages.in:
2036 * UIProcess/qt/WebColorPickerQt.cpp:
2037 (WebKit::WebColorPickerQt::createItem):
2038 (WebKit::WebColorPickerQt::notifyColorSelected):
2039 (WebKit::WebColorPickerQt::endPicker):
2040 * UIProcess/qt/WebColorPickerQt.h:
2041 * WebProcess/WebCoreSupport/WebColorChooser.cpp:
2042 (WebKit::WebColorChooser::WebColorChooser):
2043 (WebKit::WebColorChooser::setSelectedColor):
2044 (WebKit::WebColorChooser::endChooser):
2045 * WebProcess/WebPage/WebPage.cpp:
2046 (WebKit::WebPage::didEndColorPicker):
2047 * WebProcess/WebPage/WebPage.h:
2048 * WebProcess/WebPage/WebPage.messages.in:
2050 2013-07-30 Anders Carlsson <andersca@apple.com>
2052 Speculative fix for crash due to string access on multiple threads
2053 https://bugs.webkit.org/show_bug.cgi?id=119279
2054 <rdar://problem/14267833>
2056 Reviewed by Darin Adler.
2058 We can't use String::isolatedCopy for passing the local storage directory to the storage thread since
2059 that returns a String that's copied and then destroyed after the call to bind returns, leaving a small window
2060 where the refcount can be accessed simultaneously from two threads.
2062 Work around this by passing a PassRefPtr<StringImpl> to bind instead; the act of copying the PassRefPtr will
2063 clear out the original and so when the original is destroyed the underlying StringImpl pointer will be null.
2065 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
2066 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectory):
2067 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
2068 * UIProcess/Storage/LocalStorageDatabaseTracker.h:
2070 2013-07-30 Tim Horton <timothy_horton@apple.com>
2072 Fix typo in enum name ("SelectionInSnaphot" -> "SelectionInSnapshot")
2073 https://bugs.webkit.org/show_bug.cgi?id=119275
2075 Reviewed by Simon Fraser.
2077 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
2078 (WebKit::imageForRect):
2079 * WebProcess/WebPage/WebPage.cpp:
2080 (WebKit::WebPage::scaledSnapshotWithOptions):
2083 2013-07-30 Anders Carlsson <andersca@apple.com>
2085 Plug-in process crashes if plug-in is destroyed as a result of sending NPObjectMessageReceiver::Deallocate
2086 https://bugs.webkit.org/show_bug.cgi?id=119270
2087 <rdar://problem/13368226>
2089 Reviewed by Darin Adler.
2091 Normally we use the PluginDestructionProtector RAII object to prevent plug-ins from being destroyed while
2092 they're executing code. However, in the case of the NPObjectMessageReceiver::Deallocate message, we can't do this
2093 since we don't know the plug-in or connection.
2095 Instead, add a counter to Connection that keeps track of whether sendSync is currently called and defer plug-in
2096 destruction if it is. (This approach is actually more robust and we should investigate getting rid of the destruction protector).
2098 * Platform/CoreIPC/Connection.cpp:
2099 (CoreIPC::Connection::Connection):
2100 (CoreIPC::Connection::sendSyncMessage):
2101 * Platform/CoreIPC/Connection.h:
2102 (CoreIPC::Connection::inSendSync):
2103 * PluginProcess/PluginControllerProxy.cpp:
2104 (WebKit::PluginControllerProxy::destroy):
2106 2013-07-30 Tim Horton <timothy_horton@apple.com>
2108 Null deref under WebPage::scaledSnapshotWithOptions
2109 https://bugs.webkit.org/show_bug.cgi?id=119243
2110 <rdar://problem/14502050>
2112 Reviewed by Darin Adler.
2114 * WebProcess/WebPage/WebPage.cpp:
2115 (WebKit::WebPage::scaledSnapshotWithOptions):
2116 WebFrame::coreFrame() can be null (if the Frame is already torn down),
2117 so we should check it.
2119 2013-07-30 Tim Horton <timothy_horton@apple.com>
2121 Null deref under PluginView::handlesPageScaleFactor()
2122 https://bugs.webkit.org/show_bug.cgi?id=119231
2123 <rdar://problem/14440207>
2125 Reviewed by Darin Adler.
2127 Null-check the PluginView in the caller as well.
2129 * WebProcess/WebPage/WebFrame.cpp:
2130 (WebKit::WebFrame::handlesPageScaleGesture):
2132 2013-07-30 Patrick Gansterer <paroga@webkit.org>
2134 Remove unused Download*.cpp files
2135 https://bugs.webkit.org/show_bug.cgi?id=119248
2137 Reviewed by Anders Carlsson.
2139 * Shared/Downloads/cfnet/DownloadCFNet.cpp: Removed.
2140 * Shared/Downloads/curl/DownloadCurl.cpp: Removed.
2142 2013-07-30 Jeff Miller <jeffm@apple.com>
2144 Page for WKPageLoaderClient processDidCrash callback always reports a process identifier of 0
2145 https://bugs.webkit.org/show_bug.cgi?id=119269
2146 <rdar://problem/14582393>
2148 Reviewed by Anders Carlsson.
2150 * UIProcess/WebPageProxy.cpp:
2151 (WebKit::WebPageProxy::processIdentifier):
2152 Return 0 if the page is closed instead of requiring isValid().
2154 2013-07-30 Kwang Yul Seo <skyul@company100.net>
2156 [WK2] Move the implementation of WebEditorClient::checkTextOfParagraph to WebEditorClient.cpp
2157 https://bugs.webkit.org/show_bug.cgi?id=119034
2159 Reviewed by Anders Carlsson.
2161 The Mac and EFL ports use the same implementation of
2162 WebEditorClient::checkTextOfParagraph and GTK will use the same
2163 implementation too. So rather than duplicating the same code in
2164 platform specific files, move the implementation to platform agnostic
2165 WebProcess/WebCoreSupport/WebEditorClient.cpp.
2167 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2168 (WebKit::WebEditorClient::checkTextOfParagraph):
2169 * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
2170 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
2172 2013-07-30 Brian Holt <brian.holt@samsung.com>
2174 [WebKit2] [Gtk] WebKitResponsePolicyDecision URI response property incorrect
2175 https://bugs.webkit.org/show_bug.cgi?id=119258
2177 Reviewed by Martin Robinson.
2179 Corrected the installed URI response property from PROP_REQUEST to
2180 PROP_RESPONSE and type from WEBKIT_TYPE_URI_REQUEST to
2181 WEBKIT_TYPE_URI_RESPONSE.
2183 * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
2184 (webkit_response_policy_decision_class_init):
2186 2013-07-29 Carlos Garcia Campos <cgarcia@igalia.com>
2188 Unreviewed. Fix make distcheck.
2190 * GNUmakefile.list.am: Add missing header file to compilation.
2192 2013-07-29 Tim Horton <timothy_horton@apple.com>
2194 [wk2] Flush the WebProcess’ implicit transaction when using endDeferringViewInWindowChangesSync
2195 https://bugs.webkit.org/show_bug.cgi?id=119225
2196 <rdar://problem/14568841>
2198 Reviewed by Simon Fraser.
2200 Tell CoreAnimation to flush the implicit transaction before replying
2201 when using endDeferringViewInWindowChangesSync, as that method's contract
2202 is that the WebProcess is totally ready to be in-window when it returns.
2204 * UIProcess/API/mac/WKView.mm:
2205 (-[WKView endDeferringViewInWindowChanges]):
2206 Adopt viewInWindowStateDidChange.
2208 (-[WKView endDeferringViewInWindowChangesSync]):
2209 Adopt viewInWindowStateDidChange, asking it to send a reply only if we're going to wait for one.
2211 * UIProcess/WebPageProxy.cpp:
2212 (WebKit::WebPageProxy::viewInWindowStateDidChange):
2213 (WebKit::WebPageProxy::viewStateDidChange):
2214 Pull viewInWindowStateDidChange out of viewStateDidChange.
2215 Request a reply from SetIsInWindow if we're told to.
2217 * UIProcess/WebPageProxy.h: Add WantsReplyOrNot and viewInWindowStateDidChange.
2218 * WebProcess/WebPage/WebPage.cpp:
2219 (WebKit::WebPage::didUpdateInWindowStateTimerFired):
2220 Don't build this version on Mac, we'll have a WebPageMac version.
2222 (WebKit::WebPage::setIsInWindow):
2223 Only start the timer to send the didUpdateInWindowState reply if we're asked to.
2225 * WebProcess/WebPage/WebPage.h:
2226 * WebProcess/WebPage/WebPage.messages.in:
2227 Add an argument to the SetIsInWindow message for whether the WebProcess
2228 should inform the UIProcess when SetIsInWindow completes or not.
2230 * WebProcess/WebPage/mac/WebPageMac.mm:
2231 (WebKit::WebPage::didUpdateInWindowStateTimerFired):
2232 Tell CA to flush the implicit transaction before telling the UIProcess that
2233 we're finished moving in-window.
2235 2013-07-29 Tim Horton <timothy_horton@apple.com>
2237 Null deref under PluginView::handlesPageScaleFactor()
2238 https://bugs.webkit.org/show_bug.cgi?id=119231
2239 <rdar://problem/14440207>
2241 Reviewed by Simon Fraser.
2243 * WebProcess/Plugins/PluginView.cpp:
2244 (WebKit::PluginView::handlesPageScaleFactor):
2245 * WebProcess/Plugins/PluginView.h:
2246 Null-check m_plugin and check m_isInitialized.
2247 Make pageScaleFactor() and handlesPageScaleFactor const.
2249 2013-07-29 Anders Carlsson <andersca@apple.com>
2251 Remove setUnderlayPage() and associated code
2252 https://bugs.webkit.org/show_bug.cgi?id=119220
2253 <rdar://problem/14392426>
2255 Reviewed by Jessie Berlin.
2257 This is dead code, get rid of it.
2259 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2260 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2261 * WebProcess/WebPage/WebPage.cpp:
2262 (WebKit::WebPage::close):
2263 (WebKit::WebPage::layoutIfNeeded):
2264 (WebKit::WebPage::drawRect):
2265 * WebProcess/WebPage/WebPage.h:
2267 2013-07-29 Sergio Correia <sergio.correia@openbossa.org>
2269 CoordinatedGraphics: Add API to get and set the active state of a WebView
2270 https://bugs.webkit.org/show_bug.cgi?id=119067
2272 Reviewed by Noam Rosenthal.
2274 A view being in the "active" state generally means that it is not in the
2275 "background", although this definition can vary depending on the platform
2276 under consideration.
2278 This patch adds the following APIs to WKView:
2279 - bool WKViewIsActive(WKViewRef)
2280 This API accepts a WKViewRef as parameter and returns a boolean indicating
2281 whether the given view is active.
2283 - void WKViewSetIsActive(WKViewRef, bool)
2284 This API accepts a WKViewRef and a boolean as parameteres, and it sets the
2285 active state of the given view to the given boolean argument.
2287 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
2288 (WKViewIsActive): API added.
2289 (WKViewSetIsActive): Ditto.
2290 * UIProcess/API/C/CoordinatedGraphics/WKView.h: Export aforementioned API.
2291 * UIProcess/CoordinatedGraphics/WebView.cpp:
2292 (WebKit::WebView::initialize): Use new setActive method.
2293 (WebKit::WebView::setActive): Added method to set the active state of the
2295 (WebKit::WebView::isActive): Added method to return the active state of
2297 (WebKit::WebView::enterAcceleratedCompositingMode): Use new setActive
2299 (WebKit::WebView::exitAcceleratedCompositingMode): Ditto.
2300 * UIProcess/CoordinatedGraphics/WebView.h: Added declarations of isActive
2303 2013-07-29 Jae Hyun Park <jae.park@company100.net>
2305 Remove duplicated LayerTreeHost::supportsAcceleratedCompositing
2306 https://bugs.webkit.org/show_bug.cgi?id=118949
2308 Reviewed by Noam Rosenthal.
2310 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2311 * WebProcess/WebPage/LayerTreeHost.h:
2312 (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
2314 2013-07-29 Zan Dobersek <zdobersek@igalia.com>
2316 [Automake] Remove references to non-existent *_CFLAGS and *_LIBS variables
2317 https://bugs.webkit.org/show_bug.cgi?id=119212
2319 Reviewed by Carlos Garcia Campos.
2321 * GNUmakefile.am: Remove references to GLOBALDEPS_(CFLAGS|LIBS) and CLUTTER_(CFLAGS|LIBS)
2322 variables that are not defined during the configuration process.
2324 2013-07-28 Grzegorz Czajkowski <g.czajkowski@samsung.com>
2326 [EFL][WK2] Simplify context_menu_spelling_items_availability unit test
2327 https://bugs.webkit.org/show_bug.cgi?id=119085
2329 Reviewed by Gyuyoung Kim.
2331 Use findContextMenuItem method to check whether the item
2332 appears in context menu.
2334 * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
2335 (EWK2TextCheckerTest::findContextMenuItem):
2336 Do not report failure inside the method.
2337 It doesn't allow to test the negative test cases.
2339 (EWK2TextCheckerTest::checkCorrectnessOfSpellingItems):
2340 Use findContextMenuItem method.
2342 (EWK2TextCheckerTest::toogleCheckSpellingWhileTyping):
2343 (EWK2TextCheckerTest::selectLearnSpelling):
2344 (EWK2TextCheckerTest::selectIgnoreSpelling):
2345 Verify the return value of findContextMenuItem.
2348 Reset wasContextMenuShown variable, it's needed after r152153.
2349 Use waitUntilTrue method.
2351 2013-07-27 Jacky Jiang <zhajiang@blackberry.com>
2353 Replace all uses of GraphicsLayer::create function with the one that takes a GraphicsLayerFactory
2354 https://bugs.webkit.org/show_bug.cgi?id=119186
2356 Reviewed by Anders Carlsson.
2358 * UIProcess/mac/RemoteLayerTreeHost.mm:
2359 (WebKit::RemoteLayerTreeHost::getOrCreateLayer):
2361 2013-07-27 Chris Fleizach <cfleizach@apple.com>
2363 AX: VoiceOver not working with data detection page overlays
2364 https://bugs.webkit.org/show_bug.cgi?id=118680
2366 Reviewed by Sam Weinig.
2368 Expose API in BundlePageOverlay so that accessibility attributes can be retrieved through the overlay.
2369 This requires two methods in a new callback struct. One to copy the attribute names, and the other to
2370 copy the attribute values. I've folded both parameterized and non-parameterized attribute names into one method
2371 with a boolean to determine which one should be used. The non-parameterized attributes are not used or passed to the
2372 overlay at this time as there are no clients with such a need.
2374 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
2375 (PageOverlayClientImpl::setAccessibilityClient):
2376 (PageOverlayClientImpl::PageOverlayClientImpl):
2377 (PageOverlayClientImpl::copyAccessibilityAttributeValue):
2378 (PageOverlayClientImpl::copyAccessibilityAttributeNames):
2379 (WKBundlePageOverlaySetAccessibilityClient):
2380 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
2381 * WebProcess/WebPage/PageOverlay.cpp:
2382 (WebKit::PageOverlay::copyAccessibilityAttributeValue):
2383 (WebKit::PageOverlay::copyAccessibilityAttributeNames):
2384 * WebProcess/WebPage/PageOverlay.h:
2385 (WebKit::PageOverlay::Client::copyAccessibilityAttributeValue):
2386 (WebKit::PageOverlay::Client::copyAccessibilityAttributeNames):
2387 (WebKit::PageOverlay::client):
2388 * WebProcess/WebPage/WebPage.cpp:
2389 (WebKit::WebPage::pageOverlayCopyAccessibilityAttributeValue):
2390 (WebKit::WebPage::pageOverlayCopyAccessibilityAttributesNames):
2391 * WebProcess/WebPage/WebPage.h:
2392 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
2393 (-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
2394 (-[WKAccessibilityWebPageObject _convertScreenPointToWindow:]):
2395 (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
2397 2013-07-27 Simon Fraser <simon.fraser@apple.com>
2399 If entering fullscreen for a window fails, don't leave things in a bad state
2400 https://bugs.webkit.org/show_bug.cgi?id=119179
2402 Reviewed by Sam Weinig.
2404 On Lion, attempting to take a video fullscreen when the Safari window is already
2405 fullscreen can sometimes fail, and AppKit informs us via windowDidFailToEnterFullScreen:
2407 When this happens we have to undo the work done when entering fullscreen, to
2408 avoid leaving things in a bad state.
2410 * UIProcess/mac/WKFullScreenWindowController.mm:
2411 (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
2413 2013-07-26 Tim Horton <timothy_horton@apple.com>
2415 Add a mode where autosizing fixes the FrameView height to at least the WKView height
2416 https://bugs.webkit.org/show_bug.cgi?id=119104
2417 <rdar://problem/14549021>
2419 Reviewed by Anders Carlsson.
2421 * Shared/WebPageCreationParameters.cpp:
2422 (WebKit::WebPageCreationParameters::encode):
2423 (WebKit::WebPageCreationParameters::decode):
2424 * Shared/WebPageCreationParameters.h:
2425 Add autoSizingShouldExpandToViewHeight parameter.
2427 * UIProcess/API/mac/WKView.mm:
2428 (-[WKView minimumWidthForAutoLayout]):
2429 (-[WKView setMinimumWidthForAutoLayout:]):
2430 Un-deprecate these as they're still useful if not sending a height.
2432 (-[WKView shouldExpandToViewHeightForAutoLayout]):
2433 (-[WKView setShouldExpandToViewHeightForAutoLayout:]):
2434 * UIProcess/API/mac/WKViewPrivate.h:
2435 New property, forward to WebPageProxy.
2437 * UIProcess/WebPageProxy.cpp:
2438 (WebKit::WebPageProxy::WebPageProxy):
2439 (WebKit::WebPageProxy::creationParameters):
2440 (WebKit::WebPageProxy::setAutoSizingShouldExpandToViewHeight):
2441 * UIProcess/WebPageProxy.h:
2442 (WebKit::WebPageProxy::autoSizingShouldExpandToViewHeight):
2443 New property, forward to WebPage.
2445 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2446 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
2447 If enabled, update the FrameView's autoSizeFixedMinimumHeight.
2449 * WebProcess/WebPage/WebPage.cpp:
2450 (WebKit::WebPage::WebPage):
2451 (WebKit::WebPage::setAutoSizingShouldExpandToViewHeight):
2452 * WebProcess/WebPage/WebPage.h:
2453 (WebKit::WebPage::autoSizingShouldExpandToViewHeight):
2454 New property; if enabled, set FrameView's autoSizeFixedMinimumHeight,
2455 otherwise reset it to 0.
2457 * WebProcess/WebPage/WebPage.messages.in:
2458 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2459 (WebKit::TiledCoreAnimationDrawingArea::updateIntrinsicContentSizeTimerFired):
2460 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
2461 Retrieve intrinsic content size explicitly from the FrameView, as
2462 it may not have used it as its final contentsSize if
2463 autoSizeFixedMinimumHeight is set.
2465 Set the WebPage's size in case the load is committed so that the
2466 WebFrameLoaderClient doesn't reset us to the wrong size.
2468 Update autoSizeFixedMinimumHeight if enabled when the view size changes.
2470 2013-07-25 Andreas Kling <akling@apple.com>
2472 ChromeClient::focusedNodeChanged() should be focusedElementChanged().
2473 <http://webkit.org/b/119110>
2475 Reviewed by Anders Carlsson.
2477 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2478 (WebKit::WebChromeClient::focusedElementChanged):
2479 * WebProcess/WebCoreSupport/WebChromeClient.h:
2481 2013-07-25 Kwang Yul Seo <skyul@company100.net>
2483 [WK2][Soup] Add private browsing support
2484 https://bugs.webkit.org/show_bug.cgi?id=118657
2486 Reviewed by Gustavo Noronha Silva.
2488 Support private browsing in WK2 by implementing private browsing
2489 related methods in WebFrameNetworkingContext.
2491 * WebProcess/InjectedBundle/InjectedBundle.cpp:
2492 (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
2493 Add USE(SOUP) guard.
2495 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
2496 Add private browsing support methods. Copied from the Mac port.
2497 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
2498 (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession):
2499 (WebKit::WebFrameNetworkingContext::storageSession):
2500 Check if the frame enables private browsing and return the private
2502 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
2504 * WebProcess/WebProcess.cpp:
2505 (WebKit::WebProcess::ensurePrivateBrowsingSession):
2506 Add USE(SOUP) guard.
2508 2013-07-25 Kwang Yul Seo <skyul@company100.net>
2510 Build fix: use of long long in CoreIPC::ArgumentEncoder and CoreIPC::ArgumentDecoder
2511 https://bugs.webkit.org/show_bug.cgi?id=118228
2513 Reviewed by Anders Carlsson.
2515 Build fails on some platforms where int64_t and long long are different types.
2517 * Shared/FileAPI/BlobRegistrationData.cpp:
2518 (WebKit::BlobRegistrationData::encode):
2519 Add explicit casts to int64_t.
2520 (WebKit::BlobRegistrationData::decode):
2521 Use int64_t instead of long long.
2523 2013-07-25 Anders Carlsson <andersca@apple.com>
2525 Remove lastModifiedDate from ResourceResponse
2526 https://bugs.webkit.org/show_bug.cgi?id=119092
2528 Reviewed by Andreas Kling.
2530 Update for WebCore changes.
2532 * WebProcess/Plugins/PluginView.cpp:
2533 (WebKit::lastModifiedDate):
2534 Use ResourceResponse::lastModified() to get the last modified date.
2536 (WebKit::PluginView::Stream::didReceiveResponse):
2537 Call the static lastModified function.
2539 (WebKit::PluginView::manualLoadDidReceiveResponse):
2542 2013-07-25 Carlos Garcia Campos <cgarcia@igalia.com>
2544 [GTK] Add support for running unit tests in the web process
2545 https://bugs.webkit.org/show_bug.cgi?id=118427
2547 Reviewed by Gustavo Noronha Silva.
2549 Some tests, like GObject DOM bindings API tests, run entirely in
2550 the WebProcess, so we just need to start the test from the UI
2551 process and wait until the test finishes running in the
2552 WebProcess. Tests are split in two files, one containing the
2553 actual test that runs in the WebProcess and another one to add the
2554 tests to the glib test system that works as a
2555 proxy. WebProcessTestRunner class starts a private DBus session
2556 bus and starts the tests sending a message to the WebExtension
2557 waiting until it finishes or fails. WebProcess tests are created
2558 by defining a class derived from WebProcessTest class and
2559 implementing the static create method and the virtual runTest
2560 method. The macro REGISTER_TEST is used by the web process tests
2561 to register their test cases. This patch includes the migration
2562 of the WebKitDOMNode test, all other GObject DOM bindings tests
2563 will be migrated in the same way in follow up patches.
2565 * UIProcess/API/gtk/tests/DOMNodeTest.cpp: Added.
2566 (WebKitDOMNodeTest::create): Create a new WebKitDOMNodeTest.
2567 (WebKitDOMNodeTest::webPageFromArgs): Get the pageID parameter
2568 from the arguments dictionary.
2569 (WebKitDOMNodeTest::testHierarchyNavigation):
2570 (WebKitDOMNodeTest::testInsertion):
2571 (WebKitDOMNodeTest::runTest): Run the given test.
2572 (registerTests): Register test cases.
2573 * UIProcess/API/gtk/tests/GNUmakefile.am: Add new files to
2575 * UIProcess/API/gtk/tests/TestDOMNode.cpp: Added.
2576 (testWebKitDOMNodeHierarchyNavigation):
2577 (testWebKitDOMNodeInsertion):
2580 * UIProcess/API/gtk/tests/TestMain.cpp:
2581 (main): Unset DBUS_SESSION_BUS_ADDRESS environment variable to
2582 make sure that the GLib bus singleton is initialized by the
2583 private DBus session bus created by the tests.
2584 * UIProcess/API/gtk/tests/WebProcessTest.cpp: Added.
2585 (testsMap): Initialize and get the global map of tests.
2586 (WebProcessTest::add): Add a new test to the map, keeping a
2587 function to create the test.
2588 (WebProcessTest::create): Create a test for the given name.
2589 (methodCallCallback): Handle RunTest DBus method. It creates and
2590 runs the given test.
2591 (webkit_web_extension_initialize):Register the DBus service for
2593 * UIProcess/API/gtk/tests/WebProcessTest.h: Added.
2594 * UIProcess/API/gtk/tests/WebProcessTestRunner.cpp: Added.
2595 (WebProcessTestRunner::WebProcessTestRunner): Start a private DBus
2596 session bus and get a connection to it.
2597 (WebProcessTestRunner::~WebProcessTestRunner): Stop the private
2599 (WebProcessTestRunner::proxyCreatedCallback):
2600 (WebProcessTestRunner::proxy): Create a new proxy to send messages
2601 to the WebExtension if it doesn't exists.
2602 (WebProcessTestRunner::onNameAppeared): Called when the DBus
2603 service has been registered in the WebExtension and it's safe to
2605 (WebProcessTestRunner::onNameVanished): Called when the DBus
2606 service is unregistered. This happens when the web process crash,
2607 so we just exit here, because the g_asserts in the web process
2608 have already registered the error message.
2609 (WebProcessTestRunner::testFinishedCallback): Called when the
2610 WebProcess tests has finished.
2611 (WebProcessTestRunner::runTest): Send a message to the
2612 WebExtension to start the given test and monitor the service.
2613 (WebProcessTestRunner::finishTest): Save the test result and
2614 finish the main loop.
2615 * UIProcess/API/gtk/tests/WebProcessTestRunner.h: Added.
2617 2013-05-05 Geoffrey Garen <ggaren@apple.com>
2619 Rolled back in r149527 with crash fixed.
2621 Reviewed by Oliver Hunt.
2623 Rationalized 'this' value conversion
2624 https://bugs.webkit.org/show_bug.cgi?id=115542
2626 2013-07-24 Ruth Fong <ruth_fong@apple.com>
2628 Rename WebColorChooserProxy
2629 <rdar://problem/14528039> and https://bugs.webkit.org/show_bug.cgi?id=119025
2631 Reviewed by Brady Eidson.
2633 Renamed WebColorChooserProxy to WebColorPicker since the name WebColorChoooserProxy
2634 implies that it represents the same object as WebColorChooser, which is not true.
2635 Also, renamed createColorChooserProxy to createColorPicker in WebPageProxy and
2636 platform-equivalent versions of it.
2639 * GNUmakefile.list.am:
2641 * UIProcess/API/gtk/PageClientImpl.cpp:
2642 (WebKit::PageClientImpl::createColorPicker):
2643 * UIProcess/API/gtk/PageClientImpl.h:
2644 * UIProcess/API/mac/PageClientImpl.h:
2645 * UIProcess/API/mac/PageClientImpl.mm:
2646 (WebKit::PageClientImpl::createColorPicker):
2647 * UIProcess/API/qt/raw/qrawwebview.cpp:
2648 (QRawWebViewPrivate::createColorPicker):
2649 * UIProcess/API/qt/raw/qrawwebview_p_p.h:
2650 * UIProcess/CoordinatedGraphics/WebView.cpp:
2651 (WebKit::WebView::createColorPicker):
2652 * UIProcess/CoordinatedGraphics/WebView.h:
2653 * UIProcess/PageClient.h:
2654 * UIProcess/WebColorChooserProxy.cpp: Removed.
2655 * UIProcess/WebColorChooserProxy.h: Removed.
2656 * UIProcess/WebColorPicker.cpp: Copied from Source/WebKit2/UIProcess/WebColorChooserProxy.cpp.
2657 (WebKit::WebColorPicker::WebColorPicker):
2658 (WebKit::WebColorPicker::~WebColorPicker):
2659 (WebKit::WebColorPicker::endChooser):
2660 (WebKit::WebColorPicker::setSelectedColor):
2661 * UIProcess/WebColorPicker.h: Copied from Source/WebKit2/UIProcess/WebColorChooserProxy.h.
2662 (WebKit::WebColorPicker::create):
2663 * UIProcess/WebPageProxy.cpp:
2664 (WebKit::WebPageProxy::close):
2665 (WebKit::WebPageProxy::showColorChooser):
2666 (WebKit::WebPageProxy::setColorChooserColor):
2667 (WebKit::WebPageProxy::endColorChooser):
2668 (WebKit::WebPageProxy::didEndColorChooser):
2669 (WebKit::WebPageProxy::resetStateAfterProcessExited):
2670 * UIProcess/WebPageProxy.h: Renamed m_colorChooser to m_colorPicker.
2671 * UIProcess/qt/QtPageClient.cpp:
2672 (WebKit::QtPageClient::createColorPicker):
2673 * UIProcess/qt/QtPageClient.h:
2674 * UIProcess/qt/WebColorChooserProxyQt.cpp: Removed.
2675 * UIProcess/qt/WebColorChooserProxyQt.h: Removed.
2676 * UIProcess/qt/WebColorPickerQt.cpp: Added.
2677 (WebKit::ColorChooserContextObject::ColorChooserContextObject):
2678 (WebKit::ColorChooserContextObject::currentColor):
2679 (WebKit::ColorChooserContextObject::elementRect):
2680 (WebKit::ColorChooserContextObject::accept):
2681 (WebKit::ColorChooserContextObject::reject):
2682 (WebKit::WebColorPickerQt::WebColorPickerQt):
2683 (WebKit::WebColorPickerQt::~WebColorPickerQt):
2684 (WebKit::WebColorPickerQt::createItem):
2685 (WebKit::WebColorPickerQt::createContext):
2686 (WebKit::WebColorPickerQt::setSelectedColor):
2687 (WebKit::WebColorPickerQt::notifyColorSelected):
2688 (WebKit::WebColorPickerQt::endChooser):
2689 * UIProcess/qt/WebColorPickerQt.h: Added.
2690 (WebKit::WebColorPickerQt::create):
2691 * WebKit2.xcodeproj/project.pbxproj:
2693 2013-07-24 Anders Carlsson <andersca@apple.com>
2695 Crash when calling WKPageGetProcessIdentifier after aborted process launch
2696 https://bugs.webkit.org/show_bug.cgi?id=119069
2697 <rdar://problem/14494064>
2699 Reviewed by Andreas Kling.
2701 * UIProcess/WebPageProxy.cpp:
2702 (WebKit::WebPageProxy::processIdentifier):
2703 Check if the page is closed instead of checking whether we have a process - We'll always have a process.
2705 (WebKit::WebPageProxy::isValid):
2708 * UIProcess/WebPageProxy.h:
2710 2013-07-24 Kwang Yul Seo <skyul@company100.net>
2712 [WK2][Soup] Add entry point for network process
2713 https://bugs.webkit.org/show_bug.cgi?id=110136
2715 Reviewed by Gustavo Noronha Silva.
2717 Original patch by Balazs Kelemen <kbalazs@webkit.org>.
2719 Added a common entry point for non-Mac Unix ports.
2721 * NetworkProcess/unix/NetworkProcessMainUnix.cpp: Added.
2722 (WebKit::NetworkProcessMain):
2723 * NetworkProcess/unix/NetworkProcessMainUnix.h: Added.
2724 * unix/NetworkMainUnix.cpp: Added.
2727 2013-07-24 Jessie Berlin <jberlin@apple.com>
2729 Remove WKPageGetPlugInInformation - it is not used anymore
2730 https://bugs.webkit.org/show_bug.cgi?id=119047
2732 Reviewed by Alexey Proskuryakov.
2734 Revert r151172, which fixed a crash introduced in r151043, r151054, which fixed some naming
2735 and ref-churn issues introduced in r151043, and r151043, which added
2736 WKPageGetPlugInInformation.
2738 * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
2739 (WKPageIsURLKnownHSTSHost):
2740 * UIProcess/API/C/mac/WKPagePrivateMac.h:
2741 * UIProcess/Plugins/PluginProcessManager.h:
2742 * UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
2743 * UIProcess/WebPageProxy.cpp:
2744 (WebKit::WebPageProxy::close):
2745 * UIProcess/WebPageProxy.h:
2746 * UIProcess/WebPageProxy.messages.in:
2747 * UIProcess/mac/WebPageProxyMac.mm:
2748 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2749 * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
2750 * WebProcess/Plugins/Plugin.h:
2751 * WebProcess/Plugins/PluginProxy.h:
2752 * WebProcess/Plugins/PluginView.h:
2753 * WebProcess/WebPage/WebPage.h:
2754 * WebProcess/WebPage/WebPage.messages.in:
2755 * WebProcess/WebPage/mac/WebPageMac.mm:
2757 2013-07-24 Jessie Berlin <jberlin@apple.com>
2759 Remove WKPageGetPlugInInformation - it is not used anymore
2760 https://bugs.webkit.org/show_bug.cgi?id=119047
2762 Rubber-stamped by Alexey Proskuryakov.
2764 Revert r152328, which added a key used only in the callback info for
2765 WKPageGetPlugInInformation.
2767 * Shared/API/c/WKPluginInformation.cpp:
2768 * Shared/API/c/WKPluginInformation.h:
2769 * Shared/Plugins/Netscape/PluginInformation.cpp:
2770 * Shared/Plugins/Netscape/PluginInformation.h:
2771 * UIProcess/WebPageProxy.h:
2772 * UIProcess/WebPageProxy.messages.in:
2773 * UIProcess/mac/WebPageProxyMac.mm:
2774 (WebKit::WebPageProxy::containsPlugInCallback):
2775 * WebProcess/WebPage/mac/WebPageMac.mm:
2776 (WebKit::WebPage::containsPluginViewsWithPluginProcessToken):
2778 2013-07-24 Anton Obzhirov <a.obzhirov@samsung.com>
2780 [GTK] TestInspectorServer unit test is timing out
2781 https://bugs.webkit.org/show_bug.cgi?id=105866
2783 Reviewed by Gustavo Noronha Silva.
2785 The test failed because it couldn't find inspector resources in default folder
2786 (make install step was missing). It uses now resources available in
2787 WebKitBuild folder. WebInspectorServerGtk was refactored as well to make
2788 easier to use WEBKIT_INSPECTOR_SERVER_PATH variable.
2790 * UIProcess/API/gtk/tests/GNUmakefile.am:
2791 * UIProcess/API/gtk/tests/InspectorTestServer.cpp:
2793 * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
2794 (testInspectorServerPageList):
2795 * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
2796 (WebKit::WebInspectorServer::platformResourceForPath):
2797 (WebKit::WebInspectorServer::buildPageList):
2798 (WebKit::WebInspectorServer::inspectorServerFilesPath):
2800 2013-07-23 Simon Cooper <scooper@apple.com>
2802 10.7: Java applets do not work due to sandbox violation/exception
2803 https://bugs.webkit.org/show_bug.cgi?id=118920
2804 <rdar://problem/14471541&12910934&14223830&14260729&14267679>
2806 Reviewed by Alexey Proskuryakov.
2808 Introduce versioning into the common profile and use it to fix
2809 a number of issues with Java on 10.7 and 10.8. Allow writing the
2810 com.apple.java.util.prefs preference file. This change also
2811 introduces a "/Library/Application Support/Java/PublicFiles"
2812 area which Java can read without any restrictions. Files written
2813 to this location will need to be created and written to by
2814 a privileged process.
2816 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
2817 * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
2819 2013-07-23 Eunmi Lee <eunmi15.lee@samsung.com>
2821 [EFL][WK2] Add doneWithTouchEvent callback to the WKViewClient.
2822 https://bugs.webkit.org/show_bug.cgi?id=110085
2824 Reviewed by Kenneth Rohde Christiansen.
2826 Add doneWithTouchEvent callback to the WKViewClient in order to get the
2827 result of touch events in the EwkView. The result will be used to
2828 recognize gestures in the Bug 102643.
2830 APIs to get values from WKTouchEventRef and WKTouchPointRef are added
2831 because WKTypeRef is opaque to the applications.
2833 * UIProcess/API/C/CoordinatedGraphics/WKView.h:
2834 * UIProcess/API/C/efl/WKAPICastEfl.h:
2836 * UIProcess/API/C/efl/WKEventEfl.cpp:
2837 (WKTouchEventGetType):
2838 (WKTouchEventGetTouchPoints):
2839 (WKTouchEventGetModifiers):
2840 (WKTouchEventGetTimestamp):
2841 (WKTouchPointGetID):
2842 (WKTouchPointGetState):
2843 (WKTouchPointGetScreenPosition):
2844 (WKTouchPointGetPosition):
2845 (WKTouchPointGetRadius):
2846 (WKTouchPointGetRotationAngle):
2847 (WKTouchPointGetForceFactor):
2848 * UIProcess/API/C/efl/WKEventEfl.h:
2849 * UIProcess/API/efl/EwkView.cpp:
2850 (EwkView::doneWithTouchEvent):
2851 * UIProcess/API/efl/EwkView.h:
2852 * UIProcess/CoordinatedGraphics/WebView.cpp:
2853 (WebKit::WebView::doneWithTouchEvent):
2854 * UIProcess/CoordinatedGraphics/WebViewClient.cpp:
2855 (WebKit::WebViewClient::doneWithTouchEvent):
2856 * UIProcess/CoordinatedGraphics/WebViewClient.h:
2857 * UIProcess/efl/ViewClientEfl.cpp:
2858 (WebKit::ViewClientEfl::doneWithTouchEvent):
2859 (WebKit::ViewClientEfl::ViewClientEfl):
2860 * UIProcess/efl/ViewClientEfl.h:
2862 2013-07-22 Alexey Proskuryakov <ap@apple.com>
2864 Frequent MESSAGE_CHECK failures in WebPageProxy::didReceiveEvent
2865 https://bugs.webkit.org/show_bug.cgi?id=118976
2866 <rdar://problem/14155030>
2868 Reviewed by Sam Weinig.
2870 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::resetStateAfterProcessExited):
2871 Clear m_gestureEventQueue, just like we clear all other event queues here.
2873 2013-07-21 Anders Carlsson <andersca@apple.com>
2875 Java Updater not launched on Lion and Mountain Lion
2876 https://bugs.webkit.org/show_bug.cgi?id=118953
2877 <rdar://problem/14496721>
2879 Reviewed by Sam Weinig.
2881 On Lion and Mountain Lion, -[NSURL isEqual:] will return NO for two file URLs if one of
2882 them has "localhost" specified, even if the paths are otherwise equal. Work around this by
2883 comparing the paths directly.
2885 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2886 (WebKit::isJavaUpdaterURL):
2888 2013-07-19 Morten Stenshorne <mstensho@opera.com>
2890 [GTK] Need a way to enable region based columns from the command line
2891 https://bugs.webkit.org/show_bug.cgi?id=116611
2893 Reviewed by Martin Robinson.
2895 Add an environment variable to enable experimental features.
2897 This provides a means to enable experimental features without polluting
2900 Environment variable name: WEBKITGTK_EXPERIMENTAL_FEATURES
2902 Format: WEBKITGTK_EXPERIMENTAL_FEATURES="<feature1>=1,<feature2>=1,..."
2903 Or, to enable all experimental features: WEBKITGTK_EXPERIMENTAL_FEATURES=all
2905 So far the only feature is region based columns (implement multicol using
2906 the CSS regions implementation rather than ColumnInfo & co) - REGION_BASED_COLUMNS.
2908 Example: WEBKITGTK_EXPERIMENTAL_FEATURES="REGION_BASED_COLUMNS=1"
2910 * GNUmakefile.list.am:
2911 * PlatformGTK.cmake:
2912 * UIProcess/API/gtk/WebKitSettings.cpp:
2913 (webKitSettingsConstructed):
2914 (webkit_settings_class_init):
2915 * UIProcess/gtk/ExperimentalFeatures.cpp: Added.
2918 (WebKit::ExperimentalFeatures::ExperimentalFeatures):
2919 (WebKit::ExperimentalFeatures::isEnabled):
2920 (WebKit::ExperimentalFeatures::setEnableByName):
2921 (WebKit::ExperimentalFeatures::parseEnvironment):
2922 * UIProcess/gtk/ExperimentalFeatures.h: Added.
2924 (ExperimentalFeatures):
2926 2013-07-18 Eunmi Lee <eunmi15.lee@samsung.com>
2928 [WK2] Share Qt port's codes to find zoomable area with CoordinatedGraphics.
2929 https://bugs.webkit.org/show_bug.cgi?id=118585
2931 Reviewed by Anders Carlsson.
2933 The function to find zoomable area is needed in order to implement the
2934 feature to scale for double-tap gesture. The WK2 EFL and NIX port want
2935 to use that function, so extract the code from the Qt port, make it
2936 usable in the CoordinatedGraphics and add API and callback.
2940 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
2941 (WKViewFindZoomableAreaForRect):
2942 * UIProcess/API/C/CoordinatedGraphics/WKView.h:
2943 * UIProcess/API/efl/EwkView.cpp:
2944 (EwkView::didFindZoomableArea):
2945 * UIProcess/API/efl/EwkView.h:
2946 * UIProcess/CoordinatedGraphics/WebPageProxyCoordinatedGraphics.cpp: Added.
2947 (WebKit::WebPageProxy::findZoomableAreaForPoint):
2948 (WebKit::WebPageProxy::didFindZoomableArea):
2949 * UIProcess/CoordinatedGraphics/WebView.cpp:
2950 (WebKit::WebView::didFindZoomableArea):
2951 (WebKit::WebView::findZoomableAreaForPoint):
2952 * UIProcess/CoordinatedGraphics/WebView.h:
2953 * UIProcess/CoordinatedGraphics/WebViewClient.cpp:
2954 (WebKit::WebViewClient::didFindZoomableArea):
2955 * UIProcess/CoordinatedGraphics/WebViewClient.h:
2956 * UIProcess/PageClient.h:
2957 * UIProcess/WebPageProxy.h:
2958 * UIProcess/WebPageProxy.messages.in:
2959 * UIProcess/efl/ViewClientEfl.cpp:
2960 (WebKit::ViewClientEfl::didFindZoomableArea):
2961 (WebKit::ViewClientEfl::ViewClientEfl):
2962 * UIProcess/efl/ViewClientEfl.h:
2963 * UIProcess/qt/WebPageProxyQt.cpp:
2964 * WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp: Added.
2965 (WebKit::WebPage::findZoomableAreaForPoint):
2966 * WebProcess/WebPage/WebPage.cpp:
2967 * WebProcess/WebPage/WebPage.h:
2968 * WebProcess/WebPage/WebPage.messages.in:
2970 2013-07-18 Simon Cooper <scooper@apple.com>
2972 Flash Player: deny file-read-data /Library/Application Support/Macromedia/FlashAuthor.cfg
2973 https://bugs.webkit.org/show_bug.cgi?id=118874
2974 <rdar://problem/14271327>
2976 Reviewed by Alexey Proskuryakov.
2978 Silently deny access to FlashAuthor.cfg. This location contains
2979 files containing lists of paths that Flash Player will
2980 "allow" access to (without asking the user). Since the plugin
2981 sandbox won't permit the access to the listed paths it is better
2982 to silently block attempts to read this "whitelist".
2984 * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
2986 2013-07-18 Tim Horton <timothy_horton@apple.com>
2988 [wk2] Ensure that the plugin layer is removed completely when the PluginProcess crashes
2989 https://bugs.webkit.org/show_bug.cgi?id=118862
2991 Reviewed by Anders Carlsson.
2993 * WebProcess/Plugins/PluginView.cpp:
2994 (WebKit::PluginView::PluginView):
2995 Add m_pluginProcessHasCrashed.
2997 (WebKit::PluginView::platformLayer):
2998 Don't return the plugin's layer if it has crashed.
3000 (WebKit::PluginView::pluginProcessCrashed):
3001 Set m_pluginProcessHasCrashed.
3002 Cause a style recalc so that we rebuild the layer tree; our layer won't be included.
3004 * WebProcess/Plugins/PluginView.h:
3005 Add m_pluginProcessHasCrashed.
3007 2013-07-18 Alexey Proskuryakov <ap@apple.com>
3009 <rdar://problem/13886443> Assertion failures in NetworkProcess in SandboxExtension::revoke when aborting SyncNetworkResourceLoader
3010 <rdar://problem/13826348> ASSERT(!m_useCount) fails in NetworkProcess at SandboxExtension::~SandboxExtension
3011 https://bugs.webkit.org/show_bug.cgi?id=118855
3013 Reviewed by Brady Eidson.
3015 * NetworkProcess/NetworkResourceLoader.cpp:
3016 (WebKit::NetworkResourceLoader::cleanup):
3017 (WebKit::NetworkResourceLoader::didFinishLoading):
3018 (WebKit::NetworkResourceLoader::didFail):
3019 Moved sandbox extension invalidation to cleanup() meaning that we won't fail to
3020 do this when aborting a loader that currently loading from network.
3022 * NetworkProcess/SchedulableLoader.cpp:
3023 (WebKit::SchedulableLoader::SchedulableLoader):
3024 (WebKit::SchedulableLoader::consumeSandboxExtensions):
3025 (WebKit::SchedulableLoader::invalidateSandboxExtensions):
3026 * NetworkProcess/SchedulableLoader.h:
3027 Keep track of whether sandbox extensions are consumed, we don't want to revoke
3028 extensions that were never consumed (as used to be the case with sync loaders,
3029 and would be with async ones after the above fix). Also, get rid of extensions
3030 immediately when invalidating, we won't need them again.
3032 2013-07-18 Tim Horton <timothy_horton@apple.com>
3034 Remove PDFViewController and WKView "custom representations"
3035 https://bugs.webkit.org/show_bug.cgi?id=118720
3037 Reviewed by Alexey Proskuryakov.
3039 PDFViewController was the only implementation of
3040 a "custom representation" for a WKView. As it has
3041 been superceded by PDFPlugin, we can remove both
3042 PDFViewController and the notion of a WKView custom
3045 * UIProcess/API/gtk/PageClientImpl.cpp:
3046 * UIProcess/API/gtk/PageClientImpl.h:
3047 * UIProcess/API/mac/PDFViewController.h: Removed.
3048 * UIProcess/API/mac/PDFViewController.mm: Removed.
3049 * UIProcess/API/mac/PageClientImpl.h:
3050 * UIProcess/API/mac/PageClientImpl.mm:
3051 * UIProcess/API/mac/WKView.mm:
3052 (-[WKView accessibilityFocusedUIElement]):
3053 (-[WKView accessibilityHitTest:]):
3054 (-[WKView accessibilityAttributeValue:]):
3055 (-[WKView printOperationWithPrintInfo:forFrame:]):
3056 * UIProcess/API/mac/WKViewInternal.h:
3057 * UIProcess/API/qt/raw/qrawwebview_p_p.h:
3058 * UIProcess/CoordinatedGraphics/WebView.cpp:
3059 * UIProcess/CoordinatedGraphics/WebView.h:
3060 * UIProcess/DrawingAreaProxy.h:
3061 * UIProcess/DrawingAreaProxyImpl.cpp:
3062 * UIProcess/DrawingAreaProxyImpl.h:
3063 * UIProcess/PageClient.h:
3064 * UIProcess/WebPageProxy.cpp:
3065 (WebKit::WebPageProxy::WebPageProxy):
3066 (WebKit::WebPageProxy::supportsTextEncoding):
3067 (WebKit::WebPageProxy::supportsTextZoom):
3068 (WebKit::WebPageProxy::setTextZoomFactor):
3069 (WebKit::WebPageProxy::setPageZoomFactor):
3070 (WebKit::WebPageProxy::setPageAndTextZoomFactors):
3071 (WebKit::WebPageProxy::findString):
3072 (WebKit::WebPageProxy::countStringMatches):
3073 (WebKit::WebPageProxy::didCommitLoadForFrame):
3074 * UIProcess/WebPageProxy.h:
3075 (WebKit::WebPageProxy::textZoomFactor):
3076 (WebKit::WebPageProxy::pageZoomFactor):
3077 * UIProcess/WebPageProxy.messages.in:
3078 * UIProcess/qt/QtPageClient.h:
3079 * WebKit2.xcodeproj/project.pbxproj:
3080 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3081 (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
3082 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
3083 (WebKit::WebFrameLoaderClient::committedLoad):
3084 (WebKit::WebFrameLoaderClient::finishedLoading):
3085 (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
3086 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
3087 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3088 * WebProcess/WebPage/DrawingArea.h:
3089 * WebProcess/WebPage/DrawingArea.messages.in:
3090 * WebProcess/WebPage/DrawingAreaImpl.cpp:
3091 (WebKit::DrawingAreaImpl::setNeedsDisplayInRect):
3092 (WebKit::DrawingAreaImpl::scroll):
3093 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
3094 (WebKit::DrawingAreaImpl::display):
3095 * WebProcess/WebPage/DrawingAreaImpl.h:
3096 * WebProcess/WebPage/WebPage.cpp:
3097 * WebProcess/WebPage/WebPage.h:
3098 * WebProcess/WebPage/mac/WebPageMac.mm:
3099 (WebKit::WebPage::platformPreferencesDidChange):
3100 * mac/WebKit2.order:
3102 2013-07-18 Dong-Gwan Kim <donggwan.kim@samsung.com>
3104 [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_color_picker.cpp
3105 https://bugs.webkit.org/show_bug.cgi?id=118797
3107 Reviewed by Christophe Dumez.
3109 Some mouseClick methods are used in test_ewk2_color_picker.cpp.
3110 But it is difficult to understand what they mean.
3111 So i would like to replace those with more meaningful method for readability.
3113 * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
3114 (EWK2ColorPickerTest::clickButton):
3117 2013-07-18 Eunmi Lee <eunmi15.lee@samsung.com>
3119 [WK2] Replace getRect() to pixelSnappedBoundingBox().
3120 https://bugs.webkit.org/show_bug.cgi?id=118588
3122 Reviewed by Noam Rosenthal.
3124 The Node::getRect() function was removed in the
3125 http://trac.webkit.org/changeset/128006, so use
3126 pixelSnappedBoundingBox() instead.
3128 * WebProcess/WebPage/WebPage.cpp:
3129 (WebKit::WebPage::findZoomableAreaForPoint):
3131 2013-07-18 Dong-Gwan Kim <donggwan.kim@samsung.com>
3133 [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_context_menu.cpp
3134 https://bugs.webkit.org/show_bug.cgi?id=118796
3136 Reviewed by Christophe Dumez.
3138 Some mouseClick methods are used in test_ewk2_context_menu.cpp.
3139 But it is difficult to understand what they mean.
3140 So i would like to replace those with more meaningful method for readability.
3142 * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
3143 (EWK2ContextMenuTest::testContextMenu):
3144 (EWK2ContextMenuTest::testContextMenuForRemoveAndAppend):
3145 (EWK2ContextMenuTest::testContextMenuForSubmenu):
3146 (EWK2ContextMenuTest::finishTest):
3147 (EWK2ContextMenuTest::showContextMenu):
3150 2013-07-18 Dong-Gwan Kim <donggwan.kim@samsung.com>
3152 [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_file_chooser_request.cpp
3153 https://bugs.webkit.org/show_bug.cgi?id=118792
3155 Reviewed by Christophe Dumez.
3157 Some mouseClick methods are used in test_ewk2_file_chooser_request.cpp.
3158 But it is difficult to understand what they mean.
3159 So i would like to replace those with more meaningful method for readability.
3161 * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
3162 (EWK2FileChooserRequestTest::clickFileInput):
3165 2013-07-18 Dong-Gwan Kim <donggwan.kim@samsung.com>
3167 [EFL][WK2] Move all the static methods into EWK2TextCheckerTest in test_ewk2_text_checker.cpp
3168 https://bugs.webkit.org/show_bug.cgi?id=118790
3170 Reviewed by Christophe Dumez.
3172 All the static methods should be moved to EWK2TextCheckerTest.
3174 * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
3175 (EWK2TextCheckerTest::resetCallbacksExecutionStats):
3176 (EWK2TextCheckerTest::onTimeout):
3177 (EWK2TextCheckerTest::onSettingChange):
3178 (EWK2TextCheckerTest::onSpellDocumentTag):
3179 (EWK2TextCheckerTest::onSpellDocumentTagClose):
3180 (EWK2TextCheckerTest::onSpellingCheck):
3181 (EWK2TextCheckerTest::onSpellingForKnownWord):
3182 (EWK2TextCheckerTest::onWordGuesses):
3183 (EWK2TextCheckerTest::onWordLearn):
3184 (EWK2TextCheckerTest::onWordIgnore):
3185 (EWK2TextCheckerTest::findContextMenuItem):
3186 (EWK2TextCheckerTest::checkCorrectnessOfSpellingItems):
3187 (EWK2TextCheckerTest::toogleCheckSpellingWhileTyping):
3188 (EWK2TextCheckerTest::checkClientSuggestionsForWord):
3189 (EWK2TextCheckerTest::selectLearnSpelling):
3190 (EWK2TextCheckerTest::selectIgnoreSpelling):
3191 (EWK2TextCheckerTest::countContextMenuItems):
3192 (EWK2TextCheckerTest::clickButton):
3193 (EWK2TextCheckerTest::showContextMenu):
3194 (EWK2TextCheckerTest::selectFirstWord):
3196 2013-07-17 Tim Horton <timothy_horton@apple.com>
3198 Update blocked/missing plug-in UI
3199 https://bugs.webkit.org/show_bug.cgi?id=118347
3200 <rdar://problem/14209318>
3202 Reviewed by Sam Weinig.
3204 * Platform/CoreIPC/HandleMessage.h:
3205 (CoreIPC::callMemberFunction):
3206 Add a 6 argument -> 4 reply message handler.
3207 (It seems that FindPlugin is getting a little out of hand.)
3209 * Shared/APIClientTraits.cpp:
3210 * Shared/APIClientTraits.h:
3211 * UIProcess/API/C/WKPage.h:
3212 * UIProcess/WebLoaderClient.cpp:
3213 (WebKit::WebLoaderClient::pluginLoadPolicy):
3214 * UIProcess/WebLoaderClient.h:
3215 Add an unavailability description out-argument to a new version of
3216 pluginLoadPolicy, so clients can override the text of the unavailable
3217 plugin indicator. Bump the WKPageLoaderClient version and update APIClientTraits.
3219 * UIProcess/WebPageProxy.cpp:
3220 (WebKit::WebPageProxy::findPlugin):
3221 * UIProcess/WebPageProxy.h:
3222 * UIProcess/WebPageProxy.messages.in:
3223 Plumb the unavailability description through to the WebProcess via
3224 the FindPlugin message.
3226 * WebProcess/WebPage/WebPage.cpp:
3227 (WebKit::WebPage::createPlugin):
3228 Acquire the unavailability description from the client
3229 (via FindPlugin) and hand it to the RenderEmbeddedObject.
3231 2013-07-17 Commit Queue <commit-queue@webkit.org>
3233 Unreviewed, rolling out r152701, r152703, r152739, r152754,
3235 http://trac.webkit.org/changeset/152701
3236 http://trac.webkit.org/changeset/152703
3237 http://trac.webkit.org/changeset/152739
3238 http://trac.webkit.org/changeset/152754
3239 http://trac.webkit.org/changeset/152756
3240 https://bugs.webkit.org/show_bug.cgi?id=118821
3242 this was a buggy fix and we're going to try something
3243 different (Requested by thorton on #webkit).
3245 * Platform/CoreIPC/HandleMessage.h:
3246 * Shared/APIClientTraits.cpp:
3247 * Shared/APIClientTraits.h:
3248 * UIProcess/API/C/WKPage.h:
3249 * UIProcess/WebLoaderClient.cpp:
3250 (WebKit::WebLoaderClient::pluginLoadPolicy):
3251 * UIProcess/WebLoaderClient.h:
3252 * UIProcess/WebPageProxy.cpp:
3253 (WebKit::WebPageProxy::findPlugin):
3254 * UIProcess/WebPageProxy.h:
3255 * UIProcess/WebPageProxy.messages.in:
3256 * WebProcess/Plugins/PluginProcessConnection.cpp:
3257 (WebKit::PluginProcessConnection::didClose):
3258 * WebProcess/Plugins/PluginView.cpp:
3259 (WebKit::PluginView::pluginProcessCrashed):
3260 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3261 (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
3262 * WebProcess/WebCoreSupport/WebChromeClient.h:
3263 * WebProcess/WebPage/WebPage.cpp:
3264 (WebKit::WebPage::createPlugin):
3265 (WebKit::WebPage::canPluginHandleResponse):
3267 2013-07-17 Alexey Proskuryakov <ap@apple.com>
3269 [Mac] Crashes in CFURLGetBytes under WebProcess::updateActivePages()
3270 https://bugs.webkit.org/show_bug.cgi?id=118814
3271 <rdar://problem/14173389>
3273 Reviewed by Brady Eidson.
3275 Speculative fix. It's unclear how we end up with an invalid URL when committing
3278 * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::updateActivePages):
3281 2013-07-17 Commit Queue <commit-queue@webkit.org>
3283 Unreviewed, rolling out r152786 and r152789.
3284 http://trac.webkit.org/changeset/152786
3285 http://trac.webkit.org/changeset/152789
3286 https://bugs.webkit.org/show_bug.cgi?id=118807
3288 overly platform specific and dirty API (and Sam says no)
3289 (Requested by thorton on #webkit).
3291 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
3292 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
3293 * WebProcess/WebPage/PageOverlay.cpp:
3294 * WebProcess/WebPage/PageOverlay.h:
3295 * WebProcess/WebPage/WebPage.cpp:
3296 * WebProcess/WebPage/WebPage.h:
3297 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
3299 2013-07-17 Tim Horton <timothy_horton@apple.com>
3301 AX: VoiceOver not working with data detection page overlays
3302 https://bugs.webkit.org/show_bug.cgi?id=118680
3304 Reviewed by Anders Carlsson.
3306 Bump the API version after r152786.
3308 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
3310 2013-07-17 Simon Cooper <scooper@apple.com>
3312 YouTube webcam capture (Flash Plug-in) in Safari can't see built-in camera
3313 https://bugs.webkit.org/show_bug.cgi?id=118787
3314 <rdar://problem/14418799>
3316 Reviewed by Alexey Proskuryakov.
3318 Add support for built-in cameras, including the original iSight.
3320 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
3321 * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
3323 2013-07-17 Chris Fleizach <cfleizach@apple.com>
3325 AX: VoiceOver not working with data detection page overlays
3326 https://bugs.webkit.org/show_bug.cgi?id=118680
3328 Reviewed by Tim Horton.
3330 Expose API methods so that a client implementing data detectors is able to respond
3331 to the needs of accessibility clients like VoiceOver.
3333 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
3334 (PageOverlayClientImpl::supportsDataDetection):
3335 (PageOverlayClientImpl::dataDetectorExistsAtPoint):
3336 (PageOverlayClientImpl::dataDetectorCopyTypeAtPoint):
3337 (PageOverlayClientImpl::showDataDetectorMenuAtPoint):
3338 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
3339 * WebProcess/WebPage/PageOverlay.cpp:
3340 (WebKit::PageOverlay::supportsDataDetection):
3341 (WebKit::PageOverlay::dataDetectorExistsAtPoint):
3342 (WebKit::PageOverlay::dataDetectorCopyTypeAtPoint):
3343 (WebKit::PageOverlay::dataDetectorOpenMenuAtPoint):
3344 * WebProcess/WebPage/PageOverlay.h:
3345 (WebKit::PageOverlay::Client::supportsDataDetection):
3346 (WebKit::PageOverlay::Client::dataDetectorExistsAtPoint):
3347 (WebKit::PageOverlay::Client::dataDetectorCopyTypeAtPoint):
3348 (WebKit::PageOverlay::Client::showDataDetectorMenuAtPoint):
3349 * WebProcess/WebPage/WebPage.cpp:
3350 (WebKit::WebPage::pageOverlayOpenDataDetectorMenuAtPoint):
3351 (WebKit::WebPage::pageOverlayDataDetectorCopyTypeAtPoint):
3352 (WebKit::WebPage::pageOverlayDataDetectorExistsAtPoint):
3353 (WebKit::WebPage::pageOverlaySupportsDataDetection):
3354 * WebProcess/WebPage/WebPage.h:
3355 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
3356 (-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
3357 (-[WKAccessibilityWebPageObject _convertScreenPointToWindow:]):
3358 (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
3360 2013-07-17 Dong-Gwan Kim <donggwan.kim@samsung.com>
3362 [EFL][WK2] EWK2CookieManagerTest should be defined by inheriting from EWK2UnitTestBase.
3363 https://bugs.webkit.org/show_bug.cgi?id=118721
3365 Reviewed by Christophe Dumez.
3367 It should be defined as relevant test class specific to each test file for more readability.
3368 It could be helpful to remove unnecessary static methods.
3370 * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
3373 (EWK2CookieManagerTest::getAcceptPolicy):
3374 (EWK2CookieManagerTest::getHostnamesWithCookies):
3375 (EWK2CookieManagerTest::freeHostNames):
3376 (EWK2CookieManagerTest::countHostnamesWithCookies):
3379 2013-07-16 Balazs Kelemen <kbalazs@webkit.org>
3381 [CMake] Undefined references should be detected at build time
3382 https://bugs.webkit.org/show_bug.cgi?id=110236
3384 Reviewed by Christophe Dumez.
3386 Add library dependencies that were not defined explicitly before.
3389 * PlatformEfl.cmake:
3391 2013-07-17 Dong-Gwan Kim <donggwan.kim@samsung.com>
3393 [EFL][WK2] EWK2WindowFeaturesTest should be defined by inheriting from EWK2UnitTestBase.
3394 https://bugs.webkit.org/show_bug.cgi?id=118780
3396 Reviewed by Christophe Dumez.
3398 It should be defined as relevant test class specific to each test file for more readability.
3399 It could be helpful to remove unnecessary static methods.
3401 * UIProcess/API/efl/tests/test_ewk2_window_features.cpp:
3402 (EWK2WindowFeaturesTest::createDefaultWindow):
3403 (EWK2WindowFeaturesTest::createWindow):
3406 2013-07-17 Dong-Gwan Kim <donggwan.kim@samsung.com>
3408 [EFL][WK2] EWK2ViewTest should be defined by inheriting from EWK2UnitTestBase.
3409 https://bugs.webkit.org/show_bug.cgi?id=118779
3411 Reviewed by Christophe Dumez.
3413 It should be defined as relevant test class specific to each test file for more readability.
3414 It could be helpful to remove unnecessary static methods.
3416 * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3417 (EWK2ViewTest::onLoadFinishedForRedirection):
3418 (EWK2ViewTest::serverCallbackNavigation):
3419 (EWK2ViewTest::onFormAboutToBeSubmitted):
3420 (EWK2ViewTest::fullScreenCallback):
3421 (EWK2ViewTest::fullScreenExitCallback):
3422 (EWK2ViewTest::checkAlert):
3423 (EWK2ViewTest::checkConfirm):
3424 (EWK2ViewTest::checkPrompt):
3425 (EWK2ViewTest::onTextFound):
3426 (EWK2ViewTest::onVibrate):
3427 (EWK2ViewTest::onCancelVibration):
3428 (EWK2ViewTest::loadVibrationHTMLString):
3429 (EWK2ViewTest::onContentsSizeChangedPortrait):
3430 (EWK2ViewTest::onContentsSizeChangedLandscape):
3431 (EWK2ViewTest::PageContentsAsMHTMLCallback):
3432 (EWK2ViewTest::PageContentsAsStringCallback):
3435 2013-07-17 Dong-Gwan Kim <donggwan.kim@samsung.com>
3437 [EFL][WK2] EWK2StorageManagerTest should be defined by inheriting from EWK2UnitTestBase.
3438 https://bugs.webkit.org/show_bug.cgi?id=118777
3440 Reviewed by Christophe Dumez.
3442 It should be defined as relevant test class specific to each test file for more readability.
3443 It could be helpful to remove unnecessary static methods.
3445 * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
3446 (EWK2StorageManagerTest::OriginData::OriginData):
3447 (EWK2StorageManagerTest::getStorageOriginsCallback):
3448 (EWK2StorageManagerTest::timerCallback):
3449 (EWK2StorageManagerTest::checkOrigin):
3452 2013-07-17 Dong-Gwan Kim <donggwan.kim@samsung.com>
3454 [EFL][WK2] EWK2PopupMenuTest should be defined by inheriting from EWK2UnitTestBase.
3455 https://bugs.webkit.org/show_bug.cgi?id=118775
3457 Reviewed by Christophe Dumez.
3459 It should be defined as relevant test class specific to each test file for more readability.
3460 It could be helpful to remove unnecessary static methods.
3462 * UIProcess/API/efl/tests/test_ewk2_popup_menu.cpp:
3463 (EWK2PopupMenuTest::checkBasicPopupMenuItem):
3464 (EWK2PopupMenuTest::selectItemAfterDelayed):
3465 (EWK2PopupMenuTest::showPopupMenu):
3468 2013-07-17 Dong-Gwan Kim <donggwan.kim@samsung.com>
3470 [EFL][WK2] EWK2FileChooserRequestTest should be defined by inheriting from EWK2UnitTestBase.
3471 https://bugs.webkit.org/show_bug.cgi?id=118773
3473 Reviewed by Christophe Dumez.
3475 It should be defined as relevant test class specific to each test file for more readability.
3476 It could be helpful to remove unnecessary static methods.
3478 * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
3479 (EWK2FileChooserRequestTest::onFileChooserRequest):
3480 (EWK2FileChooserRequestTest::compareStrings):
3481 (EWK2FileChooserRequestTest::freeStringList):