1 2013-03-05 Geoffrey Garen <ggaren@apple.com>
3 Each web process truncates the disk cache to zero on launch
4 https://bugs.webkit.org/show_bug.cgi?id=111467
6 Reviewed by Darin Adler.
10 * WebProcess/mac/WebProcessMac.mm:
11 (WebKit::WebProcess::platformInitializeWebProcess):
13 2013-03-05 Anders Carlsson <andersca@apple.com>
15 Reset the values if there is a quota error
16 https://bugs.webkit.org/show_bug.cgi?id=111500
18 Reviewed by Beth Dakin.
20 * WebProcess/Storage/StorageAreaProxy.cpp:
21 (WebKit::StorageAreaProxy::didSetItem):
22 (WebKit::StorageAreaProxy::resetValues):
24 * WebProcess/Storage/StorageAreaProxy.h:
27 2013-03-05 Anders Carlsson <andersca@apple.com>
29 Keep track of pending value changes in StorageAreaProxy
30 https://bugs.webkit.org/show_bug.cgi?id=111496
32 Reviewed by Beth Dakin.
34 Add a HashCountedSet to keep track of the number of pending value
35 changes for a given key. If we get incoming storage events from other
36 processes while we have pending value changes, ignore the events.
38 * WebProcess/Storage/StorageAreaProxy.cpp:
39 (WebKit::StorageAreaProxy::setItem):
40 (WebKit::StorageAreaProxy::didSetItem):
41 (WebKit::StorageAreaProxy::dispatchStorageEvent):
42 (WebKit::StorageAreaProxy::shouldApplyChangesForKey):
44 * WebProcess/Storage/StorageAreaProxy.h:
47 2013-03-05 Ryuan Choi <ryuan.choi@samsung.com>
49 [EFL] Build break with latest EFL libraries
50 https://bugs.webkit.org/show_bug.cgi?id=111028
52 Reviewed by Dirk Pranke.
54 * PlatformEfl.cmake: Added ECORE_XXX_INCLUDE_DIRS.
56 2013-03-05 Anders Carlsson <andersca@apple.com>
58 Use a named parameter for whether a quota error ocurred or not
59 https://bugs.webkit.org/show_bug.cgi?id=111490
61 Reviewed by Beth Dakin.
63 This is clearer than setItem returning true on error.
64 Also, actually set the item in the storage map.
66 * UIProcess/Storage/StorageManager.cpp:
67 (StorageManager::StorageArea):
68 (WebKit::StorageManager::StorageArea::setItem):
69 (WebKit::StorageManager::setItem):
71 2013-03-05 Kiran Muppala <cmuppala@apple.com>
73 Use new assertion API for process suppression on Mac
74 https://bugs.webkit.org/show_bug.cgi?id=111387
76 Reviewed by Alexey Proskuryakov.
78 * Shared/ChildProcess.h:
79 (WebKit::ChildProcess::processSuppressionEnabled): Rename
80 m_processVisibleAssertion to m_processSuppressionAssertion.
81 * Shared/mac/ChildProcessMac.mm:
82 (WebKit::ChildProcess::setProcessSuppressionEnabled): Ditto. And,
83 replace calls to WKNSProcessInfoProcessAssertionWithTypes() with call to
84 -[NSProcessInfo beginSuspensionOfSystemBehaviors:].
86 2013-03-05 Anders Carlsson <andersca@apple.com>
88 Move storageType() to StorageAreaProxy
89 https://bugs.webkit.org/show_bug.cgi?id=111488
91 Reviewed by Andreas Kling.
93 * WebProcess/Storage/StorageAreaProxy.cpp:
94 (WebKit::StorageAreaProxy::StorageAreaProxy):
95 (WebKit::StorageAreaProxy::storageType):
96 (WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
97 * WebProcess/Storage/StorageAreaProxy.h:
99 * WebProcess/Storage/StorageNamespaceProxy.cpp:
100 * WebProcess/Storage/StorageNamespaceProxy.h:
102 2013-03-05 Jeffrey Pfau <jpfau@apple.com>
104 Clear associated cache partitions when deleting origins' cache
105 https://bugs.webkit.org/show_bug.cgi?id=111383
107 Reviewed by Maciej Stachowiak.
109 Clear the cache partitions associated with the origin being cleared.
111 * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
113 (WebKit::partitionName):
114 (WebKit::WebResourceCacheManager::clearCFURLCacheForHostNames):
116 2013-03-05 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
118 [WK2][EFL] WebPageProxy::setThemePath() should check that the page is valid
119 https://bugs.webkit.org/show_bug.cgi?id=109917
121 Reviewed by Alexey Proskuryakov.
123 WebPageProxy::setThemePath() should check that the page is valid before
126 * UIProcess/efl/WebPageProxyEfl.cpp:
127 (WebKit::WebPageProxy::setThemePath):
129 2013-03-05 Alexey Proskuryakov <ap@apple.com>
131 <rdar://problem/13269245> Crashes creating WebKit processes in WKSandboxExtensionConsume
132 https://bugs.webkit.org/show_bug.cgi?id=111456
134 Reviewed by Anders Carlsson.
136 It's too late to be draconian about this condition here, crashing doesn't help
137 diagnose what went wrong when creating a sandbox extension.
139 Other SandboxExtension functions already have null checks for WKSandboxExtensionRef,
140 and so should consumePermanently().
142 * Shared/mac/SandboxExtensionMac.mm:
143 (WebKit::SandboxExtension::createHandle): For now, added logging when extension
144 creation fails. If that proves insufficiently helpful in practice, we can change
146 (WebKit::SandboxExtension::createHandleForTemporaryFile): Ditto.
147 (WebKit::SandboxExtension::consumePermanently): Gracefully fail if there is no extension
150 2013-03-05 Gwang Yoon Hwang <ryumiel@company100.net>
152 Coordinated Graphics: CoordinatedGraphicsLayer makes CoordinatedGraphicsScene perform via CoordinatedGraphicsState.
153 https://bugs.webkit.org/show_bug.cgi?id=108294
155 Reviewed by Anders Carlsson.
157 There are two changes in WK2.
158 1. Change CoordinatedLayerTreeHostProxy to use CoordinatedGraphicsState.
159 2. Add encode/decode of CoordinatedGraphicsState in CoordinatedGraphicsArgumentCoders.
161 This patch is based on Dongsung Huang, and Noam's work in
162 https://bugs.webkit.org/show_bug.cgi?id=108294
164 No new tests, covered by existing tests.
166 * Scripts/webkit2/messages.py:
168 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
170 Encoding UpdateImageBacking and CreateUpdateAtlas can fail when
171 encoding WebCoordinatedSurface::Handle fails, but we don't
175 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
177 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
178 (WebKit::CoordinatedLayerTreeHostProxy::commitCoordinatedGraphicsState):
180 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
182 (CoordinatedLayerTreeHostProxy):
183 (WebKit::CoordinatedLayerTreeHostProxy::coordinatedGraphicsScene):
184 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
185 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
186 (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
187 (WebKit::CoordinatedLayerTreeHost::initializeRootCompositingLayerIfNeeded):
188 (WebKit::CoordinatedLayerTreeHost::syncLayerState):
189 (WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesIfNeeded):
191 (WebKit::CoordinatedLayerTreeHost::updateImageBacking):
192 (WebKit::CoordinatedLayerTreeHost::setBackgroundColor):
193 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
194 (CoordinatedLayerTreeHost):
196 2013-03-05 Sam Weinig <sam@webkit.org>
198 Follow up to https://bugs.webkit.org/show_bug.cgi?id=111453, forgot to mark the files as Private.
200 * WebKit2.xcodeproj/project.pbxproj:
202 2013-03-05 Sam Weinig <sam@webkit.org>
204 Elevate accessors of C-SPI API variants to Objective-C SPI
205 https://bugs.webkit.org/show_bug.cgi?id=111453
206 <rdar://problem/13340357>
208 Reviewed by Alexey Proskuryakov.
210 * Shared/mac/ObjCObjectGraphCoders.mm:
211 * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
212 * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
213 * UIProcess/API/mac/WKBrowsingContextGroup.mm:
214 * UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Renamed from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupInternal.h.
215 * UIProcess/API/mac/WKProcessGroup.mm:
216 * UIProcess/API/mac/WKProcessGroupPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h.
217 * UIProcess/API/mac/WKView.mm:
218 * WebKit2.xcodeproj/project.pbxproj:
219 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
220 (-[WKWebProcessPlugInController _bundleRef]):
221 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInPrivate.h: Renamed from Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h.
222 Add access to C-SPI WebKit types as Objective-C SPI.
224 2013-03-04 Alexey Proskuryakov <ap@apple.com>
226 Make AsyncFileReader work without ScriptExecutionContext
227 https://bugs.webkit.org/show_bug.cgi?id=111376
229 Reviewed by Anders Carlsson.
231 * NetworkProcess/NetworkResourceLoader.cpp:
232 * NetworkProcess/NetworkResourceLoader.h:
233 Removed a dummy implementation of createAsyncFileStream, which is no longer needed.
235 2013-03-05 Alexey Proskuryakov <ap@apple.com>
237 <rdar://problem/13345116> REGRESSION: Child processes get access to user cache
238 and temporary directories instead of private ones
240 Reviewed by Sam Weinig.
242 * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::initializeSandbox):
243 Restore the correct order of calls, so sandbox parameters respect WebKit pseudo
246 2013-03-05 David Kilzer <ddkilzer@apple.com>
248 BUILD FIX (r144698): Only enable SPEECH_SYNTHESIS for Mac
249 <http://webkit.org/b/106742>
251 Fixes the following build failures:
253 Undefined symbols for architecture i386:
254 "__ZTVN7WebCore25PlatformSpeechSynthesizerE", referenced from:
255 __ZN7WebCore25PlatformSpeechSynthesizerC2EPNS_31PlatformSpeechSynthesizerClientE in PlatformSpeechSynthesizer.o
256 NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
257 "__ZN7WebCore25PlatformSpeechSynthesizer19initializeVoiceListEv", referenced from:
258 __ZN7WebCore25PlatformSpeechSynthesizerC2EPNS_31PlatformSpeechSynthesizerClientE in PlatformSpeechSynthesizer.o
259 ld: symbol(s) not found for architecture i386
261 * Configurations/FeatureDefines.xcconfig:
262 - Only set ENABLE_SPEECH_SYNTHESIS for the macosx platform.
264 2013-03-05 Tim Horton <timothy_horton@apple.com>, Grzegorz Czajkowski <g.czajkowski@samsung.com>
266 [WK2] WTR needs an implementation of setAsynchronousSpellCheckingEnabled
267 https://bugs.webkit.org/show_bug.cgi?id=81042
269 Reviewed by Enrica Casucci.
271 Expose WK2 setting to enable/disabled asynchronous spell checking.
272 It's used by WebKitTestRunner to reset the setting at the beginning
274 WebKit2 ports might be interested in this setting if they are going
275 to enable this feature.
277 * Shared/WebPreferencesStore.h:
278 * UIProcess/API/C/WKPreferences.cpp:
279 (WKPreferencesSetAsynchronousSpellCheckingEnabled):
280 (WKPreferencesGetAsynchronousSpellCheckingEnabled):
281 * UIProcess/API/C/WKPreferences.h:
282 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
283 (WKBundleSetAsynchronousSpellCheckingEnabled):
284 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
285 * WebProcess/InjectedBundle/InjectedBundle.cpp:
286 (WebKit::InjectedBundle::setAsynchronousSpellCheckingEnabled):
287 * WebProcess/InjectedBundle/InjectedBundle.h:
288 * WebProcess/WebPage/WebPage.cpp:
289 (WebKit::WebPage::updatePreferences):
291 2013-03-03 Grzegorz Czajkowski <g.czajkowski@samsung.com>
293 [WK2][EFL] Add requestCheckingOfString implementation.
294 https://bugs.webkit.org/show_bug.cgi?id=108172
296 Reviewed by Hajime Morrita.
298 Provide implementation of 'requestCheckingOfString' for WK2-EFL.
299 It uses the unified text checker feature.
301 * UIProcess/efl/TextCheckerEfl.cpp:
302 (WebKit::TextChecker::requestCheckingOfString):
304 2013-03-04 Chris Fleizach <cfleizach@apple.com>
306 Support WebSpeech - Speech Synthesis
307 https://bugs.webkit.org/show_bug.cgi?id=106742
309 Reviewed by Simon Fraser.
311 Enable speech synthesis for the Mac.
313 * Configurations/FeatureDefines.xcconfig:
315 2013-03-04 Anders Carlsson <andersca@apple.com>
317 UI process storage areas should hold on to storage maps
318 https://bugs.webkit.org/show_bug.cgi?id=111374
320 Reviewed by Beth Dakin.
322 Pass the session storage quota size through to the storage area constructor and
323 create a StorageMap with the given quota size.
325 * UIProcess/Storage/StorageManager.cpp:
326 (StorageManager::StorageArea):
327 (WebKit::StorageManager::StorageArea::create):
328 (WebKit::StorageManager::StorageArea::StorageArea):
329 (StorageManager::SessionStorageNamespace):
330 (WebKit::StorageManager::SessionStorageNamespace::create):
331 (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
332 (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
333 (WebKit::StorageManager::createSessionStorageNamespace):
334 (WebKit::StorageManager::createSessionStorageNamespaceInternal):
335 * UIProcess/Storage/StorageManager.h:
337 * UIProcess/WebPageProxy.cpp:
338 (WebKit::WebPageProxy::WebPageProxy):
340 2013-03-04 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
342 Unreviewed build fix after r144675.
344 Work around picky/old C++ compilers by separating the '>>' in
345 nested templates with a space.
347 * UIProcess/Storage/StorageManager.cpp:
348 (StorageManager::StorageArea):
350 2013-03-04 Anders Carlsson <andersca@apple.com>
352 More work on UI side storage
353 https://bugs.webkit.org/show_bug.cgi?id=111370
355 Reviewed by Andreas Kling.
357 Add a DispatchStorageEvent message and begin hooking it up.
359 * UIProcess/Storage/StorageManager.cpp:
360 (StorageManager::StorageArea):
361 (WebKit::StorageManager::StorageArea::setItem):
363 (WebKit::StorageManager::StorageArea::dispatchEvents):
364 (WebKit::StorageManager::setItem):
365 (WebKit::StorageManager::findStorageArea):
366 * UIProcess/Storage/StorageManager.h:
368 * UIProcess/Storage/StorageManager.messages.in:
369 * WebProcess/Storage/StorageAreaProxy.cpp:
370 (WebKit::StorageAreaProxy::setItem):
371 (WebKit::StorageAreaProxy::dispatchStorageEvent):
373 * WebProcess/Storage/StorageAreaProxy.h:
375 * WebProcess/Storage/StorageAreaProxy.messages.in:
377 2013-03-04 Jer Noble <jer.noble@apple.com>
379 Unreviewed build fix: wrap references to PluginInfoStore with
380 guards for platforms which do not enable NETSCAPE_PLUGIN_AP.
382 * UIProcess/WebContext.cpp:
383 (WebKit::WebContext::WebContext):
384 (WebKit::WebContext::~WebContext):
385 * UIProcess/WebContext.h:
387 2013-03-04 Anders Carlsson <andersca@apple.com>
389 Create and destroy storage areas in the UI process
390 https://bugs.webkit.org/show_bug.cgi?id=111361
392 Reviewed by Sam Weinig.
394 * UIProcess/Storage/StorageManager.cpp:
395 (StorageManager::StorageArea):
396 Keep track of listener connection and storage area ID pairs.
398 (WebKit::StorageManager::StorageArea::~StorageArea):
399 Assert that we don't have any listeners left.
401 (WebKit::StorageManager::StorageArea::addListener):
402 Add the pair to the set of listeners.
404 (WebKit::StorageManager::StorageArea::removeListener):
405 Remove the pair from the set of listeners.
407 (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
408 Given an origin, look up or create the storage area.
410 (WebKit::StorageManager::createStorageArea):
411 Create the storage area if it doesn't already exist.
413 (WebKit::StorageManager::destroyStorageArea):
414 Look up the storage area and destroy it.
416 * UIProcess/Storage/StorageManager.h:
417 Add a map of open storage areas.
419 2013-03-04 Jer Noble <jer.noble@apple.com>
421 Add API to allow WK2 clients to query the list of installed plug-ins.
422 https://bugs.webkit.org/show_bug.cgi?id=111245
424 Reviewed by Alexey Proskuryakov.
426 Add API in WKContext, implemented by WebContext, that allows callers to register a callback
427 retrieve an array containing installed plugin information. This API is exposed through WebContext
428 because it owns the PluginInfoStore used to fulfill the request.
430 Bump the WKContextClient API by 1:
431 * Shared/APIClientTraits.cpp:
432 * Shared/APIClientTraits.h:
433 * UIProcess/API/C/WKContext.h:
435 Add a client protocol to PluginInfoStore to notify the client when plugIn information has been
437 * UIProcess/Plugins/PluginInfoStore.cpp:
438 (WebKit::PluginInfoStore::PluginInfoStore): Initialize m_client to 0.
439 (WebKit::PluginInfoStore::loadPluginsIfNecessary): If the client is present, notify after loading the plugin store.
440 * UIProcess/Plugins/PluginInfoStore.h:
441 (WebKit::PluginInfoStoreClient::~PluginInfoStoreClient): Default destructor.
442 (WebKit::PluginInfoStoreClient::PluginInfoStoreClient): Default constructor.
443 (WebKit::PluginInfoStore::setClient): Simple setter.
444 (WebKit::PluginInfoStore::client): Simple getter.
446 * UIProcess/WebContext.cpp:
447 (WebKit::WebContext::WebContext): Set self as the client of PluginInfoStore.
448 (WebKit::WebContext::~WebContext): Clear the client of PluginInfoStore.
449 (WebKit::WebContext::pluginInfoStoreDidLoadPlugins): Pass the callback to own client.
450 * UIProcess/WebContext.h:
451 * UIProcess/WebContextClient.cpp:
452 (WebKit::WebContextClient::plugInInformationBecameAvailable): Pass the callback to the registered WK callback, if present.
453 * UIProcess/WebContextClient.h:
455 2013-03-04 Tim Horton <timothy_horton@apple.com>
457 PDFPlugin: Hook up Services
458 https://bugs.webkit.org/show_bug.cgi?id=111246
459 <rdar://problem/13062672>
461 Reviewed by Alexey Proskuryakov.
463 Make the Application->Services menu work when the focused selection is a PDFPlugin.
465 * Shared/EditorState.cpp:
466 (WebKit::EditorState::encode):
467 (WebKit::EditorState::decode):
468 * Shared/EditorState.h:
469 (WebKit::EditorState::EditorState):
471 Add isInPlugin property to EditorState.
473 * UIProcess/API/mac/WKView.mm:
474 (-[WKView validRequestorForSendType:returnType:]):
475 If the selection is currently in a Plugin, we only currently have the ability
476 to retrieve the selection as a plain-text string, so restrict sendType to NSStringPboardType.
478 * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
479 * WebProcess/Plugins/Plugin.h:
480 * WebProcess/Plugins/PluginView.h:
481 * WebProcess/Plugins/PluginProxy.h:
482 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
483 Add getStringSelection.
485 * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
486 Add pdfLayerController:didChangeSelection: delegate method.
488 * WebProcess/Plugins/PDF/PDFPlugin.h:
490 Add getStringSelection and notifySelectionChanged.
492 * WebProcess/Plugins/PDF/PDFPlugin.mm:
493 (-[WKPDFLayerControllerDelegate pdfLayerController:didChangeSelection:]):
494 Forward selection change notifications to our PDFPlugin.
496 (WebKit::PDFPlugin::notifySelectionChanged):
497 Forward selection change notifications to our WebPage.
499 (WebKit::PDFPlugin::getStringSelection):
500 Retrieve PDFLayerController's selection as a plain text string.
502 * WebProcess/Plugins/PluginView.cpp:
503 (WebKit::PluginView::countFindMatches):
504 (WebKit::PluginView::findString):
505 Drive-bys, check for existance and initialization of the plugin before using it.
507 (WebKit::PluginView::getStringSelection): Added.
509 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
510 (WebKit::WebEditorClient::respondToChangedSelection):
511 Use didChangeSelection instead of sending the EditorStateChanged message directly.
513 * WebProcess/WebPage/WebPage.cpp:
514 (WebKit::WebPage::editorState):
515 If a plugin is focused and has a selection, return a EditorState that reflects that.
516 Since PDFs aren't editable (when editing annotations, the plugin doesn't have focus),
517 I'm not adding support for the editing-related properties when a plugin has focus.
519 (WebKit::WebPage::focusedPluginViewForFrame):
520 (WebKit::WebPage::pluginViewForFrame):
521 Make these class methods instead of static functions so we can use them from
522 WebPageMac too, instead of duplicating code there.
524 (WebKit::WebPage::didChangeSelection): Added.
526 * WebProcess/WebPage/WebPage.h:
527 Add didChangeSelection and [focused]PluginViewForFrame.
529 * WebProcess/WebPage/mac/WebPageMac.mm:
530 (WebKit::WebPage::getStringSelectionForPasteboard):
531 Defer to the focused plugin (if it exists) when retrieving the plain-text selection.
533 2013-03-04 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
535 [WK2][EFL] Add callbacks to the WKViewClient to handle Web Process crash and relaunch
536 https://bugs.webkit.org/show_bug.cgi?id=109828
538 Reviewed by Kenneth Rohde Christiansen.
540 Providing WKViewClient with Web Process crash and Web Process relaunch
541 callbacks brings better design as WebView should not be aware of
542 EFL-specific code handling the corresponding events.
544 The implementation of the mentioned Web Process callbacks was also added.
546 * UIProcess/API/C/efl/WKView.cpp:
547 (WKViewSetThemePath):
548 * UIProcess/API/C/efl/WKView.h:
549 * UIProcess/efl/ViewClientEfl.cpp:
550 (WebKit::ViewClientEfl::webProcessCrashed):
552 (WebKit::ViewClientEfl::webProcessDidRelaunch):
553 (WebKit::ViewClientEfl::ViewClientEfl):
554 * UIProcess/efl/ViewClientEfl.h:
556 * UIProcess/efl/WebView.cpp:
557 (WebKit::WebView::setThemePath):
559 Accepts WTF::String instead of WKStringRef as it is
560 more appropriate for C++ API implementation class.
562 (WebKit::WebView::processDidCrash):
563 (WebKit::WebView::didRelaunchProcess):
564 * UIProcess/efl/WebView.h:
566 * UIProcess/efl/WebViewClient.cpp:
567 (WebKit::WebViewClient::webProcessCrashed):
569 (WebKit::WebViewClient::webProcessDidRelaunch):
570 * UIProcess/efl/WebViewClient.h:
572 2013-03-04 Anders Carlsson <andersca@apple.com>
574 Complete the plug-in URL string before sending it to the UI process
575 https://bugs.webkit.org/show_bug.cgi?id=111355
576 <rdar://problem/13326713>
578 Reviewed by Andreas Kling.
580 If the URL is not absolute, we won't be able to find it by path extension in the plug-in info store.
582 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
583 (WebKit::WebChromeClient::unavailablePluginButtonClicked):
585 2013-03-04 Carlos Garcia Campos <cgarcia@igalia.com>
587 [GTK] Some WebKit2 GTK+ unit tests are failing in 32 bits bot
588 https://bugs.webkit.org/show_bug.cgi?id=111346
590 Reviewed by Martin Robinson.
592 The problem is the use of a temporary CString object in the macro
593 g_assert_cmpstr. It's a common mistake because we usually forget
594 that g_assert_cmpstr is not a function but a macro, that expands
595 to multiple lines. This patch adds a new macro ASSERT_CMP_CSTRING
596 with the same implementation that g_assert_cmpstr, but using
597 CStrings instead of const char*. It fixes all the cases where a
598 temporary CString was used in g_assert_cmpstr, and uses the new
599 macro also for the cases where we were caching the CString just
602 * UIProcess/API/gtk/tests/TestDownloads.cpp:
603 (testDownloadRemoteFile):
604 * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
605 (testInspectorServerPageList):
606 * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
607 * UIProcess/API/gtk/tests/TestMain.h:
608 * UIProcess/API/gtk/tests/TestResources.cpp:
609 * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
611 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
612 (assertThatUserAgentIsSentInHeaders):
613 (testWebKitSettingsUserAgent):
615 2013-03-04 Kunihiko Sakamoto <ksakamoto@chromium.org>
617 Add build flag for FontLoader
618 https://bugs.webkit.org/show_bug.cgi?id=111289
620 Reviewed by Benjamin Poulain.
622 Add ENABLE_FONT_LOAD_EVENTS build flag (disabled by default).
624 * Configurations/FeatureDefines.xcconfig:
626 2013-03-03 Tim Horton <timothy_horton@apple.com>
628 PDFPlugin: Rename delegate method from openWithPreview to openWithNativeApplication
629 https://bugs.webkit.org/show_bug.cgi?id=111258
631 Reviewed by Alexey Proskuryakov.
633 * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
634 * WebProcess/Plugins/PDF/PDFPlugin.mm:
635 (-[WKPDFLayerControllerDelegate openWithNativeApplication]):
636 Rename from openWithPreview to openWithNativeApplication to match PDFKit.
638 2013-03-03 Huang Dongsung <luxtella@company100.net>
640 [EFL][QT][WK2] Turn on ApplyDeviceScaleFactorInCompositor always.
641 https://bugs.webkit.org/show_bug.cgi?id=110298
643 Reviewed by Kenneth Rohde Christiansen.
645 Currently, EFL and Qt turn on ApplyDeviceScaleFactorInCompositor when using
646 fixed layout, but ApplyDeviceScaleFactorInCompositor is not related to fixed
647 layout. It is confusing that a platform WebView deals with device view size or
648 DIP view size case by case. So this patch always turns on
649 ApplyDeviceScaleFactorInCompositor.
651 In addition, move the code that turns on ScrollingCoordinatorEnabled to
652 CoordinatedLayerTreeHost.
654 * UIProcess/API/efl/EwkView.cpp:
655 (EwkView::setDeviceScaleFactor):
656 We should make WebPage know new DIP size.
658 When we set ApplyDeviceScaleFactorInCompositor to true, make WebPage
659 know the DIP size as a view size.
660 * UIProcess/efl/WebView.cpp:
661 (WebKit::WebView::updateViewportSize):
662 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
663 (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
664 * WebProcess/WebPage/DrawingAreaImpl.cpp:
665 (WebKit::DrawingAreaImpl::DrawingAreaImpl):
666 * WebProcess/WebPage/WebPage.cpp:
667 (WebKit::WebPage::setUseFixedLayout):
668 WebPage sends the DIP size to Web Process even when we don't use fixed layout.
670 2013-03-03 Sam Weinig <sam@webkit.org>
672 Shared Web Workers have an incorrect visible process name
673 https://bugs.webkit.org/show_bug.cgi?id=111277
675 Reviewed by Dan Bernstein.
677 * SharedWorkerProcess/SharedWorkerProcess.cpp:
678 (WebKit::SharedWorkerProcess::initializeSharedWorkerProcess):
679 * SharedWorkerProcess/SharedWorkerProcess.h:
680 (SharedWorkerProcess):
681 * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
682 (WebKit::SharedWorkerProcess::initializeProcessName):
683 The SharedWorkerProcess is not an internet plug-in!
685 2013-03-03 Adam Barth <abarth@webkit.org>
687 Unreviewed attempted build fix. Adds back some includes removed in
688 http://trac.webkit.org/changeset/144565.
690 * Shared/WebRenderLayer.cpp:
691 * Shared/WebRenderObject.cpp:
692 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
693 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
694 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
695 * WebProcess/InjectedBundle/InjectedBundle.cpp:
696 * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
697 * WebProcess/Plugins/PDF/PDFPlugin.mm:
698 * WebProcess/Plugins/PluginView.cpp:
699 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
700 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
701 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
702 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
703 * WebProcess/WebPage/mac/WebPageMac.mm:
704 * WebProcess/WebProcess.cpp:
705 * WebProcess/soup/WebProcessSoup.cpp:
707 2013-03-03 Adam Barth <abarth@webkit.org>
709 Unreviewed rollout of http://trac.webkit.org/r144530
710 As described in https://bugs.webkit.org/show_bug.cgi?id=111167 and
711 https://bugs.webkit.org/show_bug.cgi?id=111035, this patch caused a
712 large number of ASSERTs in chromium-win.
714 * NetworkProcess/HostRecord.h:
715 * NetworkProcess/NetworkResourceLoadScheduler.h:
716 * NetworkProcess/NetworkResourceLoader.h:
718 * Shared/WebRenderLayer.cpp:
719 * Shared/WebRenderObject.cpp:
720 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
721 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
722 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
723 * WebProcess/InjectedBundle/InjectedBundle.cpp:
724 * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
725 * WebProcess/Plugins/PDF/PDFPlugin.mm:
726 * WebProcess/Plugins/PluginView.cpp:
727 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
728 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
729 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
730 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
731 * WebProcess/WebPage/mac/WebPageMac.mm:
732 * WebProcess/WebProcess.cpp:
733 * WebProcess/soup/WebProcessSoup.cpp:
735 2013-03-02 Sam Weinig <sam@webkit.org>
737 WebKit2 is missing the setShowsURLsInToolTips preference
738 https://bugs.webkit.org/show_bug.cgi?id=111259
739 <rdar://problem/12991891>
741 Reviewed by Maciej Stachowiak.
743 * Shared/WebPreferencesStore.h:
744 * UIProcess/API/C/WKPreferences.cpp:
745 (WKPreferencesSetShowsURLsInToolTipsEnabled):
746 (WKPreferencesGetShowsURLsInToolTipsEnabled):
747 * UIProcess/API/C/WKPreferencesPrivate.h:
748 * WebProcess/WebPage/WebPage.cpp:
749 (WebKit::WebPage::updatePreferences):
752 2013-03-02 Benjamin Poulain <bpoulain@apple.com>
754 Move computedStyleIncludingVisitedInfo from TestRunner to Internals
755 https://bugs.webkit.org/show_bug.cgi?id=109772
757 Reviewed by Andreas Kling.
759 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
760 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
761 * WebProcess/WebPage/WebFrame.cpp:
762 * WebProcess/WebPage/WebFrame.h:
765 2013-03-01 Kiran Muppala <cmuppala@apple.com>
767 Remove call to set task priority of WebKit2 processes on Mac
768 https://bugs.webkit.org/show_bug.cgi?id=111239
770 Reviewed by Darin Adler.
772 Remove call to set task prioirty of WebKit2 processes on Mac as it
773 is no longer necessary.
775 * Shared/mac/ChildProcessMac.mm:
776 (WebKit::ChildProcess::platformInitialize): Remove call to setpriority().
778 2013-02-28 Alexey Proskuryakov <ap@apple.com>
780 Reduce amount of rebuilding when touching networking headers
781 https://bugs.webkit.org/show_bug.cgi?id=111035
783 Reviewed by Eric Seidel.
785 Adding includes that are now necessary because WebCore headers don't have them
788 * NetworkProcess/HostRecord.h:
789 * NetworkProcess/NetworkResourceLoadScheduler.h:
790 * NetworkProcess/NetworkResourceLoader.h:
791 * Shared/WebRenderLayer.cpp:
792 * Shared/WebRenderObject.cpp:
793 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
794 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
795 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
796 * WebProcess/InjectedBundle/InjectedBundle.cpp:
797 * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
798 * WebProcess/Plugins/PDF/PDFPlugin.mm:
799 * WebProcess/Plugins/PluginView.cpp:
800 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
801 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
802 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
803 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
804 * WebProcess/WebPage/mac/WebPageMac.mm:
805 * WebProcess/WebProcess.cpp:
806 * WebProcess/soup/WebProcessSoup.cpp:
808 2013-02-28 Alexey Proskuryakov <ap@apple.com>
810 Make in-memory blobs work in NetworkProcess
811 https://bugs.webkit.org/show_bug.cgi?id=111132
813 Reviewed by Sam Weinig.
815 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
816 (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
817 (WebKit::NetworkConnectionToWebProcess::registerBlobURLFromURL):
818 (WebKit::NetworkConnectionToWebProcess::unregisterBlobURL):
819 * NetworkProcess/NetworkConnectionToWebProcess.h:
820 Implement BlobRegistry interface by using BlobRegistryImpl (same one as used in
821 WebProcess in non-PPT mode).
823 * NetworkProcess/NetworkConnectionToWebProcess.messages.in: Added three messages
824 needed for BlobRegistry.
826 * NetworkProcess/NetworkProcess.cpp:
827 * NetworkProcess/NetworkProcessPlatformStrategies.cpp: Added.
828 * NetworkProcess/NetworkProcessPlatformStrategies.h: Added.
829 Added a mostly empty platform strategy, just for FormData to talk to BlobRegistry.
830 Perhaps we'll find a way to avoid this WebCore code path in NetworkProcess, because
831 we obviously know which registry implementation is in use in this process.
833 * Shared/FileAPI: Added.
834 * Shared/FileAPI/BlobRegistrationData.cpp: Added.
835 * Shared/FileAPI/BlobRegistrationData.h: Added.
836 Added a class for passing BlobData and extension handles over IPC.
837 This uses a trick with mutable a member to avoid copying decoded BlobStorageData.
839 * WebKit2.xcodeproj/project.pbxproj:
840 * WebProcess/FileAPI: Added.
841 * WebProcess/FileAPI/BlobRegistryProxy.cpp: Added.
842 * WebProcess/FileAPI/BlobRegistryProxy.h: Added.
843 A proxy implementation of BlobRegistry that just sends requests over IPC. We only
846 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
847 (WebKit::WebPlatformStrategies::createBlobRegistry):
848 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
849 Create an appropriate BlobRegistry.
851 2013-03-01 Zan Dobersek <zdobersek@igalia.com>
853 Uncomment ENABLE_SVG guards to avoid having WebKitPluginProcess link
854 against libWebCoreSVG.la when SVG is disabled.
856 Rubber-stamped by Gustavo Noronha.
860 2013-02-28 Sam Weinig <sam@webkit.org>
862 Add SPI for marking a WebView as doing things on behalf of another process
863 https://bugs.webkit.org/show_bug.cgi?id=111125
865 Reviewed by Alexey Proskuryakov.
867 * NetworkProcess/mac/RemoteNetworkingContext.h:
868 * NetworkProcess/mac/RemoteNetworkingContext.mm:
869 (WebKit::RemoteNetworkingContext::sourceApplicationAuditData):
870 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
871 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
872 (WebKit::WebFrameNetworkingContext::sourceApplicationAuditData):
873 Stub out sourceApplicationAuditData() client function.
875 2013-03-01 Sheriff Bot <webkit.review.bot@gmail.com>
877 Unreviewed, rolling out r144422 and r144424.
878 http://trac.webkit.org/changeset/144422
879 http://trac.webkit.org/changeset/144424
880 https://bugs.webkit.org/show_bug.cgi?id=111167
882 Caused over 20 tests to fail assertion on Chromium Win port as
883 ASSERTION FAILED: m_platformRequestUpdated (Requested by
884 toyoshim on #webkit).
886 * NetworkProcess/HostRecord.h:
887 * NetworkProcess/NetworkResourceLoadScheduler.h:
888 * NetworkProcess/NetworkResourceLoader.h:
890 * Shared/WebRenderLayer.cpp:
891 * Shared/WebRenderObject.cpp:
892 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
893 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
894 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
895 * WebProcess/InjectedBundle/InjectedBundle.cpp:
896 * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
897 * WebProcess/Plugins/PDF/PDFPlugin.mm:
898 * WebProcess/Plugins/PluginView.cpp:
899 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
900 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
901 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
902 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
903 * WebProcess/WebPage/mac/WebPageMac.mm:
904 * WebProcess/WebProcess.cpp:
905 * WebProcess/soup/WebProcessSoup.cpp:
907 2013-03-01 Andras Becsi <andras.becsi@digia.com>
909 [Qt][WK2] Fix failing API tests after r143935
910 https://bugs.webkit.org/show_bug.cgi?id=111086
912 Reviewed by Jocelyn Turcotte.
914 Convert a leftorver resume call to the new resumeAndUpdateContent() call
915 in PageViewportControllerClientQt so that the notifications about zoom
916 animation state changes reach the API tests.
918 * UIProcess/qt/PageViewportControllerClientQt.cpp:
919 (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
921 2013-03-01 Grzegorz Czajkowski <g.czajkowski@samsung.com>, Mariusz Grzegorczyk <mariusz.g@samsung.com>
923 [WK2] Asynchronous spell checking implementation
924 https://bugs.webkit.org/show_bug.cgi?id=109577
926 Reviewed by Enrica Casucci.
928 Associate the abstract 'WebCore::TextCheckingRequest' object with the unique identifier
929 on WebProcess side. The request data from the 'TextCheckingRequest' are retrieved and
930 passed to the UIProcess. The WK2 client (TextChecker{Gtk/Mac/Efl/Qt}.cpp) gets
931 the 'TextCheckerCompletion' object with the request data and possibility to notify
932 the WebProcess about the spelling results.
933 Finally, the WebPage object calls on the proper 'TextCheckingRequest' object
934 didSuccess/didCancel method to notify the WebCore about the spelling result.
937 * GNUmakefile.list.am:
938 Add 'TextCheckerCompletion.{h/cpp}' to the WebKit2 cmake based and
941 * Scripts/webkit2/messages.py:
943 Add exception for 'TextCheckingRequestData' class to properly find header
946 * Shared/WebCoreArgumentCoders.cpp:
947 * Shared/WebCoreArgumentCoders.h:
948 Teach 'ArgumentCoder' how to encode/decode 'TextCheckingRequestData' class.
951 Add 'TextCheckerCompletion.{h/cpp}' to the WK2-Qt build.
953 * UIProcess/TextChecker.h:
954 Add 'requestCheckingOfString' method to the TextChecker's interface.
956 * UIProcess/TextCheckerCompletion.cpp: Added.
957 (WebKit::TextCheckerCompletion::create):
958 (WebKit::TextCheckerCompletion::TextCheckerCompletion):
960 (WebKit::TextCheckerCompletion::spellDocumentTag):
961 Return the WebPageProxy's spellDocumentTag as the client might be
962 interested in from which page the request came.
964 (WebKit::TextCheckerCompletion::textCheckingRequestData):
965 Allow to retrieve 'TextCheckingRequestData' object.
967 (WebKit::TextCheckerCompletion::didFinishCheckingText):
968 (WebKit::TextCheckerCompletion::didCancelCheckingText):
969 Notify the 'WebPageProxy' object that the given request has been
972 * UIProcess/TextCheckerCompletion.h: Added.
973 Introduce a new class for WK2 to retrieve the request data and
974 call didFinishCheckingText/didCancelCheckingText.
976 * UIProcess/WebPageProxy.cpp:
977 (WebKit::WebPageProxy::requestCheckingOfString):
978 Create 'TextCheckerCompletion' object and pass it
979 to the 'TextChecker::requestCheckingOfString' method.
981 (WebKit::WebPageProxy::didFinishCheckingText):
982 (WebKit::WebPageProxy::didCancelCheckingText):
983 Send the messages to WebProcess that the given request has been
986 * UIProcess/WebPageProxy.h:
988 Add public declarations for 'didFinishCheckingText', 'didCancelCheckingText'.
989 Add private declarations for 'requestCheckingOfString'.
990 Move the 'spellDocumentTag()' method to to the public section to be
991 accessible from 'TextCheckerCompletion' class.
993 * UIProcess/WebPageProxy.messages.in:
994 A new entry for 'RequestCheckingOfString'.
996 * UIProcess/efl/TextCheckerEfl.cpp:
997 (WebKit::TextChecker::requestCheckingOfString):
999 * UIProcess/gtk/TextCheckerGtk.cpp:
1000 (WebKit::TextChecker::requestCheckingOfString):
1002 * UIProcess/mac/TextCheckerMac.mm:
1003 (WebKit::TextChecker::requestCheckingOfString):
1005 * UIProcess/qt/TextCheckerQt.cpp:
1006 (WebKit::TextChecker::requestCheckingOfString):
1008 Add dummy implementations for 'requestCheckingOfString'.
1010 * WebKit2.xcodeproj/project.pbxproj:
1011 Add 'TextCheckerCompletion.{h/cpp} to Mac build.
1013 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1014 (WebKit::generateTextCheckingRequestID):
1015 Helper function to generate the unique identifier for the abstract
1016 'TextCheckingRequest' object.
1018 (WebKit::WebEditorClient::requestCheckingOfString):
1019 Associate 'TextCheckingRequest' with the unique identifier and add them
1021 Get the request data and send it to the UIProcess.
1023 * WebProcess/WebPage/WebPage.cpp:
1024 (WebKit::WebPage::addTextCheckingRequest):
1025 Add the identifier and the request to the map object.
1027 (WebKit::WebPage::didFinishCheckingText):
1028 (WebKit::WebPage::didCancelCheckingText):
1029 Call didSucceed/didCancel on the 'TextCheckingRequest' to notify the WebCore
1030 about spellcheking results.
1031 Remove the request from the map object.
1033 * WebProcess/WebPage/WebPage.h:
1034 Add declarations for 'addTextCheckingRequest', 'didFinishCheckingText' and
1035 'didCancelCheckingText.'
1037 * WebProcess/WebPage/WebPage.messages.in:
1038 Add a new entry for DidFinishCheckingText, DidCancelCheckingText.
1040 2013-02-28 Alexey Proskuryakov <ap@apple.com>
1042 Reduce amount of rebuilding when touching networking headers
1043 https://bugs.webkit.org/show_bug.cgi?id=111035
1045 Reviewed by Eric Seidel.
1047 Adding includes that are now necessary because WebCore headers don't have them
1050 * NetworkProcess/HostRecord.h:
1051 * NetworkProcess/NetworkResourceLoadScheduler.h:
1052 * NetworkProcess/NetworkResourceLoader.h:
1053 * Shared/WebRenderLayer.cpp:
1054 * Shared/WebRenderObject.cpp:
1055 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
1056 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1057 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1058 * WebProcess/InjectedBundle/InjectedBundle.cpp:
1059 * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
1060 * WebProcess/Plugins/PDF/PDFPlugin.mm:
1061 * WebProcess/Plugins/PluginView.cpp:
1062 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1063 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1064 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1065 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1066 * WebProcess/WebPage/mac/WebPageMac.mm:
1067 * WebProcess/WebProcess.cpp:
1068 * WebProcess/soup/WebProcessSoup.cpp:
1070 2013-02-28 Seokju Kwon <seokju.kwon@gmail.com>
1072 [WK2] Refactoring : Fix indentation and braces in WebInspectorClient.h|cpp
1073 https://bugs.webkit.org/show_bug.cgi?id=109925
1075 Reviewed by Benjamin Poulain.
1077 The contents of an outermost namespace block should not be indented.
1078 And One-line control clauses should not use braces.
1080 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1081 (WebKit::WebInspectorClient::closeInspectorFrontend):
1082 * WebProcess/WebCoreSupport/WebInspectorClient.h:
1085 2013-02-28 Kiran Muppala <cmuppala@apple.com>
1087 Add a pre-bootstrap message for NetworkProcess XPC service
1088 https://bugs.webkit.org/show_bug.cgi?id=111127
1090 Reviewed by Sam Weinig.
1092 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
1093 (WebKit::XPCServiceEventHandler): Hold on to the pre-bootstrap message.
1094 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
1095 (WebKit::XPCServiceEventHandler): Ditto.
1096 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1097 (WebKit::connectToService): Send a pre-bootstrap message for NetworkProcess
1100 2013-02-28 Conrad Shultz <conrad_shultz@apple.com>
1102 Need API to control page underlay color
1103 https://bugs.webkit.org/show_bug.cgi?id=110918
1105 Reviewed by Simon Fraser.
1107 * Shared/WebPageCreationParameters.cpp:
1108 (WebKit::WebPageCreationParameters::encode):
1109 Encode underlayColor.
1110 (WebKit::WebPageCreationParameters::decode):
1111 Decode underlayColor.
1113 * Shared/WebPageCreationParameters.h:
1114 (WebPageCreationParameters):
1115 Add underlayColor member.
1117 * UIProcess/API/mac/WKView.mm:
1118 (-[WKView underlayColor]):
1119 Accessor; retrieves the WebCore::Color from the WebPageProxy and converts it to an NSColor.
1120 (-[WKView setUnderlayColor:]):
1121 Mutator; converts the NSColor to a WebCore::Color and passes it to the WebPageProxy.
1123 * UIProcess/API/mac/WKViewPrivate.h:
1124 Add underlayColor @property.
1126 * UIProcess/WebPageProxy.cpp:
1127 (WebKit::WebPageProxy::setUnderlayColor):
1128 Mutator; dispatches SetUnderlayColor to WebPage.
1129 (WebKit::WebPageProxy::creationParameters):
1130 Set the parameters' underlayColor member appropriately.
1132 * UIProcess/WebPageProxy.h:
1133 Declare new member functions and variable.
1134 (WebKit::WebPageProxy::underlayColor):
1137 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1138 (WebKit::WebChromeClient::underlayColor):
1139 Return the associated WebPage's underlayColor.
1141 * WebProcess/WebCoreSupport/WebChromeClient.h:
1143 Declare underlayColor().
1145 * WebProcess/WebPage/WebPage.cpp:
1146 (WebKit::WebPage::WebPage):
1147 Apply any underlayColor that was supplied as part of the WebPageCreationParameters.
1149 * WebProcess/WebPage/WebPage.h:
1150 Declare new member functions and variable.
1151 (WebKit::WebPage::underlayColor):
1154 * WebProcess/WebPage/WebPage.messages.in:
1155 Add SetUnderlayColor message.
1157 2013-02-28 Anders Carlsson <andersca@apple.com>
1159 Add the notion of an allowed connection to SessionStorageNamespace
1160 https://bugs.webkit.org/show_bug.cgi?id=111122
1162 Reviewed by Sam Weinig.
1164 Group together each session storage namespace with an allowed connection.
1165 This will help ensure that rouge web processes will not be able to access session storage
1166 from pages in other processes.
1168 * UIProcess/Storage/StorageManager.cpp:
1169 (StorageManager::SessionStorageNamespace):
1170 (WebKit::StorageManager::SessionStorageNamespace::allowedConnection):
1171 (WebKit::StorageManager::SessionStorageNamespace::create):
1172 (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
1173 (WebKit::StorageManager::SessionStorageNamespace::setAllowedConnection):
1174 Add an m_allowedConnection member variable, as well as setters and getters.
1176 (WebKit::StorageManager::createSessionStorageNamespace):
1177 Take an optional allowed connection. (It can be null if the process has not finished launching).
1179 (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
1180 New function to set the allowed connection for a session storage namespace.
1182 (WebKit::StorageManager::createStorageArea):
1185 (WebKit::StorageManager::createSessionStorageNamespaceInternal):
1186 Pass the connection to the SessionStorageNamespace constructor.
1188 (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal):
1189 Set the allowed connection.
1191 * UIProcess/WebPageProxy.cpp:
1192 (WebKit::WebPageProxy::WebPageProxy):
1193 Pass the connection to createSessionStorageNamespace.
1195 (WebKit::WebPageProxy::connectionWillOpen):
1196 Call setAllowedSessionStorageNamespaceConnection.
1198 (WebKit::WebPageProxy::connectionWillClose):
1199 Call setAllowedSessionStorageNamespaceConnection with a null connection.
1201 * UIProcess/WebProcessProxy.cpp:
1202 (WebKit::WebProcessProxy::connectionWillOpen):
1203 Call connectionWillOpen on all pages.
1205 (WebKit::WebProcessProxy::connectionWillClose):
1206 Call connectionWillClose on all pages.
1208 2013-02-28 Kiran Muppala <cmuppala@apple.com>
1210 Add private API to disable WKView window occlusion detection
1211 https://bugs.webkit.org/show_bug.cgi?id=111107
1213 Reviewed by Simon Fraser.
1215 * UIProcess/API/mac/WKView.mm:
1216 (-[WKView _enableWindowOcclusionNotifications]): Check if occlusion
1217 detection is enabled before enabling notifications.
1218 (windowBecameOccluded): Ditto before changing window occlusion state.
1219 (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
1220 Initialize occlusion detection enabled flag to "YES".
1221 (-[WKView windowOcclusionDetectionEnabled]):
1222 (-[WKView setWindowOcclusionDetectionEnabled:]):
1223 * UIProcess/API/mac/WKViewPrivate.h:
1225 2013-02-28 Anders Carlsson <andersca@apple.com>
1227 Add the notion of an allowed connection to SessionStorageNamespace
1228 https://bugs.webkit.org/show_bug.cgi?id=111122
1230 Reviewed by Sam Weinig.
1232 Group together each session storage namespace with an allowed connection.
1233 This will help ensure that rouge web processes will not be able to access session storage
1234 from pages in other processes.
1236 * UIProcess/Storage/StorageManager.cpp:
1237 (StorageManager::SessionStorageNamespace):
1238 (WebKit::StorageManager::SessionStorageNamespace::allowedConnection):
1239 (WebKit::StorageManager::SessionStorageNamespace::create):
1240 (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
1241 (WebKit::StorageManager::SessionStorageNamespace::setAllowedConnection):
1242 Add an m_allowedConnection member variable, as well as setters and getters.
1244 (WebKit::StorageManager::createSessionStorageNamespace):
1245 Take an optional allowed connection. (It can be null if the process has not finished launching).
1247 (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
1248 New function to set the allowed connection for a session storage namespace.
1250 (WebKit::StorageManager::createStorageArea):
1253 (WebKit::StorageManager::createSessionStorageNamespaceInternal):
1254 Pass the connection to the SessionStorageNamespace constructor.
1256 (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal):
1257 Set the allowed connection.
1259 * UIProcess/WebPageProxy.cpp:
1260 (WebKit::WebPageProxy::WebPageProxy):
1261 Pass the connection to createSessionStorageNamespace.
1263 (WebKit::WebPageProxy::connectionWillOpen):
1264 Call setAllowedSessionStorageNamespaceConnection.
1266 (WebKit::WebPageProxy::connectionWillClose):
1267 Call setAllowedSessionStorageNamespaceConnection with a null connection.
1269 * UIProcess/WebProcessProxy.cpp:
1270 (WebKit::WebProcessProxy::connectionWillOpen):
1271 Call connectionWillOpen on all pages.
1273 (WebKit::WebProcessProxy::connectionWillClose):
1274 Call connectionWillClose on all pages.
1276 2013-02-28 Anders Carlsson <andersca@apple.com>
1278 Implement more StorageAreaProxy member functions
1279 https://bugs.webkit.org/show_bug.cgi?id=111103
1281 Reviewed by Sam Weinig.
1283 * Shared/SecurityOriginData.cpp:
1284 (WebKit::SecurityOriginData::securityOrigin):
1285 * Shared/SecurityOriginData.h:
1286 Add helper to create a WebCore::SecurityOrigin from a SecurityOriginData object.
1288 * WebProcess/Storage/StorageAreaProxy.cpp:
1289 (WebKit::StorageAreaProxy::key):
1290 Fill the storage map and call through to StorageMap::key.
1292 (WebKit::StorageAreaProxy::contains):
1293 Fill the storage map and call through to StorageMap::contains.
1295 (WebKit::StorageAreaProxy::memoryBytesUsedByCache):
1296 Return 0; this matches StorageAreaImpl.
1298 2013-02-28 Tim Horton <timothy_horton@apple.com>
1300 PDFPlugin: PDF orientation isn't respected when printing or print-previewing
1301 https://bugs.webkit.org/show_bug.cgi?id=110925
1302 <rdar://problem/13008621>
1304 Reviewed by Alexey Proskuryakov.
1306 * WebProcess/WebPage/mac/WebPageMac.mm:
1307 (WebKit::drawPDFPage): Teach drawPDFPage about PDFPage's rotation property, and use it
1308 to swap the PDF's cropbox. Painting now matches PDFViewController's historical behavior.
1310 2013-02-28 Sam Weinig <sam@webkit.org>
1312 Don't install unused XPCServices on Lion
1313 <rdar://problem/13264712>
1315 Rubber-stamped by Anders Carlsson
1317 * Configurations/BaseXPCService.xcconfig:
1319 2013-02-28 David Kilzer <ddkilzer@apple.com>
1321 BUILD FIX (r144221): SetSmartInsertDeleteEnabled should be wrapped in PLATFORM(MAC)
1323 * WebProcess/WebPage/WebPage.messages.in: Move
1324 SetSmartInsertDeleteEnabled from USE(APPKIT) to PLATFORM(MAC).
1326 2013-02-27 Csaba Osztrogonác <ossy@webkit.org>
1328 [WK2] One more unreviewed buildfix for EFL, GTK and Qt after r144218.
1331 * GNUmakefile.list.am:
1333 * WebProcess/Storage/StorageNamespaceProxy.cpp:
1334 (WebKit::StorageNamespaceProxy::copy):
1336 2013-02-27 Zan Dobersek <zdobersek@igalia.com>
1338 Unreviewed (speculative) build fixes for EFL, GTK and Qt after r144218.
1341 * DerivedSources.pri:
1342 * GNUmakefile.list.am:
1345 2013-02-27 John Bauman <jbauman@chromium.org>
1347 Plugin in iframe may not display
1348 https://bugs.webkit.org/show_bug.cgi?id=109879
1350 Reviewed by Simon Fraser.
1352 Update geometry when cliprect changes.
1354 * WebProcess/Plugins/PluginView.cpp:
1355 (WebKit::PluginView::clipRectChanged):
1356 * WebProcess/Plugins/PluginView.h:
1358 2013-02-27 Jer Noble <jer.noble@apple.com>
1360 REGRESSION (48533): Full-frame plugins stopped working (download instead of loading the plugin)
1361 https://bugs.webkit.org/show_bug.cgi?id=111003
1363 Reviewed by Anders Carlsson.
1365 Also query the Page's pluginData when determining whether a given MIME type can be shown.
1367 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1368 (WKBundlePageCanShowMIMEType):
1369 * WebProcess/WebPage/WebPage.cpp:
1370 (WebKit::WebPage::canShowMIMEType):
1371 * WebProcess/WebPage/WebPage.h:
1373 2013-02-27 Manuel Rego Casasnovas <rego@igalia.com>
1375 Add smartInsertDeleteEnabled setting to WebCore::Page
1376 https://bugs.webkit.org/show_bug.cgi?id=107840
1378 Reviewed by Ryosuke Niwa.
1380 * Shared/WebPageCreationParameters.cpp:
1381 (WebKit::WebPageCreationParameters::encode):
1382 (WebKit::WebPageCreationParameters::decode): Remove code related to
1383 isSmartInsertDeleteEnabled.
1384 * Shared/WebPageCreationParameters.h:
1385 (WebPageCreationParameters): Remove isSmartInsertDeleteEnabled.
1386 * Shared/WebPreferencesStore.h:
1387 (WebKit): Add macro for smartInsertDeleteEnabled setting.
1388 * UIProcess/API/C/WKPreferences.cpp:
1389 (WKPreferencesSetSmartInsertDeleteEnabled):
1390 (WKPreferencesGetSmartInsertDeleteEnabled): Implement methods using the
1392 * UIProcess/API/C/WKPreferencesPrivate.h: Add new methods headers.
1393 * UIProcess/WebPageProxy.cpp:
1394 (WebKit::WebPageProxy::initializeWebPage): Set smartInsertDeleteEnabled
1395 setting using m_isSmartInsertDeleteEnabled to keep initial value on Mac.
1396 (WebKit::WebPageProxy::creationParameters): Remove usage of
1397 parameters.isSmartInsertDeleteEnabled.
1398 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1399 (WebKit::WebEditorClient::smartInsertDeleteEnabled): Enable method for
1401 * WebProcess/WebPage/WebPage.cpp:
1402 (WebKit::WebPage::WebPage): Remove m_isSmartInsertDeleteEnabled
1404 (WebKit::WebPage::updatePreferences): Set smartInsertDeleteEnabled
1406 (WebKit::WebPage::isSmartInsertDeleteEnabled): Implement method using
1409 (WebKit::WebPage::setSmartInsertDeleteEnabled): Implement method using
1411 * WebProcess/WebPage/WebPage.h:
1412 (WebPage): Enable methods dealing with smartInsertDeleteEnabled for all
1413 platforms and remove m_isSmartInsertDeleteEnabled as it will be a
1417 2013-02-27 Anders Carlsson <andersca@apple.com>
1419 More storage scaffolding
1420 https://bugs.webkit.org/show_bug.cgi?id=110997
1422 Reviewed by Andreas Kling.
1424 * DerivedSources.make:
1425 Add StorageAreaProxy.
1427 * UIProcess/Storage/StorageManager.cpp:
1428 (WebKit::StorageManager::setItem):
1429 Send back a DidSetItem message.
1431 * WebKit2.xcodeproj/project.pbxproj:
1432 Add generated files.
1434 * WebProcess/Storage/StorageAreaProxy.cpp:
1435 (WebKit::StorageAreaProxy::StorageAreaProxy):
1436 Add the message receiver.
1438 (WebKit::StorageAreaProxy::~StorageAreaProxy):
1439 Remove the message receiver.
1441 (WebKit::StorageAreaProxy::didSetItem):
1444 * WebProcess/Storage/StorageAreaProxy.h:
1446 * WebProcess/Storage/StorageAreaProxy.messages.in: Added.
1448 2013-02-27 Sam Weinig <sam@webkit.org>
1450 REGRESSION: Loading flash switches to discrete graphics, 100 MB on membuster
1451 <rdar://problem/13229828>
1453 Reviewed by Dan Bernstein.
1455 Due the change in CFBundleIdentifier, the WebProcess and PluginProcess were
1456 unnecessarily muxing (they used to be whitelisted by OpenGL) to the discrete
1459 * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
1460 * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
1461 * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
1462 * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
1463 * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
1464 * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
1465 Add NSSupportsAutomaticGraphicsSwitching YES.
1467 * WebKit2.xcodeproj/project.pbxproj:
1468 Re-add the PluginService.32-64.Info.plist plist to the project file.
1470 2013-02-26 Alexey Proskuryakov <ap@apple.com>
1472 Don't add a body to platform request until necessary
1473 https://bugs.webkit.org/show_bug.cgi?id=110900
1475 Reviewed by Brady Eidson.
1477 * NetworkProcess/NetworkResourceLoader.cpp:
1478 (WebKit::NetworkResourceLoader::willSendRequest): Restore body after IPC. There
1479 is no way for the client to change it.
1481 * Shared/Downloads/mac/DownloadMac.mm:
1482 (WebKit::Download::start):
1483 (WebKit::Download::startWithHandle):
1484 Pass UpdateHTTPBody when passing a request to NSURLConnection.
1486 * Shared/mac/WebCoreArgumentCodersMac.mm: (CoreIPC::::encodePlatformData):
1487 Never serialize the request body. It's slow, and sometimes impossible, so just
1488 keeping things consistent.
1490 * Shared/mac/WebURLRequestMac.mm: (WebKit::WebURLRequest::platformRequest):
1491 Pass DoNotUpdateHTTPBody, as we can't update it outside NetworkProcess.
1493 * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
1494 (WebKit::CustomProtocolManagerProxy::startLoading): Ditto.
1496 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
1497 (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
1498 Restore existing body after a client call..
1500 * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::platformCanHandleRequest):
1501 Pass DoNotUpdateHTTPBody, as we can't update it outside NetworkProcess.
1503 2013-02-27 Glenn Adams <glenn@skynav.com>
1505 Add ENABLE_CSS3_TEXT_LINE_BREAK flag.
1506 https://bugs.webkit.org/show_bug.cgi?id=110944
1508 Reviewed by Dean Jackson.
1510 * Configurations/FeatureDefines.xcconfig:
1512 2013-02-27 Michael Brüning <michael.bruning@digia.com>
1514 [Qt][WK2] Replace use of WebPreferences with use of WKPrefences C API
1515 https://bugs.webkit.org/show_bug.cgi?id=108952
1517 Reviewed by Simon Hausmann.
1519 Signed off for WebKit2 by Benjamin Poulain.
1521 This patch moves the view classes and preferences in the Qt API
1522 to use the C API for accessing and manipulating preferences as
1523 part of the cleanup and move towards using the C API as base for
1526 Adds the function WebKit::adoptToQString for convenience when
1527 dealing with QString and copied String objects.
1529 Removes the ScrollAnimatorEnabled options from QWebPreferences.
1531 * UIProcess/API/cpp/qt/WKStringQt.cpp:
1532 (WebKit::adoptToQString):
1533 * UIProcess/API/cpp/qt/WKStringQt.h:
1535 * UIProcess/API/qt/qquickwebview.cpp:
1536 (QQuickWebViewPrivate::initialize):
1537 * UIProcess/API/qt/qwebpreferences.cpp:
1538 (QWebPreferencesPrivate::testAttribute):
1539 (QWebPreferencesPrivate::setAttribute):
1540 (QWebPreferencesPrivate::setFontFamily):
1541 (QWebPreferencesPrivate::fontFamily):
1542 (QWebPreferencesPrivate::setFontSize):
1543 (QWebPreferencesPrivate::fontSize):
1544 * UIProcess/API/qt/qwebpreferences_p.h:
1545 * UIProcess/API/qt/qwebpreferences_p_p.h:
1547 2013-02-26 Anders Carlsson <andersca@apple.com>
1549 Implement StorageAreaProxy::getItem and StorageAreaProxy::setItem
1550 https://bugs.webkit.org/show_bug.cgi?id=110927
1552 Reviewed by Sam Weinig.
1554 * UIProcess/Storage/StorageManager.cpp:
1555 (WebKit::StorageManager::setItem):
1556 * UIProcess/Storage/StorageManager.h:
1559 * UIProcess/Storage/StorageManager.messages.in:
1560 Add SetItem message.
1562 * WebProcess/Storage/StorageAreaProxy.cpp:
1563 (WebKit::StorageAreaProxy::getItem):
1564 Fill the storage map and get the item from it.
1566 (WebKit::StorageAreaProxy::setItem):
1567 Update the storage map and send a SetItem message to the UI process.
1569 2013-02-26 Anders Carlsson <andersca@apple.com>
1571 StorageAreaProxy should hold on to a StorageMap and not a HashMap
1572 https://bugs.webkit.org/show_bug.cgi?id=110919
1574 Reviewed by Jessie Berlin.
1576 Create a storage map instead of a hash map.
1578 * WebProcess/Storage/StorageAreaProxy.cpp:
1579 (WebKit::StorageAreaProxy::length):
1580 (WebKit::StorageAreaProxy::loadValuesIfNeeded):
1581 * WebProcess/Storage/StorageAreaProxy.h:
1585 2013-02-26 Anders Carlsson <andersca@apple.com>
1587 Fix a copy/paste error in WebLoaderClient::didBlockInsecurePluginVersion
1588 https://bugs.webkit.org/show_bug.cgi?id=110914
1589 <rdar://problem/13297581>
1591 Reviewed by Beth Dakin.
1593 Pass kWKErrorCodeInsecurePlugInVersion to the pluginDidFail callback.
1595 * UIProcess/WebLoaderClient.cpp:
1596 (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
1598 2013-02-26 Jer Noble <jer.noble@apple.com>
1600 Unreviewed build fix; use correct macro for platform name in FeatureDefines.xcconfig.
1602 * Configurations/FeatureDefines.xcconfig:
1604 2013-02-26 Manuel Rego Casasnovas <rego@igalia.com>
1606 [WK2][GTK] REGRESSION (r143463): unit test failure in WebKit2APITests/TestContextMenu
1607 https://bugs.webkit.org/show_bug.cgi?id=110869
1609 Reviewed by Martin Robinson.
1611 Test was failing because of new media controls needs more space to be
1612 painted than just 10x10 pixels.
1614 * UIProcess/API/gtk/tests/TestContextMenu.cpp:
1615 (testContextMenuDefaultMenu): Modified test in order to give more space
1616 to the media controls.
1618 2013-02-26 Dean Jackson <dino@apple.com>
1620 Draw intermediate snapshots if possible
1621 https://bugs.webkit.org/show_bug.cgi?id=110811
1623 Reviewed by Simon Fraser.
1625 After http://webkit.org/b/110495 we delayed snapshotting until we've
1626 received a nice image, but this made the page look like it is broken.
1627 We should draw any intermediate snapshots that we find, which might
1628 include content such as progress bars/spinners.
1630 * WebProcess/Plugins/PluginView.cpp:
1631 (WebKit): Reinstate 60 attempts at snapshots before giving up.
1632 (WebKit::PluginView::isAcceleratedCompositingEnabled): We do not
1633 want accelerated compositing enabled when we are trying to capture
1636 2013-02-26 Andras Becsi <andras.becsi@digia.com>
1638 Remove nonexistent StringPairVector.h from Target.pri after r142839
1640 Unreviewed gardening.
1644 2013-02-26 Simon Hausmann <simon.hausmann@digia.com>
1646 Unreviewed trivial !ENABLE(NETSCAPE_PLUGIN_API) build fix
1648 Add an intermediate pluginName string variable instead of
1649 accessing plugin.info outside the feature #ifdef.
1651 * UIProcess/WebPageProxy.cpp:
1652 (WebKit::WebPageProxy::unavailablePluginButtonClicked):
1654 2013-02-25 Huang Dongsung <luxtella@company100.net>
1656 Coordinated Graphics: remove redundant update of non compositing layer.
1657 https://bugs.webkit.org/show_bug.cgi?id=110444
1659 Reviewed by Noam Rosenthal.
1661 Currently, we update non compositing layer when the page scrolled. However, it
1662 is not needed, because TiledBackingStore can scroll without tile update.
1664 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1665 (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
1666 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
1667 (CoordinatedLayerTreeHost):
1669 2013-02-25 Jer Noble <jer.noble@apple.com>
1671 REGRESSION(r143981): Crash in WebFrameLoaderClient::dispatchDidStartProvisionalLoad()
1672 https://bugs.webkit.org/show_bug.cgi?id=110848
1674 Reviewed by Ryosuke Niwa.
1676 NULL-check the result of document->documentElement().
1678 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1679 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
1681 2013-02-25 Anders Carlsson <andersca@apple.com>
1683 Add a new unavailablePluginButtonClicked callback that takes a WKDictionary of plug-in information
1684 https://bugs.webkit.org/show_bug.cgi?id=110821
1686 Reviewed by Beth Dakin.
1688 * UIProcess/API/C/WKPage.cpp:
1689 (WKPageGetPluginInformationPluginspageAttributeURLKey):
1690 (WKPageGetPluginInformationPluginURLKey):
1691 Add two new API key getters.
1693 * UIProcess/API/C/WKPage.h:
1694 Add a new callback and deprecate the old callback.
1696 * UIProcess/WebLoaderClient.cpp:
1697 (WebKit::WebLoaderClient::didFailToInitializePlugin):
1698 (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
1699 (WebKit::WebLoaderClient::pluginLoadPolicy):
1700 Make the pluginInformationDictionary a static member function of WebPageProxy so it
1701 can be called from WebUIClient as well.
1703 * UIProcess/WebPageProxy.cpp:
1704 (WebKit::WebPageProxy::getPluginPath):
1705 Pass the bundle version as well.
1707 (WebKit::WebPageProxy::pluginInformationPluginspageAttributeURLKey):
1708 (WebKit::WebPageProxy::pluginInformationPluginURLKey):
1711 (WebKit::WebPageProxy::pluginInformationDictionary):
1714 (WebKit::WebPageProxy::unavailablePluginButtonClicked):
1715 Get the plug-in bundle identifier and version.
1717 * UIProcess/WebPageProxy.messages.in:
1718 Pass along more information; the frame and page URLs.
1720 * UIProcess/WebUIClient.cpp:
1721 (WebKit::WebUIClient::unavailablePluginButtonClicked):
1722 Call the new callback if it's supported.
1724 * UIProcess/WebUIClient.h:
1726 * UIProcess/mac/WebInspectorProxyMac.mm:
1727 (WebKit::WebInspectorProxy::platformCreateInspectorPage):
1728 Update for API changes.
1730 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1731 (WebKit::WebChromeClient::unavailablePluginButtonClicked):
1732 Ensure that the pluginspage attribute is a valid URL.
1734 2013-02-21 Jeffrey Pfau <jpfau@apple.com>
1736 Optionally partition cache to prevent using cache for tracking
1737 https://bugs.webkit.org/show_bug.cgi?id=110269
1739 Reviewed by Maciej Stachowiak.
1741 Update WKSI bindings and add feature defines.
1743 * Configurations/FeatureDefines.xcconfig: Add defines for cache partitioning and public suffix list usage
1744 * WebCoreSupport/WebSystemInterface.mm:
1745 (InitWebCoreSystemInterface):
1747 2013-02-25 Jer Noble <jer.noble@apple.com>
1749 Normalize ENABLE_ENCRYPTED_MEDIA definitions across all FeatureDefines files.
1750 https://bugs.webkit.org/show_bug.cgi?id=110806
1752 Ensure both ENCRYPTED_MEDIA and ENCRYPTED_MEDIA_V2 are enabled on macosx_1090.
1754 Reviewed by Alexey Proskuryakov.
1756 * Configurations/FeatureDefines.xcconfig:
1758 2013-02-25 Jer Noble <jer.noble@apple.com>
1760 Full screen mode should not exit when application resigns active state.
1761 https://bugs.webkit.org/show_bug.cgi?id=106129
1763 Reviewed by Darin Adler.
1765 Now that full screen windows get their own full screen space, there is no reason to exit full
1766 screen mode when the application resigns active state. Instead, the windowserver will bring the
1767 space containing the newly active application to the foreground. The user can then swipe back
1768 to the full screen space (or use Mission Control) to get back to the full screen window.
1770 * UIProcess/mac/WKFullScreenWindowController.mm:
1771 (-[WKFullScreenWindowController windowDidLoad]): Remove the applicationDidResignActive: notification from WKFullScreenWindowController.
1773 2013-02-25 Jer Noble <jer.noble@apple.com>
1775 Safari shows empty window and paints webpage in full-screen background
1776 https://bugs.webkit.org/show_bug.cgi?id=103712
1778 Reviewed by Darin Adler.
1780 When canceling full screen mode due to a provisional load, exit normally instead of closing the
1781 full screen window controller. Additionally, to ensure full screen is cancelled when the enclosing
1782 frame around a full screen iframe is navigated, check to see if the navigating document contains
1783 a full screen element, rather than checking whether the document itself is full screen.
1785 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1786 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
1788 2013-02-25 Anders Carlsson <andersca@apple.com>
1792 * UIProcess/WebPageProxy.cpp:
1793 (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
1795 2013-02-25 Anders Carlsson <andersca@apple.com>
1797 Add a new pluginDidFail callback that takes a WKDictionary of plug-in information
1798 https://bugs.webkit.org/show_bug.cgi?id=110793
1799 <rdar://problem/13265303>
1801 Reviewed by Sam Weinig.
1803 Add a new pluginDidFail callback that takes a WKDictionaryRef and also pass in the
1804 frame and page URLs.
1806 * UIProcess/API/C/WKPage.h:
1807 * UIProcess/WebLoaderClient.cpp:
1808 (WebKit::pluginInformationDictionary):
1809 (WebKit::WebLoaderClient::didFailToInitializePlugin):
1810 (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
1811 (WebKit::WebLoaderClient::pluginLoadPolicy):
1812 * UIProcess/WebLoaderClient.h:
1813 * UIProcess/WebPageProxy.cpp:
1814 (WebKit::WebPageProxy::didFailToInitializePlugin):
1815 (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
1816 * UIProcess/WebPageProxy.h:
1817 * UIProcess/WebPageProxy.messages.in:
1818 * WebProcess/Plugins/PluginView.cpp:
1819 (WebKit::PluginView::didFailToInitializePlugin):
1820 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1821 (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
1822 * WebProcess/WebPage/WebPage.cpp:
1823 (WebKit::WebPage::createPlugin):
1825 2013-02-25 Tim Horton <timothy_horton@apple.com>
1827 PDFPlugin: Tab between text annotations
1828 https://bugs.webkit.org/show_bug.cgi?id=106539
1829 <rdar://problem/12751789>
1831 Reviewed by Darin Adler.
1833 Use [PDFLayerController activateNextAnnotation:] to advance focus when the tab key is hit while inside a PDF form.
1835 Also, a drive-by fix to make the lifetime of PDFPluginAnnotationEventListener's m_annotation pointer more explicit.
1837 * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add activateNextAnnotation: SPI.
1838 * WebProcess/Plugins/PDF/PDFPlugin.h:
1839 (PDFPlugin): Add focus(Next|Previous)Annotation.
1840 * WebProcess/Plugins/PDF/PDFPlugin.mm:
1841 (WebKit::PDFPlugin::focusNextAnnotation): Ask PDFLayerController to focus the next annotation.
1842 (WebKit::PDFPlugin::focusPreviousAnnotation): Ask PDFLayerController to focus the next annotation.
1843 * WebProcess/Plugins/PDF/PDFPluginAnnotation.h: Drive-by, initialize m_parent to 0.
1844 (WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::setAnnotation): Added.
1845 * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
1846 (WebKit::PDFPluginAnnotation::attach): Use eventNames() instead of string literals.
1847 (WebKit::PDFPluginAnnotation::~PDFPluginAnnotation): Clear the event listener's reference to its annotation.
1848 (WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::handleEvent): Null-check the event listener's annotation.
1849 * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:
1850 (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotation): Create our PDFPluginTextAnnotationEventListener.
1851 (PDFPluginTextAnnotationEventListener): Added an event listener (for keydown events in form fields).
1852 (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::create):
1853 (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::setTextAnnotation):
1854 (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::PDFPluginTextAnnotationEventListener):
1855 * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
1856 (WebKit::PDFPluginTextAnnotation::~PDFPluginTextAnnotation): Unregister our keydown event listener.
1857 (WebKit::PDFPluginTextAnnotation::createAnnotationElement): Register our keydown event listener.
1858 (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::handleEvent): Ask PDFPlugin to focus
1859 the next/previous annotation when the tab key is pressed (Shift-Tab goes backwards).
1861 2013-02-25 Alexey Proskuryakov <ap@apple.com>
1863 <rdar://problem/12976385> Remove rule to silence attempts to create the ~/Library/Caches/com.apple.WebKit2.WebProcessService directory
1865 Reviewed by Anders Carlsson.
1867 * WebProcess/com.apple.WebProcess.sb.in: Remove the obsolete rule. We no longer
1868 have a "WebProcessService".
1870 2013-02-25 Andras Becsi <andras.becsi@digia.com>
1872 [Qt][WK2] Remove unneeded method didResumeContent from PageViewportController clients
1873 https://bugs.webkit.org/show_bug.cgi?id=110751
1875 Reviewed by Jocelyn Turcotte.
1877 This is a clean-up in the PageViewportController clients that removes leftover
1878 code from previous design that is partially unused and unnecessary, to simplify
1879 the interaction between PageViewportController and clients.
1881 * UIProcess/PageViewportController.cpp:
1882 (WebKit::PageViewportController::resumeContent):
1883 * UIProcess/PageViewportControllerClient.h:
1884 (PageViewportControllerClient):
1885 * UIProcess/efl/PageViewportControllerClientEfl.cpp:
1886 * UIProcess/efl/PageViewportControllerClientEfl.h:
1887 (PageViewportControllerClientEfl):
1888 * UIProcess/qt/PageViewportControllerClientQt.cpp:
1889 (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
1890 (WebKit::PageViewportControllerClientQt::flickMoveEnded):
1891 (WebKit::PageViewportControllerClientQt::resumeAndUpdateContent):
1892 (WebKit::PageViewportControllerClientQt::pinchGestureCancelled):
1893 * UIProcess/qt/PageViewportControllerClientQt.h:
1894 (PageViewportControllerClientQt):
1896 2013-02-25 Andreas Kling <akling@apple.com>
1898 Reduce amount of code that includes StylePropertySet.h
1899 <http://webkit.org/b/101149>
1901 Reviewed by Antti Koivisto.
1903 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1905 2013-02-24 Andreas Kling <akling@apple.com>
1907 Reduce include graph of JSDOMBinding.h
1908 <http://webkit.org/b/110709>
1910 Reviewed by Antti Koivisto.
1912 * Shared/WebRenderObject.cpp:
1913 (WebKit::WebRenderObject::WebRenderObject):
1914 * WebProcess/Storage/StorageAreaProxy.cpp:
1916 2013-02-22 Sam Weinig <sam@webkit.org>
1918 Add temporary work around for 32-bit plugins not working in production builds as XPCServices
1919 https://bugs.webkit.org/show_bug.cgi?id=110680
1920 <rdar://problem/13236883>
1922 Reviewed by Anders Carlsson.
1924 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1925 (WebKit::shouldUseXPC):
1926 Temporarily don't use XPC for plug-ins for Safari while we figure out why the
1927 32-bit XPCService is being built universal.
1929 2013-02-22 Tim Horton <timothy_horton@apple.com>
1931 [WK2] The root and page overlay layers should be the size of the view, not the content
1932 https://bugs.webkit.org/show_bug.cgi?id=110660
1933 <rdar://problem/13096456>
1935 Reviewed by Simon Fraser.
1937 Use the view size for the size of the root and page overlay layers.
1938 For one, we never update these layers' sizes when the content size changes, causing size mismatches.
1939 In addition, there's no reason an overlay shouldn't be able to draw outside of the bounds of the content.
1941 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1942 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
1943 (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
1945 2013-02-22 Anders Carlsson <andersca@apple.com>
1947 pluginLoadStrategy should take a WKDictionaryRef for extensibility
1948 https://bugs.webkit.org/show_bug.cgi?id=110656
1949 <rdar://problem/13265303>
1951 Reviewed by Jessie Berlin.
1953 Change pluginLoadStrategy to take a WKDictionaryRef instead of a number of parameters;
1954 this lets us add more plug-in information if needed. Also add the page URL and rename documentURL to frameURL.
1956 * UIProcess/API/C/WKPage.cpp:
1957 (WKPageGetPluginInformationBundleIdentifierKey):
1958 (WKPageGetPluginInformationBundleVersionKey):
1959 (WKPageGetPluginInformationDisplayNameKey):
1960 (WKPageGetPluginInformationFrameURLKey):
1961 (WKPageGetPluginInformationMIMETypeKey):
1962 (WKPageGetPluginInformationPageURLKey):
1963 * UIProcess/API/C/WKPage.h:
1964 * UIProcess/WebLoaderClient.cpp:
1966 (WebKit::WebLoaderClient::pluginLoadPolicy):
1967 * UIProcess/WebLoaderClient.h:
1969 * UIProcess/WebPageProxy.cpp:
1970 (WebKit::WebPageProxy::getPluginPath):
1971 (WebKit::WebPageProxy::pluginInformationBundleIdentifierKey):
1973 (WebKit::WebPageProxy::pluginInformationBundleVersionKey):
1974 (WebKit::WebPageProxy::pluginInformationDisplayNameKey):
1975 (WebKit::WebPageProxy::pluginInformationFrameURLKey):
1976 (WebKit::WebPageProxy::pluginInformationMIMETypeKey):
1977 (WebKit::WebPageProxy::pluginInformationPageURLKey):
1978 * UIProcess/WebPageProxy.h:
1980 * UIProcess/WebPageProxy.messages.in:
1981 * WebProcess/WebPage/WebPage.cpp:
1982 (WebKit::WebPage::createPlugin):
1983 (WebKit::WebPage::canPluginHandleResponse):
1985 2013-02-22 Anders Carlsson <andersca@apple.com>
1987 Move pluginLoadPolicy to the page loader client
1988 https://bugs.webkit.org/show_bug.cgi?id=110635
1989 <rdar://problem/13265303>
1991 Reviewed by Sam Weinig.
1993 Move the pluginLoadPolicy callback to the page loader client where it belongs.
1995 * UIProcess/API/C/WKPage.h:
1996 * UIProcess/WebLoaderClient.cpp:
1997 (WebKit::toWKPluginLoadPolicy):
1999 (WebKit::toPluginModuleLoadPolicy):
2000 (WebKit::WebLoaderClient::pluginLoadPolicy):
2001 * UIProcess/WebLoaderClient.h:
2003 * UIProcess/WebPageProxy.cpp:
2004 (WebKit::WebPageProxy::getPluginPath):
2005 * UIProcess/WebUIClient.cpp:
2007 * UIProcess/WebUIClient.h:
2009 * UIProcess/mac/WebInspectorProxyMac.mm:
2010 (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2012 2013-02-21 Jer Noble <jer.noble@apple.com>
2014 Two video contollers appear after exiting the fullscreen video when using menubar to exit.
2015 https://bugs.webkit.org/show_bug.cgi?id=110506
2017 Reviewed by Eric Carlson.
2019 When we are notified that the fullscreen window is about to exit fullscreen mode unrequested,
2020 call requestExitFullScreen(), as that will result in Document::webkitExitFullScreen() correctly
2021 tearing down the fullscreen state.
2023 * UIProcess/mac/WKFullScreenWindowController.mm:
2024 (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
2026 2013-02-22 Balazs Kelemen <kbalazs@webkit.org>
2028 Yet another unreviewed buildfix after r143714.
2030 * UIProcess/efl/WebView.cpp:
2031 (WebKit::WebView::paintToCairoSurface):
2033 2013-02-22 Balazs Kelemen <kbalazs@webkit.org>
2035 Unreviewed preventive buildfix after my last commit.
2037 * UIProcess/API/efl/EwkView.cpp:
2038 * UIProcess/efl/WebView.cpp:
2040 2013-02-22 Balazs Kelemen <kbalazs@webkit.org>
2042 [CoordGfx] Minor cleanup in CoordinatedGraphicsScene::paintToGraphicsContext
2043 https://bugs.webkit.org/show_bug.cgi?id=109824
2045 Reviewed by Andreas Kling.
2047 Avoid ugly ifdefs by using PlatformGraphicsContext.
2049 * UIProcess/API/efl/EwkView.cpp:
2050 (EwkView::displayTimerFired):
2052 2013-02-22 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
2054 [WK2][EFL] Remove declaration of non-existent functions from EwkView
2055 https://bugs.webkit.org/show_bug.cgi?id=110572
2057 Reviewed by Kenneth Rohde Christiansen.
2059 Removed declarations of non-existent EwkView::paintToCurrentGLContext() and
2060 EwkView::paintToCairoSurface(cairo_surface_t*) that were accidentally
2063 * UIProcess/API/efl/EwkView.h:
2066 2013-02-22 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
2068 [WK2][EFL] Clean up PageViewportControllerClientEfl class
2069 https://bugs.webkit.org/show_bug.cgi?id=110438
2071 Reviewed by Andreas Kling.
2073 Cleaned up PageViewportControllerClientEfl class from unused methods
2074 and class members, eliminated access to WK2 internals from this class.
2076 * UIProcess/efl/PageViewportControllerClientEfl.cpp:
2077 (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
2078 * UIProcess/efl/PageViewportControllerClientEfl.h:
2079 (WebKit::PageViewportControllerClientEfl::~PageViewportControllerClientEfl):
2080 (PageViewportControllerClientEfl):
2081 * UIProcess/efl/WebView.cpp:
2082 (WebKit::WebView::WebView):
2083 (WebKit::WebView::updateViewportSize):
2085 2013-02-22 Michał Pakuła vel Rutka <m.pakula@samsung.com>
2087 [WK2][EFL][GTK][Qt] Add context menu item tags for C API
2088 https://bugs.webkit.org/show_bug.cgi?id=109815
2090 Reviewed by Anders Carlsson.
2092 This patch adds context menu item tags used by EFL, GTK and Qt ports, defined in
2093 WebCore to WK2 C API.
2095 * Shared/API/c/WKContextMenuItemTypes.h:
2096 * Shared/API/c/WKSharedAPICast.h:
2100 2013-02-22 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
2102 [WK2][EFL] Move AC code from EwkView to WebView
2103 https://bugs.webkit.org/show_bug.cgi?id=110216
2105 Reviewed by Anders Carlsson.
2107 Accelerated compositing code is moved from EwkView to WebView.
2108 Added new WKView API to be used from EwkView instead of direct accessing
2109 to coordinated graphics scene.
2111 * UIProcess/API/C/efl/WKView.cpp:
2112 (WKViewSetUserViewportTranslation):
2113 (WKViewUserViewportToContents):
2114 (WKViewPaintToCurrentGLContext):
2115 (WKViewPaintToCairoSurface):
2116 * UIProcess/API/C/efl/WKView.h:
2118 Added WKView API functions.
2120 * UIProcess/API/efl/EwkView.cpp:
2122 (EwkView::displayTimerFired):
2123 (EwkView::feedTouchEvent):
2124 (EwkView::createGLSurface):
2125 (EwkView::handleEvasObjectCalculate):
2126 (EwkView::handleEwkViewMouseWheel):
2127 (EwkView::handleEwkViewMouseDown):
2128 (EwkView::handleEwkViewMouseUp):
2129 (EwkView::handleEwkViewMouseMove):
2130 * UIProcess/API/efl/EwkView.h:
2133 Using new WKView API.
2135 * UIProcess/efl/WebView.cpp:
2136 (WebKit::WebView::initialize):
2138 (WebKit::WebView::paintToCurrentGLContext):
2139 (WebKit::WebView::paintToCairoSurface):
2140 (WebKit::WebView::userViewportToContents):
2141 (WebKit::WebView::transformFromScene):
2142 (WebKit::WebView::transformToScene):
2143 (WebKit::WebView::coordinatedGraphicsScene):
2144 (WebKit::WebView::enterAcceleratedCompositingMode):
2145 (WebKit::WebView::exitAcceleratedCompositingMode):
2146 * UIProcess/efl/WebView.h:
2148 (WebKit::WebView::setUserViewportTranslation):
2151 Added WebView methods to support new WKView API.
2153 2013-02-21 Dima Gorbik <dgorbik@apple.com>
2155 QuickTime plugin doesn't load when accelerated compositing is disabled
2156 https://bugs.webkit.org/show_bug.cgi?id=110534
2158 Reviewed by Anders Carlsson.
2160 We shouldn't disable accelerated compositing for plugins, because
2161 plugins such as QuickTime rely on this and will try to set other drawing
2162 models that we don't support.
2164 * WebProcess/Plugins/PluginView.cpp:
2165 (WebKit::PluginView::isAcceleratedCompositingEnabled):
2167 2013-02-21 Dean Jackson <dino@apple.com>
2169 Plug-in snapshotting code always accepts first snapshot
2170 https://bugs.webkit.org/show_bug.cgi?id=110495
2172 Reviewed by Tim Horton.
2174 When we detect a plugin that can be snapshotted we start capturing
2175 images until we find one that we believe isn't blank, or we timeout.
2176 I introduced a regression recently where we swap renderers as
2177 soon as the snapshot arrives, whether or not is is blank.
2179 The fix was to have the embedder (currently only WK2) be the one
2180 who tells the HTMLPlugInElement to start displaying snapshots.
2182 * WebProcess/Plugins/PluginView.cpp:
2183 (WebKit::PluginView::pluginSnapshotTimerFired): When we find a
2184 snapshot that we like, tell the HTMLPlugInElement to move to
2187 2013-02-21 Carlos Garcia Campos <cgarcia@igalia.com>
2189 Unreviewed. Fix make distcheck.
2191 * GNUmakefile.am: Add -DBUILDING_WEBKIT flags to introspection
2193 * GNUmakefile.list.am: Add missing header to compilation and
2194 remove one that no longer exists.
2196 2013-02-21 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
2198 [WK2][EFL] Move PageViewportController and PageViewportControllerClientEfl out from WebView
2199 https://bugs.webkit.org/show_bug.cgi?id=110345
2201 Reviewed by Andreas Kling.
2203 WebView does not need to know about both PageViewportController and
2204 PageViewportControllerClientEfl. Considering the fact that PageViewportController
2205 will stop being WK2 internal and will be based on WK2 C API, it
2206 should be owned by EwkView rather than WebView.
2208 This patch is also a preparation for WKViewClient API extension to cover all
2209 the places where PageViewportController and PageViewportControllerClientEfl
2210 are accessed directly from WebView at the moment.
2212 * UIProcess/API/efl/EwkView.cpp:
2214 * UIProcess/API/efl/EwkView.h:
2216 (EwkView::pageViewportControllerClient):
2217 (EwkView::pageViewportController):
2219 * UIProcess/efl/WebView.cpp:
2220 (WebKit::WebView::didCommitLoad):
2221 (WebKit::WebView::updateViewportSize):
2222 (WebKit::WebView::didChangeContentsSize):
2223 (WebKit::WebView::didChangeViewportProperties):
2224 (WebKit::WebView::pageDidRequestScroll):
2225 (WebKit::WebView::didRenderFrame):
2226 (WebKit::WebView::pageTransitionViewportReady):
2227 * UIProcess/efl/WebView.h:
2230 2013-02-20 Tim Horton <timothy_horton@apple.com>
2232 Provide WKView SPI to defer telling the WebPageProxy and WebProcess about changes in the hosting window
2233 https://bugs.webkit.org/show_bug.cgi?id=110415
2234 <rdar://problem/13095405>
2236 Reviewed by Simon Fraser.
2238 * UIProcess/API/mac/WKView.mm: Add _viewInWindowChangesDeferredCount and _viewInWindowChangeWasDeferred to WKViewData.
2239 (-[WKView viewDidMoveToWindow]): If we're deferring window changes, don't include the ViewIsInWindow flag
2240 when sending viewStateDidChange. Instead, save the fact that we want to do that later aside.
2241 (-[WKView beginDeferringViewInWindowChanges]):
2242 (-[WKView endDeferringViewInWindowChanges]): Straightforward begin/end pair. When we exit the last pair and
2243 have a pending window change, let the WebPageProxy know. WebPageProxy will do the check to ensure that
2244 the in-window state has actually changed.
2245 (-[WKView isDeferringViewInWindowChanges]):
2246 * UIProcess/API/mac/WKViewPrivate.h:
2248 2013-02-20 Kiran Muppala <cmuppala@apple.com>
2250 Disable window occlusion notifications for App Store on Mac.
2251 https://bugs.webkit.org/show_bug.cgi?id=110417
2253 Reviewed by Simon Fraser.
2255 Temporary fix to workaround issues with window occlusion notifications
2258 * UIProcess/API/mac/WKView.mm:
2259 (+[WKView _registerWindowOcclusionNotificationHandlers]): Return early
2260 if the main bundle identifier matches that of App Store.
2262 2013-02-20 Mark Rowe <mrowe@apple.com>
2264 <https://webkit.org/b/110410> Specify the plug-in process / service entitlements via the Xcode configuration.
2266 This is the modern mechanism for applying entitlements to production builds,
2267 and it simplifies the maintenance of entitlements going forward. It also allows
2268 us to fix the new XPC PluginServices to have the same entitlements as PluginProcess.
2270 Reviewed by Alexey Proskuryakov.
2272 * Configurations/Base.xcconfig: Ad-hoc sign all WebKit2 components.
2273 * Configurations/PluginProcess.xcconfig: Specify the entitlements to use.
2274 * Configurations/PluginService.32.xcconfig: Ditto.
2275 * Configurations/PluginService.64.xcconfig: Ditto.
2276 * Configurations/PluginService.Development.xcconfig: Ditto.
2277 * Configurations/PluginService.entitlements: Renamed from Source/WebKit2/PluginProcess/mac/PluginProcess.entitlements.
2278 Move the entitlements in to the Configurations directory to make them easier to find.
2279 * PluginProcess/mac/add-entitlements.sh: Removed. In my testing the dependency issue mentioned
2280 in the script is not an issue with current versions of Xcode. If we see it again we can come
2281 up with a workaround that doesn't involve performing the signing via a script phase.
2282 * WebKit2.xcodeproj/project.pbxproj:
2284 2013-02-20 Mark Rowe <mrowe@apple.com>
2286 <https://webkit.org/b/110409> Remove duplication between 32- and 64-bit PluginService plists.
2288 Reviewed by Dan Bernstein.
2290 The only difference between the plists was the CFBundleIdentifier. Since the values are the
2291 same as the product name, we can just use the value of the PRODUCT_NAME configuration setting.
2293 * Configurations/PluginService.32.xcconfig:
2294 * Configurations/PluginService.64.xcconfig:
2295 * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist: Renamed from Source/WebKit2/PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist.
2296 * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist: Removed.
2298 2013-02-20 Simon Fraser <simon.fraser@apple.com>
2300 Zoomed, slow-scrolling pages keep recreating tiles when scrolled
2301 https://bugs.webkit.org/show_bug.cgi?id=110379
2303 Reviewed by Tim Horton.
2305 Make the visible rect and exposed rects passed through
2306 the drawing area to the tile cache FloatRects instead of IntRects.
2308 * UIProcess/API/mac/WKView.mm:
2309 (-[WKView setFrameSize:]):
2310 (-[WKView _updateWindowAndViewFrames]):
2311 (-[WKView enableFrameSizeUpdates]):
2312 (-[WKView setMinimumWidthForAutoLayout:]):
2313 * UIProcess/WebPageProxy.h:
2314 * UIProcess/mac/WebPageProxyMac.mm:
2315 (WebKit::WebPageProxy::viewExposedRectChanged):
2316 * WebProcess/WebPage/DrawingArea.h:
2317 (WebKit::DrawingArea::setExposedRect):
2318 * WebProcess/WebPage/WebPage.cpp:
2319 (WebKit::WebPage::viewExposedRectChanged):
2320 * WebProcess/WebPage/WebPage.h:
2321 * WebProcess/WebPage/WebPage.messages.in:
2322 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2323 (TiledCoreAnimationDrawingArea):
2324 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2325 (WebKit::TiledCoreAnimationDrawingArea::setExposedRect):
2327 2013-02-20 Dirk Schulze <krit@webkit.org>
2329 Enable CANVAS_PATH flag
2330 https://bugs.webkit.org/show_bug.cgi?id=108508
2332 Reviewed by Simon Fraser.
2334 Enable CANVAS_PATH flag on trunk.
2336 * Configurations/FeatureDefines.xcconfig:
2338 2013-02-20 Laszlo Gombos <l.gombos@samsung.com>
2340 Remove unnecessary includes for Platform.h from headers
2341 https://bugs.webkit.org/show_bug.cgi?id=110300
2343 Reviewed by Alexey Proskuryakov.
2345 wtf/Platform.h only need to be included in a few places directly
2346 as it is included in config.h. Remove the unnecessay duplicate as
2347 it can be confusing.
2349 * Shared/PrintInfo.h:
2351 2013-02-20 Huang Dongsung <luxtella@company100.net>
2353 [WK2] Remove m_viewportSize in WebPage.
2354 https://bugs.webkit.org/show_bug.cgi?id=110311
2356 Reviewed by Anders Carlsson.
2358 EFL and Qt use m_viewSize as a contents size while Apple use it as a viewport
2359 size, so EFL and Qt introduced m_viewportSize to make WebPage know a viewport
2362 EFL and Qt use m_viewSize as a contents size because the size of non compositing
2363 layer is contents size, and EFL and Qt mark whole non compositing layer as dirty
2364 using m_viewSize. Bug 110299 (http://webkit.org/b/110299) changes that it is not
2365 necessary to know m_viewSize when marking whole non compositing layer as dirty.
2366 So we can make EFL and Qt use m_viewSize as a viewport size also.
2368 This patch removes m_viewportSize and related methods to increase readability.
2370 * UIProcess/API/qt/raw/qrawwebview.cpp:
2371 (QRawWebView::setSize):
2372 * UIProcess/PageViewportController.cpp:
2373 (WebKit::PageViewportController::didChangeViewportSize):
2374 * UIProcess/WebPageProxy.cpp:
2376 * UIProcess/WebPageProxy.h:
2378 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2379 (WebKit::WebChromeClient::pageRect):
2380 (WebKit::WebChromeClient::contentsSizeChanged):
2381 * WebProcess/WebPage/DrawingAreaImpl.cpp:
2382 (WebKit::DrawingAreaImpl::updateBackingStoreState):
2383 * WebProcess/WebPage/WebPage.cpp:
2384 (WebKit::WebPage::setSize):
2385 (WebKit::WebPage::sendViewportAttributesChanged):
2386 * WebProcess/WebPage/WebPage.h:
2388 * WebProcess/WebPage/WebPage.messages.in:
2390 2013-02-20 Huang Dongsung <luxtella@company100.net>
2392 [WK2] add setNeedsDisplay in DrawingArea to mark whole layer as dirty.
2393 https://bugs.webkit.org/show_bug.cgi?id=110299
2395 Reviewed by Anders Carlsson.
2397 Currently, we call setNeedsDisplay with the size of WebPage to mark whole
2398 backing store as dirty. However, the size of non compositing layer can be
2399 inconsistent with the size of WebPage. For example, in Coordinated Graphics, the
2400 size of non compositing layer is contents size.
2402 So, WebPage should not assume the size of non compositing layer, and should just
2403 call setNeedsDisplay when marking whole layer as dirty.
2405 In addition, this patch renames from setNeedsDisplay() with a rect argument to
2406 setNeedsDisplayInRect(), which matches to the terms of GraphicsLayer.
2408 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2409 (WebKit::WebChromeClient::invalidateContentsAndRootView):
2410 (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
2411 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2412 (WebKit::WebFrameLoaderClient::restoreViewState):
2413 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2414 (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplay):
2416 (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplayInRect):
2417 (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
2418 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2419 (CoordinatedLayerTreeHost):
2420 * WebProcess/WebPage/DrawingArea.h:
2422 * WebProcess/WebPage/DrawingAreaImpl.cpp:
2423 (WebKit::DrawingAreaImpl::setNeedsDisplay):
2425 (WebKit::DrawingAreaImpl::setNeedsDisplayInRect):
2426 (WebKit::DrawingAreaImpl::scroll):
2427 (WebKit::DrawingAreaImpl::forceRepaint):
2428 (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
2429 (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
2430 (WebKit::DrawingAreaImpl::resumePainting):
2431 * WebProcess/WebPage/DrawingAreaImpl.h:
2433 * WebProcess/WebPage/LayerTreeHost.h:
2435 * WebProcess/WebPage/WebPage.cpp:
2436 (WebKit::WebPage::setSize):
2437 (WebKit::WebPage::setDrawsBackground):
2438 (WebKit::WebPage::setDrawsTransparentBackground):
2439 (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
2440 * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
2441 (WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplay):
2443 (WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplayInRect):
2444 (WebKit::LayerTreeHostGtk::scrollNonCompositedContents):
2445 * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
2447 * WebProcess/WebPage/mac/LayerTreeHostMac.h:
2449 * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
2450 (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
2452 (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplayInRect):
2453 (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
2454 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
2455 (RemoteLayerTreeDrawingArea):
2456 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
2457 (WebKit::RemoteLayerTreeDrawingArea::setNeedsDisplay):
2459 (WebKit::RemoteLayerTreeDrawingArea::setNeedsDisplayInRect):
2460 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2461 (TiledCoreAnimationDrawingArea):
2462 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2463 (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
2465 (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplayInRect):
2467 2013-02-20 Christophe Dumez <ch.dumez@sisa.samsung.com>
2469 [EFL][WK2] Port EwkPopupMenuItem to the C API
2470 https://bugs.webkit.org/show_bug.cgi?id=108798
2472 Reviewed by Kenneth Rohde Christiansen.
2474 Make use of the new WKPopupItem C API inside EwkPopupMenuItem to remove
2475 dependency on internal WebPopupItem type. Eina shared string members
2476 are now lazily initialized to make the object cheaper to construct.
2478 * UIProcess/API/efl/ewk_popup_menu.cpp:
2479 (EwkPopupMenu::EwkPopupMenu):
2480 * UIProcess/API/efl/ewk_popup_menu_item.cpp:
2481 (EwkPopupMenuItem::EwkPopupMenuItem):
2482 (EwkPopupMenuItem::type):
2483 (EwkPopupMenuItem::textDirection):
2484 (EwkPopupMenuItem::text):
2485 (EwkPopupMenuItem::tooltipText):
2486 (EwkPopupMenuItem::accessibilityText):
2487 (EwkPopupMenuItem::hasTextDirectionOverride):
2488 (EwkPopupMenuItem::isEnabled):
2489 (EwkPopupMenuItem::isLabel):
2490 (EwkPopupMenuItem::isSelected):
2491 * UIProcess/API/efl/ewk_popup_menu_item_private.h:
2492 (EwkPopupMenuItem::create):
2495 2013-02-19 Tim Horton <timothy_horton@apple.com>
2497 Clarify isInWindow vs. isVisible path through to RenderLayerCompositor
2498 https://bugs.webkit.org/show_bug.cgi?id=110261
2499 <rdar://problem/13196122>
2501 Reviewed by Simon Fraser.
2503 * WebProcess/WebPage/WebPage.cpp:
2504 (WebKit::WebPage::setIsInWindow):
2505 Use Page::setIsInWindow in addition to willMoveOffscreen/didMoveOnscreen.
2507 2013-02-19 Conrad Shultz <conrad_shultz@apple.com>
2509 Allow UI clients to handle vertical wheel events.
2510 https://bugs.webkit.org/show_bug.cgi?id=110006
2512 Reviewed by Tim Horton.
2514 Add API to allow clients to selectively control rubber-banding at vertical page extrema.
2516 * UIProcess/API/C/WKPage.cpp:
2517 (WKPageRubberBandsAtBottom):
2518 Proxy for the corresponding function in WebCore::Page.
2519 (WKPageSetRubberBandsAtBottom):
2521 (WKPageRubberBandsAtTop):
2523 (WKPageSetRubberBandsAtTop):
2526 * UIProcess/API/C/WKPage.h:
2529 * UIProcess/WebPageProxy.cpp:
2530 (WebKit::WebPageProxy::WebPageProxy):
2531 Initialize new member variables.
2532 (WebKit::WebPageProxy::setRubberBandsAtBottom):
2533 New function; dispatches a matching message to the WebKit::WebPage.
2534 (WebKit::WebPageProxy::setRubberBandsAtTop):
2537 * UIProcess/WebPageProxy.h:
2540 (WebKit::WebPageProxy::rubberBandsAtBottom):
2541 New accessor function.
2542 (WebKit::WebPageProxy::rubberBandsAtTop):
2545 * WebProcess/WebPage/WebPage.cpp:
2546 (WebKit::WebPage::setRubberBandsAtBottom):
2547 New function; call the matching function on the associated WebCore::Page.
2548 (WebKit::WebPage::setRubberBandsAtTop):
2551 * WebProcess/WebPage/WebPage.h:
2553 Declare new rubber-banding API.
2555 * WebProcess/WebPage/WebPage.messages.in:
2556 Declare new rubber-banding API.
2558 2013-02-19 Anders Carlsson <andersca@apple.com>
2560 StorageAreaProxy should know its quota
2561 https://bugs.webkit.org/show_bug.cgi?id=110268
2563 Reviewed by Sam Weinig.
2565 Begin stubbing out StorageAreaProxy::setItem and add some quota member variables.
2567 * WebProcess/Storage/StorageAreaProxy.cpp:
2568 (WebKit::StorageAreaProxy::StorageAreaProxy):
2569 (WebKit::StorageAreaProxy::setItem):
2570 * WebProcess/Storage/StorageAreaProxy.h:
2572 * WebProcess/Storage/StorageNamespaceProxy.cpp:
2573 (WebKit::StorageNamespaceProxy::createSessionStorageNamespace):
2574 (WebKit::StorageNamespaceProxy::StorageNamespaceProxy):
2575 * WebProcess/Storage/StorageNamespaceProxy.h:
2576 (WebKit::StorageNamespaceProxy::quota):
2577 (StorageNamespaceProxy):
2579 2013-02-19 Alexey Proskuryakov <ap@apple.com>
2581 <rdar://problem/13239119> NetworkProcess generates timeout spindump logs
2583 Reviewed by Mark Rowe.
2585 Don't keep a window server connection in processes that don't need it, and don't
2586 run an NSApplication run loop.
2588 * Shared/ChildProcess.h:
2589 * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::shutdownWindowServerConnection):
2590 Added a function to shut down connections, and to make sure we don't get one in the future.
2592 * NetworkProcess/mac/NetworkProcessMac.mm:
2593 (WebKit::NetworkProcess::initializeProcessName):
2594 * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm:
2595 (WebKit::OfflineStorageProcess::initializeProcessName):
2596 * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
2597 (WebKit::SharedWorkerProcess::platformInitializeSharedWorkerProcess): Also removed
2598 some unused includes and forward declarations.
2600 2013-02-18 Alexey Proskuryakov <ap@apple.com>
2602 [WK2] Cannot load documents with blob urls
2603 https://bugs.webkit.org/show_bug.cgi?id=110160
2605 Reviewed by Sam Weinig.
2607 * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::canHandleRequest):
2608 Added knowledge about blobs.
2610 2013-02-19 Carlos Garcia Campos <cgarcia@igalia.com>
2612 [GTK] Move the API to get TLS certificate from WebKitURIResponse to WebKitWebView
2613 https://bugs.webkit.org/show_bug.cgi?id=110190
2615 Reviewed by Anders Carlsson.
2617 Add webkit_web_view_get_tls_info() and remove
2618 webkit_uri_response_get_https_status(). This way I can be sure
2619 that when called after load has been committed the certificate
2620 will be available. It also makes the API easier to use.
2622 * UIProcess/API/gtk/WebKitURIResponse.cpp:
2623 * UIProcess/API/gtk/WebKitURIResponse.h:
2624 * UIProcess/API/gtk/WebKitURIResponsePrivate.h:
2625 * UIProcess/API/gtk/WebKitWebView.cpp:
2626 (webkitWebViewLoadChanged):
2627 (mainResourceResponseChangedCallback):
2628 (webkit_web_view_get_tls_info):
2629 * UIProcess/API/gtk/WebKitWebView.h:
2630 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2631 * UIProcess/API/gtk/tests/TestSSL.cpp:
2633 2013-02-19 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
2635 [WK2][EFL] Eliminate access to WK2 C++ internals from ewk_view functions
2636 https://bugs.webkit.org/show_bug.cgi?id=109794
2638 Reviewed by Anders Carlsson.
2640 * UIProcess/API/C/efl/WKView.cpp:
2641 (WKViewSetShowsAsSource):
2642 (WKViewGetShowsAsSource):
2644 Added new WKView API to wrap WebPageProxy::setMainFrameInViewSourceMode()
2645 and WebPageProxy::mainFrameInViewSourceMode() calls.
2647 (WKViewExitFullScreen):
2649 Added new WKView API to wrap WebFullScreenManagerProxy::exitFullScreen()
2652 * UIProcess/API/C/efl/WKView.h:
2653 * UIProcess/API/efl/EwkView.cpp:
2654 (EwkView::feedTouchEvent):
2656 Added feedTouchEvent() method so that: at first ewk_view_feed_touch_event()
2657 is not invoked from EwkView class, secondly ewk_view_feed_touch_event() does
2658 not access WebPage instance directly.
2660 (EwkView::feedTouchEvents):
2661 * UIProcess/API/efl/EwkView.h:
2663 * UIProcess/API/efl/ewk_view.cpp:
2664 (ewk_view_feed_touch_event):
2665 (ewk_view_pagination_mode_set):
2666 (ewk_view_pagination_mode_get):
2667 (ewk_view_fullscreen_exit):
2668 (ewkViewPageContentsCallback):
2669 (ewk_view_page_contents_get):
2670 (ewk_view_source_mode_set):
2671 (ewk_view_source_mode_get):
2673 Those are now using exported C API.
2675 * UIProcess/efl/WebView.cpp:
2676 (WebKit::WebView::setShowsAsSource):
2678 (WebKit::WebView::showsAsSource):
2679 (WebKit::WebView::exitFullScreen):
2680 * UIProcess/efl/WebView.h:
2683 Added WebView methods to support added WKView API.
2685 2013-02-19 Andras Becsi <andras.becsi@digia.com>
2687 [Qt][WK2] ASSERT(node) hit in WebPage::findZoomableAreaForPoint if no zoomable area found
2688 https://bugs.webkit.org/show_bug.cgi?id=110220
2690 Reviewed by Allan Sandfeld Jensen.
2692 If EventHandler::bestZoomableAreaForTouchPoint was unsuccessfull, eg.
2693 no node was found for a given point, we hit ASSERT(node).
2694 We should only assert for a valid node if a zoomable area was found.
2696 * WebProcess/WebPage/WebPage.cpp:
2697 (WebKit::WebPage::findZoomableAreaForPoint):
2699 2013-02-19 Christophe Dumez <ch.dumez@sisa.samsung.com>
2701 Regression(r143273): Caused a lot of tests to time out
2702 https://bugs.webkit.org/show_bug.cgi?id=110212
2704 Reviewed by Anders Carlsson.
2706 StorageManager::destroySessionStorageNamespace() and StorageManager::cloneSessionStorageNamespace()
2707 should call their respective "*Internal" equivalent instead of calling themselves. This lead to
2708 a lot of time outs on our build bots.
2710 * UIProcess/Storage/StorageManager.cpp:
2711 (WebKit::StorageManager::destroySessionStorageNamespace):
2712 (WebKit::StorageManager::cloneSessionStorageNamespace):
2714 2013-02-18 Carlos Garcia Campos <cgarcia@igalia.com>
2716 [GTK] Remove webkit_web_view_get_subresources from WebKit2 GTK+ API
2717 https://bugs.webkit.org/show_bug.cgi?id=110125
2719 Reviewed by Anders Carlsson.
2721 This API is currently implemented caching all resources in the
2722 WebView which causes some problems in documents loading resources
2723 indefinitely. This API was used in WebKit1 mainly to implement
2724 webkit_web_view_save(), but we already have such API in
2727 * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
2728 (didReceiveWebViewMessageFromInjectedBundle):
2729 * UIProcess/API/gtk/WebKitWebView.cpp:
2730 (_WebKitWebViewPrivate):
2731 (webkitWebViewLoadChanged):
2732 * UIProcess/API/gtk/WebKitWebView.h:
2733 * UIProcess/API/gtk/WebKitWebViewPrivate.h:
2734 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2735 * UIProcess/API/gtk/tests/TestResources.cpp:
2736 (testWebViewResources):
2737 (testWebResourceGetData):
2739 2013-02-18 Christophe Dumez <dchris@gmail.com>
2741 [WK2][EFL] Stop using internal C++ API in ewk_error
2742 https://bugs.webkit.org/show_bug.cgi?id=108796
2744 Reviewed by Benjamin Poulain.
2746 Stop using internal C++ API in ewk_error and use C API instead of avoid
2747 violating API layering.
2749 * UIProcess/API/efl/ewk_error.cpp:
2751 (EwkError::isCancellation):
2752 (ewk_error_type_get):
2753 * UIProcess/API/efl/ewk_error_private.h:
2756 2013-02-18 Simon Fraser <simon.fraser@apple.com>
2758 Clean up the boolean argument to visibleContentRect
2759 https://bugs.webkit.org/show_bug.cgi?id=110167
2761 Reviewed by Simon Fraser.
2763 Replace the boolean argument to visibleContentRect() with
2766 * WebProcess/WebPage/WebFrame.cpp:
2767 (WebKit::WebFrame::visibleContentBounds):
2768 (WebKit::WebFrame::visibleContentBoundsExcludingScrollbars):
2770 2013-02-18 Anders Carlsson <andersca@apple.com>
2772 Add a DefaultHash for RefPtr<SecurityOrigin>
2773 https://bugs.webkit.org/show_bug.cgi?id=110170
2775 Reviewed by Andreas Kling.
2777 Remove all explicit uses of SecurityOriginHash.
2779 * UIProcess/Storage/StorageManager.cpp:
2780 (StorageManager::SessionStorageNamespace):
2781 * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
2782 (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
2783 * WebProcess/InjectedBundle/InjectedBundle.cpp:
2784 (WebKit::InjectedBundle::originsWithApplicationCache):
2785 * WebProcess/Notifications/NotificationPermissionRequestManager.h:
2786 Include SecurityOriginHash.h. This fixes a bug where m_originToIDMap used pointer-equality
2787 for looking up security origins.
2789 * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
2790 (WebKit::WebResourceCacheManager::clearCacheForOrigin):
2791 This can just take a const reference.
2793 * WebProcess/ResourceCache/WebResourceCacheManager.h:
2795 2013-02-18 Anders Carlsson <andersca@apple.com>
2797 Begin stubbing out session storage classes
2798 https://bugs.webkit.org/show_bug.cgi?id=110168
2800 Reviewed by Andreas Kling.
2802 * UIProcess/Storage/StorageManager.cpp:
2803 (StorageManager::StorageArea):
2805 (WebKit::StorageManager::StorageArea::create):
2806 (WebKit::StorageManager::StorageArea::StorageArea):
2807 (WebKit::StorageManager::StorageArea::~StorageArea):
2808 (StorageManager::SessionStorageNamespace):
2809 (WebKit::StorageManager::SessionStorageNamespace::isEmpty):
2810 (WebKit::StorageManager::SessionStorageNamespace::create):
2811 (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
2812 (WebKit::StorageManager::SessionStorageNamespace::~SessionStorageNamespace):
2813 (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
2814 (WebKit::StorageManager::createSessionStorageNamespaceInternal):
2815 (WebKit::StorageManager::destroySessionStorageNamespaceInternal):
2816 (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
2817 * UIProcess/Storage/StorageManager.h:
2820 2013-02-18 Christophe Dumez <ch.dumez@sisa.samsung.com>
2822 [EFL][WK2] Add C API for popup menu and popup item
2823 https://bugs.webkit.org/show_bug.cgi?id=109083
2825 Reviewed by Anders Carlsson.
2827 WK2 EFL delegates display of the popup menu to the browser which causes
2828 us to have a strong interdependency between internal C++ classes
2829 (WebPopupMenuProxyEfl, WebPopupItem) and our EFL API implementation
2830 (EwkView, EwkPopupMenu, EwkPopupMenuItem).
2832 Since we want to remove this interdependency, this patch introduces a
2833 for WebPopupMenuProxyEfl (WKPopupMenuListener) and for WebPopupItem
2834 (WKPopupItem). It also introduces a WKPage client with callbacks for
2835 showPopupMenu and hidePopupMenu.
2837 Note that the popup menu functionality is covered by ewk_popup_menu API
2838 tests and no functionality is lost.
2840 * PlatformEfl.cmake: Add new files to EFL CMake config.
2841 * Shared/API/c/efl/WKBaseEfl.h: Add typedefs for WKPopupItemRef and
2842 WKPopupMenuListenerRef.
2843 * Shared/APIObject.h: Add new TypePopupMenuItem APIObject type for EFL
2845 * UIProcess/API/C/efl/WKAPICastEfl.h: Add mapping for WKPopupItemRef
2846 and WKPopupMenuListenerRef API types.
2849 * UIProcess/API/C/efl/WKPageEfl.cpp: Added.
2850 (WKPageSetUIPopupMenuClient): Add new C API to set the UI Popup Menu
2852 * UIProcess/API/C/efl/WKPageEfl.h: Added.
2853 * UIProcess/API/C/efl/WKPopupItem.cpp: Added. Add C API for WebPopupItem.
2854 (WKPopupItemGetType):
2855 (WKPopupItemGetTextDirection):
2856 (WKPopupItemHasTextDirectionOverride):
2857 (WKPopupItemCopyText):
2858 (WKPopupItemCopyToolTipText):
2859 (WKPopupItemCopyAccessibilityText):
2860 (WKPopupItemIsEnabled):
2861 (WKPopupItemIsLabel):
2862 (WKPopupItemIsSelected):
2863 * UIProcess/API/C/efl/WKPopupItem.h: Added.
2864 * UIProcess/API/C/efl/WKPopupMenuListener.cpp: Added. Add C API for
2865 WebPopupMenuListenerEfl (formerly WebPopupMenuProxyEfl) so that the
2866 client can report which popup menu item was selected.
2867 (WKPopupMenuListenerSetSelection):
2868 * UIProcess/API/C/efl/WKPopupMenuListener.h: Added.
2869 * UIProcess/API/efl/EwkView.cpp: Remove dependency on internal C++ types
2870 (WebPopupMenuProxyEfl and WebPopupItem) and use C API types instead.
2871 (EwkView::requestPopupMenu):
2872 * UIProcess/API/efl/EwkView.h:
2875 * UIProcess/API/efl/ewk_popup_menu.cpp: Use C API for Popup menu.
2876 (EwkPopupMenu::EwkPopupMenu):
2877 (EwkPopupMenu::setSelectedIndex):
2878 * UIProcess/API/efl/ewk_popup_menu_private.h:
2879 (EwkPopupMenu::create):
2881 * UIProcess/WebPageProxy.cpp: Use WKPageUIPopupMenuClient to show / hide
2882 the popup menu on EFL port instead of asking the WebPopupMenuProxy.
2883 (WebKit::WebPageProxy::close):
2884 (WebKit::WebPageProxy::showPopupMenu):
2885 (WebKit::WebPageProxy::hidePopupMenu):
2886 * UIProcess/WebPageProxy.h: Add new WKPageUIPopupMenuClient member and
2887 corresponding initialization method.
2889 * UIProcess/WebPopupMenuProxy.h: Disable showPopupMenu / hidePopupMenu
2890 virtual methods on EFL port since we go via WKPageUIPopupMenuClient
2892 (WebPopupMenuProxy):
2893 * UIProcess/efl/PageUIClientEfl.cpp:
2894 (WebKit::PageUIClientEfl::PageUIClientEfl): Handle WKPageUIPopupMenuClient
2895 callbacks and call corresponding EwkView methods. Previously, the EwkView
2896 methods were called by the internal WebPageProxyEfl class which is no
2898 (WebKit::PageUIClientEfl::showPopupMenu):
2900 (WebKit::PageUIClientEfl::hidePopupMenu):
2901 * UIProcess/efl/PageUIClientEfl.h:
2903 * UIProcess/efl/WebPageProxyEfl.cpp:
2904 (WebKit::WebPageProxy::initializeUIPopupMenuClient):
2906 * UIProcess/efl/WebPopupItemEfl.cpp: Added. Add APIObject wrapper for
2907 WebPopupItem so that we can use it in WKPageUIPopupMenuClient.
2909 (WebKit::WebPopupItemEfl::WebPopupItemEfl):
2910 (WebKit::WebPopupItemEfl::~WebPopupItemEfl):
2911 * UIProcess/efl/WebPopupItemEfl.h: Added.
2914 (WebKit::WebPopupItemEfl::create):
2915 (WebKit::WebPopupItemEfl::data):
2916 (WebKit::WebPopupItemEfl::itemType):
2917 (WebKit::WebPopupItemEfl::text):
2918 (WebKit::WebPopupItemEfl::textDirection):
2919 (WebKit::WebPopupItemEfl::hasTextDirectionOverride):
2920 (WebKit::WebPopupItemEfl::toolTipText):
2921 (WebKit::WebPopupItemEfl::accessibilityText):
2922 (WebKit::WebPopupItemEfl::isEnabled):
2923 (WebKit::WebPopupItemEfl::isLabel):
2924 (WebKit::WebPopupItemEfl::isSelected):
2925 (WebKit::WebPopupItemEfl::type):
2926 * UIProcess/efl/WebPopupMenuListenerEfl.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.cpp.
2927 Use WebPopupMenuListenerEfl name instead of WebPopupMenuProxyEfl since
2928 it more accurately represents its functionality now.
2930 (WebKit::WebPopupMenuListenerEfl::WebPopupMenuListenerEfl):
2931 (WebKit::WebPopupMenuListenerEfl::valueChanged):
2932 * UIProcess/efl/WebPopupMenuListenerEfl.h: Renamed from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.h.
2934 (WebPopupMenuListenerEfl):
2935 (WebKit::WebPopupMenuListenerEfl::create):
2936 * UIProcess/efl/WebUIPopupMenuClient.cpp: Added.
2937 (WebUIPopupMenuClient::showPopupMenu):
2938 (WebUIPopupMenuClient::hidePopupMenu):
2939 * UIProcess/efl/WebUIPopupMenuClient.h: Added.
2941 (WebUIPopupMenuClient):
2942 * UIProcess/efl/WebView.cpp:
2943 (WebKit::WebView::createPopupMenuProxy):
2945 2013-02-18 Anders Carlsson <andersca@apple.com>
2947 Add StorageManager member functions for keeping track of session storage namespaces
2948 https://bugs.webkit.org/show_bug.cgi?id=110163
2950 Reviewed by Andreas Kling.
2952 * UIProcess/Storage/StorageManager.cpp:
2953 (WebKit::StorageManager::createSessionStorageNamespace):
2955 (WebKit::StorageManager::destroySessionStorageNamespace):
2956 (WebKit::StorageManager::cloneSessionStorageNamespace):
2957 (WebKit::StorageManager::createSessionStorageNamespaceInternal):
2958 (WebKit::StorageManager::destroySessionStorageNamespaceInternal):
2959 (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
2960 * UIProcess/Storage/StorageManager.h:
2962 * UIProcess/WebContext.h:
2963 (WebKit::WebContext::storageManager):
2965 * UIProcess/WebPageProxy.cpp:
2966 (WebKit::WebPageProxy::WebPageProxy):
2967 (WebKit::WebPageProxy::close):
2968 (WebKit::WebPageProxy::createNewPage):
2970 2013-02-18 Anders Carlsson <andersca@apple.com>
2972 StorageManager message handlers should take the connection
2973 https://bugs.webkit.org/show_bug.cgi?id=110151
2975 Reviewed by Andreas Kling.
2977 * Platform/CoreIPC/HandleMessage.h:
2979 (CoreIPC::callMemberFunction):
2980 (CoreIPC::handleMessage):
2981 * Scripts/webkit2/messages.py:
2982 (sync_message_statement):
2983 (generate_message_handler):
2984 * UIProcess/Storage/StorageManager.cpp:
2985 (WebKit::StorageManager::createStorageArea):
2986 (WebKit::StorageManager::destroyStorageArea):
2987 (WebKit::StorageManager::getValues):
2988 * UIProcess/Storage/StorageManager.h:
2990 * UIProcess/Storage/StorageManager.messages.in:
2992 2013-02-18 Christophe Dumez <christophe.dumez@intel.com>
2994 [EFL][WK2] Use C API inside ewk_security_origin
2995 https://bugs.webkit.org/show_bug.cgi?id=107923
2997 Reviewed by Alexey Proskuryakov.
2999 Use C API inside ewk_security_origin instead of accessing
3000 directly internal C++ classes, to avoid breaking API
3003 * UIProcess/API/efl/EwkView.cpp:
3004 (EwkView::enterFullScreen):
3005 * UIProcess/API/efl/ewk_security_origin.cpp:
3006 (EwkSecurityOrigin::EwkSecurityOrigin):
3007 * UIProcess/API/efl/ewk_security_origin_private.h:
3008 (EwkSecurityOrigin::create):
3009 (EwkSecurityOrigin):
3011 2013-01-04 Jer Noble <jer.noble@apple.com>
3013 pinch-zooming webpage messes up full-screening of embedded video
3014 https://bugs.webkit.org/show_bug.cgi?id=106115
3016 Reviewed by Maciej Stachowiak.
3018 Reset the page scale when entering full screen, and reset to the original scale when exiting.
3020 * UIProcess/mac/WKFullScreenWindowController.h:
3021 * UIProcess/mac/WKFullScreenWindowController.mm:
3022 (-[WKFullScreenWindowController enterFullScreen:]):
3023 (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
3025 2013-02-18 Christophe Dumez <ch.dumez@sisa.samsung.com>
3027 [EFL][WK2] Disable failing API tests
3028 https://bugs.webkit.org/show_bug.cgi?id=110081
3030 Reviewed by Kenneth Rohde Christiansen.
3032 Disable EWK2UnitTestBase.ewk_view_scale API test as it is failing.
3034 * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3037 2013-02-15 Allan Sandfeld Jensen <allan.jensen@digia.com>
3039 [Qt][WK2] Support WK2 API tests
3040 https://bugs.webkit.org/show_bug.cgi?id=109843
3042 Reviewed by Jocelyn Turcotte.
3044 * UIProcess/API/qt/qquickwebview_p.h:
3047 2013-02-18 Andras Becsi <andras.becsi@digia.com>
3049 [Qt][WK2] Changing WebView.contentY and WebView.contentX does not redraw content
3050 https://bugs.webkit.org/show_bug.cgi?id=108337
3052 Reviewed by Jocelyn Turcotte.
3054 We should not ignore content position changes unless pinch zoom or bounce-back
3055 animation is ongoing.
3056 This way we notify the web process about visible rect changes if the contentX
3057 and contentY properties are used to programmatically scroll the content from QML.
3058 One important usecase for this is when implementing scrollbars.
3060 * UIProcess/qt/PageViewportControllerClientQt.cpp:
3061 (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
3062 (WebKit::PageViewportControllerClientQt::flickMoveStarted):
3063 (WebKit::PageViewportControllerClientQt::flickMoveEnded):
3064 (WebKit::PageViewportControllerClientQt::pageItemPositionChanged):
3065 (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
3066 (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
3068 2013-02-18 Grzegorz Czajkowski <g.czajkowski@samsung.com>
3070 [WK2][EFL] Unified text checker implementation
3071 https://bugs.webkit.org/show_bug.cgi?id=107682
3073 Reviewed by Anders Carlsson.
3075 * UIProcess/efl/TextCheckerEfl.cpp:
3077 (WebKit::nextWordOffset):
3078 Helper function to determine the word offset to do not call
3079 client's checkSpellingOfString for the word separators.
3081 (WebKit::TextChecker::checkTextOfParagraph):
3082 Allow to check spelling for multiple words,
3083 their misspelling location and length are saved to the vector.
3085 * WebProcess/WebCoreSupport/WebEditorClient.h:
3086 Add UNIFIED_TEXT_CHECKING guard to checkTextOfParagraph.
3088 * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
3090 (WebKit::WebEditorClient::checkTextOfParagraph):
3091 As spelling implementation is exposed to UIProcess,
3092 send a meesage to UIProcess to call TextChecker::checkTextOfParagraph.
3094 2013-02-18 Christophe Dumez <ch.dumez@sisa.samsung.com>
3096 [EFL][WK2] Refactor Ewk_Favicon code and stop relying on internal C++ API
3097 https://bugs.webkit.org/show_bug.cgi?id=108598
3099 Reviewed by Kenneth Rohde Christiansen.
3101 Refactor the Ewk_Favicon code so that it no longer relies on internal
3102 C++ API and so that it is based solely on the C API. The API is changed
3103 a little as well so that the Favicon URL is no longer exposed to the
3104 client. Also the client is now only notified of icon changes once the
3105 favicon data is actually available.
3107 The API is covered by existing API tests and by MiniBrowser which are
3108 both updated accordingly in this patch.
3110 * UIProcess/API/efl/EwkView.cpp:
3111 (EwkView::informURLChange):
3112 (EwkView::createFavicon):
3113 (EwkView::onFaviconChanged):
3114 * UIProcess/API/efl/EwkView.h:
3116 * UIProcess/API/efl/EwkViewCallbacks.h:
3117 * UIProcess/API/efl/ewk_favicon_database.cpp:
3118 Client are now notified of favicon changes only when the favicon data
3119 becomes available and make API to retrieve a favicon synchronous. NULL
3120 is returned if the favicon data is not available.
3122 (EwkFaviconDatabase::EwkFaviconDatabase):
3123 (EwkFaviconDatabase::getIconSurfaceSynchronously):
3124 (EwkFaviconDatabase::iconDataReadyForPageURL):
3125 (ewk_favicon_database_icon_get):
3126 * UIProcess/API/efl/ewk_favicon_database.h:
3127 * UIProcess/API/efl/ewk_favicon_database_private.h:
3128 (EwkFaviconDatabase):
3129 * UIProcess/API/efl/ewk_view.cpp:
3130 (ewk_view_favicon_get):
3131 * UIProcess/API/efl/ewk_view.h:
3132 Rename 'icon,changed' signal to 'favicon,changed' for clarity and
3133 consistency with the rest of the favicon API. Remove API to retrieve
3134 the favicon URL and replace it by one to retrieve the favicon image as
3135 an Evas_Object instead.
3137 * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
3138 Update API tests to use the new favicon API.
3140 2013-02-17 Jae Hyun Park <jae.park@company100.net>
3142 Remove unnecessary public method DrawingAreaImpl::createGraphicsContext()
3143 https://bugs.webkit.org/show_bug.cgi?id=109893
3145 Reviewed by Anders Carlsson.
3147 DrawingAreaImpl::createGraphicsContext() is unnecessary since
3148 createGraphicsContext can be called directly using ShareableBitmap.
3150 * WebProcess/WebPage/DrawingAreaImpl.cpp:
3151 (WebKit::DrawingAreaImpl::display):
3152 * WebProcess/WebPage/DrawingAreaImpl.h:
3155 2013-02-17 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
3157 [WK2][EFL] Remove fullscreen manager proxy as a message receiver on invalidate()
3158 https://bugs.webkit.org/show_bug.cgi?id=109451
3160 Reviewed by Anders Carlsson.
3162 Remove fullscreen manager proxy as a message receiver on invalidate(), like
3163 other ports do after r142160.
3165 * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
3166 (WebKit::WebFullScreenManagerProxy::invalidate):
3168 2013-02-17 Christophe Dumez <ch.dumez@sisa.samsung.com>
3170 Regression(r143124): Caused plugins/plugin-javascript-access.html to fail
3171 https://bugs.webkit.org/show_bug.cgi?id=110053
3173 Reviewed by Alexey Proskuryakov.
3175 Clear m_plugins in loadPluginsIfNecessary() before populating the
3176 vector again. We get duplicates otherwise.
3178 * UIProcess/Plugins/PluginInfoStore.cpp:
3179 (WebKit::PluginInfoStore::loadPluginsIfNecessary):
3181 2013-02-16 Andreas Kling <akling@apple.com>
3183 Remove multi-threading gunk from PluginInfoStore.
3184 <http://webkit.org/b/110046>
3186 Reviewed by Alexey Proskuryakov.
3188 PluginInfoStore is never accessed from multiple threads anymore, so remove the Mutex locking
3189 and stop making isolated copies of everything.
3191 * Shared/Plugins/PluginModuleInfo.h:
3193 * UIProcess/Plugins/PluginInfoStore.cpp:
3194 (WebKit::PluginInfoStore::loadPluginsIfNecessary):
3195 (WebKit::PluginInfoStore::plugins):
3196 (WebKit::PluginInfoStore::findPluginForMIMEType):
3197 (WebKit::PluginInfoStore::findPluginForExtension):
3198 (WebKit::PluginInfoStore::findPlugin):
3199 (WebKit::PluginInfoStore::infoForPluginWithPath):
3200 * UIProcess/Plugins/PluginInfoStore.h:
3203 2013-02-16 Sam Weinig <sam@webkit.org>
3205 Fix non-production builds.
3207 * WebKit2.xcodeproj/project.pbxproj:
3209 2013-02-16 Sam Weinig <sam@webkit.org>
3211 The Plugin.32 target does not build
3212 https://bugs.webkit.org/show_bug.cgi?id=110032
3214 Reviewed by Anders Carlsson.
3216 * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/PluginService.32.Main.mm: Removed.
3217 This was meant to be removed already.
3219 * WebKit2.xcodeproj/project.pbxproj:
3220 Add Plugin.32 as dependency in All as it should be.
3222 2013-02-16 Darin Adler <darin@apple.com>
3224 Fix WKDOMRangePrivate.h mistakes
3225 https://bugs.webkit.org/show_bug.cgi?id=110028
3227 Reviewed by Ryosuke Niwa.
3229 * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
3230 Added include of WKDOMRangePrivate.h.
3232 * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h:
3233 Fixed class name and include to be WKDOMRange.
3234 Fixed method name, _copyBundleRangeHandleRef, to match the
3235 name in the source file.
3237 2013-02-15 Eric Carlson <eric.carlson@apple.com>
3239 [Mac] remove wkCaptionAppearance from WebKitSystemInterface
3240 https://bugs.webkit.org/show_bug.cgi?id=109996
3242 Reviewed by Simon Fraser.
3244 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3245 (InitWebCoreSystemInterface):
3247 2013-02-15 Sheriff Bot <webkit.review.bot@gmail.com>
3249 Unreviewed, rolling out r143088.
3250 http://trac.webkit.org/changeset/143088
3251 https://bugs.webkit.org/show_bug.cgi?id=110000
3253 Breaks the build (Requested by dgorbik on #webkit).
3255 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3256 (InitWebCoreSystemInterface):
3258 2013-02-15 Kiran Muppala <cmuppala@apple.com>
3260 Disable sudden termination on Mac
3261 https://bugs.webkit.org/show_bug.cgi?id=109990
3263 Reviewed by Mark Rowe.
3265 Sudden Termination is causing WebContent XPC services to be killed in
3266 response to memory pressure. Hence, disable it until we can identify
3267 if it is being enabled in error or not.
3269 * Shared/mac/ChildProcessMac.mm:
3270 (WebKit::ChildProcess::platformInitialize): Add call to
3271 [NSProcessInfo disableSuddenTermination].
3273 2013-02-15 Eric Carlson <eric.carlson@apple.com>
3275 [Mac] remove wkCaptionAppearance from WebKitSystemInterface
3276 https://bugs.webkit.org/show_bug.cgi?id=109996
3278 Reviewed by Simon Fraser.
3280 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3281 (InitWebCoreSystemInterface):
3283 2013-02-15 Adenilson Cavalcanti <cavalcantii@gmail.com>
3285 [Qt][WK2] Crash on window resize if WebProcess is closed/crashed
3286 https://bugs.webkit.org/show_bug.cgi?id=109216
3288 Reviewed by Benjamin Poulain.
3290 Only make calls into DrawingAreaProxy pointer after checking its state.
3292 When the WebProcess was closed or crashed, WebKit::WebPageProxy will set
3293 its DrawingAreaProxy pointer to null. Resize events on UIProcess/client will
3294 try to access the object to update the geometry and forward this information
3295 into the WebProcess. This would create a crash scenario that is fixed by this patch.
3297 * UIProcess/API/qt/qquickwebview.cpp:
3298 (QQuickWebViewPrivate::didRelaunchProcess):
3299 (QQuickWebViewLegacyPrivate::updateViewportSize):
3301 2013-02-15 Anders Carlsson <andersca@apple.com>
3303 Add HashMap::isValidKey and HashSet::isValidValue
3304 https://bugs.webkit.org/show_bug.cgi?id=109977
3306 Reviewed by Sam Weinig and Darin Adler.
3308 Just call HashMap::isValidKey directly.
3310 * UIProcess/WebProcessProxy.cpp:
3311 (WebKit::generatePageID):
3312 Initialize the id to 0 and use prefix increment.
3314 (WebKit::WebProcessProxy::webFrame):
3315 (WebKit::WebProcessProxy::canCreateFrame):
3316 (WebKit::WebProcessProxy::didDestroyFrame):
3318 2013-02-15 Csaba Osztrogonác <ossy@webkit.org>
3320 Typo fix after r143064.
3322 * Platform/CoreIPC/win/ConnectionWin.cpp:
3323 (CoreIPC::Connection::sendOutgoingMessage):
3325 2013-02-15 Csaba Osztrogonác <ossy@webkit.org>
3327 One more buildfix after r143052.
3329 * Platform/CoreIPC/win/ConnectionWin.cpp:
3330 (CoreIPC::Connection::sendOutgoingMessage):
3332 2013-02-15 Csaba Osztrogonác <ossy@webkit.org>
3334 Unreviewed buildfix after r143052 for Qt/GTK/EFL ports.
3336 * Platform/unix/SharedMemoryUnix.cpp:
3337 (WebKit::SharedMemory::Handle::encode):
3338 * Platform/win/SharedMemoryWin.cpp:
3339 (WebKit::SharedMemory::Handle::encode):
3340 * Shared/Network/NetworkResourceLoadParameters.cpp:
3341 (WebKit::NetworkResourceLoadParameters::encode):
3342 * Shared/WebBatteryStatus.cpp:
3343 (WebKit::WebBatteryStatus::Data::encode):
3344 * Shared/WebNetworkInfo.cpp:
3345 (WebKit::WebNetworkInfo::Data::encode):
3346 * Shared/efl/LayerTreeContextEfl.cpp:
3347 (WebKit::LayerTreeContext::encode):
3348 * Shared/gtk/LayerTreeContextGtk.cpp:
3349 (WebKit::LayerTreeContext::encode):
3350 * Shared/qt/LayerTreeContextQt.cpp:
3351 (WebKit::LayerTreeContext::encode):
3352 * Shared/qt/QtNetworkReplyData.cpp:
3353 (WebKit::QtNetworkReplyData::encode):
3354 * Shared/qt/QtNetworkRequestData.cpp:
3355 (WebKit::QtNetworkRequestData::encode):
3356 * Shared/soup/PlatformCertificateInfo.cpp:
3357 (WebKit::PlatformCertificateInfo::encode):
3359 2013-02-15 Anders Carlsson <andersca@apple.com>
3361 Make most ArgumentEncoder::encode member functions private
3362 https://bugs.webkit.org/show_bug.cgi?id=109973
3364 Reviewed by Sam Weinig.
3366 Make the encode overloads private; the stream operator should be used instead.
3368 * Platform/CoreIPC/ArgumentEncoder.h:
3370 * Platform/CoreIPC/Arguments.h:
3371 (CoreIPC::Arguments1::encode):
3372 (CoreIPC::Arguments2::encode):
3373 (CoreIPC::Arguments3::encode):
3374 (CoreIPC::Arguments4::encode):
3375 (CoreIPC::Arguments5::encode):
3376 (CoreIPC::Arguments6::encode):
3377 (CoreIPC::Arguments7::encode):
3378 (CoreIPC::Arguments8::encode):
3379 (CoreIPC::Arguments10::encode):
3380 * Platform/CoreIPC/Connection.cpp:
3381 (CoreIPC::Connection::createSyncMessageEncoder):
3382 * Platform/CoreIPC/MessageEncoder.cpp:
3383 (CoreIPC::MessageEncoder::MessageEncoder):
3384 * Scripts/webkit2/messages.py:
3385 (generate_message_handler):
3386 * Scripts/webkit2/messages_unittest.py:
3387 * Shared/Network/NetworkResourceLoadParameters.cpp:
3388 (WebKit::NetworkResourceLoadParameters::encode):
3389 * WebProcess/WebPage/EncoderAdapter.cpp:
3390 (WebKit::EncoderAdapter::EncoderAdapter):
3391 (WebKit::EncoderAdapter::encodeBytes):
3392 (WebKit::EncoderAdapter::encodeBool):
3393 (WebKit::EncoderAdapter::encodeUInt16):
3394 (WebKit::EncoderAdapter::encodeUInt32):
3395 (WebKit::EncoderAdapter::encodeUInt64):
3396 (WebKit::EncoderAdapter::encodeInt32):
3397 (WebKit::EncoderAdapter::encodeInt64):
3398 (WebKit::EncoderAdapter::encodeFloat):
3399 (WebKit::EncoderAdapter::encodeDouble):
3400 (WebKit::EncoderAdapter::encodeString):
3402 2013-02-15 Anders Carlsson <andersca@apple.com>
3404 Add a synchronous GetValues message to StorageManager
3405 https://bugs.webkit.org/show_bug.cgi?id=109968
3407 Reviewed by Sam Weinig.
3409 * Platform/CoreIPC/Connection.cpp:
3410 (CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
3411 Handle synchronous messages.
3413 (CoreIPC::Connection::processIncomingMessage):
3414 Check for work queue message receivers before doing any other processing.
3416 * UIProcess/Storage/StorageManager.cpp:
3417 (WebKit::StorageManager::getValues):
3420 * UIProcess/Storage/StorageManager.h:
3421 * UIProcess/Storage/StorageManager.messages.in:
3422 Add GetValues message.
3424 * WebProcess/Storage/StorageAreaProxy.cpp:
3425 (WebKit::StorageAreaProxy::loadValuesIfNeeded):
3426 Send the GetValues message.
3428 2013-02-15 Anders Carlsson <andersca@apple.com>
3430 A storage area should know its storage type
3431 https://bugs.webkit.org/show_bug.cgi?id=109964
3433 Reviewed by Andreas Kling.
3435 * WebProcess/Storage/StorageAreaProxy.cpp:
3436 (WebKit::StorageAreaProxy::StorageAreaProxy):
3437 (WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
3438 * WebProcess/Storage/StorageAreaProxy.h:
3440 * WebProcess/Storage/StorageNamespaceProxy.cpp:
3441 (WebKit::StorageNamespaceProxy::storageType):
3443 * WebProcess/Storage/StorageNamespaceProxy.h:
3444 (StorageNamespaceProxy):
3446 2013-02-15 Anders Carlsson <andersca@apple.com>
3448 Implement StorageAreaProxy::length
3449 https://bugs.webkit.org/show_bug.cgi?id=109962
3451 Reviewed by Andreas Kling.
3453 * WebProcess/Storage/StorageAreaProxy.cpp:
3454 (WebKit::StorageAreaProxy::length):
3455 Load the values if needed and then return the length.
3457 (WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
3458 Add helper function.
3460 (WebKit::StorageAreaProxy::loadValuesIfNeeded):
3461 Just allocate the hash map for now.
3463 * WebProcess/Storage/StorageAreaProxy.h:
3466 2013-02-15 Anders Carlsson <andersca@apple.com>
3468 Remove const from a bunch of StorageArea member functions
3469 https://bugs.webkit.org/show_bug.cgi?id=109957
3471 Reviewed by Beth Dakin.
3473 Update for WebCore changes.
3475 * WebProcess/Storage/StorageAreaProxy.cpp:
3476 (WebKit::StorageAreaProxy::length):
3477 (WebKit::StorageAreaProxy::key):
3478 (WebKit::StorageAreaProxy::getItem):
3479 (WebKit::StorageAreaProxy::contains):
3480 (WebKit::StorageAreaProxy::canAccessStorage):
3481 (WebKit::StorageAreaProxy::memoryBytesUsedByCache):
3482 * WebProcess/Storage/StorageAreaProxy.h:
3485 2013-02-15 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
3487 [EFL][WK2] Use C API inside BatteryProvider and NetworkInfoProvider
3488 https://bugs.webkit.org/show_bug.cgi?id=107821
3490 Reviewed by Anders Carlsson.
3492 BatteryProvider and NetworkInfoProvider should use C API
3493 instead of accessing the internal C++ classes directly.
3495 * UIProcess/API/efl/ewk_context.cpp:
3496 (EwkContext::EwkContext):
3497 * UIProcess/efl/BatteryProvider.cpp:
3498 (BatteryProvider::~BatteryProvider):
3499 (BatteryProvider::create):
3500 (BatteryProvider::BatteryProvider):
3501 (BatteryProvider::didChangeBatteryStatus):
3502 * UIProcess/efl/BatteryProvider.h:
3504 * UIProcess/efl/NetworkInfoProvider.cpp:
3505 (NetworkInfoProvider::create):
3506 (NetworkInfoProvider::NetworkInfoProvider):
3507 (NetworkInfoProvider::~NetworkInfoProvider):
3508 * UIProcess/efl/NetworkInfoProvider.h:
3509 (NetworkInfoProvider):
3511 2013-02-15 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
3513 [WK2][EFL]REGRESSION (r141978): ewk_view_type_check api test failing
3514 https://bugs.webkit.org/show_bug.cgi?id=109038
3516 Reviewed by Anders Carlsson.
3518 EFL API is defensive by its nature and expects graceful handling of wrong function arguments
3519 whereas webkit implementation code does not. This patch adds new 'toEwkViewChecked' function,
3520 which provides handling of wrong arguments, to be used within EFL API layer code.
3522 * UIProcess/API/efl/EwkView.cpp:
3525 EwkView* toEwkView(const Ewk_View_Smart_Data* smartData) is not exported anymore
3526 as it's used within EwkView class only.
3528 (EwkView::handleTouchMove):
3529 * UIProcess/API/efl/EwkView.h:
3530 * UIProcess/API/efl/ewk_view.cpp:
3533 2013-02-15 Christophe Dumez <ch.dumez@sisa.samsung.com>
3535 [EFL][WK2] Have WebView subclass PageClient
3536 https://bugs.webkit.org/show_bug.cgi?id=109684
3538 Reviewed by Anders Carlsson.
3540 Stop constructing the PageClient in EwkView. PageClient is an internal
3541 class and we should not use it directly in our Ewk implementation.
3542 Instead, have WebView subclass PageClient. The PageClient implementation
3543 just calls WebView methods otherwise.
3545 * PlatformEfl.cmake:
3546 * UIProcess/API/efl/EwkView.cpp:
3549 * UIProcess/API/efl/EwkView.h:
3553 * UIProcess/API/efl/ewk_view.cpp:
3554 * UIProcess/efl/PageClientBase.cpp: Removed.
3555 * UIProcess/efl/PageClientBase.h: Removed.
3556 * UIProcess/efl/PageClientDefaultImpl.cpp: Removed.
3557 * UIProcess/efl/PageClientDefaultImpl.h: Removed.
3558 * UIProcess/efl/PageClientLegacyImpl.cpp: Removed.
3559 * UIProcess/efl/PageClientLegacyImpl.h: Removed.
3560 * UIProcess/efl/PageLoadClientEfl.cpp:
3561 (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
3562 * UIProcess/efl/PageViewportControllerClientEfl.h:
3563 * UIProcess/efl/WebPageProxyEfl.cpp:
3564 (WebKit::WebPageProxy::viewWidget):
3565 * UIProcess/efl/WebView.cpp:
3566 (WebKit::WebView::WebView):
3567 (WebKit::WebView::~WebView):
3568 (WebKit::WebView::initialize):
3570 (WebKit::WebView::evasObject):
3571 (WebKit::WebView::setThemePath):
3572 (WebKit::WebView::setDrawsBackground):
3573 (WebKit::WebView::drawsBackground):
3574 (WebKit::WebView::setDrawsTransparentBackground):
3575 (WebKit::WebView::drawsTransparentBackground):
3576 (WebKit::WebView::suspendActiveDOMObjectsAndAnimations):
3577 (WebKit::WebView::resumeActiveDOMObjectsAndAnimations):
3578 (WebKit::WebView::didCommitLoad):
3579 (WebKit::WebView::updateViewportSize):
3580 (WebKit::WebView::didChangeContentsSize):
3581 (WebKit::WebView::createDrawingAreaProxy):
3582 (WebKit::WebView::setViewNeedsDisplay):
3583 (WebKit::WebView::displayView):
3584 (WebKit::WebView::scrollView):
3585 (WebKit::WebView::viewSize):
3586 (WebKit::WebView::isViewWindowActive):
3587 (WebKit::WebView::isViewFocused):
3588 (WebKit::WebView::isViewVisible):
3589 (WebKit::WebView::isViewInWindow):
3590 (WebKit::WebView::processDidCrash):
3591 (WebKit::WebView::didRelaunchProcess):
3592 (WebKit::WebView::pageClosed):
3593 (WebKit::WebView::toolTipChanged):
3594 (WebKit::WebView::setCursor):
3595 (WebKit::WebView::setCursorHiddenUntilMouseMoves):
3596 (WebKit::WebView::registerEditCommand):
3597 (WebKit::WebView::clearAllEditCommands):
3598 (WebKit::WebView::canUndoRedo):
3599 (WebKit::WebView::executeUndoRedo):
3600 (WebKit::WebView::screenToWindow):
3601 (WebKit::WebView::windowToScreen):
3602 (WebKit::WebView::doneWithKeyEvent):
3603 (WebKit::WebView::doneWithTouchEvent):
3604 (WebKit::WebView::createPopupMenuProxy):
3605 (WebKit::WebView::createContextMenuProxy):
3606 (WebKit::WebView::createColorChooserProxy):
3607 (WebKit::WebView::setFindIndicator):
3608 (WebKit::WebView::enterAcceleratedCompositingMode):
3609 (WebKit::WebView::exitAcceleratedCompositingMode):
3610 (WebKit::WebView::updateAcceleratedCompositingMode):
3611 (WebKit::WebView::didCommitLoadForMainFrame):
3612 (WebKit::WebView::didFinishLoadingDataForCustomRepresentation):
3613 (WebKit::WebView::customRepresentationZoomFactor):
3614 (WebKit::WebView::setCustomRepresentationZoomFactor):
3615 (WebKit::WebView::flashBackingStoreUpdates):
3616 (WebKit::WebView::findStringInCustomRepresentation):
3617 (WebKit::WebView::countStringMatchesInCustomRepresentation):
3618 (WebKit::WebView::updateTextInputState):
3619 (WebKit::WebView::handleDownloadRequest):
3620 (WebKit::WebView::convertToDeviceSpace):
3621 (WebKit::WebView::convertToUserSpace):
3622 (WebKit::WebView::didChangeViewportProperties):
3623 (WebKit::WebView::pageDidRequestScroll):
3624 (WebKit::WebView::didRenderFrame):
3625 (WebKit::WebView::pageTransitionViewportReady):
3626 * UIProcess/efl/WebView.h:
3629 (WebKit::WebView::pageRef):
3630 (WebKit::WebView::page):
3631 (WebKit::WebView::canScrollView):
3633 2013-02-15 Milian Wolff <milian.wolff@kdab.com>
3635 [Qt] Restore URL Scheme Delegates after QtWebProcess crash
3636 https://bugs.webkit.org/show_bug.cgi?id=108808
3638 When the QtWebProcess crashes, the registered URL Scheme
3639 Delegates are not properly restored over IPC in the newly
3640 launched process instance.
3642 Reviewed by Simon Hausmann.
3644 * UIProcess/API/qt/qquickwebview.cpp:
3645 (QQuickWebViewPrivate::didRelaunchProcess):
3646 (QQuickWebViewPrivate::updateSchemeDelegates):
3647 * UIProcess/API/qt/qquickwebview_p_p.h:
3648 (QQuickWebViewPrivate):
3650 2013-02-15 Allan Sandfeld Jensen <allan.jensen@digia.com>
3652 Simplify hitTestResultAtPoint and nodesFromRect APIs
3653 https://bugs.webkit.org/show_bug.cgi?id=95720
3655 Reviewed by Julien Chaffraix and Maciej Stachowiak.
3657 Update calls to new API and update exported symbols.
3659 * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
3660 (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
3661 * WebProcess/WebPage/WebFrame.cpp:
3662 (WebKit::WebFrame::hitTest):
3663 * WebProcess/WebPage/WebPage.cpp:
3664 (WebKit::handleContextMenuEvent):
3665 (WebKit::WebPage::highlightPotentialActivation):
3666 (WebKit::WebPage::findZoomableAreaForPoint):
3667 * WebProcess/WebPage/mac/WebPageMac.mm:
3668 (WebKit::WebPage::characterIndexForPoint):
3669 (WebKit::WebPage::performDictionaryLookupAtLocation):
3670 (WebKit::WebPage::shouldDelayWindowOrderingEvent):
3671 (WebKit::WebPage::acceptsFirstMouse):
3673 2013-02-14 Huang Dongsung <luxtella@company100.net>
3675 [WK2] Rename from scrollOffset to scrollDelta in WebChromeClient.
3676 https://bugs.webkit.org/show_bug.cgi?id=109885
3678 Reviewed by Simon Fraser.
3680 Chrome sends a scroll delta to WebChromeClient but WebChromeClient names it
3681 scrollOffset. So this patch corrects this misnaming.
3683 In addition, all subclasses of LayerTreeHost don't use the misnamed
3684 scrollOffset in scrollNonCompositedContents(), so this patch removes the
3685 scrollOffset argument.
3687 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3688 (WebKit::WebChromeClient::scroll):
3689 * WebProcess/WebCoreSupport/WebChromeClient.h:
3691 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
3692 (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
3693 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
3694 (CoordinatedLayerTreeHost):
3695 * WebProcess/WebPage/DrawingArea.h:
3697 * WebProcess/WebPage/DrawingAreaImpl.cpp:
3698 (WebKit::DrawingAreaImpl::scroll):
3699 * WebProcess/WebPage/DrawingAreaImpl.h:
3701 * WebProcess/WebPage/LayerTreeHost.h:
3703 * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
3704 (WebKit::LayerTreeHostGtk::scrollNonCompositedContents):
3705 * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
3707 * WebProcess/WebPage/mac/LayerTreeHostMac.h:
3709 * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
3710 (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
3711 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
3712 (RemoteLayerTreeDrawingArea):
3713 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
3714 (WebKit::RemoteLayerTreeDrawingArea::scroll):
3715 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3716 (TiledCoreAnimationDrawingArea):
3717 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3718 (WebKit::TiledCoreAnimationDrawingArea::scroll):
3720 2013-02-14 Alexey Proskuryakov <ap@apple.com>
3722 <rdar://problem/13161700> REGRESSION: Safari is unable to make SSL connections
3723 when running from recovery partition
3725 Reviewed by Sam Weinig.
3727 * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
3728 * WebProcess/com.apple.WebProcess.sb.in:
3729 Re-added /private/var/db/mds/system rules lost in r141445.
3731 2013-02-14 Anders Carlsson <andersca@apple.com>
3733 Add WKContextIsPlugInUpdateAvailable
3734 https://bugs.webkit.org/show_bug.cgi?id=109862
3735 <rdar://problem/13173140>
3737 Reviewed by Sam Weinig.
3739 * UIProcess/API/C/mac/WKContextPrivateMac.h:
3740 * UIProcess/API/C/mac/WKContextPrivateMac.mm: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.cpp.
3741 (WKContextGetProcessSuppressionEnabled):
3742 (WKContextSetProcessSuppressionEnabled):
3743 (WKContextIsPlugInUpdateAvailable):
3744 * WebKit2.xcodeproj/project.pbxproj:
3746 2013-02-14 Zan Dobersek <zdobersek@igalia.com>
3748 [GTK] Errors when building WebKit2 with Clang
3749 https://bugs.webkit.org/show_bug.cgi?id=109603
3751 Reviewed by Alexey Proskuryakov.
3753 * UIProcess/API/gtk/WebKitUIClient.cpp:
3754 (setWindowFrame): Cast the position parameters to the integer type when constructing the GdkRectangle.
3755 * UIProcess/Authentication/WebCredential.cpp: Add an empty implementation of the newly specified destructor.
3756 * UIProcess/Authentication/WebCredential.h: Work around the incomplete WebCertificateInfo type errors thrown in the inline
3757 RefPtr destructor of the m_certificateInfo class member by defining a destructor in the class.
3758 * WebProcess/WebCoreSupport/WebEditorClient.h: The GTK-specific methods are not virtual and as such cannot be overriden.
3759 The OVERRIDE keywords are thus unnecessary.
3761 2013-02-14 David Kilzer <ddkilzer@apple.com>
3763 [Mac] Clean up WARNING_CFLAGS
3764 <http://webkit.org/b/109747>
3765 <rdar://problem/13208373>
3767 Reviewed by Mark Rowe.
3769 * Configurations/Base.xcconfig: Use
3770 GCC_WARN_64_TO_32_BIT_CONVERSION to enable and disable
3771 -Wshorten-64-to-32 rather than WARNING_CFLAGS.
3773 2013-02-14 Sam Weinig <sam@webkit.org>
3775 Add conversions between ObjC and C DOM wrappers
3776 <rdar://problem/13205468>
3777 https://bugs.webkit.org/show_bug.cgi?id=109851
3779 Reviewed by Anders Carlsson.
3781 * WebKit2.xcodeproj/project.pbxproj:
3782 * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
3783 (WKBundleRangeHandleCreate):
3784 * WebProcess/InjectedBundle/API/c/WKBundleRangeHandlePrivate.h: Added.
3785 * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
3786 (-[WKDOMNode _copyBundleNodeHandleRef]):
3787 * WebProcess/InjectedBundle/API/mac/WKDOMNodePrivate.h: Added.
3788 * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
3789 (-[WKDOMRange _copyBundleRangeHandleRef]):
3790 * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h: Added.
3791 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
3792 (WebKit::InjectedBundleRangeHandle::getOrCreate):
3793 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
3794 (InjectedBundleRangeHandle):
3796 2013-02-13 Anders Carlsson <andersca@apple.com>
3798 Remove StringPairVector
3799 https://bugs.webkit.org/show_bug.cgi?id=109778
3801 Reviewed by Ryosuke Niwa.
3803 Our message generation scripts can handle nested template parameter types now,
3804 so we no longer need to use StringPairVector.
3806 * Shared/StringPairVector.h: Removed.
3807 * UIProcess/WebPageProxy.cpp:
3808 (WebKit::WebPageProxy::willSubmitForm):
3809 * UIProcess/WebPageProxy.h:
3811 * UIProcess/WebPageProxy.messages.in:
3812 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3813 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
3815 2013-02-13 Dean Jackson <dino@apple.com>
3817 PlugIn Autostart should expire in 30 days, not half a day
3818 https://bugs.webkit.org/show_bug.cgi?id=109767
3820 Reviewed by Brian Weinstein.
3822 We forgot to multiply by 60 seconds in a minute.
3824 * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
3826 2013-02-13 Anders Carlsson <andersca@apple.com>
3828 Message generation should handle nested templates
3829 https://bugs.webkit.org/show_bug.cgi?id=109771
3831 Reviewed by Ryosuke Niwa.
3833 Make it possible to have nested class template types as message parameters and
3834 correctly gather all the needed headers and argument coder headers.
3836 * Scripts/webkit2/messages.py:
3837 (class_template_headers):
3838 Recursively figure out the types and template headers needed for a given type.
3840 (argument_coder_headers_for_type):
3842 Call class_template_headers.
3844 * Scripts/webkit2/messages_unittest.py:
3846 * Scripts/webkit2/parser.py:
3847 (split_parameters_string):
3848 (parse_parameters_string):
3850 2013-02-13 David Farler <dfarler@apple.com>
3852 Make WebKit2 Derived Sources work with SDK identifiers too
3853 https://bugs.webkit.org/show_bug.cgi?id=109763
3855 Reviewed by David Kilzer.
3857 * WebKit2.xcodeproj/project.pbxproj: Pass SDKROOT=${SDKROOT} to DerivedSources.make
3859 2013-02-13 Csaba Osztrogonác <ossy@webkit.org>
3861 One more buildfix for !ENABLE(PLUGIN_PROCESS) platforms.
3863 * WebProcess/WebProcess.cpp:
3864 (WebKit::WebProcess::WebProcess):
3866 2013-02-13 Csaba Osztrogonác <ossy@webkit.org>
3868 Unreviewed Qt-Mac and Qt-Win buildfix after r142768.
3870 * WebProcess/WebProcess.h:
3873 2013-02-13 Adam Barth <abarth@webkit.org>
3875 Remove bogus ASSERT in WebFrameProxy::didStartProvisionalLoad
3876 https://bugs.webkit.org/show_bug.cgi?id=109733
3878 Reviewed by Sam Weinig.
3880 After http://trac.webkit.org/changeset/142555, this ASSERT is
3881 triggering on these tests:
3883 fast/dom/window-load-crash.html
3884 fast/frames/seamless/seamless-hyperlink-named.html
3885 fast/frames/seamless/seamless-hyperlink.html
3887 The ASSERT appears to be bogus. This patch removes it.
3889 * UIProcess/WebFrameProxy.cpp:
3890 (WebKit::WebFrameProxy::didStartProvisionalLoad):
3892 2013-02-13 Sam Weinig <sam@webkit.org>
3894 Consolidate main functions in WebKit2 now that they are all identical
3895 https://bugs.webkit.org/show_bug.cgi?id=109748
3897 Reviewed by Anders Carlsson.
3899 - Consolidates all the LegacyProcess main functions into ChildProcessMain.mm
3900 - Consolidates all the XPCService main functions into XPCServiceMain.mm and XPCServiceMain.Development.mm
3901 - Rename existing ChildProcessMain.h/mm to ChildProcessEntryPoint.h/mm to match the XPCService ones.
3902 - Switch LegacyProcess to use the "entry point in the plist" idiom, instead of hard coding each one, again
3903 matching the XPCService.
3905 * Configurations/BaseLegacyProcess.xcconfig: Add base configuration to hold common legacy process options.
3906 * Configurations/BaseXPCService.xcconfig:
3907 * Configurations/NetworkProcess.xcconfig:
3908 * Configurations/OfflineStorageProcess.xcconfig:
3909 * Configurations/PluginProcess.xcconfig:
3910 * Configurations/SharedWorkerProcess.xcconfig:
3911 * Configurations/WebContentProcess.xcconfig: Renamed form WebProcess.xcconfig.
3912 * NetworkProcess/EntryPoint/mac/LegacyProcess/Info.plist:
3913 * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMain.mm:
3914 * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMainBootstrapper.cpp: Removed.
3915 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/NetworkServiceMain.Development.mm: Removed.
3916 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm: Removed.
3917 * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/Info.plist:
3918 * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMain.mm:
3919 * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMainBootstrapper.cpp: Removed.
3920 * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/OfflineStorageServiceMain.Development.mm: Removed.
3921 * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/OfflineStorageServiceMain.mm: Removed.
3922 * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
3923 * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
3924 * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMainBootstrapper.cpp: Removed.
3925 * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/PluginService.64.Main.mm: Removed.
3926 * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/PluginService.Development.Main.mm: Removed.
3927 * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h:
3928 * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm:
3929 * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.h: Removed.
3930 * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm: Replaced.
3931 * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMainBootstrapper.h: Removed.
3932 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h: Removed.
3933 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.h: Removed.
3934 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
3935 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
3936 * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/Info.plist:
3937 * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMain.mm:
3938 * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMainBootstrapper.cpp: Removed.
3939 * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
3940 * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
3941 * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMainBootstrapper.cpp: Removed.
3942 * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm: Removed.
3943 * WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm: Removed.
3944 * WebKit2.xcodeproj/project.pbxproj:
3946 2013-02-13 Christophe Dumez <ch.dumez@sisa.samsung.com>
3948 [EFL][WK2] Stop using WebString in ewk_cookie_manager, ewk_form_submission_request and ewk_text_checker
3949 https://bugs.webkit.org/show_bug.cgi?id=108794
3951 Reviewed by Alexey Proskuryakov.
3953 Stop using WebString in ewk_cookie_manager, ewk_form_submission_request
3954 and ewk_text_checker as it is internal C++ API. WKString and
3955 WKEinaSharedString are used instead.
3957 * UIProcess/API/cpp/efl/WKEinaSharedString.cpp:
3958 (WKEinaSharedString::leakString): Add leakString() method to
3959 WKEinaSharedString so that we can conveniently convert a WKString to a
3960 Eina shared string and take ownership of it.
3961 * UIProcess/API/cpp/efl/WKEinaSharedString.h:
3962 * UIProcess/API/efl/ewk_cookie_manager.cpp:
3963 (getHostnamesWithCookiesCallback):
3964 * UIProcess/API/efl/ewk_form_submission_request.cpp:
3965 (EwkFormSubmissionRequest::copyFieldValue):
3966 (ewk_form_submission_request_field_names_get):
3967 (ewk_form_submission_request_field_value_get):
3968 * UIProcess/API/efl/ewk_form_submission_request_private.h:
3969 (EwkFormSubmissionRequest):
3970 * UIProcess/API/efl/ewk_text_checker.cpp:
3971 (checkSpellingOfString):
3975 * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
3976 (TEST_F): Add API test for new WKEinaSharedString::leakString() method.
3978 2013-02-13 Anders Carlsson <andersca@apple.com>
3980 Remove Connection::QueueClient
3981 https://bugs.webkit.org/show_bug.cgi?id=109744
3983 Reviewed by Sam Weinig.
3985 * Platform/CoreIPC/Connection.cpp:
3986 (CoreIPC::Connection::processIncomingMessage):
3987 (CoreIPC::Connection::connectionDidClose):
3988 * Platform/CoreIPC/Connection.h:
3991 2013-02-13 Anders Carlsson <andersca@apple.com>
3993 Try to fix the Lion build.
3995 * WebProcess/WebPage/EventDispatcher.h:
3998 2013-02-13 Anders Carlsson <andersca@apple.com>
4000 Remove support for the DispatchOnConnectionQueue message attribute
4001 https://bugs.webkit.org/show_bug.cgi?id=109743
4003 Reviewed by Sam Weinig.
4005 * Platform/CoreIPC/HandleMessage.h:
4007 * Scripts/webkit2/messages.py:
4009 (generate_message_handler):
4010 * Scripts/webkit2/messages_unittest.py:
4012 2013-02-13 Anders Carlsson <andersca@apple.com>
4014 StorageManager should be a WorkQueueMessageReceiver
4015 https://bugs.webkit.org/show_bug.cgi?id=109741
4017 Reviewed by Sam Weinig.
4019 * UIProcess/Storage/StorageManager.cpp:
4020 (WebKit::StorageManager::processWillOpenConnection):
4021 (WebKit::StorageManager::processWillCloseConnection):
4022 (WebKit::StorageManager::createStorageArea):
4023 (WebKit::StorageManager::destroyStorageArea):
4024 * UIProcess/Storage/StorageManager.h:
4026 * UIProcess/Storage/StorageManager.messages.in:
4028 2013-02-13 Anders Carlsson <andersca@apple.com>
4030 EventDispatcher should be a WorkQueueMessageReceiver
4031 https://bugs.webkit.org/show_bug.cgi?id=109736
4033 Reviewed by Andreas Kling.
4035 * WebProcess/WebPage/EventDispatcher.cpp:
4036 (WebKit::EventDispatcher::create):
4038 (WebKit::EventDispatcher::EventDispatcher):
4039 (WebKit::EventDispatcher::initializeConnection):
4040 (WebKit::EventDispatcher::wheelEvent):
4041 (WebKit::EventDispatcher::gestureEvent):
4042 * WebProcess/WebPage/EventDispatcher.h:
4044 * WebProcess/WebPage/EventDispatcher.messages.in:
4045 * WebProcess/WebProcess.cpp:
4046 (WebKit::WebProcess::WebProcess):
4047 (WebKit::WebProcess::initializeConnection):
4048 * WebProcess/WebProcess.h:
4050 (WebKit::WebProcess::eventDispatcher):
4053 2013-02-13 Christophe Dumez <ch.dumez@sisa.samsung.com>
4055 Unreviewed build fix after r142768.
4057 r142768 broke the EFL WK2 build due to wrong member initialization
4058 order in the WebProcess constructor initialization list.
4060 * WebProcess/WebProcess.cpp:
4061 (WebKit::WebProcess::WebProcess):
4063 2013-02-13 Anders Carlsson <andersca@apple.com>
4065 Make PluginProcessConnectionManager a WorkQueueMessageReceiver
4066 https://bugs.webkit.org/show_bug.cgi?id=109727
4068 Reviewed by Andreas Kling.
4070 * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
4071 (WebKit::PluginProcessConnectionManager::create):
4073 (WebKit::PluginProcessConnectionManager::PluginProcessConnectionManager):
4074 (WebKit::PluginProcessConnectionManager::initializeConnection):
4075 (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
4076 * WebProcess/Plugins/PluginProcessConnectionManager.h:
4077 (PluginProcessConnectionManager):
4078 * WebProcess/Plugins/PluginProcessConnectionManager.messages.in:
4079 * WebProcess/WebProcess.cpp:
4080 (WebKit::WebProcess::WebProcess):
4081 (WebKit::WebProcess::initializeConnection):
4082 (WebKit::WebProcess::pluginProcessConnectionManager):
4083 * WebProcess/WebProcess.h:
4087 2013-02-13 Anders Carlsson <andersca@apple.com>
4089 Make SecItemShimProxy be a WorkQueueMessageReceiver
4090 https://bugs.webkit.org/show_bug.cgi?id=109719
4092 Reviewed by Sam Weinig.
4094 This adds a WantsConnection message attribute to be used for messages whose handlers
4095 should take the connection the message was delivered to.
4097 * Platform/CoreIPC/HandleMessage.h:
4098 (CoreIPC::handleMessage):
4099 Add new handleMessage overload.
4101 * Scripts/webkit2/messages.py:
4102 (async_message_statement):
4103 (generate_message_handler):
4104 Handle the WantsMessage attribute.
4106 * UIProcess/mac/SecItemShimProxy.cpp:
4107 (WebKit::SecItemShimProxy::shared):
4108 Use dispatch_once and adoptRef.
4110 (WebKit::SecItemShimProxy::SecItemShimProxy):
4111 Initialize the queue.
4113 (WebKit::SecItemShimProxy::initializeConnection):
4114 Add the proxy as a work queue message receiver.
4116 (WebKit::SecItemShimProxy::secItemRequest):
4117 This no longer needs to call out to a dispatch queue, it's already on a queue.
4119 * UIProcess/mac/SecItemShimProxy.messages.in:
4120 This doesn't need to be a legacy receiver. Also, add the WantsConnection message.
4122 2013-02-13 Sheriff Bot <webkit.review.bot@gmail.com>
4124 Unreviewed, rolling out r142736.
4125 http://trac.webkit.org/changeset/142736
4126 https://bugs.webkit.org/show_bug.cgi?id=109716
4128 Broke ABI, nightly builds crash on launch (Requested by ap on
4131 * Shared/APIClientTraits.cpp:
4133 * Shared/APIClientTraits.h:
4134 * UIProcess/API/C/WKPage.h:
4135 * UIProcess/API/gtk/WebKitLoaderClient.cpp:
4136 (attachLoaderClientToView):
4137 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
4138 * WebProcess/qt/QtBuiltinBundlePage.cpp:
4139 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
4141 2013-02-13 Kenneth Rohde Christiansen <kenneth@webkit.org>
4143 [WK2][EFL] Cleanup of graphics related code in EwkView
4144 https://bugs.webkit.org/show_bug.cgi?id=109377
4146 Reviewed by Anders Carlsson.