<https://bugs.webkit.org/show_bug.cgi?id=62666>
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2011-06-14  John Sullivan  <sullivan@apple.com>
2
3         Reviewed by Dan Bernstein.
4
5         <https://bugs.webkit.org/show_bug.cgi?id=62666>
6         <rdar://problem/9606676>
7         Callers should be robust against WebImage::create() returning an image with a null snapshot
8
9         * Shared/API/c/cg/WKImageCG.cpp:
10         (WKImageCreateCGImage):
11         Return 0 if no bitmap was created.
12         (WKImageCreateFromCGImage):
13         Ditto.
14         
15         * Shared/UserMessageCoders.h:
16         (WebKit::UserMessageEncoder::baseEncode):
17         Check for null before dereferencing image->bitmap() in two places.
18         
19         * WebProcess/WebPage/WebPage.cpp:
20         (WebKit::WebPage::snapshotInViewCoordinates):
21         Return 0 if no bitmap was created.
22         (WebKit::WebPage::scaledSnapshotInDocumentCoordinates):
23         Ditto.
24         (WebKit::WebPage::createSnapshotOfVisibleContent):
25         Bail out if no bitmap was created.
26
27 2011-06-14  Anders Carlsson  <andersca@apple.com>
28
29         Reviewed by Darin Adler.
30
31         Add functions for encoding/decoding data with a known size and alignment
32         https://bugs.webkit.org/show_bug.cgi?id=62663
33
34         * Platform/CoreIPC/ArgumentDecoder.cpp:
35         (CoreIPC::ArgumentDecoder::decodeFixedLengthData):
36         * Platform/CoreIPC/ArgumentDecoder.h:
37         * Platform/CoreIPC/ArgumentEncoder.cpp:
38         (CoreIPC::ArgumentEncoder::encodeFixedLengthData):
39         (CoreIPC::ArgumentEncoder::encodeVariableLengthData):
40         * Platform/CoreIPC/ArgumentEncoder.h:
41
42 2011-06-14  Anders Carlsson  <andersca@apple.com>
43
44         Reviewed by Sam Weinig.
45
46         Move string ArgumentCoder template specializations out into a .cpp file
47         https://bugs.webkit.org/show_bug.cgi?id=62660
48
49         * GNUmakefile.am:
50         * Platform/CoreIPC/ArgumentCoders.cpp: Added.
51         (CoreIPC::::encode):
52         (CoreIPC::::decode):
53         * Platform/CoreIPC/ArgumentCoders.h:
54         * WebKit2.pro:
55         * WebKit2.xcodeproj/project.pbxproj:
56         * win/WebKit2.vcproj:
57
58 2011-06-14  Anders Carlsson  <andersca@apple.com>
59
60         Reviewed by Sam Weinig.
61
62         Remove PluginInfoStore::Plugin typedef
63         https://bugs.webkit.org/show_bug.cgi?id=62657
64
65         * UIProcess/Plugins/PluginInfoStore.h:
66         * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
67         (WebKit::PluginInfoStore::getPluginInfo):
68         (WebKit::PluginInfoStore::shouldUsePlugin):
69
70 2011-06-14  Anders Carlsson  <andersca@apple.com>
71
72         Reviewed by Sam Weinig.
73
74         Create the PluginModuleInfo class and reverse the typedef so that PluginInfoStore::Plugin is now a typedef
75         https://bugs.webkit.org/show_bug.cgi?id=62654
76
77         * UIProcess/Plugins/PluginInfoStore.cpp:
78         (WebKit::PluginInfoStore::loadPluginsIfNecessary):
79         (WebKit::PluginInfoStore::loadPlugin):
80         (WebKit::PluginInfoStore::findPluginForMIMEType):
81         (WebKit::PluginInfoStore::findPluginForExtension):
82         (WebKit::PluginInfoStore::findPlugin):
83         (WebKit::PluginInfoStore::infoForPluginWithPath):
84         * UIProcess/Plugins/PluginInfoStore.h:
85         * UIProcess/Plugins/PluginProcessManager.cpp:
86         (WebKit::PluginProcessManager::getPluginProcessConnection):
87         * UIProcess/Plugins/PluginProcessProxy.cpp:
88         (WebKit::PluginProcessProxy::PluginProcessProxy):
89         * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
90         (WebKit::WebPluginSiteDataManager::getSitesWithData):
91         (WebKit::WebPluginSiteDataManager::clearSiteData):
92         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
93         (WebKit::PluginInfoStore::getPluginInfo):
94         (WebKit::PluginInfoStore::shouldUsePlugin):
95         * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
96         (WebKit::PluginInfoStore::getPluginInfo):
97         (WebKit::PluginInfoStore::shouldUsePlugin):
98         * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
99         (WebKit::isOldWindowsMediaPlayerPlugin):
100         (WebKit::isNewWindowsMediaPlayerPlugin):
101         (WebKit::PluginInfoStore::shouldUsePlugin):
102
103 2011-06-14  Stephanie Lewis  <slewis@apple.com>
104
105         Rubber stamped by Oliver Hunt.
106
107         <rdar://problem/9511169>
108         Update order files.
109
110         * mac/WebKit2.order:
111
112 2011-06-14  Anders Carlsson  <andersca@apple.com>
113
114         Reviewed by Dan Bernstein.
115
116         Start replacing PluginInfoStore::Plugin with PluginModuleInfo
117         https://bugs.webkit.org/show_bug.cgi?id=62651
118
119         * UIProcess/Plugins/PluginInfoStore.cpp:
120         (WebKit::PluginInfoStore::plugins):
121         (WebKit::PluginInfoStore::findPluginForMIMEType):
122         (WebKit::PluginInfoStore::findPluginForExtension):
123         (WebKit::PluginInfoStore::infoForPluginWithPath):
124         * UIProcess/Plugins/PluginInfoStore.h:
125         * UIProcess/Plugins/PluginProcessManager.cpp:
126         (WebKit::PluginProcessManager::getPluginProcessConnection):
127         (WebKit::PluginProcessManager::getSitesWithData):
128         (WebKit::PluginProcessManager::clearSiteData):
129         (WebKit::PluginProcessManager::getOrCreatePluginProcess):
130         * UIProcess/Plugins/PluginProcessManager.h:
131         * UIProcess/Plugins/PluginProcessProxy.cpp:
132         (WebKit::PluginProcessProxy::create):
133         * UIProcess/Plugins/PluginProcessProxy.h:
134         (WebKit::PluginProcessProxy::pluginInfo):
135         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
136         (WebKit::PluginProcessProxy::pluginNeedsExecutableHeap):
137         (WebKit::PluginProcessProxy::createPropertyListFile):
138
139 2011-06-14  Anders Carlsson  <andersca@apple.com>
140
141         Reviewed by Darin Adler.
142
143         Add PluginModuleInfo header and prepare for renaming of PluginInfoStore::Plugin to PluginModuleInfo
144         https://bugs.webkit.org/show_bug.cgi?id=62647
145
146         Make PluginModuleInfo a typedef of PluginInfoStore::Plugin for now; eventually it should be its own class,
147         and PluginInfoStore::Plugin should go away.
148
149         * GNUmakefile.am:
150         * Shared/Plugins/Netscape/NetscapePluginModule.h:
151         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
152         (WebKit::getPluginArchitecture):
153         (WebKit::getMIMETypesFromPluginBundle):
154         (WebKit::getPluginInfoFromPropertyLists):
155         (WebKit::getPluginInfoFromCarbonResources):
156         (WebKit::NetscapePluginModule::getPluginInfo):
157         (WebKit::NetscapePluginModule::determineQuirks):
158         * Shared/Plugins/PluginModuleInfo.cpp: Added.
159         * Shared/Plugins/PluginModuleInfo.h: Added.
160         * WebKit2.pro:
161         * WebKit2.xcodeproj/project.pbxproj:
162         * win/WebKit2.vcproj:
163
164 2011-06-14  Carlos Garcia Campos  <cgarcia@igalia.com>
165
166         Reviewed by Martin Robinson.
167
168         [GTK] Move the code to show the context menu from WebKitWebViewBase to WebContextMenuProxyGtk
169         https://bugs.webkit.org/show_bug.cgi?id=62627
170
171         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
172         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
173         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
174         (WebKit::WebContextMenuProxyGtk::showContextMenu):
175         (WebKit::WebContextMenuProxyGtk::hideContextMenu):
176         (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk):
177         (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk):
178         (WebKit::WebContextMenuProxyGtk::menuPositionFunction):
179         * UIProcess/gtk/WebContextMenuProxyGtk.h:
180
181 2011-06-14  Carlos Garcia Campos  <cgarcia@igalia.com>
182
183         Reviewed by Martin Robinson.
184
185         [GTK] Rename convertWidgetRectToScreenRect() to convertWidgetPointToScreenPoint()
186         https://bugs.webkit.org/show_bug.cgi?id=62626
187
188         * UIProcess/API/gtk/PageClientImpl.cpp:
189         (WebKit::PageClientImpl::screenToWindow): Implement this method
190         using convertWidgetPointToScreenPoint().
191         (WebKit::PageClientImpl::windowToScreen): Update to use
192         convertWidgetPointToScreenPoint().
193         * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
194         (WebKit::WebPopupMenuProxyGtk::showPopupMenu): Use
195         convertWidgetPointToScreenPoint().
196
197 2011-06-14  Carlos Garcia Campos  <cgarcia@igalia.com>
198
199         Reviewed by Martin Robinson.
200
201         [GTK] Support authentication dialogs in WebKit2
202         https://bugs.webkit.org/show_bug.cgi?id=62366
203
204         Add a new soup feature to show an authentication dialog when it
205         gets a 401 HTTP response.
206
207         * GNUmakefile.am: Add new files to compilation.
208         * WebProcess/gtk/WebAuthDialog.cpp: Added.
209         (web_auth_dialog_class_init):
210         (web_auth_dialog_init):
211         (sessionAuthenticate):
212         (attach):
213         (detach):
214         (webAuthDialogSessionFeatureInit):
215         * WebProcess/gtk/WebAuthDialog.h: Added.
216         * WebProcess/gtk/WebProcessMainGtk.cpp:
217         (WebKit::WebProcessMainGtk):
218
219 2011-06-14  No'am Rosenthal  <noam.rosenthal@nokia.com> and Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
220
221         Reviewed by Kenneth Rohde Christiansen.
222
223         [Qt] Implement accelerated compositing on WK2 Qt port
224         https://bugs.webkit.org/show_bug.cgi?id=56935
225
226         Implementing LayerTreeHost and LayerTreeContext and LayerTreeHost for Qt.
227         Add the necessary plumbing to make the LayerTreeHost work with Qt, based on the original Mac
228         implementation (the code is nearly identical). This includes creating the right layers for the
229         overlay and for the non-composited content, and passing the root layer to the UI process.
230
231         Also, since LayerTreeHostQt is compiled, we have to add some of the rest of the existing patches,
232         namely the new messages: syncCompositingLayers and updateCompositingLayerContent, and create a
233         stub implementation for them in DrawingAreaProxy.
234
235         Note that this is not activated yet, until we enable accelerated compositing in the settings and
236         create the right GraphicsLayer.
237
238         * Scripts/webkit2/messages.py:
239         * Shared/LayerTreeContext.h:
240         * Shared/qt/LayerTreeContextQt.cpp:
241         (WebKit::LayerTreeContext::LayerTreeContext):
242         (WebKit::LayerTreeContext::~LayerTreeContext):
243         (WebKit::LayerTreeContext::encode):
244         (WebKit::LayerTreeContext::decode):
245         (WebKit::LayerTreeContext::isEmpty):
246         (WebKit::operator==):
247         * UIProcess/DrawingAreaProxy.h:
248         (WebKit::DrawingAreaProxy::syncCompositingLayers):
249         (WebKit::DrawingAreaProxy::updateCompositingLayerContent):
250         * UIProcess/DrawingAreaProxy.messages.in:
251         * WebKit2.pro:
252         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
253         (WebCore::collectCompositingInfoForThisLayer):
254         * WebProcess/WebPage/LayerTreeHost.cpp:
255         (WebKit::LayerTreeHost::create):
256         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
257         (WebKit::LayerTreeHostQt::create):
258         (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
259         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
260         (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
261         (WebKit::LayerTreeHostQt::scheduleLayerFlush):
262         (WebKit::LayerTreeHostQt::cancelPendingLayerFlush):
263         (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush):
264         (WebKit::LayerTreeHostQt::setRootCompositingLayer):
265         (WebKit::LayerTreeHostQt::invalidate):
266         (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay):
267         (WebKit::LayerTreeHostQt::scrollNonCompositedContents):
268         (WebKit::LayerTreeHostQt::forceRepaint):
269         (WebKit::LayerTreeHostQt::sizeDidChange):
270         (WebKit::LayerTreeHostQt::didInstallPageOverlay):
271         (WebKit::LayerTreeHostQt::didUninstallPageOverlay):
272         (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay):
273         (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
274         (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
275         (WebKit::LayerTreeHostQt::layerFlushTimerFired):
276         (WebKit::LayerTreeHostQt::createPageOverlayLayer):
277         (WebKit::LayerTreeHostQt::destroyPageOverlayLayer):
278         (WebKit::LayerTreeHostQt::notifyAnimationStarted):
279         (WebKit::LayerTreeHostQt::notifySyncRequired):
280         (WebKit::LayerTreeHostQt::paintContents):
281         (WebKit::LayerTreeHostQt::showDebugBorders):
282         (WebKit::LayerTreeHostQt::showRepaintCounter):
283         (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
284         * WebProcess/WebPage/qt/LayerTreeHostQt.h: Added.
285         (WebKit::LayerTreeHostQt::layerTreeContext):
286         (WebKit::LayerTreeHostQt::pauseRendering):
287         (WebKit::LayerTreeHostQt::resumeRendering):
288
289 2011-06-14  Noam Rosenthal  <noam.rosenthal@nokia.com>
290
291         Reviewed by Kenneth Rohde Christiansen.
292
293         [Qt] Implement accelerated compositing on WK2 Qt port
294         https://bugs.webkit.org/show_bug.cgi?id=56935
295
296         Add a createImage() function to ShareableBitmap, for now ifdef'ed to Qt only.
297         This allows us to support directly composited images across the WebKit2 processes.
298
299         Together with Viatcheslav Ostapenko.
300
301         * Shared/ShareableBitmap.h:
302         * Shared/qt/ShareableBitmapQt.cpp:
303         (WebKit::ShareableBitmap::createQImage):
304         (WebKit::ShareableBitmap::createImage):
305
306 2011-06-13  Anders Carlsson  <andersca@apple.com>
307
308         Reviewed by Sam Weinig.
309
310         Crash when trying to use Netflix Watch Instantly with Silverlight 3
311         https://bugs.webkit.org/show_bug.cgi?id=62611
312         <rdar://problem/9058370>
313
314         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
315         (WebKit::NetscapePluginModule::getPluginInfo):
316         Get the plug-in version string instead of the version number.
317
318         (WebKit::PluginVersion::isValid):
319         (WebKit::PluginVersion::PluginVersion):
320         (WebKit::PluginVersion::parse):
321         (WebKit::PluginVersion::isLessThan):
322         Add a new PluginVersion class that represents a plug-in version. The idea is
323         that this class be made cross platform.
324
325         (WebKit::NetscapePluginModule::determineQuirks):
326         Add the ReturnsNonRetainedScriptableNPObject quirk for versions of Silverlight less than 4.
327
328         * Shared/Plugins/PluginQuirks.h:
329         Add the ReturnsNonRetainedScriptableNPObject quirk.
330
331         * UIProcess/Plugins/PluginInfoStore.h:
332         Use a version string. Eventually this should hold the PluginVersion class we added.
333
334         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
335         (WebKit::NetscapePlugin::pluginScriptableNPObject):
336         If the plug-in has the ReturnsNonRetainedScriptableNPObject quirk, do an extra retain.
337
338 2011-06-13  Ryuan Choi  <ryuan.choi@samsung.com>
339
340         Reviewed by Kenneth Rohde Christiansen.
341
342         [EFL][WK2] Add dummy files at below of WebProcess.
343         https://bugs.webkit.org/show_bug.cgi?id=62445
344
345         Add Efl related directory and files in WebKit2/WebProcess/.
346
347         * WebProcess/Cookies/efl/WebCookieManagerEfl.cpp: Added.
348         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
349         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
350         * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp: Added.
351         (WebKit::InjectedBundle::load):
352         (WebKit::InjectedBundle::activateMacFontAscentHack):
353         * WebProcess/WebPage/efl/WebInspectorEfl.cpp: Added.
354         (WebKit::WebInspector::localizedStringsURL):
355         * WebProcess/WebPage/efl/WebPageEfl.cpp: Added.
356         (WebKit::WebPage::platformInitialize):
357         (WebKit::WebPage::platformPreferencesDidChange):
358         (WebKit::scroll):
359         (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
360         (WebKit::WebPage::platformHasLocalDataForURL):
361         (WebKit::WebPage::cachedResponseMIMETypeForURL):
362         (WebKit::WebPage::platformCanHandleRequest):
363         (WebKit::WebPage::cachedSuggestedFilenameForURL):
364         (WebKit::WebPage::cachedResponseDataForURL):
365         * WebProcess/efl/WebProcessEfl.cpp: Added.
366         (WebKit::WebProcess::platformSetCacheModel):
367         (WebKit::WebProcess::platformClearResourceCaches):
368         (WebKit::WebProcess::platformInitializeWebProcess):
369         (WebKit::WebProcess::platformTerminate):
370         * WebProcess/efl/WebProcessMainEfl.cpp: Added.
371         (WebKit::WebProcessMainEfl):
372         * WebProcess/efl/WebProcessMainEfl.h: Added.
373         * efl/MainEfl.cpp: Added.
374         (main):
375
376 2011-06-13  Eunmi Lee  <eunmi15.lee@samsung.com>
377
378         Reviewed by Eric Seidel.
379
380         [EFL][WK2] Add initial WebInspectorEfl.cpp for webkit2 efl port
381         https://bugs.webkit.org/show_bug.cgi?id=62524
382
383         * UIProcess/efl/WebInspectorEfl.cpp: Added.
384         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
385         (WebKit::WebInspectorProxy::platformOpen):
386         (WebKit::WebInspectorProxy::platformDidClose):
387         (WebKit::WebInspectorProxy::platformBringToFront):
388         (WebKit::WebInspectorProxy::platformInspectedURLChanged):
389         (WebKit::WebInspectorProxy::inspectorPageURL):
390         (WebKit::WebInspectorProxy::platformAttach):
391         (WebKit::WebInspectorProxy::platformDetach):
392         (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight):
393
394 2011-06-13  Eunmi Lee  <eunmi15.lee@samsung.com>
395
396         Reviewed by Eric Seidel.
397
398         [EFL][WK2] Add initial TextCheckerEfl.cpp for webkit2 efl port
399         https://bugs.webkit.org/show_bug.cgi?id=62438
400
401         * UIProcess/efl/TextCheckerEfl.cpp: Added.
402         (WebKit::TextChecker::state):
403         (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
404         (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
405         (WebKit::TextChecker::setGrammarCheckingEnabled):
406         (WebKit::TextChecker::uniqueSpellDocumentTag):
407         (WebKit::TextChecker::closeSpellDocumentWithTag):
408         (WebKit::TextChecker::checkSpellingOfString):
409         (WebKit::TextChecker::checkGrammarOfString):
410         (WebKit::TextChecker::spellingUIIsShowing):
411         (WebKit::TextChecker::toggleSpellingUIIsShowing):
412         (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
413         (WebKit::TextChecker::updateSpellingUIWithGrammarString):
414         (WebKit::TextChecker::getGuessesForWord):
415         (WebKit::TextChecker::learnWord):
416         (WebKit::TextChecker::ignoreWord):
417
418 2011-06-13  Sangyong Park  <sy302.park@gmail.com>
419
420         Reviewed by Eric Seidel.
421
422         implement to handle wheel event of plugin on x11
423         https://bugs.webkit.org/show_bug.cgi?id=62522
424
425         Implement platformHandleWheelEvent() in NetscapePluginX11.cpp
426         for to handle wheel event on plugins
427
428         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
429         (WebKit::setCommonMouseEventFields): add template argument to support WebWheelEvent
430         (WebKit::setXButtonEventFieldsByWebWheelEvent): initialize XButtonEvent by WebWheelEvent
431         (WebKit::NetscapePlugin::platformHandleWheelEvent): handle wheel event on plugin
432
433 2011-06-13  Eunmi Lee  <eunmi15.lee@samsung.com>
434
435         Reviewed by Eric Seidel.
436
437         [EFL][WK2] Add initial WebContextEfl.cpp for webkit2 efl port
438         https://bugs.webkit.org/show_bug.cgi?id=62523
439
440         * UIProcess/efl/WebContextEfl.cpp: Added.
441         (WebKit::WebContext::applicationCacheDirectory):
442         (WebKit::WebContext::platformInitializeWebProcess):
443         (WebKit::WebContext::platformInvalidateContext):
444         (WebKit::WebContext::platformDefaultDatabaseDirectory):
445         (WebKit::WebContext::platformDefaultIconDatabasePath):
446         (WebKit::WebContext::platformDefaultLocalStorageDirectory):
447
448 2011-06-13  Noam Rosenthal  <noam.rosenthal@nokia.com>
449
450         Unreviewed fix - removed parts of r88659 that were committed by mistake.
451
452         The patch accidentally included parts that weren't supposed to be there, namely the whole
453         code was duplicated. This patch rectifies that and brings it to the original reviewed code.
454
455         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
456         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
457
458 2011-06-13  Anders Carlsson  <andersca@apple.com>
459
460         Reviewed by Dan Bernstein.
461
462         BankID plug-in isn't instantiated correctly
463         https://bugs.webkit.org/show_bug.cgi?id=62588
464         <rdar://problem/9586600>
465
466         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
467         (WebKit::NetscapePluginModule::determineQuirks):
468         The BankID plug-in uses the QuickDraw drawing model but doesn't draw anything so we can
469         use the half-baked QuickDraw support.
470
471         * WebProcess/Plugins/PluginProcessConnection.cpp:
472         (WebKit::defaultSyncMessageTimeout):
473         Don't use a sync message timeout for the BankID plug-in since it sends synchronous Apple Events
474         and we don't want the plug-in to die while it's waiting for a reply.
475
476 2011-06-13  Chris Fleizach  <cfleizach@apple.com>
477
478         Reviewed by Darin Adler.
479
480         kAXTextMarkerForPositionParametrizedAttribute does not work correctly in WK2
481         https://bugs.webkit.org/show_bug.cgi?id=62547
482
483         Implement the missing screenToWindow method for WK2.
484
485         * UIProcess/API/gtk/PageClientImpl.cpp:
486         (WebKit::PageClientImpl::screenToWindow):
487         * UIProcess/API/gtk/PageClientImpl.h:
488         * UIProcess/API/mac/PageClientImpl.h:
489         * UIProcess/API/mac/PageClientImpl.mm:
490         (WebKit::PageClientImpl::screenToWindow):
491         * UIProcess/API/qt/qwkpage.cpp:
492         (QWKPagePrivate::screenToWindow):
493         * UIProcess/API/qt/qwkpage_p.h:
494         * UIProcess/PageClient.h:
495         * UIProcess/WebPageProxy.cpp:
496         (WebKit::WebPageProxy::screenToWindow):
497         * UIProcess/WebPageProxy.h:
498         * UIProcess/WebPageProxy.messages.in:
499         * UIProcess/win/WebView.cpp:
500         (WebKit::WebView::screenToWindow):
501         * UIProcess/win/WebView.h:
502         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
503         (WebKit::WebChromeClient::screenToWindow):
504         * WebProcess/WebPage/WebPage.cpp:
505         (WebKit::WebPage::screenToWindow):
506         * WebProcess/WebPage/WebPage.h:
507
508 2011-06-13  Sam Weinig  <sam@webkit.org>
509
510         Reviewed by Darin Adler.
511
512         REGRESSION (81679-81939): In Safari, Dictionary look up (tap or Ctrl-Cmd-D) doesn't work if you have clicked on a word and not moved the mouse
513         <rdar://problem/9580237> 
514
515         * WebProcess/WebPage/mac/WebPageMac.mm:
516         (WebKit::shouldUseSelection):
517         Return early if the selection we are using is not a range.
518
519 2011-06-13  Tony Chang  <tony@chromium.org>
520
521         Reviewed by Dimitri Glazkov.
522
523         rename ENABLE_NEW_FLEXBOX to ENABLE_CSS3_FLEXBOX
524         https://bugs.webkit.org/show_bug.cgi?id=62578
525
526         * Configurations/FeatureDefines.xcconfig:
527
528 2011-06-13  No'am Rosenthal  <noam.rosenthal@nokia.com>
529
530         Reviewed by Kenneth Rohde Christiansen.
531
532         [Qt] Implement accelerated compositing on WK2 Qt port
533         https://bugs.webkit.org/show_bug.cgi?id=56935
534
535         Added WebGraphicsLayer, a subclass of WebCore::GraphicsLayer that serializes the state of the layer
536         tree to the UI process WebLayerTreeInfo.
537         For now this patch doesn't serialize the animation information, a feature that will be upstreamed later on.
538
539         Together with Viatcheslav Ostapenko.
540
541         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: Added.
542         * WebProcess/WebCoreSupport/WebGraphicsLayer.h: Added.
543
544 2011-06-13  No'am Rosenthal  <noam.rosenthal@nokia.com>
545
546         Reviewed by Kenneth Rohde Christiansen.
547
548         [Qt] Implement accelerated compositing on WK2 Qt port
549         https://bugs.webkit.org/show_bug.cgi?id=56935
550
551         Added WebLayerTreeInfo: a set of structures that can serialize a tree of GraphicsLayers
552         across to the UI process.
553
554         Together with Viatcheslav Ostapenko.
555
556         * Scripts/webkit2/messages.py:
557         * Shared/WebLayerTreeInfo.cpp: Added.
558         * Shared/WebLayerTreeInfo.h: Added.
559
560 2011-06-11  Jer Noble  <jer.noble@apple.com>
561
562         Reviewed by Anders Carlsson.
563
564         Avoid flashing when exiting full-screen mode.
565         https://bugs.webkit.org/show_bug.cgi?id=62338
566
567         Instead of making a round-trip between processes by calling forceRepaint
568         and waiting for a callback, instead make a WebProcess-side call to
569         forceRepaintWithoutCallback before sending the ExitAcceleratedCompositingMode
570         message to the WebFullScreenControllerProxy. This also means we can get rid of
571         the dragImage creation and display.
572
573         Because this redraw will happen during the current run-loop instead of a future
574         one, make sure the background color has been set before the redraw in 
575         didEnterFullScreen().
576
577         Wait to hide the full-screen window until after we have received the 
578         ExitAcceleratedCompositingMode message.  By this time, repaint will have already
579         completed.
580
581         * UIProcess/mac/WKFullScreenWindowController.h:
582         * UIProcess/mac/WKFullScreenWindowController.mm:
583         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Disable
584             screen updates, to be re-enabled during exitAcceleratedCompositingMode.
585         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Don't hide
586             the full-screen window here; wait for exitAcceleratedCompositing instead.
587         (-[WKFullScreenWindowController exitAcceleratedCompositingMode]): Collapse 
588             the redrawCompleted method into this one.
589         (-[WKFullScreenWindowController close]): Remove the reference to 
590             exitCompositedModeRepaintCompleted.
591         * WebProcess/FullScreen/WebFullScreenManager.cpp:
592         (WebKit::WebFullScreenManager::didEnterFullScreen): Set the full screen
593             background color first.
594         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
595         (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): Repaint before
596             sending the ExitAcceleratedCompositingMode message. 
597
598 2011-06-13  Tony Chang  <tony@chromium.org>
599
600         Reviewed by Adam Barth.
601
602         rename ENABLE_FLEXBOX to ENABLE_NEW_FLEXBOX
603         https://bugs.webkit.org/show_bug.cgi?id=62545
604
605         * Configurations/FeatureDefines.xcconfig:
606
607 2011-06-13  Anders Carlsson  <andersca@apple.com>
608
609         Reviewed by Dan Bernstein.
610
611         Don't access freed memory in the UI process when a plug-in process crashes
612         https://bugs.webkit.org/show_bug.cgi?id=62548
613         <rdar://problem/9599243>
614
615         Call pluginProcessCrashedOrFailedToLaunch after sending messages to all processes about the plug-in crash,
616         otherwise we'll try to dereference m_pluginInfo.path after the PluginProcessProxy object has been deleted.
617
618         * UIProcess/Plugins/PluginProcessProxy.cpp:
619         (WebKit::PluginProcessProxy::didClose):
620
621 2011-06-13  Carlos Garcia Campos  <cgarcia@igalia.com>
622
623         Reviewed by Martin Robinson.
624
625         [GTK] Fix a crash when drawing area has been deleted
626         https://bugs.webkit.org/show_bug.cgi?id=62541
627
628         Check whether WebPageProxy::drawingArea() returns a valid pointer
629         before using it, it might be null, for example, when the web
630         process crashes.
631
632         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
633         (callDrawingAreaPaintMethod):
634         (webkitWebViewBaseSizeAllocate):
635
636 2011-06-13  Eunmi Lee  <eunmi15.lee@samsung.com>
637
638         Reviewed by Kenneth Rohde Christiansen.
639
640         [EFL][WK2] Minor fix: fix coding style and remove unnecessary codes for WebKit2 efl port's PageClientImpl
641         https://bugs.webkit.org/show_bug.cgi?id=62429
642
643         * UIProcess/API/efl/PageClientImpl.cpp:
644         (WebKit::PageClientImpl::scrollView):
645         (WebKit::PageClientImpl::setCursor):
646         (WebKit::PageClientImpl::windowToScreen):
647         (WebKit::PageClientImpl::doneWithKeyEvent):
648         (WebKit::PageClientImpl::setFindIndicator):
649         (WebKit::PageClientImpl::didCommitLoadForMainFrame):
650         (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
651         (WebKit::PageClientImpl::findStringInCustomRepresentation):
652         (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation):
653         * UIProcess/API/efl/PageClientImpl.h:
654
655 2011-06-13  Eunmi Lee  <eunmi15.lee@samsung.com>
656
657         Reviewed by Kenneth Rohde Christiansen.
658
659         [EFL][WK2] Add initial WebPreferencesEfl.cpp for webkit2 efl port
660         https://bugs.webkit.org/show_bug.cgi?id=62525
661
662         * UIProcess/efl/WebPreferencesEfl.cpp: Added.
663         (WebKit::WebPreferences::platformInitializeStore):
664         (WebKit::WebPreferences::platformUpdateStringValueForKey):
665         (WebKit::WebPreferences::platformUpdateBoolValueForKey):
666         (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
667         (WebKit::WebPreferences::platformUpdateDoubleValueForKey):
668
669 2011-06-13  Carlos Garcia Campos  <cgarcia@igalia.com>
670
671         Reviewed by Martin Robinson.
672
673         [GTK] Add context menu support for Webkit2
674         https://bugs.webkit.org/show_bug.cgi?id=54827
675
676         * GNUmakefile.am: Add new files to compilation.
677         * UIProcess/API/gtk/PageClientImpl.cpp:
678         (WebKit::PageClientImpl::createContextMenuProxy): Create a context
679         menu proxy.
680         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
681         (globalPointForClientPoint): Function copied from webkit1 to
682         convert a point in widget coordinates to global coordinates.
683         (popupMenuPositionFunction):
684         (webkitWebViewBaseShowContextMenu): Show the given context menu at
685         the given position.
686         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
687         * UIProcess/gtk/WebContextMenuProxyGtk.cpp: Added.
688         (WebKit::contextMenuItemActivatedCallback):
689         (WebKit::WebContextMenuProxyGtk::createGtkMenu):
690         (WebKit::WebContextMenuProxyGtk::showContextMenu):
691         (WebKit::WebContextMenuProxyGtk::hideContextMenu):
692         (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk):
693         (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk):
694         * UIProcess/gtk/WebContextMenuProxyGtk.h: Copied from Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h.
695         (WebKit::WebContextMenuProxyGtk::create):
696
697 2011-06-13  Carlos Garcia Campos  <cgarcia@igalia.com>
698
699         Reviewed by Martin Robinson.
700
701         [GTK] Export an API similar to WebKit1
702         https://bugs.webkit.org/show_bug.cgi?id=57820
703
704         Add first implementation of WebKitWebView, a class with the same
705         API than webkit1, that wraps the C API to provide a high level
706         WebKit2 API for GTK port.
707
708         * GNUmakefile.am: Add new files to compilation.
709         * UIProcess/API/gtk/WebKitWebView.cpp: Added.
710         (webkit_web_view_init):
711         (webkit_web_view_class_init):
712         (webkit_web_view_new):
713         (webkit_web_view_load_uri):
714         (webkit_web_view_go_back):
715         (webkit_web_view_go_forward):
716         * UIProcess/API/gtk/WebKitWebView.h: Added.
717         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
718         (webkitWebViewBaseCreate):
719         (webkitWebViewBaseCreateWebPage):
720         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
721         * UIProcess/API/gtk/webkit/webkit.h: Added.
722
723 2011-06-12  Adam Barth  <abarth@webkit.org>
724
725         Reviewed by Alexey Proskuryakov.
726
727         Rename FrameLoaderClient::interruptForPolicyChangeError to use the past tense
728         https://bugs.webkit.org/show_bug.cgi?id=62516
729
730         * WebProcess/WebCoreSupport/WebErrors.h:
731         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
732         (WebKit::WebFrameLoaderClient::interruptedForPolicyChangeError):
733         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
734         * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
735         (WebKit::interruptedForPolicyChangeError):
736         * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
737         (WebKit::interruptedForPolicyChangeError):
738         * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
739         (WebKit::interruptedForPolicyChangeError):
740         * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
741         (WebKit::interruptedForPolicyChangeError):
742         * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
743         (WebKit::interruptedForPolicyChangeError):
744
745 2011-06-12  Adam Barth  <abarth@webkit.org>
746
747         Reviewed by Eric Seidel.
748
749         Remove FrameLoader::isProcessingUserGesture
750         https://bugs.webkit.org/show_bug.cgi?id=62519
751
752         Instead of asking the gesture indicator directly, ask the
753         ScriptController, like everyone else.  The gesture indicator is just
754         one of the piece of information we use to determine whether we're
755         processing a user gesture.
756
757         * WebProcess/InjectedBundle/InjectedBundle.cpp:
758         (WebKit::InjectedBundle::isProcessingUserGesture):
759
760 2011-06-12  Adam Barth  <abarth@webkit.org>
761
762         Reviewed by Alexey Proskuryakov.
763
764         Remove trival "forward-to-client" member functions from FrameLoader
765         https://bugs.webkit.org/show_bug.cgi?id=62510
766
767         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
768         (WebKit::WebFrameNetworkingContext::blockedError):
769
770 2011-06-11  Stephanie Lewis  <slewis@apple.com>
771
772         Reviewed by Sam Weinig.
773
774         https://bugs.webkit.org/show_bug.cgi?id=62480
775         part of <rdar://problem/8675177>
776         Add API to launch the WebProcess.  Launching it earlier can save time 
777         when loading the first page.
778
779         * UIProcess/API/C/WKContext.cpp:
780         (WKContextWarmInitialProcess):
781         * UIProcess/API/C/WKContextPrivate.h:
782         * UIProcess/WebContext.cpp:
783         (WebKit::WebContext::warmInitialProcess):
784         * UIProcess/WebContext.h:
785
786 2011-06-09  Jer Noble  <jer.noble@apple.com>
787
788         Reviewed by Darin Adler.
789
790         AVPlayerLayer is adding a "fade" animation during Safari full-screen
791         https://bugs.webkit.org/show_bug.cgi?id=62433
792
793         CoreAnimation will add default animations when certain properties are changed, unless
794         those changes are wrapped in a CATransaction which has had its disableActions property set
795         to true.  Wrap each of these three property changes in a CATransaction and disable its actions,
796         so that the default "fade" animation is not created in response.
797
798         * UIProcess/mac/WKFullScreenWindowController.mm:
799         (-[WKFullScreenWindowController enterFullScreen:]): Wrap with CATransaction.
800         (-[WKFullScreenWindowController _swapView:with:]): Ditto:
801         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
802         (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): Ditto.
803
804 2011-06-10  Anders Carlsson  <andersca@apple.com>
805
806         Reviewed by Sam Weinig.
807
808         REGRESSION (WebKit2): window.showModalDialog() broken
809         https://bugs.webkit.org/show_bug.cgi?id=62496
810         <rdar://problem/9581492>
811
812         If dispatching a message ends up creating a nested run loop, some incoming messages can end up not being
813         delivered until we exit from the run loop.
814
815         Fix this by using a Deque instead of a Vector for incoming messages, and get one message at a time and then
816         dispatch it. That prevents us from having any lingering messages lying around in stack allocated space.
817
818         * Platform/CoreIPC/Connection.cpp:
819         (CoreIPC::Connection::waitForMessage):
820         (CoreIPC::Connection::dispatchMessages):
821         * Platform/CoreIPC/Connection.h:
822
823 2011-06-10  Sam Weinig  <sam@webkit.org>
824
825         Reviewed by Anders Carlsson.
826
827         Unresponsive cursor is shown when displaying a modal dialog
828         Part of <rdar://problem/9581492>
829         https://bugs.webkit.org/show_bug.cgi?id=62494
830
831         * UIProcess/WebPageProxy.cpp:
832         (WebKit::WebPageProxy::runModal):
833         * UIProcess/WebPageProxy.h:
834         Stop the responsiveness timer when calling out to show a modal dialog.
835
836 2011-06-10  Tony Chang  <tony@chromium.org>
837
838         Reviewed by Ojan Vafai.
839
840         add a compile guard ENABLE(FLEXBOX)
841         https://bugs.webkit.org/show_bug.cgi?id=62049
842
843         * Configurations/FeatureDefines.xcconfig:
844
845 2011-06-10  Ryuan Choi  <ryuan.choi@samsung.com>
846
847         Reviewed by Kenneth Rohde Christiansen.
848
849         [EFL][WK2] Add dummy files in WebProcess/WebCoreSupport/efl
850         https://bugs.webkit.org/show_bug.cgi?id=62346
851
852         Add WebProcess/WebCoreSupport/efl directory and files.
853
854         * WebProcess/WebCoreSupport/efl/WebContextMenuClientEfl.cpp: Added.
855         (WebKit::WebContextMenuClient::lookUpInDictionary):
856         (WebKit::WebContextMenuClient::isSpeaking):
857         (WebKit::WebContextMenuClient::speak):
858         (WebKit::WebContextMenuClient::stopSpeaking):
859         * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp: Added.
860         (WebKit::WebEditorClient::handleKeyboardEvent):
861         (WebKit::WebEditorClient::handleInputMethodKeydown):
862         * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp: Added.
863         (WebKit::cancelledError):
864         (WebKit::blockedError):
865         (WebKit::cannotShowURLError):
866         (WebKit::interruptForPolicyChangeError):
867         (WebKit::cannotShowMIMETypeError):
868         (WebKit::fileDoesNotExistError):
869         (WebKit::pluginWillHandleLoadError):
870         * WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h: Added.
871         (WebFrameNetworkingContext::create):
872         (WebFrameNetworkingContext::WebFrameNetworkingContext):
873         * WebProcess/WebCoreSupport/efl/WebPopupMenuEfl.cpp: Added.
874         (WebKit::WebPopupMenu::setUpPlatformData):
875
876 2011-06-09  Andreas Kling  <kling@webkit.org>
877
878         Reviewed by Darin Adler.
879
880         WebKit2: Remove unused function CoreIPC::Connection::deprecatedWaitFor().
881         https://bugs.webkit.org/show_bug.cgi?id=62386
882
883         * Platform/CoreIPC/Connection.h:
884
885 2011-06-09  Andreas Kling  <kling@webkit.org>
886
887         Reviewed by Anders Carlsson.
888
889         [Qt][WK2] Remove usage of deprecated CoreIPC functions.
890         https://bugs.webkit.org/show_bug.cgi?id=62290
891
892         Use the new DrawingArea{,Proxy}.messages.in approach to CoreIPC in TiledDrawingArea.
893         The TiledDrawingArea{,Proxy}-specific messages were moved up into DrawingArea{,Proxy}
894         and guarded by ENABLE(TILED_BACKING_STORE).
895
896         * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h: Removed.
897         * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: Removed.
898
899         * GNUmakefile.am:
900         * WebKit2.pro:
901         * WebKit2.xcodeproj/project.pbxproj:
902         * win/WebKit2.vcproj: Prune deleted files from build system.
903
904         * Platform/CoreIPC/MessageID.h: Remove legacy DrawingArea message ID's.
905
906         * UIProcess/API/qt/qgraphicswkview.cpp:
907         (QGraphicsWKViewPrivate::commitScale): No longer waits for all tile updates to complete,
908         this will be addressed by the soon-to-be-upstreamed TileSet mechanism.
909
910         * UIProcess/DrawingAreaProxy.messages.in:
911         * UIProcess/DrawingAreaProxy.h:
912         (WebKit::DrawingAreaProxy::didSetSize):
913         (WebKit::DrawingAreaProxy::invalidate):
914         (WebKit::DrawingAreaProxy::snapshotTaken):
915         (WebKit::DrawingAreaProxy::tileUpdated):
916         (WebKit::DrawingAreaProxy::allTileUpdatesProcessed): Added IPC calls used by
917         TiledDrawingAreaProxy to DrawingAreaProxy.
918
919         * WebProcess/WebPage/DrawingArea.messages.in:
920         * WebProcess/WebPage/DrawingArea.h:
921         (WebKit::DrawingArea::setSize):
922         (WebKit::DrawingArea::cancelTileUpdate):
923         (WebKit::DrawingArea::requestTileUpdate):
924         (WebKit::DrawingArea::takeSnapshot): Added IPC calls used by TiledDrawingArea
925         to DrawingArea.
926
927         * UIProcess/DrawingAreaProxyImpl.h:
928         * UIProcess/DrawingAreaProxyImpl.cpp: Remove the now-unneeded didReceiveMessage()
929         and didReceiveSyncMessage().
930
931         * WebProcess/WebPage/DrawingAreaImpl.cpp:
932         * WebProcess/WebPage/DrawingAreaImpl.h: Remove the now-unneeded didReceiveMessage().
933
934         * UIProcess/TiledDrawingAreaProxy.h:
935         * UIProcess/TiledDrawingAreaProxy.cpp:
936         (WebKit::TiledDrawingAreaProxy::sizeDidChange):
937         (WebKit::TiledDrawingAreaProxy::tileUpdated):
938         (WebKit::TiledDrawingAreaProxy::allTileUpdatesProcessed): Split didReceiveMessage()
939         into functions.
940
941         (WebKit::TiledDrawingAreaProxy::removeTile):
942         (WebKit::TiledDrawingAreaProxy::requestTileUpdate):
943         (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
944         (WebKit::TiledDrawingAreaProxy::takeSnapshot): Use new-style IPC.
945
946         * WebProcess/WebPage/TiledDrawingArea.cpp:
947         (WebKit::TiledDrawingArea::setSize):
948         (WebKit::TiledDrawingArea::cancelTileUpdate):
949         (WebKit::TiledDrawingArea::requestTileUpdate):
950         (WebKit::TiledDrawingArea::takeSnapshot): Split didReceiveMessage() into functions.
951
952         (WebKit::TiledDrawingArea::display):
953         (WebKit::TiledDrawingArea::updateTile):
954         (WebKit::TiledDrawingArea::tileUpdateTimerFired): Use new-style IPC.
955
956         * UIProcess/WebPageProxy.cpp:
957         (WebKit::WebPageProxy::didReceiveMessage): Remove handling of
958         CoreIPC::MessageClassDrawingAreaProxyLegacy.
959
960         * WebProcess/WebPage/WebPage.cpp:
961         (WebKit::WebPage::didReceiveMessage): Remove handling of
962         CoreIPC::MessageClassDrawingAreaLegacy.
963
964         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: Remove unneeded includes.
965
966         * WebProcess/WebPage/TiledDrawingArea.h: Remove didReceiveMessage() and make
967         CoreIPC message handlers explicitly virtual.
968
969 2011-06-09  Andreas Kling  <kling@webkit.org>
970
971         Reviewed by Anders Carlsson.
972
973         WebKit2: Generate correct header conditionals in message receivers.
974         https://bugs.webkit.org/show_bug.cgi?id=62379
975
976         Given a *.messages.in file like this:
977
978         Foo(AwesomeObject o)
979         #if ENABLE(ESOTERIC_FEATURE)
980         Bar(AwesomeObject o)
981         #endif
982
983         messages.py would include AwesomeObject.h only #if ENABLE(ESOTERIC_FEATURE).
984         This breaks the build on platforms without that defined.
985
986         Furthermore, if two messages guarded by different conditionals both pull in the same
987         header, only the last conditional will be applied, for example:
988
989         #if ENABLE(ESOTERIC_FEATURE)
990         Foo(AwesomeObject o)
991         #endif
992         #if ENABLE(MYSTERIOUS_FEATURE)
993         Bar(AwesomeObject o)
994         #endif
995
996         Would include AwesomeObject.h #if ENABLE(MYSTERIOUS_FEATURE) when it really should
997         check #if ENABLE(ESOTERIC_FEATURE) || ENABLE(MYSTERIOUS_FEATURE).
998
999         Change the generator to consider all conditionals for a given header file.
1000         Also consider conditionals for reply parameters.
1001
1002         * Scripts/webkit2/messages.py:
1003         * Scripts/webkit2/messages_unittest.py:
1004
1005 2011-06-09  Eunmi Lee  <eunmi15.lee@samsung.com>
1006
1007         Reviewed by Kenneth Rohde Christiansen.
1008
1009         [EFL][WK2] Add PageClientImpl and WebPageProxyEfl for efl port
1010         https://bugs.webkit.org/show_bug.cgi?id=62363
1011
1012         * UIProcess/API/efl/PageClientImpl.cpp: Added.
1013         (WebKit::PageClientImpl::PageClientImpl):
1014         (WebKit::PageClientImpl::~PageClientImpl):
1015         (WebKit::PageClientImpl::createDrawingAreaProxy):
1016         (WebKit::PageClientImpl::setViewNeedsDisplay):
1017         (WebKit::PageClientImpl::displayView):
1018         (WebKit::PageClientImpl::scrollView):
1019         (WebKit::PageClientImpl::viewSize):
1020         (WebKit::PageClientImpl::isViewWindowActive):
1021         (WebKit::PageClientImpl::isViewFocused):
1022         (WebKit::PageClientImpl::isViewVisible):
1023         (WebKit::PageClientImpl::isViewInWindow):
1024         (WebKit::PageClientImpl::processDidCrash):
1025         (WebKit::PageClientImpl::didRelaunchProcess):
1026         (WebKit::PageClientImpl::pageClosed):
1027         (WebKit::PageClientImpl::toolTipChanged):
1028         (WebKit::PageClientImpl::setCursor):
1029         (WebKit::PageClientImpl::setViewportArguments):
1030         (WebKit::PageClientImpl::registerEditCommand):
1031         (WebKit::PageClientImpl::clearAllEditCommands):
1032         (WebKit::PageClientImpl::canUndoRedo):
1033         (WebKit::PageClientImpl::executeUndoRedo):
1034         (WebKit::PageClientImpl::convertToDeviceSpace):
1035         (WebKit::PageClientImpl::convertToUserSpace):
1036         (WebKit::PageClientImpl::windowToScreen):
1037         (WebKit::PageClientImpl::doneWithKeyEvent):
1038         (WebKit::PageClientImpl::createPopupMenuProxy):
1039         (WebKit::PageClientImpl::createContextMenuProxy):
1040         (WebKit::PageClientImpl::setFindIndicator):
1041         (WebKit::PageClientImpl::didChangeScrollbarsForMainFrame):
1042         (WebKit::PageClientImpl::didCommitLoadForMainFrame):
1043         (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
1044         (WebKit::PageClientImpl::customRepresentationZoomFactor):
1045         (WebKit::PageClientImpl::setCustomRepresentationZoomFactor):
1046         (WebKit::PageClientImpl::flashBackingStoreUpdates):
1047         (WebKit::PageClientImpl::findStringInCustomRepresentation):
1048         (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation):
1049         (WebKit::PageClientImpl::userSpaceScaleFactor):
1050         * UIProcess/API/efl/PageClientImpl.h: Added.
1051         (WebKit::PageClientImpl::create):
1052         (WebKit::PageClientImpl::viewObject):
1053         (WebKit::PageClientImpl::page):
1054         * UIProcess/WebPageProxy.h:
1055         * UIProcess/efl/WebPageProxyEfl.cpp: Added.
1056         (WebKit::WebPageProxy::viewObject):
1057         (WebKit::WebPageProxy::standardUserAgent):
1058         (WebKit::WebPageProxy::getEditorCommandsForKeyEvent):
1059         (WebKit::WebPageProxy::saveRecentSearches):
1060         (WebKit::WebPageProxy::loadRecentSearches):
1061
1062 2011-06-08  John Sullivan  <sullivan@apple.com>
1063
1064         Reviewed by Darin Adler.
1065
1066         <https://bugs.webkit.org/show_bug.cgi?id=62332>
1067         <rdar://problem/9355199>
1068         [WKView _setDragImage:at:linkDrag:] can crash if WKView is dealloc'ed during drag
1069
1070         * UIProcess/API/mac/WKView.mm:
1071         (-[WKView _resendKeyDownEvent:]):
1072         Renamed self-protecting RetainPtr from "protect" to "protector" so it's a noun.
1073         (-[WKView _setDragImage:at:linkDrag:]):
1074         Added a self-protecting RetainPtr.
1075
1076 2011-06-08  No'am Rosenthal  <noam.rosenthal@nokia.com>
1077
1078         Reviewed by Kenneth Rohde Christiansen.
1079
1080         WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
1081         https://bugs.webkit.org/show_bug.cgi?id=61694
1082
1083         Add an ArgumentCoder for FloatPoint3D.
1084
1085         Together with Viatcheslav Ostapenko.
1086
1087         * Scripts/webkit2/messages.py:
1088         * Shared/WebCoreArgumentCoders.h:
1089
1090 2011-06-08  No'am Rosenthal  <noam.rosenthal@nokia.com>
1091
1092          Reviewed by Kenneth Rohde Christiansen.
1093
1094          WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
1095          https://bugs.webkit.org/show_bug.cgi?id=61694
1096
1097          Add ArgumentCoders for TransformOperation, including all the subclasses,
1098          and TransformOperations.
1099
1100          * Scripts/webkit2/messages.py:
1101          * Shared/WebCoreArgumentCoders.h:
1102
1103 2011-06-08  Yael Aharon  <yael.aharon@nokia.com>
1104
1105         Reviewed by Andreas Kling.
1106
1107         [Qt] Build fix for building QtWebKit inside of Qt.
1108         https://bugs.webkit.org/show_bug.cgi?id=62280
1109
1110         Remove CONFIG=staticlib, because it causes the configure script to add -lwebkit2
1111         into QtWebKit.prl.
1112
1113         * WebKit2.pri:
1114
1115 2011-06-07  Tim Horton  <timothy_horton@apple.com>
1116
1117         Reviewed by Alexey Proskuryakov.
1118
1119         Use correct CFURLStorageSessionRef definition on Snow Leopard
1120         https://bugs.webkit.org/show_bug.cgi?id=62223
1121
1122         * PluginProcess/mac/PluginProcessShim.mm:
1123
1124 2011-06-07  John Sullivan  <sullivan@apple.com>
1125
1126         Reviewed by Darin Adler.
1127
1128         <https://bugs.webkit.org/show_bug.cgi?id=62248>
1129         <rdar://problem/9568516>
1130         WKResponderChainSink mechanism isn't robust against some types of responder chain manipulation
1131
1132         * UIProcess/API/mac/WKView.mm:
1133         (-[WKResponderChainSink detach]):
1134         This method formerly blindly assumed that since -initWithResponderChain: put self at the
1135         end of the responder chain, after _lastResponderInChain, then self is still at the end
1136         of the responder chain and still immediately after _lastResponderInChain. Made this function
1137         robust against some kinds of responder chain manipulations, though it can't be robust against
1138         some other kinds (e.g., manipulations that removed self from this chain and put it into some
1139         other chain).
1140
1141 2011-06-07  Sam Weinig  <sam@webkit.org>
1142
1143         Reviewed by Anders Carlsson.
1144
1145         Remove repeated IPC traffic from SetRenderTreeSize message
1146         https://bugs.webkit.org/show_bug.cgi?id=62244
1147
1148         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1149         Add didLayoutForFrame callback.
1150
1151         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1152         (WKBundlePageGetRenderTreeSize):
1153         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
1154         Add render tree size getter in WebProcess.
1155
1156         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
1157         (WebKit::InjectedBundlePageLoaderClient::didLayoutForFrame):
1158         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
1159         Added.
1160
1161         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1162         * WebProcess/WebCoreSupport/WebChromeClient.h:
1163         Removed setRenderTreeSize.
1164
1165         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1166         (WebKit::WebFrameLoaderClient::dispatchDidLayout):
1167         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
1168         Call the new didLayoutForFrame client function.
1169
1170         * WebProcess/WebPage/WebPage.cpp:
1171         (WebKit::WebPage::renderTreeSize):
1172         * WebProcess/WebPage/WebPage.h:
1173         Add iterative implementation to compute the total size of the render tree
1174         for a page.
1175
1176 2011-06-07  Zalan Bujtas  <zbujtas@gmail.com>
1177
1178         Reviewed by Andreas Kling.
1179
1180         TiledDrawingArea: Delay serving tile requests when the drawing area is suspended.
1181
1182         Do not paint tiles when painting is disabled (suspended) on the web process side.
1183         Buffer up the tile requests and paint them, when the drawing area gets resumed.
1184         On the UI process side, do not block on tile updates, when the tiled area is
1185         not visible (painting is disabled on the web process side).
1186
1187         * UIProcess/TiledDrawingAreaProxy.cpp:
1188         (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete):
1189         * WebProcess/WebPage/TiledDrawingArea.cpp:
1190         (WebKit::TiledDrawingArea::suspendPainting):
1191         (WebKit::TiledDrawingArea::resumePainting):
1192         (WebKit::TiledDrawingArea::scheduleTileUpdate):
1193         (WebKit::TiledDrawingArea::tileUpdateTimerFired):
1194         (WebKit::TiledDrawingArea::didReceiveMessage):
1195         * WebProcess/WebPage/TiledDrawingArea.h:
1196
1197 2011-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1198
1199         Unreviewed, rolling out r88259 and r88263.
1200         http://trac.webkit.org/changeset/88259
1201         http://trac.webkit.org/changeset/88263
1202         https://bugs.webkit.org/show_bug.cgi?id=62228
1203
1204         broke builds (Requested by rniwa on #webkit).
1205
1206         * PluginProcess/mac/PluginProcessShim.mm:
1207
1208 2011-06-07  Tim Horton  <timothy_horton@apple.com>
1209
1210         Reviewed by Alexey Proskuryakov.
1211
1212         Use correct CFURLStorageSessionRef definition on Snow Leopard
1213         https://bugs.webkit.org/show_bug.cgi?id=62223
1214
1215         * PluginProcess/mac/PluginProcessShim.mm:
1216
1217 2011-06-07  Carlos Garcia Campos  <cgarcia@igalia.com>
1218
1219         Reviewed by Martin Robinson.
1220
1221         [GTK] Move moduleMixesGtkSymbols() from PluginPackage to PluginView
1222         https://bugs.webkit.org/show_bug.cgi?id=62200
1223
1224         In WebKit2 PluginPackage is used by the UI process to load plugins
1225         in order to get information about them, but it doesn't use any GTK
1226         symbol. So the UI process should be able to load plugins even when
1227         building with GTK3, but we should not allow the plugin view to use
1228         the plugin if it mixes GTK2 and GTK3 symbols.
1229
1230         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
1231         (WebKit::moduleMixesGtkSymbols):
1232         (WebKit::NetscapePlugin::platformPostInitialize): Check whether
1233         the module is mixing GTK+ 2 and GTK+ 3 symbols.
1234
1235 2011-06-06  Sheriff Bot  <webkit.review.bot@gmail.com>
1236
1237         Unreviewed, rolling out r88222.
1238         http://trac.webkit.org/changeset/88222
1239         https://bugs.webkit.org/show_bug.cgi?id=62192
1240
1241         Broke compile on Mac (Requested by abarth on #webkit).
1242
1243         * Scripts/webkit2/messages.py:
1244         * Shared/WebCoreArgumentCoders.h:
1245
1246 2011-06-06  Noam Rosenthal  <noam.rosenthal@nokia.com>
1247
1248         Reviewed by Kenneth Rohde Christiansen.
1249
1250         WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
1251         https://bugs.webkit.org/show_bug.cgi?id=61694
1252
1253         Add ArgumentCoders for TransformOperation, including all the subclasses,
1254         and TransformOperations.
1255
1256         * Scripts/webkit2/messages.py:
1257         * Shared/WebCoreArgumentCoders.h:
1258
1259 2011-06-06  John Sullivan  <sullivan@apple.com>
1260
1261         Reviewed by Dan Bernstein.
1262
1263         <https://bugs.webkit.org/show_bug.cgi?id=62165>
1264         <rdar://problem/9555835>
1265         WebKit2 find-on-page callback doesn’t handle kWKMoreThanMaximumMatchCount on PDF pages
1266
1267         * UIProcess/API/mac/PDFViewController.mm:
1268         (WebKit::PDFViewController::findString):
1269         Return kWKMoreThanMaximumMatchCount when appropriate, a la FindController::countStringMatches().
1270         Also, skip counting all the matches if maxMatchCount is 0, to avoid (perhaps slowly) computing a
1271         number that would be ignored.
1272
1273 2011-06-06  Carlos Garcia Campos  <cgarcia@igalia.com>
1274
1275         Reviewed by Anders Carlsson.
1276
1277         Do not use NPRuntimeObjectMap in NetscapePlugin::setException when plug-in is running out of process
1278         https://bugs.webkit.org/show_bug.cgi?id=62124
1279
1280         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1281         (WebKit::NetscapePlugin::setException):
1282
1283 2011-06-06  Dominic Cooney  <dominicc@chromium.org>
1284
1285         Unreviewed WinCairo build fix after r88159.
1286
1287         * win/WebKit2CFLite.def: Export symbols for WebCoreTestSupport.
1288
1289 2011-06-04  Dominic Cooney  <dominicc@chromium.org>
1290
1291         Reviewed by Dimitri Glazkov.
1292
1293         Re-export JSC and WebCore symbols required by WebCoreTestSupport.
1294         https://bugs.webkit.org/show_bug.cgi?id=61076
1295
1296         * win/WebKit2.def:
1297
1298 2011-06-06  Alexandru Chiculita  <achicu@adobe.com>
1299
1300         Reviewed by Kent Tamura.
1301
1302         Add ENABLE_CSS_EXCLUSIONS support for build-webkit script
1303         https://bugs.webkit.org/show_bug.cgi?id=61628
1304
1305         * Configurations/FeatureDefines.xcconfig:
1306
1307 2011-06-06  Mihnea Ovidenie  <mihnea@adobe.com>
1308
1309         Reviewed by Kent Tamura.
1310
1311         Add ENABLE(CSS_REGIONS) guard for CSS Regions support
1312         https://bugs.webkit.org/show_bug.cgi?id=61631
1313
1314         * Configurations/FeatureDefines.xcconfig:
1315
1316 2011-06-06  Carlos Garcia Campos  <cgarcia@igalia.com>
1317
1318         Reviewed by Anders Carlsson.
1319
1320         [UNIX] SOCK_DGRAM sockets are not notified when the other end closes the connection
1321         https://bugs.webkit.org/show_bug.cgi?id=61538
1322
1323         Use SOCK_STREAM instead of SOCK_DGRAM sockets. Rework the message
1324         receiver code to support stream sockets, since it requires to
1325         handle message boundaries. The same code works for DGRAM sockets,
1326         so this change shouldn't break other ports using DGRAM.
1327
1328         * Platform/CoreIPC/Connection.h:
1329         * Platform/CoreIPC/unix/ConnectionUnix.cpp:
1330         (CoreIPC::Connection::platformInitialize):
1331         (CoreIPC::Connection::processMessage): Process messages from data
1332         already received.
1333         (CoreIPC::readBytesFromSocket): Read from socket using recvmsg().
1334         (CoreIPC::Connection::readyReadHandler):
1335         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
1336         (WebKit::ProcessLauncher::launchProcess): Use SOCK_DGRAM in
1337         socketpair().
1338
1339 == Rolled over to ChangeLog-2011-06-04 ==