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