Unreviewed.
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2011-01-30  Csaba Osztrogonác  <ossy@webkit.org>
2
3         Unreviewed.
4
5         [Qt][WK2] Buildfix.
6
7         * UIProcess/API/qt/qwkhistory.h:
8         * UIProcess/API/qt/qwkpage.h:
9
10 2011-01-29  Maciej Stachowiak  <mjs@apple.com>
11
12         Reviewed by Geoffrey Garen.
13
14         Add WKPageCopyPendingAPIRequestURL API
15         https://bugs.webkit.org/show_bug.cgi?id=53383
16
17         This API returns the last URL requested for load via API, if neither that load nor any
18         other load subsequently reaches the provisional state.
19         
20         This is useful to be able to track loads initiated via the API
21         
22         * UIProcess/API/C/WKPage.cpp:
23         (WKPageCopyPendingAPIRequestURL): Retrieve the pending URL.
24         * UIProcess/API/C/WKPage.h:
25         * UIProcess/WebPageProxy.cpp:
26         (WebKit::WebPageProxy::loadURL): Set pending URL.
27         (WebKit::WebPageProxy::loadURLRequest): ditto
28         (WebKit::WebPageProxy::reload): ditto
29         (WebKit::WebPageProxy::goForward): ditto
30         (WebKit::WebPageProxy::goBack): ditto
31         (WebKit::WebPageProxy::estimatedProgress): Assume the initial
32         progress value when there is a pending URL.
33         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Clear
34         pending URL; clients should look at the provisional URL now.
35         (WebKit::WebPageProxy::decidePolicyForNavigationAction): Clear
36         pending URL if it doesn't match the policy URL; this means we
37         were interrupted by another load.
38         * UIProcess/WebPageProxy.h:
39         (WebKit::WebPageProxy::pendingAPIRequestURL): Helper function.
40         (WebKit::WebPageProxy::clearPendingAPIRequestURL): ditto
41         (WebKit::WebPageProxy::setPendingAPIRequestURL): ditto
42
43 2011-01-28  Jon Honeycutt  <jhoneycutt@apple.com>
44
45         Downloads in WK2 on Windows should write resume data to bundle
46         https://bugs.webkit.org/show_bug.cgi?id=53282
47         <rdar://problem/8753077>
48
49         Reviewed by Alice Liu.
50
51         * WebProcess/Downloads/Download.cpp:
52         (WebKit::Download::decideDestinationWithSuggestedFilename):
53         Call didDecideDestination(), now that the destination is decided.
54
55         * WebProcess/Downloads/Download.h:
56         Declare didDecideDestination(). Added member variables to hold the
57         destination file path and the download bundle path.
58         (WebKit::Download::destination):
59         Return the path to the final destination for this download.
60
61         * WebProcess/Downloads/cf/DownloadCFNet.cpp:
62         (WebKit::Download::start):
63         Remove the name of an unused param.
64         (WebKit::Download::startWithHandle):
65         Ditto.
66         (WebKit::Download::cancel):
67         Tell CFNetwork not to delete the file upon failure, and tell it to
68         cancel the download. Copy the resume data for the download, and append
69         it to the download bundle. Call didCancel() with an empty
70         DataReference, since we have written our own resume data.
71         (WebKit::decideDestinationWithSuggestedObjectNameCallback):
72         Remove some unused param names. Removed the call to
73         CFURLDownloadSetDestination() - this is now handled in
74         Download::didDecideDestination().
75         (WebKit::didCreateDestinationCallback):
76         Report that the final destination was created, rather than the download
77         bundle, matching old WebKit.
78         (WebKit::Download::didDecideDestination):
79         Store the final destination and the download bundle paths, and call
80         CFURLDownloadSetDestination(), passing the path to the download bundle.
81
82         * WebProcess/Downloads/curl/DownloadCurl.cpp:
83         (WebKit::Download::didDecideDestination):
84         Stubbed.
85
86         * WebProcess/Downloads/mac/DownloadMac.mm:
87         (WebKit::Download::didDecideDestination):
88         Stubbed - unneeded on the Mac.
89
90         * WebProcess/Downloads/qt/DownloadQt.cpp:
91         (WebKit::Download::didDecideDestination):
92         Stubbed.
93
94 2011-01-29  Jeff Miller  <jeffm@apple.com>
95
96         Reviewed by Anders Carlsson.
97
98         Support find bouncy in WebKit2 on Windows
99         https://bugs.webkit.org/show_bug.cgi?id=53329
100         <rdar://problem/8565843>
101         The Mac implements the find bouncy inside of WebKit in the UI process for WebKit2, but we need to do this inside Safari for WebKit2 on Windows.
102         Add infrastructure to call back into the app when the find indicator changes.
103
104         * UIProcess/API/C/win/WKView.cpp: Cleanup some code style violations.
105         (WKViewSetFindIndicatorCallback): Added.
106         (WKViewGetFindIndicatorCallback): Added.
107         * UIProcess/API/C/win/WKView.h: Cleanup some code style violations.
108         * UIProcess/FindIndicator.cpp:
109         (WebKit::FindIndicator::create):
110         (WebKit::FindIndicator::FindIndicator):
111         (WebKit::FindIndicator::frameRect):
112         (WebKit::FindIndicator::draw):
113         Rename m_selectionRect to m_selectionRectInWindowCoordinates and m_textRects to m_textRectsInSelectionRectCoordinates (along with similarly named local variables) to be more explict about the coordinate system.
114         * UIProcess/FindIndicator.h:
115         (WebKit::FindIndicator::selectionRectInWindowCoordinates): Added.
116         (WebKit::FindIndicator::textRects): Rename m_textRects to m_textRectsInSelectionRectCoordinates.
117         * UIProcess/WebPageProxy.cpp:
118         (WebKit::WebPageProxy::setFindIndicator): Rename selectionRect to selectionRectInWindowCoordinates and textRects to textRectsInSelectionRectCoordinates to be more explict about the coordinate system.
119         * UIProcess/WebPageProxy.h: Ditto.
120         * UIProcess/win/WebView.cpp:
121         (WebKit::WebView::WebView):
122         (WebKit::WebView::setFindIndicator): Added.
123         (WebKit::WebView::setFindIndicatorCallback): Added.
124         (WebKit::WebView::getFindIndicatorCallback): Added.
125         * UIProcess/win/WebView.h:
126
127 2011-01-28  Alexey Proskuryakov  <ap@apple.com>
128
129         Reviewed by Dan Bernstein.
130
131         https://bugs.webkit.org/show_bug.cgi?id=53367
132         <rdar://problem/8926460> Remove dysfunctional code from -[WKPrintingView _isPrintingPreview].
133
134         * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView _isPrintingPreview]): The common
135         branch works fine for now, no need to make platforms different.
136
137 2011-01-28  Maciej Stachowiak  <mjs@apple.com>
138
139         Reviewed by Dan Bernstein.
140
141         WKPageGetEstimatedProgress returns wrong value after a mainframe provisional load has started
142         https://bugs.webkit.org/show_bug.cgi?id=53358
143
144         * UIProcess/WebPageProxy.cpp:
145         (WebKit::WebPageProxy::didStartProgress): Start progress at the magic initial value, not 0.
146
147 2011-01-28  Anders Carlsson  <andersca@apple.com>
148
149         Yet another build fix (What was I thinking?)
150
151         * WebProcess/Downloads/Download.h:
152         * WebProcess/Plugins/PluginProxy.h:
153
154 2011-01-28  Anders Carlsson  <andersca@apple.com>
155
156         Fix Windows build.
157
158         * Shared/PrintInfo.h:
159
160 2011-01-28  Anders Carlsson  <andersca@apple.com>
161
162         Fix tyop.
163
164         * Shared/mac/CoreAnimationRenderer.mm:
165
166 2011-01-28  Anders Carlsson  <andersca@apple.com>
167
168         Reviewed by Sam Weinig.
169
170         Add CoreAnimationRenderer class
171         https://bugs.webkit.org/show_bug.cgi?id=53343
172
173         * Shared/mac/CoreAnimationRenderer.h: Added.
174         * Shared/mac/CoreAnimationRenderer.mm: Added.
175
176         (WebKit::CoreAnimationRenderer::CoreAnimationRenderer):
177         Initialize the underlying CARenderer object and hook up a notification observer.
178
179         (WebKit::CoreAnimationRenderer::~CoreAnimationRenderer):
180         Assert that the client is null. It has been set to null by the call to invalidate().
181
182         (WebKit::CoreAnimationRenderer::setBounds):
183         Update the bounds on the CARenderer and the root layer.
184
185         (WebKit::CoreAnimationRenderer::render):
186         Ask the renderer to render and return the next frame time.
187
188         (WebKit::CoreAnimationRenderer::invalidate):
189         Remove the change observer and reset the client.
190
191         (WebKit::CoreAnimationRenderer::rendererDidChange):
192         Call the client member function.
193
194         * WebKit2.xcodeproj/project.pbxproj:
195         Add new files.
196
197 2011-01-28  Anders Carlsson  <andersca@apple.com>
198
199         Reviewed by Sam Weinig.
200
201         Add an OBJC_CLASS macro for forward declaring an Objective-C class
202         https://bugs.webkit.org/show_bug.cgi?id=53337
203
204         * Shared/NativeWebKeyboardEvent.h:
205         * Shared/PrintInfo.h:
206         * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
207         * UIProcess/LayerBackedDrawingAreaProxy.h:
208         * UIProcess/WebInspectorProxy.h:
209         * UIProcess/mac/WebContextMenuProxyMac.h:
210         * UIProcess/mac/WebPopupMenuProxyMac.h:
211         * WebProcess/Downloads/Download.h:
212         * WebProcess/Plugins/PluginProxy.h:
213         * WebProcess/WebPage/LayerBackedDrawingArea.h:
214         * WebProcess/WebPage/WebPage.h:
215         * config.h:
216
217 2011-01-28  Anders Carlsson  <andersca@apple.com>
218
219         Reviewed by Sam Weinig.
220
221         Don't put config.h in the message headers.
222
223         * Scripts/webkit2/messages.py:
224         * Scripts/webkit2/messages_unittest.py:
225
226 2011-01-28  Anders Carlsson  <andersca@apple.com>
227
228         Fix build.
229
230         * Shared/mac/ShareableSurface.cpp:
231
232 2011-01-28  Anders Carlsson  <andersca@apple.com>
233
234         Try to unbreak the Windows build.
235
236         * UIProcess/cf/WebPageProxyCF.cpp:
237
238 2011-01-28  Brady Eidson  <beidson@apple.com>
239
240         Reviewed by John Sullivan.
241
242         https://bugs.webkit.org/show_bug.cgi?id=53330
243         Need InjectedBundle API to get the response MIMEType for a URL
244
245         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
246         (WKBundleFrameCopyMIMETypeForResourceWithURL):
247         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
248
249         Get the MIMEType from the in-memory cache, or cachedResponseMIMETypeForURL() if not available:
250         * WebProcess/WebPage/WebFrame.cpp:
251         (WebKit::WebFrame::mimeTypeForResourceWithURL):
252         * WebProcess/WebPage/WebFrame.h:
253
254         Get the MIMEType from the platform's disk cache if available:
255         * WebProcess/WebPage/WebPage.h:
256         * WebProcess/WebPage/mac/WebPageMac.mm:
257         (WebKit::WebPage::cachedResponseMIMETypeForURL):
258         * WebProcess/WebPage/qt/WebPageQt.cpp:
259         (WebKit::WebPage::cachedResponseMIMETypeForURL):
260         * WebProcess/WebPage/win/WebPageWin.cpp:
261         (WebKit::WebPage::cachedResponseMIMETypeForURL):
262
263 2011-01-28  Anders Carlsson  <andersca@apple.com>
264
265         Reviewed by Sam Weinig.
266
267         Clean up the mess introduced when config.h was added to the project:
268
269         - Remove the contents of WebKit2Prefix.h that is now in config.h, to avoid including everything
270           twice in each file, probably slowing down compile time.
271
272         - Add config.h to all the files that were forgotten in order to keep the build from breaking.
273
274         - Added trap to ensure that config.h is included at the top of every implementation file. If this
275           had been added it would have caught the previous issue.
276
277 2011-01-28  Stephanie Lewis  <slewis@apple.com>
278
279         Reviewed by Geoff Garen.
280
281         <rdar://problem/8857651> Implement unregisterWorld for WebKit2
282         Rename unregisterWorld to clearWrappers.  Clearing the wrappers reduces the 
283         memory use of isolated worlds.
284
285         * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
286         (WKBundleScriptWorldClearWrappers):
287         * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h:
288         * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
289         (WebKit::InjectedBundleScriptWorld::clearWrappers):
290         * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
291
292 2011-01-28  Dan Bernstein  <mitz@apple.com>
293
294         Reviewed by Sam Weinig.
295
296         <select> can't display right-to-left (rtl) languages
297         https://bugs.webkit.org/show_bug.cgi?id=19785
298
299         * Shared/WebPopupItem.cpp:
300         (WebKit::WebPopupItem::WebPopupItem): Added initializers for m_textDirection and m_hasTextDirectionOverride.
301         (WebKit::WebPopupItem::encode): Encode the item's writing direction and direction override values.
302         (WebKit::WebPopupItem::decode): Decode the item's writing direction and direction override values.
303         * Shared/WebPopupItem.h:
304         * UIProcess/WebPageProxy.cpp:
305         (WebKit::WebPageProxy::showPopupMenu): Added a parameter for the menu's text direction.
306         * UIProcess/WebPageProxy.h:
307         * UIProcess/WebPageProxy.messages.in: Ditto.
308         * UIProcess/WebPopupMenuProxy.h:
309         * UIProcess/mac/WebPopupMenuProxyMac.h:
310         * UIProcess/mac/WebPopupMenuProxyMac.mm:
311         (WebKit::WebPopupMenuProxyMac::populate): Added a parameter for the menu's text direction.
312         Set items' text alignment to match the menu's writing direction. Set items' writing direction
313         and direction override according to their styles.
314         (WebKit::WebPopupMenuProxyMac::showPopupMenu): Set the pop-up's layout direction.
315         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
316         (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural): Changed to return false.
317         (WebKit::WebChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Added.
318         * WebProcess/WebCoreSupport/WebChromeClient.h:
319         * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
320         (WebKit::WebPopupMenu::populateItems): Initialize items' writing direction and direction override
321         values.
322         (WebKit::WebPopupMenu::show): Pass the menu's writing direction.
323
324 2011-01-28  Anders Carlsson  <andersca@apple.com>
325
326         Reviewed by Adam Roben.
327
328         Add ShareableSurface class
329         https://bugs.webkit.org/show_bug.cgi?id=53313
330
331         * Shared/mac/ShareableSurface.cpp: Added.
332         (WebKit::ShareableSurface::Handle::Handle):
333         Initialize the mach port.
334
335         (WebKit::ShareableSurface::Handle::~Handle):
336         Deallocate our send right if needed.
337
338         (WebKit::ShareableSurface::Handle::encode):
339         Encode the send right, and then null it out.
340
341         (WebKit::ShareableSurface::Handle::decode):
342         Decode the send right.
343         
344         (WebKit::createIOSurface):
345         Create an IOSurface with the given size.
346
347         (WebKit::ShareableSurface::create):
348         Create an IOSurface, either from a size or from a handle.
349
350         (WebKit::ShareableSurface::~ShareableSurface):
351         Delete the texture and framebuffer.
352
353         (WebKit::ShareableSurface::createHandle):
354         Create a mach port from the surface.
355
356         (WebKit::ShareableSurface::attach):
357         Create an FBO if needed and bind it.
358
359         (WebKit::ShareableSurface::detach):
360         Unbind the FBO.
361
362         (WebKit::ShareableSurface::textureID):
363         Generate a new texture and bind it to the IOSurface.
364
365         * Shared/mac/ShareableSurface.h: Added.
366
367         * WebKit2.xcodeproj/project.pbxproj:
368         Add new files.
369
370 2011-01-27  Adam Roben  <aroben@apple.com>
371
372         Change BinarySemaphore to wrap an auto-reset Win32 event on Windows
373
374         Fixes <http://webkit.org/b/53208> <rdar://problem/8922490>.
375
376         Reviewed by Dave Hyatt.
377
378         * Platform/CoreIPC/BinarySemaphore.cpp: Wrap this implementation in #if !PLATFORM(WIN).
379
380         * Platform/CoreIPC/BinarySemaphore.h: Make the Windows implementation have a single HANDLE
381         member that holds the event.
382
383         * Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Copied from Source/WebKit2/Platform/CoreIPC/BinarySemaphore.cpp.
384         (CoreIPC::BinarySemaphore::BinarySemaphore): Create our event.
385         (CoreIPC::BinarySemaphore::~BinarySemaphore): Destory our event.
386         (CoreIPC::BinarySemaphore::signal): Signal the event.
387         (CoreIPC::BinarySemaphore::wait): Convert the absolute time to a wait interval, then wait
388         for the event to be signaled or for the interval to elapse.
389
390         * win/WebKit2.vcproj: Added BinarySemaphoreWin.cpp. Also let VS have its way with the file.
391
392 2011-01-27  Chris Marrin  <cmarrin@apple.com>
393
394         Reviewed by Anders Carlsson.
395
396         WebKit2: Page flashes just before accelerated compositing animation
397         https://bugs.webkit.org/show_bug.cgi?id=53274
398
399         When switching out of compositing mode, the new ChunkedUpdateDrawingAreaProxy
400         is getting created with the current page size. When the setSize() call is
401         subsequently made, the sizeDidChange() call is not made (which does the initial
402         render of the page) because the old size and new size are the same. The solution
403         is to skip the setting of the size in the ctor and let it go through a size
404         change sequence.
405
406         * UIProcess/DrawingAreaProxy.cpp:
407         (WebKit::DrawingAreaProxy::DrawingAreaProxy):
408
409 2011-01-28  Alejandro G. Castro  <alex@igalia.com>
410
411         Reviewed by Xan Lopez.
412
413         [GTK] Fix dist compilation for the release
414         https://bugs.webkit.org/show_bug.cgi?id=53290
415
416         * GNUmakefile.am: Remove a file that is not in the repository
417         anymore.
418
419
420 2011-01-28  Andreas Kling  <kling@webkit.org>
421
422         Rubber-stamped by Simon Hausmann.
423
424         [Qt][WK2] Combine QWKPage::engine{Connected,Disconnected} into one signal.
425
426         Having two signals for this is redundant, combine them into
427         QWKPage::engineConnectionChanged(bool connected).
428
429         * UIProcess/API/qt/qwkpage.cpp:
430         (QWKPagePrivate::didRelaunchProcess):
431         (QWKPagePrivate::processDidCrash):
432         * UIProcess/API/qt/qwkpage.h:
433
434 2011-01-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
435
436         Reviewed by Maciej Stachowiak.
437
438         Build fix for Mac Intel Debug after r76916
439         https://bugs.webkit.org/show_bug.cgi?id=53284
440
441         Fix macro redefinition by guarding the redefined macros.
442
443         * config.h:
444
445 2011-01-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
446
447         Unreviewed build fix for Mac Intel Debug after r76916.
448
449         Fix macro redefinition by guarding the redefined macros.
450
451         Check if the macro is already defined before defininig it.
452         c++config.h has the same macros with the same values.
453
454         * config.h:
455
456 2011-01-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
457
458         Reviewed by Adam Barth.
459
460         Update the expected results for test-webkitpy after r76916.
461
462         Include "config.h" in the expected results as well.
463
464         * Scripts/webkit2/messages_unittest.py:
465
466 2011-01-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
467
468         Unreviewed buildfix for SnowLeopard Intel Debug.
469
470         Fix macro redefinition by not including config.h.
471
472         Revert previous change in WebPageProxyCF.cpp.
473
474         * UIProcess/cf/WebPageProxyCF.cpp:
475
476 2011-01-27  Greg Coletta  <greg.coletta@nokia.com>
477
478         Reviewed by Laszlo Gombos.
479
480         Get rid of prefix header dependency for WebKit2 build system.
481         https://bugs.webkit.org/show_bug.cgi?id=50174
482
483         Add config.h include explicitelly.
484
485         * Platform/CoreIPC/ArgumentDecoder.cpp:
486         * Platform/CoreIPC/ArgumentEncoder.cpp:
487         * Platform/CoreIPC/Attachment.cpp:
488         * Platform/CoreIPC/BinarySemaphore.cpp:
489         * Platform/CoreIPC/Connection.cpp:
490         * Platform/CoreIPC/DataReference.cpp:
491         * Platform/CoreIPC/gtk/ConnectionGtk.cpp:
492         * Platform/CoreIPC/mac/ConnectionMac.cpp:
493         * Platform/CoreIPC/qt/ConnectionQt.cpp:
494         * Platform/CoreIPC/win/ConnectionWin.cpp:
495         * Platform/Logging.cpp:
496         * Platform/Module.cpp:
497         * Platform/Region.cpp:
498         * Platform/RunLoop.cpp:
499         * Platform/WorkQueue.cpp:
500         * Platform/cg/CGUtilities.cpp:
501         * Platform/gtk/RunLoopGtk.cpp:
502         * Platform/gtk/SharedMemoryGtk.cpp:
503         * Platform/gtk/WorkQueueGtk.cpp:
504         * Platform/mac/MachUtilities.cpp:
505         * Platform/mac/SharedMemoryMac.cpp:
506         * Platform/mac/WorkQueueMac.cpp:
507         * Platform/qt/MappedMemoryPool.cpp:
508         * Platform/qt/ModuleQt.cpp:
509         * Platform/qt/RunLoopQt.cpp:
510         * Platform/qt/WorkQueueQt.cpp:
511         * Platform/win/ModuleWin.cpp:
512         * Platform/win/RunLoopWin.cpp:
513         * Platform/win/SharedMemoryWin.cpp:
514         * Platform/win/WorkQueueWin.cpp:
515         * PluginProcess/PluginControllerProxy.cpp:
516         * PluginProcess/PluginProcess.cpp:
517         * PluginProcess/WebProcessConnection.cpp:
518         * Scripts/webkit2/messages.py:
519         * Shared/API/c/WKArray.cpp:
520         * Shared/API/c/WKCertificateInfo.cpp:
521         * Shared/API/c/WKContextMenuItem.cpp:
522         * Shared/API/c/WKData.cpp:
523         * Shared/API/c/WKDictionary.cpp:
524         * Shared/API/c/WKError.cpp:
525         * Shared/API/c/WKImage.cpp:
526         * Shared/API/c/WKMutableArray.cpp:
527         * Shared/API/c/WKMutableDictionary.cpp:
528         * Shared/API/c/WKNumber.cpp:
529         * Shared/API/c/WKSecurityOrigin.cpp:
530         * Shared/API/c/WKSerializedScriptValue.cpp:
531         * Shared/API/c/WKString.cpp:
532         * Shared/API/c/WKType.cpp:
533         * Shared/API/c/WKURL.cpp:
534         * Shared/API/c/WKURLRequest.cpp:
535         * Shared/API/c/WKURLResponse.cpp:
536         * Shared/API/c/WKUserContentURLPattern.cpp:
537         * Shared/API/c/cf/WKStringCF.cpp:
538         * Shared/API/c/cf/WKURLCF.cpp:
539         * Shared/API/c/cf/WKURLRequestCF.cpp:
540         * Shared/API/c/cf/WKURLResponseCF.cpp:
541         * Shared/API/c/cg/WKImageCG.cpp:
542         * Shared/API/c/win/WKCertificateInfoWin.cpp:
543         * Shared/ChildProcess.cpp:
544         * Shared/ImmutableArray.cpp:
545         * Shared/ImmutableDictionary.cpp:
546         * Shared/MutableArray.cpp:
547         * Shared/MutableDictionary.cpp:
548         * Shared/OriginAndDatabases.cpp:
549         * Shared/PlatformPopupMenuData.cpp:
550         * Shared/Plugins/NPIdentifierData.cpp:
551         * Shared/Plugins/NPObjectMessageReceiver.cpp:
552         * Shared/Plugins/NPObjectProxy.cpp:
553         * Shared/Plugins/NPRemoteObjectMap.cpp:
554         * Shared/Plugins/NPVariantData.cpp:
555         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
556         * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
557         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
558         * Shared/Plugins/PluginProcessCreationParameters.cpp:
559         * Shared/PrintInfo.cpp:
560         * Shared/SessionState.cpp:
561         * Shared/ShareableBitmap.cpp:
562         * Shared/UpdateInfo.cpp:
563         * Shared/VisitedLinkTable.cpp:
564         * Shared/WebBackForwardListItem.cpp:
565         * Shared/WebContextMenuItem.cpp:
566         * Shared/WebContextMenuItemData.cpp:
567         * Shared/WebError.cpp:
568         * Shared/WebEvent.cpp:
569         * Shared/WebEventConversion.cpp:
570         * Shared/WebGeolocationPosition.cpp:
571         * Shared/WebImage.cpp:
572         * Shared/WebKeyboardEvent.cpp:
573         * Shared/WebMemorySampler.cpp:
574         * Shared/WebMouseEvent.cpp:
575         * Shared/WebOpenPanelParameters.cpp:
576         * Shared/WebPageCreationParameters.cpp:
577         * Shared/WebPageGroupData.cpp:
578         * Shared/WebPlatformTouchPoint.cpp:
579         * Shared/WebPopupItem.cpp:
580         * Shared/WebPreferencesStore.cpp:
581         * Shared/WebProcessCreationParameters.cpp:
582         * Shared/WebTouchEvent.cpp:
583         * Shared/WebURLRequest.cpp:
584         * Shared/WebURLResponse.cpp:
585         * Shared/WebWheelEvent.cpp:
586         * Shared/cairo/ShareableBitmapCairo.cpp:
587         * Shared/cf/ArgumentCodersCF.cpp:
588         * Shared/cg/ShareableBitmapCG.cpp:
589         * Shared/gtk/ShareableBitmapGtk.cpp:
590         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
591         * Shared/mac/CommandLineMac.cpp:
592         * Shared/mac/UpdateChunk.cpp:
593         * Shared/qt/CleanupHandler.cpp:
594         * Shared/qt/NativeWebKeyboardEventQt.cpp:
595         * Shared/qt/ShareableBitmapQt.cpp:
596         * Shared/qt/UpdateChunk.cpp:
597         * Shared/qt/WebCoreArgumentCodersQt.cpp:
598         * Shared/qt/WebEventFactoryQt.cpp:
599         * Shared/qt/WebURLRequestQt.cpp:
600         * Shared/qt/WebURLResponseQt.cpp:
601         * Shared/win/CommandLineWin.cpp:
602         * Shared/win/NativeWebKeyboardEventWin.cpp:
603         * Shared/win/PlatformCertificateInfo.cpp:
604         * Shared/win/UpdateChunk.cpp:
605         * Shared/win/WebCoreArgumentCodersWin.cpp:
606         * Shared/win/WebEventFactory.cpp:
607         * Shared/win/WebURLRequestWin.cpp:
608         * Shared/win/WebURLResponseWin.cpp:
609         * UIProcess/API/C/WKAuthenticationChallenge.cpp:
610         * UIProcess/API/C/WKAuthenticationDecisionListener.cpp:
611         * UIProcess/API/C/WKBackForwardList.cpp:
612         * UIProcess/API/C/WKBackForwardListItem.cpp:
613         * UIProcess/API/C/WKContext.cpp:
614         * UIProcess/API/C/WKCredential.cpp:
615         * UIProcess/API/C/WKDatabaseManager.cpp:
616         * UIProcess/API/C/WKDownload.cpp:
617         * UIProcess/API/C/WKFormSubmissionListener.cpp:
618         * UIProcess/API/C/WKFrame.cpp:
619         * UIProcess/API/C/WKFramePolicyListener.cpp:
620         * UIProcess/API/C/WKGeolocationManager.cpp:
621         * UIProcess/API/C/WKGeolocationPermissionRequest.cpp:
622         * UIProcess/API/C/WKGeolocationPosition.cpp:
623         * UIProcess/API/C/WKInspector.cpp:
624         * UIProcess/API/C/WKNavigationData.cpp:
625         * UIProcess/API/C/WKOpenPanelParameters.cpp:
626         * UIProcess/API/C/WKOpenPanelResultListener.cpp:
627         * UIProcess/API/C/WKPage.cpp:
628         * UIProcess/API/C/WKPageGroup.cpp:
629         * UIProcess/API/C/WKPreferences.cpp:
630         * UIProcess/API/C/WKProtectionSpace.cpp:
631         * UIProcess/API/C/win/WKContextWin.cpp:
632         * UIProcess/API/C/win/WKView.cpp:
633         * UIProcess/API/C/win/WKViewPrivate.cpp:
634         * UIProcess/API/cpp/qt/WKStringQt.cpp:
635         * UIProcess/API/cpp/qt/WKURLQt.cpp:
636         * UIProcess/API/qt/ClientImpl.cpp:
637         * UIProcess/API/qt/qgraphicswkview.cpp:
638         * UIProcess/API/qt/qwkcontext.cpp:
639         * UIProcess/API/qt/qwkpage.cpp:
640         * UIProcess/API/qt/qwkpreferences.cpp:
641         * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
642         * UIProcess/Authentication/AuthenticationDecisionListener.cpp:
643         * UIProcess/Authentication/WebCredential.cpp:
644         * UIProcess/Authentication/WebProtectionSpace.cpp:
645         * UIProcess/BackingStore.cpp:
646         * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
647         * UIProcess/Downloads/DownloadProxy.cpp:
648         * UIProcess/DrawingAreaProxy.cpp:
649         * UIProcess/DrawingAreaProxyImpl.cpp:
650         * UIProcess/FindIndicator.cpp:
651         * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
652         * UIProcess/GeolocationPermissionRequestProxy.cpp:
653         * UIProcess/Launcher/ProcessLauncher.cpp:
654         * UIProcess/Launcher/ThreadLauncher.cpp:
655         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
656         * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp:
657         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
658         * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
659         * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
660         * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
661         * UIProcess/LayerBackedDrawingAreaProxy.cpp:
662         * UIProcess/Plugins/PluginInfoStore.cpp:
663         * UIProcess/Plugins/PluginProcessManager.cpp:
664         * UIProcess/Plugins/PluginProcessProxy.cpp:
665         * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:
666         * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
667         * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
668         * UIProcess/ResponsivenessTimer.cpp:
669         * UIProcess/TiledDrawingAreaProxy.cpp:
670         * UIProcess/VisitedLinkProvider.cpp:
671         * UIProcess/WebBackForwardList.cpp:
672         * UIProcess/WebContext.cpp:
673         * UIProcess/WebContextInjectedBundleClient.cpp:
674         * UIProcess/WebContextMenuProxy.cpp:
675         * UIProcess/WebDatabaseManagerProxy.cpp:
676         * UIProcess/WebDatabaseManagerProxyClient.cpp:
677         * UIProcess/WebDownloadClient.cpp:
678         * UIProcess/WebEditCommandProxy.cpp:
679         * UIProcess/WebFindClient.cpp:
680         * UIProcess/WebFormClient.cpp:
681         * UIProcess/WebFormSubmissionListenerProxy.cpp:
682         * UIProcess/WebFrameListenerProxy.cpp:
683         * UIProcess/WebFramePolicyListenerProxy.cpp:
684         * UIProcess/WebFrameProxy.cpp:
685         * UIProcess/WebGeolocationManagerProxy.cpp:
686         * UIProcess/WebGeolocationProvider.cpp:
687         * UIProcess/WebHistoryClient.cpp:
688         * UIProcess/WebInspectorProxy.cpp:
689         * UIProcess/WebLoaderClient.cpp:
690         * UIProcess/WebNavigationData.cpp:
691         * UIProcess/WebOpenPanelResultListenerProxy.cpp:
692         * UIProcess/WebPageContextMenuClient.cpp:
693         * UIProcess/WebPageGroup.cpp:
694         * UIProcess/WebPageProxy.cpp:
695         * UIProcess/WebPolicyClient.cpp:
696         * UIProcess/WebPreferences.cpp:
697         * UIProcess/WebProcessManager.cpp:
698         * UIProcess/WebProcessProxy.cpp:
699         * UIProcess/WebResourceLoadClient.cpp:
700         * UIProcess/WebUIClient.cpp:
701         * UIProcess/cf/WebBackForwardListCF.cpp:
702         * UIProcess/cf/WebPageProxyCF.cpp:
703         * UIProcess/cf/WebPreferencesCF.cpp:
704         * UIProcess/gtk/TextCheckerGtk.cpp:
705         * UIProcess/gtk/WebInspectorGtk.cpp:
706         * UIProcess/gtk/WebPageProxyGtk.cpp:
707         * UIProcess/gtk/WebPreferencesGtk.cpp:
708         * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
709         * UIProcess/qt/TextCheckerQt.cpp:
710         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
711         * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
712         * UIProcess/qt/WebContextMenuProxyQt.cpp:
713         * UIProcess/qt/WebContextQt.cpp:
714         * UIProcess/qt/WebInspectorProxyQt.cpp:
715         * UIProcess/qt/WebPageProxyQt.cpp:
716         * UIProcess/qt/WebPopupMenuProxyQt.cpp:
717         * UIProcess/qt/WebPreferencesQt.cpp:
718         * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp:
719         * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp:
720         * UIProcess/win/TextCheckerWin.cpp:
721         * UIProcess/win/WebContextMenuProxyWin.cpp:
722         * UIProcess/win/WebContextWin.cpp:
723         * UIProcess/win/WebInspectorProxyWin.cpp:
724         * UIProcess/win/WebPageProxyWin.cpp:
725         * UIProcess/win/WebPopupMenuProxyWin.cpp:
726         * UIProcess/win/WebView.cpp:
727         * WebKit2.xcodeproj/project.pbxproj:
728         * WebProcess/Authentication/AuthenticationManager.cpp:
729         * WebProcess/Downloads/Download.cpp:
730         * WebProcess/Downloads/DownloadManager.cpp:
731         * WebProcess/Downloads/cf/DownloadCFNet.cpp:
732         * WebProcess/Downloads/curl/DownloadCurl.cpp:
733         * WebProcess/Downloads/qt/DownloadQt.cpp:
734         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
735         * WebProcess/Geolocation/WebGeolocationManager.cpp:
736         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
737         * WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.cpp:
738         * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
739         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
740         * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
741         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
742         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
743         * WebProcess/InjectedBundle/API/c/WKBundlePageGroup.cpp:
744         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
745         * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
746         * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
747         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
748         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
749         * WebProcess/InjectedBundle/InjectedBundle.cpp:
750         * WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp:
751         * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
752         * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
753         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
754         * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
755         * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
756         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
757         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
758         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
759         * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
760         * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
761         * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
762         * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
763         * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
764         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
765         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
766         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
767         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
768         * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
769         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
770         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
771         * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
772         * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
773         * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
774         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
775         * WebProcess/Plugins/Plugin.cpp:
776         * WebProcess/Plugins/PluginProcessConnection.cpp:
777         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
778         * WebProcess/Plugins/PluginProxy.cpp:
779         * WebProcess/Plugins/PluginView.cpp:
780         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
781         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
782         * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
783         * WebProcess/WebCoreSupport/WebDragClient.cpp:
784         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
785         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
786         * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
787         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
788         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
789         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
790         * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
791         * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
792         * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp:
793         * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp:
794         * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp:
795         * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
796         * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
797         * WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp:
798         * WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp:
799         * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
800         * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
801         * WebProcess/WebKitMain.cpp:
802         * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
803         * WebProcess/WebPage/DecoderAdapter.cpp:
804         * WebProcess/WebPage/DrawingArea.cpp:
805         * WebProcess/WebPage/DrawingAreaImpl.cpp:
806         * WebProcess/WebPage/EncoderAdapter.cpp:
807         * WebProcess/WebPage/FindController.cpp:
808         * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
809         * WebProcess/WebPage/PageOverlay.cpp:
810         * WebProcess/WebPage/TiledDrawingArea.cpp:
811         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
812         * WebProcess/WebPage/WebContextMenu.cpp:
813         * WebProcess/WebPage/WebEditCommand.cpp:
814         * WebProcess/WebPage/WebFrame.cpp:
815         * WebProcess/WebPage/WebInspector.cpp:
816         * WebProcess/WebPage/WebOpenPanelResultListener.cpp:
817         * WebProcess/WebPage/WebPage.cpp:
818         * WebProcess/WebPage/WebPageGroupProxy.cpp:
819         * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
820         * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp:
821         * WebProcess/WebPage/qt/ChunkedUpdateDrawingAreaQt.cpp:
822         * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp:
823         * WebProcess/WebPage/qt/WebInspectorQt.cpp:
824         * WebProcess/WebPage/qt/WebPageQt.cpp:
825         * WebProcess/WebPage/win/ChunkedUpdateDrawingAreaWin.cpp:
826         * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp:
827         * WebProcess/WebPage/win/WebInspectorWin.cpp:
828         * WebProcess/WebPage/win/WebPageWin.cpp:
829         * WebProcess/WebProcess.cpp:
830         * WebProcess/gtk/WebProcessGtk.cpp:
831         * WebProcess/gtk/WebProcessMainGtk.cpp:
832         * WebProcess/qt/WebProcessMainQt.cpp:
833         * WebProcess/qt/WebProcessQt.cpp:
834         * WebProcess/win/WebProcessMainWin.cpp:
835         * WebProcess/win/WebProcessWin.cpp:
836         * config.h: Copied from Source/WebKit2/WebKit2Prefix.h.
837         * win/WebKit2Common.vsprops:
838
839 2011-01-27  Maciej Stachowiak  <mjs@apple.com>
840
841         Reviewed by Darin Adler.
842
843         execCommand("Paste") doesn't work in WebKitTestRunner
844         https://bugs.webkit.org/show_bug.cgi?id=52785
845         
846         Thread through the new JavaScriptCanAccessClipboard setting.
847
848         * Shared/WebPreferencesStore.h:
849         * UIProcess/API/C/WKPreferences.cpp:
850         (WKPreferencesSetJavaScriptCanAccessClipboard):
851         (WKPreferencesGetJavaScriptCanAccessClipboard):
852         * UIProcess/API/C/WKPreferences.h:
853         * WebProcess/WebPage/WebPage.cpp:
854         (WebKit::WebPage::updatePreferences):
855
856 2011-01-27  Nate Chapin  <japhet@chromium.org>
857
858         Reviewed by Adam Barth.
859
860         Use Document::url() instead of FrameLoader::url().
861         https://bugs.webkit.org/show_bug.cgi?id=41165
862
863         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
864         (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
865         (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
866         (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
867         (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
868         * WebProcess/WebPage/WebFrame.cpp:
869         (WebKit::WebFrame::url):
870
871 2011-01-27  Sam Weinig  <sam@webkit.org>
872
873         Reviewed by Anders Carlsson.
874
875         Encode/Decode hasPreciseScrollingDeltas bit in WebWheelEvent
876         https://bugs.webkit.org/show_bug.cgi?id=53254
877
878         * Shared/WebWheelEvent.cpp:
879         (WebKit::WebWheelEvent::WebWheelEvent):
880         Initialize m_phase and m_hasPreciseScrollingDeltas.
881
882         (WebKit::WebWheelEvent::encode):
883         (WebKit::WebWheelEvent::decode):
884         Add missing coding for m_hasPreciseScrollingDeltas.
885
886 2011-01-26  Enrica Casucci  <enrica@apple.com>
887
888         Reviewed by Darin Adler and Adam Roben.
889
890         WebKit2: add support for drag and drop on Windows
891         https://bugs.webkit.org/show_bug.cgi?id=52775
892         <rdar://problem/8514409>
893
894         On Windows the access to the content being dragged is
895         provided via the IDataObject interface that is made available
896         to the window that registers itself as drop target.
897         Since this interface cannot be accessed from the WebProcess,
898         in every call to one of the methods of the IDropTarget interface
899         we serialize the content of the drag clipboard and send it over to
900         the WebProcess. The implementation uses the same messages as the
901         Mac one, with slightly different parameters to pass the serialized
902         clipboard.
903
904         * UIProcess/WebPageProxy.cpp:
905         (WebKit::WebPageProxy::performDragControllerAction): Added Windows
906         specific implementation.
907         * UIProcess/WebPageProxy.h:
908         * UIProcess/win/WebView.cpp:
909         (WebKit::WebView::WebView): Added dropTargetHelper object creation.
910         (WebKit::WebView::initialize): Added to register for drag/drop with out
911         refcount issues.
912         (WebKit::WebView::close):
913         (WebKit::WebView::windowReceivedMessage):
914         (WebKit::WebView::QueryInterface):
915         (WebKit::WebView::AddRef):
916         (WebKit::WebView::Release):
917         (WebKit::dragOperationToDragCursor):
918         (WebKit::WebView::keyStateToDragOperation):
919         (WebKit::WebView::DragEnter):
920         (WebKit::WebView::DragOver):
921         (WebKit::WebView::DragLeave):
922         (WebKit::WebView::Drop):
923         * UIProcess/win/WebView.h:
924         (WebKit::WebView::create):
925         * WebProcess/WebPage/WebPage.cpp:
926         (WebKit::WebPage::performDragControllerAction):
927         * WebProcess/WebPage/WebPage.h:
928         * WebProcess/WebPage/WebPage.messages.in:
929
930 2011-01-26  Alexey Proskuryakov  <ap@apple.com>
931
932         Reviewed by Darin Adler.
933
934         https://bugs.webkit.org/show_bug.cgi?id=53197
935         <rdar://problem/8895682> Make WebKit2 printing asynchronous
936
937         <rdar://problem/8899988> REGRESSION(WebKit2): Attempting to print WHATWG HTML spec shows
938         1-page blank preview
939
940         <rdar://problem/8900078> WebKit2 printing has a separate message exchange per page when
941         printing instead of printing all at once
942
943         * UIProcess/API/mac/WKPrintingView.h: Store a lot more cached information.
944
945         * UIProcess/API/mac/WKPrintingView.mm:
946         (-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]): Use PrintOperation stored in
947         class. We generally want that now, because current operation will not be set up on other threads.
948         (-[WKPrintingView _isPrintingPreview]): Added. Preview is different, because it can draw
949         a placeholder - but actual printing need to wait until UI process has data.
950         (-[WKPrintingView _updatePreview]): Force AppKit to update print preview when we have real
951         data to replace placeholder with.
952         (-[WKPrintingView _hasPageRects]): Return if page rects have already been computed.
953         (-[WKPrintingView _expectedPreviewCallbackForRect:]): Find an existing request for this rect,
954         if any.
955         (pageDidDrawToPDF): Update preview - or if actually printing, release control to printing thread.
956         (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): Ask for a PDF document with
957         pages the user asked to print.
958         (pageDidComputePageRects): When web process returns page geometry data, we update preview to display
959         a page count (which indirectly triggers a request for a preview). When actually printing,
960         request a PDF right away, we'll need it later.
961         (-[WKPrintingView _askPageToComputePageRects]): Ask web process for page geometry.
962         (prepareDataForPrintingOnSecondaryThread): This function starts preparing all data necessary
963         for actual printing on main thread.
964         (-[WKPrintingView knowsPageRange:]): Changed to be async for preview, and to call main
965         thread for actual printing.
966         (-[WKPrintingView _pageForRect:]): Find page number for a given range, assuming that AppKit
967         always asks for full pages.
968         (-[WKPrintingView _drawPDFDocument:page:atPoint:]): A helper function to draw a PDF document.
969         (-[WKPrintingView _drawPreview:]): Draw the whole page for preview.
970         (-[WKPrintingView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
971         Draw the whole page for actual printing.
972         (-[WKPrintingView _drawPageBorderWithSizeOnMainThread:]): Call drawPageBorderWithSize: with
973         correct graphics context and print operation.
974         (-[WKPrintingView drawPageBorderWithSize:]): Delegate work to main thread when called from a
975         secondary one.
976         (-[WKPrintingView _provideTotalScaleFactorForPrintOperation:]): Added an assertion that
977         our stored NSPrintOperation isn't out of sync with reality.
978         (-[WKPrintingView rectForPage:]): Handle the case where we don't have the data yet, drawing
979         a placeholder.
980         (-[WKPrintingView endDocument]): When page setup changes, we must reset all state.
981
982         * UIProcess/API/mac/WKView.mm: (-[WKView printOperationWithPrintInfo:forFrame:]): Tell
983         NSPrintingView which operation it's serving, so that it knows it even when current operation
984         isn't set.
985
986         * UIProcess/GenericCallback.h:
987         (WebKit::ComputedPagesCallback::create):
988         (WebKit::ComputedPagesCallback::~ComputedPagesCallback):
989         (WebKit::ComputedPagesCallback::performCallbackWithReturnValue):
990         (WebKit::ComputedPagesCallback::invalidate):
991         (WebKit::ComputedPagesCallback::callbackID):
992         (WebKit::ComputedPagesCallback::generateCallbackID):
993         (WebKit::ComputedPagesCallback::ComputedPagesCallback):
994         Added ComputedPagesCallback, which returns a vector of IntRects and a double. Hopefully,
995         it will become a specialization of GenericCallback one day.
996
997         * UIProcess/WebPageProxy.cpp:
998         (WebKit::WebPageProxy::close): Added m_voidCallbacks - it looks like they were omitted
999         by accident.
1000         (WebKit::WebPageProxy::computedPagesCallback): Added.
1001         (WebKit::WebPageProxy::processDidCrash): Added m_computedPagesCallbacks.
1002         (WebKit::WebPageProxy::computePagesForPrinting): Async now!
1003         (WebKit::WebPageProxy::drawRectToPDF): Ditto.
1004         (WebKit::WebPageProxy::drawPagesToPDF): Added.
1005         * UIProcess/WebPageProxy.h:
1006
1007         * UIProcess/WebPageProxy.messages.in: Added ComputedPagesCallback.
1008
1009         * WebProcess/WebPage/WebPage.cpp:
1010         (WebKit::WebPage::beginPriting): Compute page rects right away - we'll need them in
1011         drawPagesToPDF(), which doesn't have a PrintInfo.
1012         (WebKit::WebPage::computePagesForPrinting): Send async response.
1013         (WebKit::WebPage::drawRectToPDF): This function used to draw into original
1014         location at frame coordinates, and now it draws at (0, 0).
1015         (WebKit::WebPage::drawPagesToPDF): Added - make a multi-page PDF.
1016         * WebProcess/WebPage/WebPage.h:
1017
1018         * WebProcess/WebPage/WebPage.messages.in: Added DrawPagesToPDF.
1019
1020 2011-01-27  Alejandro G. Castro  <alex@igalia.com>
1021
1022         Unreviewed GTK build fix after r76797.
1023
1024         * Shared/WebPreferencesStore.h: Use Qt fonts preference for the moment.
1025
1026 2011-01-27  Dan Bernstein  <mitz@apple.com>
1027
1028         Reviewed by Anders Carlsson.
1029
1030         Allow pop-up menus to contain multiple items that have the same title.
1031
1032         * UIProcess/mac/WebPopupMenuProxyMac.mm:
1033         (WebKit::WebPopupMenuProxyMac::populate): Set the item’s title after adding it rather than
1034         when adding it, so that it will not replace any existing item with the same title.
1035
1036 2011-01-27  Andreas Kling  <kling@webkit.org>
1037
1038         Reviewed by Kenneth Rohde Christiansen.
1039
1040         [Qt][WK2] Add QWKPage APIs regarding engine process availability
1041         https://bugs.webkit.org/show_bug.cgi?id=53237
1042
1043         QWKPage will now emit engineConnected() and engineDisconnected()
1044         when the web process crashes and is relaunched respectively.
1045
1046         Also added QWKPage::isConnectedToEngine() for convenience.
1047
1048         * UIProcess/API/qt/qwkpage.cpp:
1049         (QWKPagePrivate::QWKPagePrivate):
1050         (QWKPagePrivate::didRelaunchProcess):
1051         (QWKPagePrivate::processDidCrash):
1052         (QWKPage::isConnectedToEngine):
1053         * UIProcess/API/qt/qwkpage.h:
1054         * UIProcess/API/qt/qwkpage_p.h:
1055
1056 2011-01-27  Balazs Kelemen  <kbalazs@webkit.org>
1057
1058         Reviewed by Andreas Kling.
1059
1060         [Qt][WK2] Lots of layout test failures due to wrong font type
1061         https://bugs.webkit.org/show_bug.cgi?id=53233
1062
1063         * Shared/WebPreferencesStore.h:
1064         Specialize default font families for Qt.
1065
1066 2011-01-26  Maciej Stachowiak  <mjs@apple.com>
1067
1068         Reviewed by Dan Bernstein.
1069
1070         WebKitTestRunner needs to support layoutTestController.evaluateInWebInspector
1071         https://bugs.webkit.org/show_bug.cgi?id=42319
1072
1073         Add WKBundleInspector and APIs needed to implement WebKitTestRunner APIs.
1074         
1075         * GNUmakefile.am:
1076         * Shared/API/c/WKBase.h:
1077         * Shared/APIObject.h:
1078         * WebKit2.pro:
1079         * WebKit2.xcodeproj/project.pbxproj:
1080         * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
1081         * WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp: Added.
1082         (WKBundleInspectorGetTypeID):
1083         (WKBundleInspectorShow):
1084         (WKBundleInspectorClose):
1085         (WKBundleInspectorEvaluateScriptForTest):
1086         (WKBundleInspectorSetPageProfilingEnabled):
1087         * WebProcess/InjectedBundle/API/c/WKBundleInspector.h: Added.
1088         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1089         (WKBundlePageGetInspector):
1090         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1091         * WebProcess/WebPage/WebInspector.cpp:
1092         (WebKit::WebInspector::create):
1093         (WebKit::WebInspector::evaluateScriptForTest):
1094         * WebProcess/WebPage/WebInspector.h:
1095         (WebKit::WebInspector::type):
1096         * WebProcess/WebPage/WebPage.cpp:
1097         (WebKit::WebPage::inspector):
1098         * WebProcess/WebPage/WebPage.h:
1099         * win/WebKit2.vcproj:
1100         * win/WebKit2Generated.make:
1101
1102 2011-01-26  David Kilzer  <ddkilzer@apple.com>
1103
1104         <http://webkit.org/b/53192> Add experimental support for HTTP pipelining in CFNetwork
1105         <rdar://problem/8821760>
1106
1107         Reviewed by Antti Koivisto.
1108
1109         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1110         (InitWebCoreSystemInterface): Added initialization for
1111         GetHTTPPipeliningPriority and SetHTTPPipeliningPriority.
1112
1113 2011-01-26  Beth Dakin  <bdakin@apple.com>
1114
1115         Reviewed by Darin Adler.
1116
1117         Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics 
1118         when using WKScrollbars.
1119
1120         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1121         (InitWebCoreSystemInterface):
1122
1123 2011-01-26  Sam Weinig  <sam@webkit.org>
1124
1125         Reviewed by Maciej Stachowiak.
1126
1127         Add events to represent the start/end of a gesture scroll
1128         https://bugs.webkit.org/show_bug.cgi?id=53215
1129
1130         * Scripts/webkit2/messages.py:
1131         * Shared/WebEvent.h:
1132         (WebKit::WebGestureEvent::WebGestureEvent):
1133         (WebKit::WebGestureEvent::position):
1134         (WebKit::WebGestureEvent::globalPosition):
1135         * Shared/WebEventConversion.cpp:
1136         (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
1137         (WebKit::platform):
1138         * Shared/WebEventConversion.h:
1139         * Shared/WebGestureEvent.cpp: Added.
1140         (WebKit::WebGestureEvent::WebGestureEvent):
1141         (WebKit::WebGestureEvent::encode):
1142         (WebKit::WebGestureEvent::decode):
1143         (WebKit::WebGestureEvent::isGestureEventType):
1144         * Shared/mac/WebEventFactory.h:
1145         * Shared/mac/WebEventFactory.mm:
1146         (WebKit::gestureEventTypeForEvent):
1147         (WebKit::WebEventFactory::createWebGestureEvent):
1148         * UIProcess/API/mac/WKView.mm:
1149         (-[WKView shortCircuitedEndGestureWithEvent:]):
1150         (-[WKView beginGestureWithEvent:]):
1151         (-[WKView viewDidMoveToWindow]):
1152         * UIProcess/WebPageProxy.cpp:
1153         (WebKit::WebPageProxy::handleGestureEvent):
1154         (WebKit::WebPageProxy::didReceiveEvent):
1155         * UIProcess/WebPageProxy.h:
1156         * WebKit2.xcodeproj/project.pbxproj:
1157         * WebProcess/WebPage/WebPage.cpp:
1158         (WebKit::handleGestureEvent):
1159         (WebKit::WebPage::gestureEvent):
1160         * WebProcess/WebPage/WebPage.h:
1161         * WebProcess/WebPage/WebPage.messages.in:
1162         Pipe gesture events down to WebCore.
1163
1164 2011-01-26  Dan Bernstein  <mitz@apple.com>
1165
1166         Reviewed by Dave Hyatt.
1167
1168         <rdar://problem/8446709> Allow inter-ideograph justification for CJK
1169         https://bugs.webkit.org/show_bug.cgi?id=53184
1170
1171         * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
1172         (WebKit::WebPopupMenu::setUpPlatformData): Added a TrailingExpansionBehavior parameter to the
1173         RenderText constructor.
1174
1175 2011-01-26  Jing Jin  <jjin@apple.com>
1176
1177         Reviewed by Darin Adler.
1178
1179         Methods to temporarily disable size updates to the page drawing area in WKView.
1180         https://bugs.webkit.org/show_bug.cgi?id=53206
1181         Part of <rdar://problem/8818585>
1182
1183         * UIProcess/API/mac/WKView.h: Added _frameSizeUpdateDisabledCount.
1184         * UIProcess/API/mac/WKView.mm:
1185         (-[WKView setFrameSize:]): Only update page size if frame size updates are enabled.
1186         (-[WKView _setDrawingAreaSize:]): Helper method to set the page's drawing area's size.
1187         (-[WKView disableFrameSizeUpdates]): Increment _frameSizeUpdateDisabledCount
1188         (-[WKView enableFrameSizeUpdates]): Decrement _frameSizeUpdateDisabledCount, and if the count is 0, meaning
1189         that no one is disabling frame size updates anymore, update the drawing area's size to match the current frame.
1190         (-[WKView frameSizeUpdatesDisabled]): Returns YES if at least one caller is disabling frame size updates.
1191         * UIProcess/API/mac/WKViewInternal.h: Declared -disableFrameSizeUpdates, -enableFrameSizeUpdates, and -frameSizeUpdatesDisabled.
1192         * UIProcess/API/mac/WKViewPrivate.h: Added.
1193         * WebKit2.xcodeproj/project.pbxproj: Added WKViewPrivate.h
1194
1195 2011-01-26  Jing Jin  <jjin@apple.com>
1196
1197         Rubber-stamped by Dan Bernstein.
1198         
1199         Several WKView Internal category methods are implemented in the main category.
1200         https://bugs.webkit.org/show_bug.cgi?id=53195
1201
1202         * UIProcess/API/mac/WKView.mm:
1203         (-[WKView _setEventBeingResent:]): Moved into implementation of WKView (Internal).
1204         (-[WKView _interceptKeyEvent:]): Moved into implementation of WKView (Internal).
1205         (-[WKView _getTextInputState:selectionEnd:underlines:WebCore::]): Moved into implementation of WKView (Internal).
1206         (-[WKView _setAccessibilityChildToken:]): Moved into implementation of WKView (Internal).
1207
1208 2011-01-26  Brian Weinstein  <bweinstein@apple.com>
1209
1210         Reviewed by John Sullivan.
1211
1212         WebKit2: Need API to get the frame load state of a BundleFrame
1213         https://bugs.webkit.org/show_bug.cgi?id=53193
1214
1215         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1216         (WKBundleFrameGetFrameLoadState): Call through to the FrameLoader to get the frame load state.
1217         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
1218
1219 2011-01-25  Brian Weinstein  <bweinstein@apple.com>
1220
1221         Reviewed by Antti Koivisto.
1222
1223         Crashes loading pages when cancelling subresource loads through WebKit
1224         https://bugs.webkit.org/show_bug.cgi?id=53123
1225         <rdar://problem/8914361>
1226
1227         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1228         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): If our URL is null, return early instead of dispatching
1229             a message.
1230
1231 2011-01-25  Chris Fleizach  <cfleizach@apple.com>
1232
1233         Reviewed by Darin Adler.
1234
1235         WK2 leaks when a page is closed
1236         https://bugs.webkit.org/show_bug.cgi?id=53100
1237
1238         Allow the WKView a chance to clean up on a page close. In this case,
1239         cleaning up means removing the references the accessibility token has
1240         to the window.
1241
1242         * UIProcess/API/mac/PageClientImpl.h:
1243         * UIProcess/API/mac/PageClientImpl.mm:
1244         (WebKit::PageClientImpl::pageClosed):
1245         * UIProcess/API/mac/WKView.mm:
1246         (-[WKView _setRemoteAccessibilityWindow:]):
1247         (-[WKView _setAccessibilityChildToken:]):
1248         (-[WKView _processDidCrash]):
1249         (-[WKView _pageClosed]):
1250         * UIProcess/API/mac/WKViewInternal.h:
1251         * UIProcess/API/qt/qwkpage_p.h:
1252         (QWKPagePrivate::pageClosed):
1253         * UIProcess/PageClient.h:
1254         * UIProcess/WebPageProxy.cpp:
1255         (WebKit::WebPageProxy::close):
1256         * UIProcess/win/WebView.cpp:
1257         (WebKit::WebView::pageClosed):
1258         * UIProcess/win/WebView.h:
1259
1260 2011-01-25  Chris Marrin  <cmarrin@apple.com>
1261
1262         Reviewed by Adam Roben.
1263
1264         Expose WebGL flag set/get in WK2
1265         https://bugs.webkit.org/show_bug.cgi?id=53096
1266
1267         * Shared/WebPreferencesStore.h:
1268         * UIProcess/API/C/WKPreferences.cpp:
1269         (WKPreferencesSetWebGLEnabled):
1270         (WKPreferencesGetWebGLEnabled):
1271         * UIProcess/API/C/WKPreferencesPrivate.h:
1272         * WebProcess/WebPage/WebPage.cpp:
1273         (WebKit::WebPage::updatePreferences):
1274
1275 2011-01-25  Anders Carlsson  <andersca@apple.com>
1276
1277         Reviewed by Adam Roben.
1278
1279         Add and implement LayerTreeHost::scheduleLayerFlush
1280         https://bugs.webkit.org/show_bug.cgi?id=53135
1281
1282         * WebKit2.xcodeproj/project.pbxproj:
1283         Add LayerTreeHostMac.mm.
1284
1285         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1286         (WebKit::DrawingAreaImpl::scheduleCompositingLayerSync):
1287         Call LayerTreeHost::scheduleLayerFlush.
1288
1289         * WebProcess/WebPage/LayerTreeHost.cpp:
1290         (WebKit::LayerTreeHost::~LayerTreeHost):
1291         Call platformInvalidate().
1292
1293         (WebKit::LayerTreeHost::flushPendingLayerChanges):
1294         Rename from syncCompositingLayers.
1295
1296         * WebProcess/WebPage/mac/LayerTreeHostMac.mm: Added.
1297         (WebKit::LayerTreeHost::scheduleLayerFlush):
1298         Create a run loop observer if needed. This code is copied from LayerBackedDrawingAreaMac.mm
1299
1300         (WebKit::LayerTreeHost::platformInvalidate):
1301         Invalidate the run loop observer.
1302
1303         (WebKit::LayerTreeHost::flushPendingLayerChangesRunLoopObserverCallback):
1304         Call flushPendingChanges() and remove the run loop observer if it succeeded.
1305
1306 2011-01-25  Anders Carlsson  <andersca@apple.com>
1307
1308         Reviewed by Simon Fraser.
1309
1310         Add LayerTreeHost class
1311         https://bugs.webkit.org/show_bug.cgi?id=53132
1312
1313         * WebKit2.xcodeproj/project.pbxproj:
1314         Add LayerTreeHost files.
1315
1316         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1317         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
1318         Initialize m_layerTreeHost.
1319
1320         (WebKit::DrawingAreaImpl::setRootCompositingLayer):
1321         Call the m_layerTreeHost.
1322
1323         * WebProcess/WebPage/LayerTreeHost.cpp: Added.
1324         (WebKit::LayerTreeHost::attachRootCompositingLayer):
1325         (WebKit::LayerTreeHost::detachRootCompositingLayer):
1326         Add stubbed out functions.
1327
1328         (WebKit::LayerTreeHost::syncCompositingLayers):
1329         Sync the compositing layers in the main frame.
1330
1331         * WebProcess/WebPage/LayerTreeHost.h: Added.
1332
1333 2011-01-25  Steve Falkenburg  <sfalken@apple.com>
1334
1335         Rubber-stamped by Adam Roben.
1336
1337         Windows production build fix.
1338         Use correct environment variable escaping
1339
1340         * win/WebKit2.make:
1341         * win/WebKit2Generated.make:
1342
1343 2011-01-25  Anders Carlsson  <andersca@apple.com>
1344
1345         Reviewed by Sam Weinig.
1346
1347         Don't inform the UI process about compositing changes when using the new drawing area
1348         https://bugs.webkit.org/show_bug.cgi?id=53120
1349
1350         * WebProcess/WebPage/WebPage.cpp:
1351         (WebKit::WebPage::changeAcceleratedCompositingMode):
1352         Return early if we're using the new drawing area.
1353
1354         (WebKit::WebPage::exitAcceleratedCompositingMode):
1355         Call setRootCompositingLayer(0) so the drawing area knows when we leave accelerated compositing.
1356
1357 2011-01-25  Sam Weinig  <sam@webkit.org>
1358
1359         Reviewed by Anders Carlsson.
1360
1361         Pipe a timestamp down into the PlatformWheelEvent for the Mac.
1362         https://bugs.webkit.org/show_bug.cgi?id=53111
1363
1364         * Shared/WebEventConversion.cpp:
1365         (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
1366         Assign the timestamp.
1367
1368 2011-01-25  Sam Weinig  <sam@webkit.org>
1369
1370         Reviewed by Anders Carlsson.
1371
1372         Add hasPreciseScrollingDeltas bit to PlatformWheelEvent on the Mac.
1373         https://bugs.webkit.org/show_bug.cgi?id=53107
1374
1375         * Shared/WebEvent.h:
1376         (WebKit::WebWheelEvent::hasPreciseScrollingDeltas):
1377         * Shared/WebEventConversion.cpp:
1378         (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
1379         * Shared/WebWheelEvent.cpp:
1380         (WebKit::WebWheelEvent::WebWheelEvent):
1381         * Shared/mac/WebEventFactory.mm:
1382         (WebKit::WebEventFactory::createWebWheelEvent):
1383
1384 2011-01-25  Anders Carlsson  <andersca@apple.com>
1385
1386         Reviewed by Sam Weinig.
1387
1388         need a way to request the host CALayer render server port
1389         https://bugs.webkit.org/show_bug.cgi?id=53101
1390         <rdar://problem/8913620>
1391
1392         * PluginProcess/PluginControllerProxy.cpp:
1393         (WebKit::PluginControllerProxy::compositingRenderServerPort):
1394         Get the render server port from the plug-in process.
1395
1396         * PluginProcess/PluginControllerProxy.h:
1397         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1398         (WebKit::NPN_GetValue):
1399         Call NetscapePlugin::compositingRenderServerPort.
1400
1401         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1402         (WebKit::NetscapePlugin::compositingRenderServerPort):
1403         Call PluginController::compositingRenderServerPort.
1404
1405         * WebProcess/Plugins/PluginView.cpp:
1406         (WebKit::PluginView::compositingRenderServerPort):
1407         Get the render server port from the web process.
1408
1409         * WebProcess/Plugins/PluginView.h:
1410         Add compositingRenderServerPort.
1411
1412 2011-01-25  Maciej Stachowiak  <mjs@apple.com>
1413
1414         Rubber stamped by Dan Bernstein.
1415
1416         Change some floating point constants from 1.0 to 1.
1417
1418         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1419         (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
1420
1421 2011-01-25  Maciej Stachowiak  <mjs@apple.com>
1422
1423         Reviewed by Anders Carlsson.
1424
1425         Improve scale factor resetting
1426         https://bugs.webkit.org/show_bug.cgi?id=53093
1427         
1428         Two key changes:
1429         - Don't set the scale factor to what it already is, as this causes an
1430         uneeded force layout and scroll
1431         - Don't ever set the scale factor based on a non-main frame committing
1432         
1433         This fixes two WebKit2 layout tests.
1434
1435         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1436         (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
1437
1438 2011-01-24  Chris Marrin  <cmarrin@apple.com>
1439
1440         Reviewed by Eric Seidel.
1441
1442         Change ENABLE_3D_CANVAS to ENABLE_WEBGL
1443         https://bugs.webkit.org/show_bug.cgi?id=53041
1444
1445         * Configurations/FeatureDefines.xcconfig:
1446
1447 2011-01-25  Andreas Kling  <kling@webkit.org>
1448
1449         Reviewed by Kenneth Rohde Christiansen.
1450
1451         [Qt][WK2] Add QWKPage::processCrashed() signal
1452         https://bugs.webkit.org/show_bug.cgi?id=53076
1453
1454         * UIProcess/API/qt/qwkpage.cpp:
1455         (QWKPagePrivate::processDidCrash):
1456         * UIProcess/API/qt/qwkpage.h:
1457         * UIProcess/API/qt/qwkpage_p.h:
1458
1459 2011-01-24  Anders Carlsson  <andersca@apple.com>
1460
1461         Fix build.
1462         
1463         * WebProcess/mac/WebProcessMac.mm:
1464         (WebKit::initializeSandbox):
1465
1466 2011-01-24  Anders Carlsson  <andersca@apple.com>
1467
1468         Reviewed by Dan Bernstein.
1469
1470         Reset the page scale factor on standard frame loads
1471         https://bugs.webkit.org/show_bug.cgi?id=53058
1472         <rdar://problem/8908844>
1473
1474         * UIProcess/WebPageProxy.cpp:
1475         (WebKit::WebPageProxy::scaleWebView):
1476         Don't set m_viewScaleFactor here. It will be set in viewScaleFactorDidChange.
1477
1478         (WebKit::WebPageProxy::viewScaleFactorDidChange):
1479         Update m_viewScaleFactor.
1480
1481         * UIProcess/WebPageProxy.h:
1482         Add viewScaleFactorDidChange.
1483
1484         * UIProcess/WebPageProxy.messages.in:
1485         Add ViewScaleFactorDidChange message.
1486
1487         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1488         (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
1489         Set the scale factor.
1490
1491         (WebKit::WebFrameLoaderClient::restoreViewState):
1492         Inform the UI process about the new view scale factor.
1493
1494         * WebProcess/WebPage/WebPage.cpp:
1495         (WebKit::WebPage::scaleWebView):
1496         Send a ViewScaleFactorDidChange message.
1497
1498 2011-01-24  Maciej Stachowiak  <mjs@apple.com>
1499
1500         Reviewed by Anders Carlsson.
1501
1502         Use designated temp directory for the database for WebKit2
1503         https://bugs.webkit.org/show_bug.cgi?id=53052
1504         
1505         Add the API necessary to support this. Database path is now
1506         determined on the UI process side and passed to the Web process.
1507         Reviewed by Anders Carlsson.
1508
1509         * GNUmakefile.am:
1510         * Shared/WebProcessCreationParameters.cpp:
1511         (WebKit::WebProcessCreationParameters::encode):
1512         (WebKit::WebProcessCreationParameters::decode):
1513         * Shared/WebProcessCreationParameters.h:
1514         * UIProcess/API/C/WKContext.cpp:
1515         (WKContextSetDatabaseDirectory):
1516         * UIProcess/API/C/WKContextPrivate.h:
1517         * UIProcess/WebContext.cpp:
1518         (WebKit::WebContext::ensureWebProcess):
1519         (WebKit::WebContext::databaseDirectory):
1520         * UIProcess/WebContext.h:
1521         (WebKit::WebContext::setDatabaseDirectory):
1522         * UIProcess/mac/WebContextMac.mm:
1523         (WebKit::WebContext::platformDefaultDatabaseDirectory):
1524         * UIProcess/qt/WebContextQt.cpp:
1525         (WebKit::WebContext::platformDefaultDatabaseDirectory):
1526         * UIProcess/win/WebContextWin.cpp:
1527         (WebKit::WebContext::platformDefaultDatabaseDirectory):
1528         * WebKit2.pro:
1529         * WebKit2.xcodeproj/project.pbxproj:
1530         * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
1531         (WebKit::WebDatabaseManager::initialize):
1532         (WebKit::WebDatabaseManager::WebDatabaseManager):
1533         * WebProcess/WebCoreSupport/WebDatabaseManager.h:
1534         * WebProcess/WebCoreSupport/gtk/WebDatabaseManagerGtk.cpp: Removed.
1535         * WebProcess/WebCoreSupport/mac/WebDatabaseManagerMac.mm: Removed.
1536         * WebProcess/WebCoreSupport/qt/WebDatabaseManagerQt.cpp: Removed.
1537         * WebProcess/WebCoreSupport/win/WebDatabaseManagerWin.cpp: Removed.
1538         * WebProcess/WebProcess.cpp:
1539         (WebKit::WebProcess::WebProcess):
1540         (WebKit::WebProcess::initializeWebProcess):
1541         * WebProcess/com.apple.WebProcess.sb:
1542         * WebProcess/mac/WebProcessMac.mm:
1543         (WebKit::initializeSandbox):
1544         * win/WebKit2.vcproj:
1545
1546 2011-01-24  Brent Fulgham  <bfulgham@webkit.org>
1547
1548         Unreviewed build fix.
1549
1550         * win/WebKit2.vcproj: Don't build the CG Utilities when building
1551         without CG support.
1552
1553 2011-01-24  Anders Carlsson  <andersca@apple.com>
1554
1555         Reviewed by John Sullivan.
1556
1557         Don't use the timeout checker for non-user-interaction messages
1558         https://bugs.webkit.org/show_bug.cgi?id=53046
1559
1560         * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
1561         (WebKit::ChunkedUpdateDrawingAreaProxy::didSetSize):
1562         (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize):
1563         * UIProcess/LayerBackedDrawingAreaProxy.cpp:
1564         (WebKit::LayerBackedDrawingAreaProxy::sizeDidChange):
1565         (WebKit::LayerBackedDrawingAreaProxy::didSetSize):
1566
1567 2011-01-24  Adam Roben  <aroben@apple.com>
1568
1569         Windows Production build fix
1570
1571         * win/WebKit2.make: Update for move of WebKit2 into Source.
1572
1573 2011-01-24  Jessie Berlin  <jberlin@apple.com>
1574
1575         Reviewed by Adam Roben.
1576
1577         WebKit2: LayoutTests: The UNIMPLEMENTED warnings in TextCheckerWin should be disabled
1578         https://bugs.webkit.org/show_bug.cgi?id=53029
1579
1580         * UIProcess/win/TextCheckerWin.cpp:
1581         Disable the warnings for this file.
1582
1583 2011-01-24  Anders Carlsson  <andersca@apple.com>
1584
1585         Reviewed by Sam Weinig.
1586
1587         Wait for half a second if we're asked to paint when receiving a DidSetSize message
1588         https://bugs.webkit.org/show_bug.cgi?id=53028
1589
1590         * UIProcess/DrawingAreaProxyImpl.cpp:
1591         (WebKit::DrawingAreaProxyImpl::paint):
1592
1593 2011-01-24  Anders Carlsson  <andersca@apple.com>
1594
1595         Reviewed by Sam Weinig.
1596
1597         Implement forceRedisplay in the new drawing area
1598         https://bugs.webkit.org/show_bug.cgi?id=53026
1599
1600         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1601         (WebKit::DrawingAreaImpl::forceRepaint):
1602         * WebProcess/WebPage/DrawingAreaImpl.h:
1603
1604 2011-01-24  Anders Carlsson  <andersca@apple.com>
1605
1606         Reviewed by Sam Weinig.
1607
1608         Fill unpainted rects with the background color.
1609         https://bugs.webkit.org/show_bug.cgi?id=53025
1610
1611         * UIProcess/API/mac/WKView.mm:
1612         (drawPageBackground):
1613         Add new helper function.
1614
1615         (-[WKView drawRect:]):
1616         Iterate over the unpainted rects and fill them with the background color.
1617
1618 2011-01-24  Dan Bernstein  <mitz@apple.com>
1619
1620         Reviewed by John Sullivan.
1621
1622         WebKit2 version of <rdar://problem/6097826> Mail's cursor does not become a resize cursor when moving mouse from scrolled email to the horizontal splitter
1623
1624         * UIProcess/API/mac/PageClientImpl.mm:
1625         (WebKit::PageClientImpl::setCursor): If the current cursor comes from a cursor rect, do not override it.
1626
1627 2011-01-24  Balazs Kelemen  <kbalazs@webkit.org>
1628
1629         Rubber-stamped by Csaba Osztrogonác.
1630
1631         Typo fix.
1632
1633         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
1634         (WebKit::ProcessLauncher::launchProcess): Move the bracket to the right place.
1635
1636 2011-01-24  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
1637
1638         Reviewed by Kenneth Rohde Christiansen.
1639
1640         [Qt] Remove CleanupHandler by passing file descriptors.
1641
1642         Deleting files in signal handler of UI process is not a good idea,
1643         because the memory where filenames are stored might not be valid
1644         after a crash.
1645
1646         To avoid the need of using signal handlers for cleanup,
1647         change following:
1648           1) Avoid passing filenames between processes, pass fds
1649           2) When mmap'ing files, delete them immediately after
1650              opening and mmap'ing them.
1651           3) Pass sockets with fds during fork+exec instead of
1652              passing them via the filesystem.
1653           4) Use mmap'ed files for implementation of SharedMemory.
1654              QSharedMemory does not support cleanup correctly.
1655
1656         Consquences:
1657           - Move MappedMemory to SharedMemory, make UpdateChunk use this.
1658           - Implement CoreIPC::Attachment using mmaped files.
1659           - Send messages using datagram socket. This solution works
1660             similiarly to Mach ports on Mac.
1661           - Send big messages out-of-line and thus avoid increasing
1662             the receive buffer.
1663           - Remove MemoryMappedPool and rely on libc/kernel caching
1664             of mmapped areas.
1665           - Unmap memory areas after use.
1666           - When UI process crashes, kill the web process using SIGKILL.
1667             This is possible again because cleanup handler is not needed.
1668
1669         [WK2][Qt] Multiple problems with MemoryMappedPool
1670         https://bugs.webkit.org/show_bug.cgi?id=51984
1671
1672         * Platform/CoreIPC/Attachment.cpp:
1673         (CoreIPC::Attachment::Attachment):
1674         * Platform/CoreIPC/Attachment.h:
1675         (CoreIPC::Attachment::size):
1676         (CoreIPC::Attachment::releaseFileDescriptor):
1677         (CoreIPC::Attachment::fileDescriptor):
1678         * Platform/CoreIPC/Connection.h:
1679         * Platform/CoreIPC/qt/ConnectionQt.cpp:
1680         (CoreIPC::MessageInfo::MessageInfo):
1681         (CoreIPC::MessageInfo::setMessageBodyOOL):
1682         (CoreIPC::MessageInfo::isMessageBodyOOL):
1683         (CoreIPC::MessageInfo::bodySize):
1684         (CoreIPC::MessageInfo::messageID):
1685         (CoreIPC::MessageInfo::attachmentCount):
1686         (CoreIPC::Connection::platformInitialize):
1687         (CoreIPC::Connection::platformInvalidate):
1688         (CoreIPC::SocketNotifierDisableGuard::SocketNotifierDisableGuard):
1689         (CoreIPC::SocketNotifierDisableGuard::~SocketNotifierDisableGuard):
1690         (CoreIPC::Connection::readyReadHandler):
1691         (CoreIPC::Connection::open):
1692         (CoreIPC::Connection::platformCanSendOutgoingMessages):
1693         (CoreIPC::Connection::sendOutgoingMessage):
1694         * Platform/SharedMemory.h:
1695         * Platform/WorkQueue.h:
1696         * Platform/qt/MappedMemoryPool.cpp: Removed.
1697         * Platform/qt/MappedMemoryPool.h: Removed.
1698         * Platform/qt/SharedMemoryQt.cpp:
1699         (WebKit::SharedMemory::Handle::Handle):
1700         (WebKit::SharedMemory::Handle::~Handle):
1701         (WebKit::SharedMemory::Handle::isNull):
1702         (WebKit::SharedMemory::Handle::encode):
1703         (WebKit::SharedMemory::Handle::decode):
1704         (WebKit::SharedMemory::Handle::releaseToAttachment):
1705         (WebKit::SharedMemory::Handle::adoptFromAttachment):
1706         (WebKit::SharedMemory::create):
1707         (WebKit::accessModeMMap):
1708         (WebKit::SharedMemory::~SharedMemory):
1709         (WebKit::accessModeFile):
1710         (WebKit::SharedMemory::createHandle):
1711         * Platform/qt/WorkQueueQt.cpp:
1712         (WorkQueue::registerSocketEventHandler):
1713         * Shared/qt/UpdateChunk.cpp:
1714         (WebKit::UpdateChunk::UpdateChunk):
1715         (WebKit::UpdateChunk::~UpdateChunk):
1716         (WebKit::UpdateChunk::encode):
1717         (WebKit::UpdateChunk::decode):
1718         (WebKit::UpdateChunk::createImage):
1719         * Shared/qt/UpdateChunk.h:
1720         * UIProcess/Launcher/ProcessLauncher.h:
1721         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
1722         (WebKit::QtWebProcess::QtWebProcess):
1723         (WebKit::QtWebProcess::setupChildProcess):
1724         (WebKit::ProcessLauncher::launchProcess):
1725         (WebKit::ProcessLauncher::platformInvalidate):
1726         * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
1727         (WebKit::webThreadBody):
1728         (WebKit::ThreadLauncher::createWebThread):
1729         * WebKit2.pro:
1730         * WebProcess/qt/WebProcessMainQt.cpp:
1731         (WebKit::WebProcessMainQt):
1732
1733 2011-01-24  Andras Becsi  <abecsi@webkit.org>
1734
1735         Reviewed by Csaba Osztrogonác.
1736
1737         [Qt] Move project files into Source
1738         https://bugs.webkit.org/show_bug.cgi?id=52891
1739
1740         * DerivedSources.pro:
1741         * WebKit2.pro:
1742         * WebProcess.pro:
1743
1744 2011-01-23  Damian Kaleta  <dkaleta@apple.com>
1745
1746         Reviewed by Kevin Decker.
1747
1748         <rdar://problem/8905171>
1749         https://bugs.webkit.org/show_bug.cgi?id=52985 
1750
1751         * UIProcess/WebPageProxy.cpp:
1752         (WebKit::WebPageProxy::scaleWebView): Eliminated early return inside WebPageProxy::scaleWebView, making it 
1753         consistent with WebKit1.
1754
1755 2011-01-23  Alexey Proskuryakov  <ap@apple.com>
1756
1757         Reviewed by Dan Bernstein.
1758
1759         https://bugs.webkit.org/show_bug.cgi?id=52968
1760         Use a separate NSView for printing
1761
1762         Also addresses <rdar://problem/8900148> Improper check for 
1763         -[NSGraphicsContext currentContextDrawingToScreen]
1764
1765         * UIProcess/API/mac/WKPrintingView.h: Added.
1766         * UIProcess/API/mac/WKPrintingView.mm: Added.
1767         (-[WKPrintingView initWithFrameProxy:]):
1768         (-[WKPrintingView isFlipped]):
1769         (-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]):
1770         (-[WKPrintingView knowsPageRange:]):
1771         (-[WKPrintingView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
1772         (-[WKPrintingView drawPageBorderWithSize:]):
1773         (-[WKPrintingView _provideTotalScaleFactorForPrintOperation:]):
1774         (-[WKPrintingView rectForPage:]):
1775         * UIProcess/API/mac/WKView.mm:
1776         (-[WKView drawRect:]):
1777         (-[WKView canChangeFrameLayout:]):
1778         (-[WKView printOperationWithPrintInfo:forFrame:]):
1779         * WebKit2.xcodeproj/project.pbxproj:
1780         Moved printing code to a separate view, simplifying as appropriate. The view is currently not
1781         referenced by anything in WebKit2 directly, being owned by NSPrintOperation.
1782
1783 2011-01-22  Anders Carlsson  <andersca@apple.com>
1784
1785         Reviewed by Sam Weinig.
1786
1787         Transparent windows with compositing WebKit2 content show garbage
1788         https://bugs.webkit.org/show_bug.cgi?id=52966
1789         <rdar://problem/8765051>
1790
1791         * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
1792         (WebKit::LayerBackedDrawingAreaProxy::paint):
1793         If the WKView should draw transparent background, do so.
1794
1795 2011-01-22  Anders Carlsson  <andersca@apple.com>
1796
1797         Reviewed by Sam Weinig.
1798
1799         Add an asynchronous WKPageForceRepaint
1800         https://bugs.webkit.org/show_bug.cgi?id=52964
1801         <rdar://problem/8898527>
1802
1803         * UIProcess/API/C/WKPage.cpp:
1804         (WKPageForceRepaint):
1805         Call WebPageProxy::forceRepaint.
1806
1807         * UIProcess/API/C/WKPage.h:
1808         Add WKPageForceRepaint.
1809
1810         * UIProcess/GenericCallback.h:
1811         Add a "generic" VoidCallback class.
1812
1813         * UIProcess/WebPageProxy.cpp:
1814         (WebKit::WebPageProxy::forceRepaint):
1815         Insert the callback in the m_voidCallbacks map and send a forceRepaint message.
1816
1817         (WebKit::WebPageProxy::voidCallback):
1818         Call the right void callback.
1819
1820         (WebKit::WebPageProxy::processDidCrash):
1821         Invalidate m_voidCallbacks.
1822
1823         * UIProcess/WebPageProxy.messages.in:
1824         Add a VoidCallback message.
1825
1826         * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
1827         (WebKit::ChunkedUpdateDrawingArea::forceRepaint):
1828         Force a repaint.
1829
1830         * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
1831         Add forceRepaint.
1832
1833         * WebProcess/WebPage/WebPage.cpp:
1834         (WebKit::WebPage::forceRepaint):
1835         Call forceRepaint on the drawing area.
1836
1837         * WebProcess/WebPage/WebPage.messages.in:
1838         Add a ForceRepaint message.
1839
1840 2011-01-21  Nikolas Zimmermann  <nzimmermann@rim.com>
1841
1842         Reviewed by Dirk Schulze.
1843
1844         Introduce FontMetrics abstraction
1845         https://bugs.webkit.org/show_bug.cgi?id=51456
1846
1847         * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: Use FontMetrics instead of Font to access the metrics.
1848         (WebKit::WebPopupMenu::setUpPlatformData):
1849
1850 2011-01-22  Alexey Proskuryakov  <ap@apple.com>
1851
1852         Reviewed by Dan Bernstein.
1853
1854         https://bugs.webkit.org/show_bug.cgi?id=52950
1855         Leak in WebPage::drawRectToPDF
1856
1857         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::drawRectToPDF): Use RetainPtr here, too.
1858
1859 2011-01-22  Alexey Proskuryakov  <ap@apple.com>
1860
1861         Reviewed by Dan Bernstein.
1862
1863         https://bugs.webkit.org/show_bug.cgi?id=52951
1864         WebKit2 generates a bad PDF for cross process messaging
1865
1866         * UIProcess/API/mac/WKView.mm:
1867         (-[WKView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
1868         Use a correct offset when flipping.
1869
1870 2011-01-21  Alexey Proskuryakov  <ap@apple.com>
1871
1872         Reviewed by Dan Bernstein.
1873
1874         https://bugs.webkit.org/show_bug.cgi?id=52943
1875         Objective-C files should use #import, not #include
1876
1877         * UIProcess/API/C/WebKit2.h: This is an interesting one, because it's cross-platform, and
1878         there is more than one WKView.h.
1879
1880         * Platform/mac/ModuleMac.mm:
1881         * Platform/mac/RunLoopMac.mm:
1882         * PluginProcess/mac/PluginControllerProxyMac.mm:
1883         * PluginProcess/mac/PluginProcessMac.mm:
1884         * PluginProcess/mac/PluginProcessMainMac.mm:
1885         * Shared/API/c/mac/WKCertificateInfoMac.mm:
1886         * Shared/API/c/mac/WKURLRequestNS.mm:
1887         * Shared/API/c/mac/WKURLResponseNS.mm:
1888         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
1889         * Shared/mac/PlatformCertificateInfo.mm:
1890         * Shared/mac/SandboxExtensionMac.mm:
1891         * Shared/mac/WebCoreArgumentCodersMac.mm:
1892         * Shared/mac/WebMemorySampler.mac.mm:
1893         * Shared/mac/WebURLRequestMac.mm:
1894         * Shared/mac/WebURLResponseMac.mm:
1895         * UIProcess/API/mac/FindIndicatorWindow.mm:
1896         * UIProcess/API/mac/WKTextInputWindowController.mm:
1897         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1898         * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
1899         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
1900         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1901         * UIProcess/mac/BackingStoreMac.mm:
1902         * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
1903         * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
1904         * UIProcess/mac/TextCheckerMac.mm:
1905         * UIProcess/mac/WebContextMac.mm:
1906         * UIProcess/mac/WebContextMenuProxyMac.mm:
1907         * UIProcess/mac/WebPageProxyMac.mm:
1908         * UIProcess/mac/WebPopupMenuProxyMac.mm:
1909         * UIProcess/mac/WebPreferencesMac.mm:
1910         * WebProcess/Downloads/mac/DownloadMac.mm:
1911         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1912         * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
1913         * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
1914         * WebProcess/WebCoreSupport/mac/WebDatabaseManagerMac.mm:
1915         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
1916         * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
1917         * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
1918         * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
1919         * WebProcess/WebPage/mac/WebPageMac.mm:
1920         * WebProcess/mac/WebProcessMac.mm:
1921
1922 2011-01-21  Mark Rowe  <mrowe@apple.com>
1923
1924         Reviewed by Sam Weinig.
1925
1926         Fix the WebKit2 build with clang.
1927
1928         * Scripts/webkit2/messages.py: Add some more structs to the list.
1929         * UIProcess/DrawingAreaProxy.h: Forward-declare UpdateInfo as a class.
1930         * UIProcess/TextChecker.h: Forward-declare TextCheckerState as a struct.
1931         * UIProcess/WebPageProxy.h: Forward-declare ContextMenuState as a struct.
1932         * UIProcess/mac/TextCheckerMac.mm: Fix the type of the string constants so that they can be passed to
1933         functions expecting NSString* without generating warnings.
1934         * WebProcess/WebPage/DrawingArea.h: Forward-declare WebPageCreationParameters as a struct.
1935         * WebProcess/WebPage/DrawingAreaImpl.h: Forward-declare UpdateInfo as a class.
1936         * WebProcess/WebPage/WebPage.cpp:
1937         (WebKit::WebPage::getResourceDataFromFrame): Add parens around the assignment in the condition of
1938         the if statement to suppress a warning.
1939
1940 2011-01-21  Brian Weinstein  <bweinstein@apple.com>
1941
1942         Reviewed by Adam Roben.
1943
1944         WebKit2: Need API to stop loading a WKFrame
1945         https://bugs.webkit.org/show_bug.cgi?id=52925
1946
1947         * UIProcess/API/C/WKFrame.cpp:
1948         (WKFrameStopLoading): Call through to WebFrameProxy::stopLoading.
1949         * UIProcess/API/C/WKFrame.h:
1950         * UIProcess/WebFrameProxy.cpp:
1951         (WebKit::WebFrameProxy::stopLoading): Send a message to the WebProcess to stop loading the frame
1952             with the passed in ID.
1953         * UIProcess/WebFrameProxy.h:
1954         * WebProcess/WebPage/WebPage.cpp:
1955         (WebKit::WebPage::stopLoadingFrame): Call stopForUserCancel on the passed-in frame.
1956         * WebProcess/WebPage/WebPage.h:
1957         * WebProcess/WebPage/WebPage.messages.in: Add StopLoadingFrame.
1958
1959 2011-01-21  Brady Eidson  <beidson@apple.com>
1960
1961         Reviewed by Adam Roben.
1962
1963         <rdar://problem/8894125> and https://bugs.webkit.org/show_bug.cgi?id=52916
1964         Expose "suggested filename" for a resource based on its resource response.
1965
1966         API pieces:
1967         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1968         (WKBundleFrameCopySuggestedFilenameForResourceURL):
1969         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
1970         
1971         Implementation:
1972         * WebProcess/WebPage/WebFrame.cpp:
1973         (WebKit::WebFrame::suggestedFilenameForResourceURL): See if the DocumentLoader has
1974           a resource for this URL and, if so, return the response's suggested filename.
1975         * WebProcess/WebPage/WebFrame.h:
1976
1977 2011-01-21  Anders Carlsson  <andersca@apple.com>
1978
1979         Reviewed by Dan Bernstein.
1980
1981         DrawingAreaProxyImpl::paint should return the unpainted region
1982         https://bugs.webkit.org/show_bug.cgi?id=52918
1983
1984         * UIProcess/API/mac/WKView.mm:
1985         (-[WKView drawRect:]):
1986         Add unpaintedRegion parameter.
1987
1988         * UIProcess/BackingStore.h:
1989         (WebKit::BackingStore::size):
1990         Add a size getter.
1991
1992         * UIProcess/DrawingAreaProxyImpl.cpp:
1993         (WebKit::DrawingAreaProxyImpl::paint):
1994         Initialize the unpainted region to the dirty region, then subtract the painted region.
1995
1996 2011-01-21  Anders Carlsson  <andersca@apple.com>
1997
1998         Reviewed by Dan Bernstein and Maciej Stachowiak.
1999
2000         Fix for <rdar://problem/8896057>
2001
2002         Give the Web Process access to the PubSub agent.
2003
2004         * WebProcess/com.apple.WebProcess.sb:
2005
2006 2011-01-21  Sam Weinig  <sam@webkit.org>
2007
2008         Reviewed by Anders Carlsson.
2009
2010         Part 2 of "Cleanup Scrollbar/ScrollbarClient relationship"
2011         https://bugs.webkit.org/show_bug.cgi?id=52779
2012
2013         Rename ScrollbarClient -> ScrollableArea.
2014
2015         * UIProcess/win/WebPopupMenuProxyWin.cpp:
2016         (WebKit::WebPopupMenuProxyWin::onMouseWheel):
2017         (WebKit::WebPopupMenuProxyWin::scrollToRevealSelection):
2018         * UIProcess/win/WebPopupMenuProxyWin.h:
2019
2020 2011-01-21  Adam Roben  <aroben@apple.com>
2021
2022         Update for WKCACFLayerRenderer -> CACFLayerView rename
2023
2024         Fixes <http://webkit.org/b/52898> WKCACFLayerRenderer sounds like a render object, but isn't
2025
2026         Reviewed by Simon Fraser.
2027
2028         * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp: Just removed all the unnecessary
2029         #includes.
2030
2031 2011-01-20  Darin Adler  <darin@apple.com>
2032
2033         Reviewed by Dan Bernstein.
2034
2035         WebKit2: Implement showModalDialog
2036         https://bugs.webkit.org/show_bug.cgi?id=52855
2037
2038         * Shared/WebPageCreationParameters.h: Added canRunModal.
2039
2040         * UIProcess/API/C/WKPage.h: Added a runModal function pointer to
2041         WKPageUIClient. Also removed a lot of redundant typedefs and added
2042         a new one, WKPageCallback, for callbacks without arguments or return
2043         values.
2044
2045         * UIProcess/API/qt/qwkpage.cpp:
2046         (QWKPage::QWKPage): Added a runModal function pointer of 0.
2047
2048         * UIProcess/WebPageProxy.cpp:
2049         (WebKit::WebPageProxy::creationParameters): Set canRunModal
2050         based on return value of WebUIClient::canRunModal.
2051
2052         * UIProcess/WebPageProxy.h: Added runModal.
2053         Calls WebUIClient::runModal.
2054
2055         * UIProcess/WebPageProxy.messages.in: Added RunModal message.
2056         Also removed the periods from the phrases in the comments
2057         as Maciej requested a while back.
2058
2059         * UIProcess/WebUIClient.cpp:
2060         (WebKit::WebUIClient::canRunModal): Added. Returns true or false
2061         based on whether a runModal function was supplied in the
2062         WKPageUIClient structure.
2063         (WebKit::WebUIClient::runModal): Added. Calls the runModal
2064         function from the WKPageUIClient structure.
2065         * UIProcess/WebUIClient.h: Declared the above functions.
2066
2067         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2068         (WebKit::WebChromeClient::canRunModal): Call through to WebPage.
2069         (WebKit::WebChromeClient::runModal): Ditto.
2070
2071         * WebProcess/WebPage/WebPage.cpp:
2072         (WebKit::WebPage::WebPage): Initialize m_canRunModal based on the
2073         creation parameters. Initialize m_isRunningModal to false.
2074         (WebKit::WebPage::close): Stop the nested run loop if we are running modal.
2075         (WebKit::WebPage::runModal): Send a message to ask the UI process to run
2076         modal and then start a nested run loop. It gets stopped when the page is closed.
2077         * WebProcess/WebPage/WebPage.h: Defined the canRunModal function
2078         and declared the runModal function.
2079
2080 2011-01-20  Alexey Proskuryakov  <ap@apple.com>
2081
2082         Reviewed by Darin Adler.
2083
2084         https://bugs.webkit.org/show_bug.cgi?id=52849
2085         Make window.print work with WebKit2
2086
2087         * UIProcess/API/qt/qwkpage.cpp:
2088         (QWKPage::QWKPage):
2089         * UIProcess/WebPageProxy.cpp:
2090         (WebKit::WebPageProxy::printFrame):
2091         * UIProcess/WebPageProxy.h:
2092         * UIProcess/WebPageProxy.messages.in:
2093         * UIProcess/WebUIClient.cpp:
2094         (WebKit::WebUIClient::printFrame):
2095         * UIProcess/WebUIClient.h:
2096         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2097         (WebKit::WebChromeClient::print):
2098         Just pass through deelagte call to a WebKit2 client.
2099
2100         * UIProcess/API/C/WKPage.h: Also added "Callback" suffix to other printing related function
2101         types.
2102
2103 2011-01-20  Anders Carlsson  <andersca@apple.com>
2104
2105         Reviewed by Darin Adler.
2106
2107         Keep track of the latest update timestamp in the backing store
2108         https://bugs.webkit.org/show_bug.cgi?id=52848
2109
2110         * Shared/UpdateInfo.h:
2111         (WebKit::UpdateInfo::UpdateInfo):
2112         Initialize timestamp to 0.
2113
2114         * UIProcess/BackingStore.cpp:
2115         (WebKit::BackingStore::BackingStore):
2116         Initialize m_latestUpdateTimestamp to 0.
2117
2118         (WebKit::BackingStore::incorporateUpdate):
2119         If the update is too old, discard it. Otherwise, create a bitmap
2120         and pass it to platformIncorporateUpdate. Finally update the timestamp.
2121
2122         * UIProcess/BackingStore.h:
2123         Add m_latestUpdateTimestamp.
2124
2125         * UIProcess/mac/BackingStoreMac.mm:
2126         (WebKit::BackingStore::platformIncorporateUpdate):
2127         Update now that we are already given the shareable bitmap.
2128
2129 2011-01-20  Beth Dakin  <bdakin@apple.com>
2130
2131         Reviewed by Geoffrey Garen.
2132
2133         Fix for <rdar://problem/8890255>
2134
2135         Allow WebKitSystemInterface to draw scrollbars 
2136         when appropriate.
2137         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2138         (InitWebCoreSystemInterface):
2139
2140 2011-01-20  Sam Weinig  <sam@webkit.org>
2141
2142         Reviewed by Dave Hyatt.
2143
2144         Cleanup Scrollbar/ScrollbarClient relationship
2145         https://bugs.webkit.org/show_bug.cgi?id=52779
2146
2147         * UIProcess/win/WebPopupMenuProxyWin.cpp:
2148         (WebKit::WebPopupMenuProxyWin::scrollPosition):
2149         (WebKit::WebPopupMenuProxyWin::setScrollOffset):
2150         (WebKit::WebPopupMenuProxyWin::scrollTo):
2151         (WebKit::WebPopupMenuProxyWin::onMouseWheel):
2152         (WebKit::WebPopupMenuProxyWin::scrollToRevealSelection):
2153         * UIProcess/win/WebPopupMenuProxyWin.h:
2154         (WebKit::WebPopupMenuProxyWin::verticalScrollbar):
2155
2156 2011-01-20  Anders Carlsson  <andersca@apple.com>
2157
2158         Reviewed by Adam Roben.
2159
2160         Add a timestamp to UpdateInfo
2161         https://bugs.webkit.org/show_bug.cgi?id=52844
2162
2163         * Shared/UpdateInfo.cpp:
2164         (WebKit::UpdateInfo::encode):
2165         (WebKit::UpdateInfo::decode):
2166         * Shared/UpdateInfo.h:
2167         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2168         (WebKit::DrawingAreaImpl::setSize):
2169         (WebKit::DrawingAreaImpl::display):
2170
2171 2011-01-20  Anders Carlsson  <andersca@apple.com>
2172
2173         Reviewed by Beth Dakin.
2174
2175         Add Connection::waitForAndDispatchImmediately
2176         https://bugs.webkit.org/show_bug.cgi?id=52841
2177
2178         * Platform/CoreIPC/Connection.h:
2179         (CoreIPC::Connection::waitForAndDispatchImmediately):
2180
2181 2011-01-20  Kevin Decker  <kdecker@apple.com>
2182
2183         Reviewed by Anders Carlsson.
2184
2185         <rdar://problem/8880689> need a way to obtain the rendered rectangle for box elements
2186         https://bugs.webkit.org/show_bug.cgi?id=52823
2187         
2188         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
2189         (WKBundleNodeHandleGetRenderRect): Added new method that will return a rendered rectangle for box elements
2190         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: Ditto.
2191         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: Ditto.
2192         (WebKit::InjectedBundleNodeHandle::renderRect): Ditto.
2193         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: Ditto.
2194
2195 2011-01-20  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
2196
2197         Reviewed by Andreas Kling.
2198
2199         Remove null ptr deref that happens when reattaching to
2200         a new web process.
2201
2202         Implement didRelaunchProcess that sets the drawing area size
2203         after the drawing area is re-instantiated.
2204
2205         [Qt][WK2] Null ptr deref in UI process after web process has crashed
2206         https://bugs.webkit.org/show_bug.cgi?id=52796
2207
2208         * UIProcess/API/qt/qgraphicswkview.cpp:
2209         (QGraphicsWKView::QGraphicsWKView):
2210         * UIProcess/API/qt/qwkpage.cpp:
2211         (QWKPagePrivate::QWKPagePrivate):
2212         (QWKPagePrivate::init):
2213         (QWKPagePrivate::createDrawingAreaProxy):
2214         (QWKPagePrivate::didRelaunchProcess): Reset drawing area size after crash.
2215         * UIProcess/API/qt/qwkpage_p.h:
2216
2217 2011-01-20  Maciej Stachowiak  <mjs@apple.com>
2218
2219         Reviewed by Adam Roben.
2220
2221         WebKitTestRunner needs to support layoutTestController.evaluateScriptInIsolatedWorld
2222         https://bugs.webkit.org/show_bug.cgi?id=42327
2223         
2224         Added a new API call, WKBundleFrameForJavaScriptContext, that gets the WKBundleFrameRef
2225         that corresponds to a JSContextRef (or null if none).
2226
2227         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
2228         (WKBundleFrameForJavaScriptContext): Simple wrapper, defers to a WebFrame
2229         static method.
2230         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
2231         * WebProcess/WebPage/WebFrame.cpp:
2232         (WebKit::WebFrame::frameForContext): Follow the maze of twisty pointers.
2233         * WebProcess/WebPage/WebFrame.h:
2234
2235 2011-01-20  Alejandro G. Castro  <alex@igalia.com>
2236
2237         Fix compilation error in GTK WebKit2.
2238
2239         * Platform/CoreIPC/gtk/ConnectionGtk.cpp:
2240         (CoreIPC::readBytesFromSocket):
2241         (CoreIPC::writeBytesToSocket):
2242
2243 2011-01-20  Zoltan Horvath  <zoltan@webkit.org>
2244
2245         Reviewed by Csaba Osztrogonác.
2246
2247         Refactoring of the custom allocation framework
2248         https://bugs.webkit.org/show_bug.cgi?id=49897
2249
2250         Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
2251         The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
2252         equivalent macro implementation at the necessary places.
2253
2254 2011-01-19  Simon Fraser  <simon.fraser@apple.com>
2255
2256         Fix the WebKit2 build.
2257
2258         * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
2259         (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
2260
2261 2011-01-19  Brian Weinstein  <bweinstein@apple.com>
2262
2263         Reviewed by Darin Adler.
2264
2265         WebKit2: Need API to get the parent frame of a frame
2266         https://bugs.webkit.org/show_bug.cgi?id=52774
2267         
2268         Add the API to get the parent frame of a frame.
2269
2270         * UIProcess/API/C/WKFrame.cpp:
2271         (WKFrameGetParentFrame):
2272         * UIProcess/API/C/WKFrame.h:
2273
2274 2011-01-19  Enrica Casucci  <enrica@apple.com>
2275
2276         Reviewed by Darin Adler.
2277
2278         WebKit2: add support for drag and drop
2279         https://bugs.webkit.org/show_bug.cgi?id=52343
2280         <rdar://problem/7660558>
2281         
2282         This patch contains the remaining work to support drag and drop on Mac.
2283         I've added a PasteboardTypes class to encapsulate all the pasteboard formats
2284         supported for drag and drop.
2285         In this implementation we don't support the promised types, since I could not
2286         find an efficient way to do this across processes.
2287         The bulk of the patch consists in creating a shareable bitmap for the drag image,
2288         pass its handle to the UI process and create a new NSImage from it to be given to
2289         AppKit for dragging.
2290         I've added the missing implementation of the methods in the drag client to hook
2291         up the placement of the data in the pasteboard.
2292         
2293         * Shared/mac/PasteboardTypes.h: Added.
2294         * Shared/mac/PasteboardTypes.mm: Added.
2295         (WebKit::PasteboardTypes::forEditing):
2296         (WebKit::PasteboardTypes::forURL):
2297         (WebKit::PasteboardTypes::forImages):
2298         (WebKit::PasteboardTypes::forImagesWithArchive):
2299         * UIProcess/API/mac/PageClientImpl.h:
2300         * UIProcess/API/mac/PageClientImpl.mm:
2301         (WebKit::PageClientImpl::setDragImage): Added.
2302         * UIProcess/API/mac/WKView.mm:
2303         (-[WKView _registerDraggedTypes]): Refactored to use the new PasteboardTypes class.
2304         (-[WKView initWithFrame:contextRef:pageGroupRef:]):
2305         (-[WKView _setMouseDownEvent:]):
2306         (-[WKView _mouseHandler:]):
2307         (-[WKView mouseDown:]):
2308         (-[WKView mouseUp:]):
2309         (-[WKView mouseDragged:]):
2310         (-[WKView draggedImage:endedAt:operation:]):
2311         (-[WKView draggingEntered:]):
2312         (-[WKView _setDragImage:at:linkDrag:]):
2313         * UIProcess/API/mac/WKViewInternal.h:
2314         * UIProcess/PageClient.h:
2315         * UIProcess/WebPageProxy.cpp:
2316         (WebKit::WebPageProxy::setDragImage):
2317         (WebKit::WebPageProxy::dragEnded):
2318         * UIProcess/WebPageProxy.h:
2319         * UIProcess/WebPageProxy.messages.in:
2320         * WebKit2.xcodeproj/project.pbxproj:
2321         * WebProcess/WebCoreSupport/WebDragClient.cpp:
2322         * WebProcess/WebCoreSupport/WebDragClient.h:
2323         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: Added.
2324         (WebKit::fontFromNSFont):
2325         (WebKit::WebDragClient::startDrag): Added implementation.
2326         (WebKit::WebDragClient::createDragImageForLink): Ditto.
2327         (WebKit::writeURL): Helper function.
2328         (WebKit::writeImage): Helper function.
2329         (WebKit::WebDragClient::declareAndWriteDragImage): Added implementation.
2330         * WebProcess/WebPage/WebPage.cpp:
2331         (WebKit::WebPage::dragEnded):
2332         * WebProcess/WebPage/WebPage.h:
2333         * WebProcess/WebPage/WebPage.messages.in:
2334
2335 2011-01-19  Anders Carlsson  <andersca@apple.com>
2336
2337         Reviewed by Dan Bernstein.
2338
2339         Put the deprecated Connection member functions next to eachother
2340         https://bugs.webkit.org/show_bug.cgi?id=52767
2341
2342         * Platform/CoreIPC/Connection.h:
2343         (CoreIPC::Connection::sendSync):
2344         (CoreIPC::Connection::send):
2345
2346 2011-01-19  Anders Carlsson  <andersca@apple.com>
2347
2348         Reviewed by Sam Weinig.
2349
2350         When resizing, the web process should repaint the page
2351         https://bugs.webkit.org/show_bug.cgi?id=52764
2352
2353         * UIProcess/DrawingAreaProxyImpl.cpp:
2354         (WebKit::DrawingAreaProxyImpl::didSetSize):
2355         Incorporate the update.
2356
2357         (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
2358         Return early if the update bounds rect is empty. This can happen if painting is
2359         disabled and we get a DidSetSize message.
2360
2361         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2362         (WebKit::DrawingAreaImpl::setSize):
2363         If painting is disabled, just send back an empty UpdateInfo struct. Otherwise,
2364         paint and fill in the UpdateInfo struct.
2365
2366         (WebKit::DrawingAreaImpl::display):
2367         Assert that painting is not disabled.
2368
2369 2011-01-19  Alexey Proskuryakov  <ap@apple.com>
2370
2371         Reviewed by Darin Adler.
2372
2373         https://bugs.webkit.org/show_bug.cgi?id=52739
2374         Make it possible for a WebKit2 client to print headers and footers
2375
2376         * UIProcess/API/C/WKPage.h:
2377         * UIProcess/WebPageProxy.cpp:
2378         (WebKit::WebPageProxy::headerHeight):
2379         (WebKit::WebPageProxy::footerHeight):
2380         (WebKit::WebPageProxy::drawHeader):
2381         (WebKit::WebPageProxy::drawFooter):
2382         * UIProcess/WebPageProxy.h:
2383         * UIProcess/WebUIClient.cpp:
2384         (WebKit::WebUIClient::headerHeight):
2385         (WebKit::WebUIClient::footerHeight):
2386         (WebKit::WebUIClient::drawHeader):
2387         (WebKit::WebUIClient::drawFooter):
2388         * UIProcess/WebUIClient.h:
2389         Pass UIClient calls through.
2390
2391         * UIProcess/API/mac/WKView.mm:
2392         (currentPrintOperationScale): A helper to extract scale factor from the current NSPrintOperation.
2393         (-[WKView _adjustPrintingMarginsForHeaderAndFooter]): Copied from WebKit1. Change current
2394         print info to account for header and footer height as provided by the client.
2395         (-[WKView knowsPageRange:]): Call -[self _adjustPrintingMarginsForHeaderAndFooter].
2396         (-[WKView drawPageBorderWithSize:]): When AppKit asks to print page border, call the client
2397         to do that. Code adapted form WebKit1.
2398
2399         * UIProcess/API/qt/qwkpage:
2400         (QWKPage::QWKPage): Added zeroes for new WKPageUIClient members to avoid breaking the build.
2401
2402 2011-01-19  Jessie Berlin  <jberlin@apple.com>
2403
2404         Reviewed by Darin Adler.
2405
2406         Crash in WebDatabaseManagerProxy::getDatabaseOrigins when called after the WebProcess has
2407         died at least once
2408         https://bugs.webkit.org/show_bug.cgi?id=52730
2409
2410         WebDatabaseManagerProxy::invalidate was setting m_webContext to 0, and invalidate gets
2411         called in WebContext::processDidClose. However, m_webContext is only set in the
2412         constructor, which is only called from the constructor of WebContext, so attempting to send
2413         a message to any new WebProcess after the first one died was causing a null deref.
2414
2415         This patch moves setting m_webcontext into clearContext and clearContext is only called in
2416         the WebContext destructor.
2417
2418         This patch also adds checks for a valid WebProcessProxy before attempting to send messages to
2419         the WebProcessProxy so that if the WebProcess has died and has not been revived, it does not
2420         attempt to dereference a null WebProcessProxy.
2421
2422         * UIProcess/WebContext.cpp:
2423         (WebKit::WebContext::~WebContext):
2424         Call WebDatabaseManagerProxy::clearContext.
2425         * UIProcess/WebContext.h:
2426         (WebKit::WebContext::hasValidProcess):
2427         Make this method public so that it can be called from WebDatabaseManagerProxy.
2428
2429         * UIProcess/WebDatabaseManagerProxy.cpp:
2430         (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
2431         If there isn't a valid process, invalidate the callback and return early.
2432         (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
2433         Ditto.
2434         (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
2435         If tehre isn't a valid process return early.
2436         (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
2437         Ditto.
2438         (WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
2439         Ditto.
2440         (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
2441         Ditto.
2442         (WebKit::WebDatabaseManagerProxy::invalidate):
2443         Move setting m_webContext to 0 from here ...
2444         * UIProcess/WebDatabaseManagerProxy.h:
2445         (WebKit::WebDatabaseManagerProxy::clearContext):
2446         ... to here.
2447
2448 2011-01-19  Anders Carlsson  <andersca@apple.com>
2449
2450         Reviewed by Sam Weinig.
2451
2452         Suspend/resume painting as the WKView visibility changes
2453         https://bugs.webkit.org/show_bug.cgi?id=52738
2454
2455         * UIProcess/DrawingAreaProxy.h:
2456         (WebKit::DrawingAreaProxy::visibilityDidChange):
2457         Add new member function. It should really be pure virtual once setPageIsVisible
2458         is removed.
2459
2460         * UIProcess/DrawingAreaProxyImpl.cpp:
2461         (WebKit::DrawingAreaProxyImpl::visibilityDidChange):
2462         Send SuspendPainting/ResumePainting messages based on whether the view is visible or not.
2463
2464         (WebKit::DrawingAreaProxyImpl::setPageIsVisible):
2465         Make this a stub; it should really be removed.
2466
2467         * UIProcess/WebPageProxy.cpp:
2468         (WebKit::WebPageProxy::viewStateDidChange):
2469         Call visibilityDidChange.
2470
2471         * UIProcess/WebPageProxy.h:
2472         (WebKit::WebPageProxy::isViewVisible):
2473         Add new getter.
2474
2475         * WebProcess/WebPage/DrawingArea.messages.in:
2476         Add SuspendPainting and ResumePainting messages.
2477
2478         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2479         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
2480         Initialize m_isPaintingSuspended.
2481
2482         (WebKit::DrawingAreaImpl::suspendPainting):
2483         Set m_isPaintingSuspended to true and stop the display timer.
2484
2485         (WebKit::DrawingAreaImpl::resumePainting):
2486         Set m_isPaintingSuspended to false.
2487
2488         (WebKit::DrawingAreaImpl::scheduleDisplay):
2489         (WebKit::DrawingAreaImpl::display):
2490         Bail if m_isPaintingSuspended is true.
2491
2492 2011-01-19  Andreas Kling  <kling@webkit.org>
2493
2494         Reviewed by Simon Hausmann.
2495
2496         [Qt][WK2] Implement formatLocalizedString() for Qt.
2497
2498         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2499         (WebKit::formatLocalizedString):
2500
2501 2011-01-19  Chris Marrin  <cmarrin@apple.com>
2502
2503         Reviewed by Simon Fraser.
2504
2505         WK2 - Multiple crashes in PlatformCALayer::replaceSublayer
2506         https://bugs.webkit.org/show_bug.cgi?id=52695
2507
2508         Added a hostingLayer as the parent of the existing drawingLayer.
2509         The hostingLayer is now the root which is passed to the 
2510         remote context. It never changes except to track the size
2511         of the window. The backingLayer is now a child of the 
2512         hostingLayer, which allow it to switch between tiled and
2513         non-tiled.
2514
2515         I also now give back accurate settings for debug borders and
2516         repaint counters.
2517
2518         * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
2519         (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
2520         (WebKit::LayerBackedDrawingArea::setSize):
2521         (WebKit::LayerBackedDrawingArea::showDebugBorders):
2522         (WebKit::LayerBackedDrawingArea::showRepaintCounter):
2523         * WebProcess/WebPage/LayerBackedDrawingArea.h:
2524         * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
2525         (WebKit::LayerBackedDrawingArea::platformInit):
2526         (WebKit::LayerBackedDrawingArea::attachCompositingContext):
2527         (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
2528
2529 2011-01-19  Anders Carlsson  <andersca@apple.com>
2530
2531         Reviewed by Sam Weinig.
2532
2533         Send a new SetSize message if the size differs from the current size
2534         https://bugs.webkit.org/show_bug.cgi?id=52728
2535
2536         * UIProcess/DrawingAreaProxy.h:
2537         (WebKit::DrawingAreaProxy::didSetSize):
2538         Add UpdateInfo parameter.
2539
2540         * UIProcess/DrawingAreaProxy.messages.in:
2541         Add UpdateInfo parameter to the DidSetSize message.
2542
2543         * UIProcess/DrawingAreaProxyImpl.cpp:
2544         (WebKit::DrawingAreaProxyImpl::didSetSize):
2545         If the view size differs from the current size send another SetSize message.
2546
2547         * UIProcess/DrawingAreaProxyImpl.h:
2548         Add UpdateInfo parameter to didSetSize.
2549
2550         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2551         (WebKit::DrawingAreaImpl::setSize):
2552         The DidSetSize message now takes an UpdateInfo parameter.
2553
2554 2011-01-19  Anders Carlsson  <andersca@apple.com>
2555
2556         Reviewed by Darin Adler.
2557
2558         Throttle sending of SetSize messages
2559         https://bugs.webkit.org/show_bug.cgi?id=52727
2560
2561         * UIProcess/DrawingAreaProxyImpl.cpp:
2562         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
2563         Initialize m_isWaitingForDidSetSize to false.
2564
2565         (WebKit::DrawingAreaProxyImpl::didSetSize):
2566         Null out the backing store.
2567
2568         (WebKit::DrawingAreaProxyImpl::sendSetSize):
2569         If m_isWaitingForDidSetSize is true, do nothing. Otherwise, set m_isWaitingForDidSetSize
2570         to true and send a SetSize message.
2571
2572         * UIProcess/DrawingAreaProxyImpl.h:
2573         Add m_isWaitingForDidSetSize.
2574
2575 2011-01-19  Anders Carlsson  <andersca@apple.com>
2576
2577         Reviewed by Darin Adler.
2578
2579         Pass WebPageCreationParameters to DrawingArea::create
2580         https://bugs.webkit.org/show_bug.cgi?id=52726
2581
2582         * WebProcess/WebPage/DrawingArea.cpp:
2583         (WebKit::DrawingArea::create):
2584         * WebProcess/WebPage/DrawingArea.h:
2585         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2586         (WebKit::DrawingAreaImpl::create):
2587         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
2588         * WebProcess/WebPage/DrawingAreaImpl.h:
2589         * WebProcess/WebPage/WebPage.cpp:
2590         (WebKit::WebPage::WebPage):
2591         (WebKit::WebPage::changeAcceleratedCompositingMode):
2592
2593 2011-01-19  Csaba Osztrogonác  <ossy@webkit.org>
2594
2595         Reviewed by Laszlo Gombos and Tor Arne Vestbø.
2596
2597         [Qt] Remove unnecessary "../Source" from paths
2598         after moving source files into Source is finished.
2599
2600         * DerivedSources.pro:
2601         * WebKit2.pro:
2602
2603 2011-01-18  Maciej Stachowiak  <mjs@apple.com>
2604
2605         Reviewed by Sam Weinig.
2606
2607         WebKitTestRunner should track loading more like DumpRenderTree
2608         https://bugs.webkit.org/show_bug.cgi?id=52692
2609         
2610         Relax the message check in didSaveFrameToPageCache a bit more, since
2611         layout tests were still hitting the old one.
2612
2613         * UIProcess/WebPageProxy.cpp:
2614         (WebKit::isDisconnectedFrame):
2615         (WebKit::WebPageProxy::didSaveFrameToPageCache):
2616
2617 2011-01-18  Brady Eidson  <beidson@apple.com>
2618
2619         Reviewed by Darin Adler.
2620
2621         <rdar://problem/8860833> and https://bugs.webkit.org/show_bug.cgi?id=52599
2622         UIProcess crash in WebPageProxy::reattachToWebProcess when web process crashes with a new tab/window.
2623
2624         * UIProcess/WebPageProxy.cpp:
2625         (WebKit::WebPageProxy::reattachToWebProcessWithItem): Null check item *both* places it is used.
2626
2627 2011-01-18  Brady Eidson  <beidson@apple.com>
2628
2629         Reviewed by Maciej Stachowiak. 
2630
2631         <rdar://problem/8752200> and https://bugs.webkit.org/show_bug.cgi?id=52664
2632         Need WebKit2 API to asynchronously get the resource data for a URL
2633
2634         Rename WKFrameGetMainResourceDataFunction to WKFrameGetResourceDataFunction, and add
2635         new API to get a resource by URL:
2636         * UIProcess/API/C/WKFrame.cpp:
2637         (WKFrameGetMainResourceData):
2638         (WKFrameGetResourceData):
2639         (callGetResourceDataBlockAndDispose):
2640         (WKFrameGetMainResourceData_b):
2641         (WKFrameGetResourceData_b):
2642         * UIProcess/API/C/WKFrame.h:
2643
2644         Implement the new API in the UIProcess side:
2645         * UIProcess/WebFrameProxy.cpp:
2646         (WebKit::WebFrameProxy::getResourceData):
2647         * UIProcess/WebFrameProxy.h:
2648         * UIProcess/WebPageProxy.cpp:
2649         (WebKit::WebPageProxy::getResourceDataFromFrame):
2650         * UIProcess/WebPageProxy.h:
2651
2652         Have the WebProcess get the data and call back to the UIProcess:
2653         * WebProcess/WebPage/WebPage.cpp:
2654         (WebKit::WebPage::getResourceDataFromFrame):
2655         * WebProcess/WebPage/WebPage.h:
2656         * WebProcess/WebPage/WebPage.messages.in:
2657
2658 2011-01-18  Anders Carlsson  <andersca@apple.com>
2659
2660         Reviewed by Dan Bernstein.
2661
2662         Make PageClientImpl::scrollView do hardware blitting
2663         https://bugs.webkit.org/show_bug.cgi?id=52689
2664
2665         * UIProcess/API/mac/PageClientImpl.mm:
2666         (WebKit::PageClientImpl::scrollView):
2667         Clip the scroll rect and scroll the view.
2668
2669         * UIProcess/DrawingAreaProxyImpl.cpp:
2670         (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
2671         Scroll before painting.
2672
2673 2011-01-18  Anders Carlsson  <andersca@apple.com>
2674
2675         Reviewed by Darin Adler.
2676
2677         Artifacts when scrolling with new drawing area
2678         https://bugs.webkit.org/show_bug.cgi?id=52682
2679
2680         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2681         (WebKit::WebChromeClient::scroll):
2682         When scrolling, we want the intersection of the scroll rect and clip rect.
2683
2684 2011-01-18  Anders Carlsson  <andersca@apple.com>
2685
2686         Reviewed by Darin Adler.
2687
2688         Use a CGLayer for the backing store when possible
2689         https://bugs.webkit.org/show_bug.cgi?id=52679
2690
2691         * UIProcess/mac/BackingStoreMac.mm:
2692         (WebKit::BackingStore::paint):
2693         If there is a layer, paint it into the given context.
2694
2695         (WebKit::BackingStore::backingStoreContext):
2696         If we can get the containing window graphics context, use it to create a 
2697         CGLayer that we'll use for the backing store.
2698
2699         (WebKit::BackingStore::scroll):
2700         Paint the layer into itself.
2701
2702         * UIProcess/mac/WebPageProxyMac.mm:
2703         (WebKit::WebPageProxy::containingWindowGraphicsContext):
2704         Call the page client.
2705
2706 2011-01-18  Anders Carlsson  <andersca@apple.com>
2707
2708         Reviewed by Dan Bernstein.
2709
2710         Pass the web page proxy to BackingStore::create
2711         https://bugs.webkit.org/show_bug.cgi?id=52673
2712
2713         * UIProcess/BackingStore.cpp:
2714         (WebKit::BackingStore::create):
2715         Add WebPageProxy parameter.
2716     
2717         (WebKit::BackingStore::BackingStore):
2718         Add WebPageProxy parameter.
2719
2720         * UIProcess/BackingStore.h:
2721         Add WebPageProxy member variable.
2722
2723         * UIProcess/DrawingAreaProxyImpl.cpp:
2724         (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
2725         Pass the web page proxy when creating the backing store.
2726
2727         * UIProcess/mac/BackingStoreMac.mm:
2728         (WebKit::BackingStore::backingStoreContext):
2729         Set the default blend mode.
2730
2731 2011-01-18  Anders Carlsson  <andersca@apple.com>
2732
2733         Reviewed by Darin Adler.
2734
2735         Factor code to create the backing store bitmap context out into a new function
2736         https://bugs.webkit.org/show_bug.cgi?id=52670
2737
2738         * UIProcess/BackingStore.h:
2739         * UIProcess/mac/BackingStoreMac.mm:
2740         (WebKit::BackingStore::backingStoreContext):
2741         Create the backing store context.
2742
2743         (WebKit::BackingStore::incorporateUpdate):
2744         Call backingStoreContext.
2745
2746         (WebKit::BackingStore::scroll):
2747         Assert that the context is not null.
2748
2749 2011-01-18  Anders Carlsson  <andersca@apple.com>
2750
2751         Reviewed by Dan Bernstein.
2752
2753         Add PageClientImpl::containingWindowGraphicsContext
2754         https://bugs.webkit.org/show_bug.cgi?id=52666
2755
2756         * UIProcess/API/mac/PageClientImpl.h:
2757         * UIProcess/API/mac/PageClientImpl.mm:
2758         (WebKit::PageClientImpl::containingWindowGraphicsContext):
2759         * UIProcess/PageClient.h:
2760         * UIProcess/WebPageProxy.h:
2761
2762 2011-01-18  Damian Kaleta  <dkaleta@apple.com>
2763
2764         Reviewed by Sam Weinig.
2765
2766         WK2 methods WKPageScaleWebView and WKPageGetViewScaleFactor need to have consistent names
2767         https://bugs.webkit.org/show_bug.cgi?id=52647
2768
2769         * UIProcess/API/C/WKPage.cpp:
2770         (WKPageSetScaleFactor):
2771         (WKPageGetScaleFactor):
2772         * UIProcess/API/C/WKPage.h:
2773
2774 2011-01-18  Anders Carlsson  <andersca@apple.com>
2775
2776         Reviewed by Dan Bernstein.
2777
2778         Ask the web page proxy to scroll the view when needed
2779         https://bugs.webkit.org/show_bug.cgi?id=52665
2780
2781         * UIProcess/DrawingAreaProxyImpl.cpp:
2782         (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
2783         * UIProcess/WebPageProxy.cpp:
2784         (WebKit::WebPageProxy::scrollView):
2785         * UIProcess/WebPageProxy.h:
2786
2787 2011-01-18  Anders Carlsson  <andersca@apple.com>
2788
2789         Fix build.
2790
2791         * UIProcess/win/WebView.cpp:
2792         (WebKit::WebView::scrollView):
2793
2794 2011-01-18  Anders Carlsson  <andersca@apple.com>
2795
2796         Reviewed by Sam Weinig.
2797
2798         Add PageClient::scrollView
2799         https://bugs.webkit.org/show_bug.cgi?id=52663
2800
2801         * UIProcess/API/mac/PageClientImpl.h:
2802         * UIProcess/API/mac/PageClientImpl.mm:
2803         (WebKit::PageClientImpl::scrollView):
2804         * UIProcess/API/qt/qwkpage.cpp:
2805         (QWKPagePrivate::scrollView):
2806         * UIProcess/API/qt/qwkpage_p.h:
2807         * UIProcess/PageClient.h:
2808         * UIProcess/win/WebView.cpp:
2809         (WebKit::PageClientImpl::scrollView):
2810         * UIProcess/win/WebView.h:
2811
2812 2011-01-18  Anders Carlsson  <andersca@apple.com>
2813
2814         Reviewed by Sam Weinig.
2815
2816         Rename scrollDelta to scrollOffset everywhere.
2817
2818         * Shared/UpdateInfo.cpp:
2819         (WebKit::UpdateInfo::encode):
2820         (WebKit::UpdateInfo::decode):
2821         * Shared/UpdateInfo.h:
2822         * UIProcess/BackingStore.h:
2823         * UIProcess/mac/BackingStoreMac.mm:
2824         (WebKit::BackingStore::incorporateUpdate):
2825         (WebKit::BackingStore::scroll):
2826         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2827         (WebKit::WebChromeClient::scroll):
2828         (WebKit::WebChromeClient::delegatedScrollRequested):
2829         * WebProcess/WebCoreSupport/WebChromeClient.h:
2830         * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
2831         (WebKit::ChunkedUpdateDrawingArea::scroll):
2832         * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
2833         * WebProcess/WebPage/DrawingArea.h:
2834         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2835         (WebKit::DrawingAreaImpl::scroll):
2836         (WebKit::DrawingAreaImpl::display):
2837         * WebProcess/WebPage/DrawingAreaImpl.h:
2838         * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
2839         (WebKit::LayerBackedDrawingArea::scroll):
2840         * WebProcess/WebPage/LayerBackedDrawingArea.h:
2841
2842 2011-01-18  Anders Carlsson  <andersca@apple.com>
2843
2844         Reviewed by Sam Weinig.
2845
2846         Get and paint each individual rect in -[WKView drawRect:]
2847         https://bugs.webkit.org/show_bug.cgi?id=52660
2848
2849         * UIProcess/API/mac/WKView.mm:
2850         (-[WKView drawRect:]):
2851
2852 2011-01-18  Anders Carlsson  <andersca@apple.com>
2853
2854         Reviewed by Darin Adler.
2855
2856         Assertion when loading two URLs in quick succession
2857         https://bugs.webkit.org/show_bug.cgi?id=52649
2858         <rdar://problem/8764645>
2859
2860         If beginLoad is called twice without didStartProvisionalLoad being called in between,
2861         m_pendingProvisionalSandboxExtension would be non-null and an assert would fire.
2862
2863         * WebProcess/WebPage/WebPage.cpp:
2864         (WebKit::WebPage::SandboxExtensionTracker::beginLoad):
2865         Instead of asserting that m_pendingProvisionalSandboxExtension is null, invalidate it
2866         if it is not null, since that's valid.
2867
2868 2011-01-18  Anders Carlsson  <andersca@apple.com>
2869
2870         Reviewed by Sam Weinig.
2871
2872         Implement NPN_PopUpContextMenu
2873         https://bugs.webkit.org/show_bug.cgi?id=52646
2874         <rdar://problem/8735616>
2875
2876         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2877         (WebKit::NPN_PopUpContextMenu):
2878         Call NetscapePlugin::popUpContextMenu.
2879
2880         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2881         (WebKit::NetscapePlugin::NetscapePlugin):
2882         Initialize m_currentMouseEvent.
2883
2884         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2885         Add m_currentMouseEvent.
2886
2887         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2888         (WebKit::NetscapePlugin::popUpContextMenu):
2889         Convert the coordinates from the current mouse event to screen coordinates and call
2890         WKPopupContextMenu.
2891
2892         (WebKit::NetscapePlugin::platformHandleMouseEvent):
2893         Update m_currentMouseEvent.
2894
2895 2011-01-18  Jessie Berlin  <jberlin@apple.com>
2896
2897         Reviewed by Darin Adler.
2898
2899         WebKit2: Do not assert that the provisional and committed URLs cannot be empty/null
2900         https://bugs.webkit.org/show_bug.cgi?id=52641
2901
2902         * UIProcess/WebFrameProxy.cpp:
2903         (WebKit::WebFrameProxy::didStartProvisionalLoad):
2904         (WebKit::WebFrameProxy::didCommitLoad):
2905         (WebKit::WebFrameProxy::didFinishLoad):
2906
2907 2011-01-18  Anders Carlsson  <andersca@apple.com>
2908
2909         Reviewed by Sam Weinig.
2910
2911         ASSERT in plug-in code when going to youtube
2912         https://bugs.webkit.org/show_bug.cgi?id=52638
2913
2914         * PluginProcess/PluginControllerProxy.cpp:
2915         (WebKit::PluginControllerProxy::paintEntirePlugin):
2916         Don't try to paint the plug-in if the plug-in frame is empty.
2917
2918 2011-01-18  Anders Carlsson  <andersca@apple.com>
2919
2920         Reviewed by Dan Bernstein.
2921
2922         Plug-in hosting WebProcess instances appear in Activity Monitor as WebProcess
2923         https://bugs.webkit.org/show_bug.cgi?id=52635
2924         <rdar://problem/8731337>
2925
2926         * PluginProcess/PluginProcess.cpp:
2927         (WebKit::PluginProcess::initialize):
2928         Call platformInitialize.
2929
2930         * PluginProcess/PluginProcess.h:
2931         Add platformInitialize.
2932
2933         * PluginProcess/mac/PluginProcessMac.mm:
2934         (WebKit::PluginProcess::platformInitialize):
2935         Set the compositing render server port and the visible application name.
2936
2937         * Shared/Plugins/PluginProcessCreationParameters.cpp:
2938         (WebKit::PluginProcessCreationParameters::encode):
2939         (WebKit::PluginProcessCreationParameters::decode):
2940         Encode/decode the parent process name.
2941
2942         * Shared/Plugins/PluginProcessCreationParameters.h:
2943         Add parentProcessName.
2944
2945         * Shared/WebProcessCreationParameters.cpp:
2946         (WebKit::WebProcessCreationParameters::encode):
2947         (WebKit::WebProcessCreationParameters::decode):
2948         Encode/decode the parent process name.
2949
2950         * Shared/WebProcessCreationParameters.h:
2951         Add parentProcessName.
2952
2953         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
2954         (WebKit::ProcessLauncher::launchProcess):
2955         Don't pass the parent process name here.
2956
2957         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2958         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
2959         Set the visible name.
2960
2961         * UIProcess/mac/WebContextMac.mm:
2962         (WebKit::WebContext::platformInitializeWebProcess):
2963         Pass along the parent process name.
2964
2965         * WebProcess/mac/WebProcessMac.mm:
2966         (WebKit::WebProcess::platformInitializeWebProcess):
2967         Set the visible name.
2968
2969         * WebProcess/mac/WebProcessMainMac.mm:
2970         (WebKit::WebProcessMain):
2971         Don't set the visible name here. It's done in platformInitializeWebProcess.
2972
2973 2011-01-18  Balazs Kelemen  <kbalazs@webkit.org>
2974
2975         Reviewed by Csaba Osztrogonác.
2976
2977         [Qt][WK2] Not implemented warnings should not break layout tests
2978         https://bugs.webkit.org/show_bug.cgi?id=52616
2979
2980         * WebKit2Prefix.h: Define DISABLE_NOT_IMPLEMENTED_WARNINGS on Qt.
2981
2982 2011-01-17  Jon Honeycutt  <jhoneycutt@apple.com>
2983
2984         Windows build fix. Unreviewed.
2985
2986         * Shared/PrintInfo.cpp:
2987         Use #include, not #import.
2988
2989 2011-01-17  Alexey Proskuryakov  <ap@apple.com>
2990
2991         Actually wrote a FIXME promised for a review comment.
2992
2993         * UIProcess/API/mac/WKView.mm:
2994         (-[WKView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
2995
2996 2011-01-17  Alexey Proskuryakov  <ap@apple.com>
2997
2998         Reviewed by Anders Carlsson and Darin Adler.
2999
3000         https://bugs.webkit.org/show_bug.cgi?id=52595
3001         Make basic printing work in WebKit2
3002
3003         * Shared/WebPreferencesStore.h:
3004         * UIProcess/API/C/WKPreferences.cpp:
3005         (WKPreferencesSetShouldPrintBackgrounds):
3006         (WKPreferencesGetShouldPrintBackgrounds):
3007         * UIProcess/API/C/WKPreferences.h:
3008         Implement a preference for printing backgrounds.
3009
3010         * Shared/PrintInfo.cpp: Added.
3011         (WebKit::PrintInfo::encode):
3012         (WebKit::PrintInfo::decode):
3013         * Shared/PrintInfo.h: Added.
3014         * Shared/mac/PrintInfoMac.mm: Added.
3015         (WebKit::PrintInfo::PrintInfo):
3016         A new class for passing page setup information down to the web process.
3017
3018         * WebKit2.xcodeproj/project.pbxproj:
3019         * GNUmakefile.am:
3020         * WebKit2.pro:
3021         * win/WebKit2.vcproj:
3022         Added PrintInfo.
3023
3024         * Scripts/webkit2/messages.py: Added PrintInfo.h to a list of structs.
3025
3026         * UIProcess/API/mac/WKView.mm:
3027         (WKViewData): Cache page count and geometry.
3028         (WebFrameWrapper): Added a wrapper class for adding a WebFrameProxy to an NSDictionary.
3029         (-[WKView drawRect:]): Added logging.
3030         (setFrameBeingPrinted): Store a frame into NSPrintOperation's NSPrintInfo, so that all 
3031         methods invoked for this operation would know what's being printed.
3032         (frameBeingPrinted): Retrieve this data.
3033         (-[WKView printOperationWithPrintInfo:forFrame:]): Create a print operation that's appropriate
3034         for the frame.
3035         (-[WKView knowsPageRange:]): Ask the web process.
3036         (-[WKView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
3037         Take over printing, because I couldn't make drawRect: work correctly with WebKit custom fit
3038         to page implementation.
3039         (-[WKView _provideTotalScaleFactorForPrintOperation:]): Help AppKit clip correctly.
3040         (-[WKView rectForPage:]): Return a pre-calculated rect.
3041
3042         * UIProcess/WebPageProxy.h: Added m_isInPrintingMode to track whether the web page is in
3043         printing mode. The UI process controls that.
3044
3045         * UIProcess/WebPageProxy.cpp:
3046         (WebKit::WebPageProxy::WebPageProxy): Initialize m_isInPrintingMode.
3047         (WebKit::WebPageProxy::beginPrinting): Change printing mode in web process if the value changes.
3048         (WebKit::WebPageProxy::endPrinting): Ditto.
3049         (WebKit::WebPageProxy::computePagesForPrinting): Ask the web process about output page geometry.
3050         (WebKit::WebPageProxy::drawRectToPDF): Ask the web process about printed page data.
3051
3052         * WebProcess/WebPage/WebPage.cpp:
3053         (WebKit::WebPage::close): Delete m_printContext while there is still a Frame pointer.
3054         (WebKit::WebPage::updatePreferences): Pass through ShouldPrintBackgrounds.
3055         (WebKit::WebPage::beginPrinting): Switch into printing mode (or update parameters if we're
3056         already in printing mode).
3057         (WebKit::WebPage::endPrinting): Delete m_printContext, implicitly calling end().
3058         (WebKit::WebPage::computePagesForPrinting): Make sure that we're in printing mode, and
3059         copmute page rects.
3060         (WebKit::WebPage::drawRectToPDF): Added a CG specific function to create a PDF document out
3061         of a page rect. It should really work for onscreen content, but we only need it for printing.
3062
3063         * WebProcess/WebPage/WebPage.h:
3064
3065         * WebProcess/WebPage/WebPage.messages.in: Added BeginPrinting, EndPrinting,
3066         ComputePagesForPrinting and DrawRectToPDF.
3067
3068 2011-01-17  Tony Gentilcore  <tonyg@chromium.org>
3069
3070         Reviewed by Alexey Proskuryakov.
3071
3072         Fix some headers with missing or misspelled #ifndef guards
3073         https://bugs.webkit.org/show_bug.cgi?id=52545
3074
3075         * Shared/UserMessageCoders.h:
3076         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
3077         * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
3078         * WebProcess/WebProcessMain.h:
3079
3080 2011-01-17  Alexey Proskuryakov  <ap@apple.com>
3081
3082         Build fix.
3083
3084         * Platform/Logging.cpp:
3085
3086 2011-01-17  Alexey Proskuryakov  <ap@apple.com>
3087
3088         Reviewed by Dan Bernstein.
3089
3090         https://bugs.webkit.org/show_bug.cgi?id=52592
3091         Add a logging channel for WKView
3092
3093         * Platform/Logging.cpp:
3094         * Platform/Logging.h:
3095
3096 2011-01-17  Anders Carlsson  <andersca@apple.com>
3097
3098         Reviewed by Sam Weinig.
3099
3100         Factor bitmap context drawing code out into a shared function
3101         https://bugs.webkit.org/show_bug.cgi?id=52589
3102
3103         * Platform/cg/CGUtilities.h: Added.
3104         * Platform/cg/CGUtilities.cpp: Added.
3105         (WebKit::paintBitmapContext):
3106         New function that will paint a bitmap context into a CGContext.
3107
3108         * Shared/cg/ShareableBitmapCG.cpp:
3109         (WebKit::ShareableBitmap::paint):
3110         Use paintBitmapContext.
3111
3112         * UIProcess/mac/BackingStoreMac.mm:
3113         (WebKit::BackingStore::paint):
3114         (WebKit::BackingStore::scroll):
3115         Use paintBitmapContext.
3116
3117         * WebKit2.xcodeproj/project.pbxproj:
3118         * win/WebKit2.vcproj:
3119         * win/WebKit2Common.vsprops:
3120         Add CGUtilities.{cpp|h}.
3121
3122 2011-01-17  Dan Bernstein  <mitz@apple.com>
3123
3124         Rubber-stamped by Mark Rowe.
3125
3126         Update xcodeproj svn:ignore to include xcuserdata.
3127
3128         * WebKit2.xcodeproj: Modified property svn:ignore.
3129
3130 2011-01-17  Alexey Proskuryakov  <ap@apple.com>
3131
3132         Fixing a typo from a bad merge.
3133
3134         * UIProcess/API/mac/WKView.mm: (-[WKView canChangeFrameLayout:]):
3135
3136 2011-01-17  Alexey Proskuryakov  <ap@apple.com>
3137
3138         Reviewed by John Sullivan.
3139
3140         https://bugs.webkit.org/show_bug.cgi?id=52590
3141         Should pass a frame into -[WKView canPrintHeadersAndFooters]
3142
3143         * UIProcess/API/mac/WKView.h:
3144         * UIProcess/API/mac/WKView.mm: (-[WKView canChangeFrameLayout:]): Also, renamed the method
3145         to canChangeFrameLayout.
3146
3147 2011-01-17  Anders Carlsson  <andersca@apple.com>
3148
3149         Reviewed by Sam Weinig.
3150
3151         Implement scrolling support
3152         https://bugs.webkit.org/show_bug.cgi?id=52502
3153
3154         * Shared/UpdateInfo.cpp:
3155         (WebKit::UpdateInfo::encode):
3156         (WebKit::UpdateInfo::decode):
3157         * Shared/UpdateInfo.h:
3158         Add scrollRect and scrollDelta member variables.
3159
3160         * UIProcess/BackingStore.h:
3161         Add scroll member function.
3162
3163         * UIProcess/DrawingAreaProxyImpl.cpp:
3164         (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
3165         Repaint the scroll rect. Force a display of the view when the update info contains a scroll rect.
3166
3167         * UIProcess/mac/BackingStoreMac.mm:
3168         (WebKit::BackingStore::incorporateUpdate):
3169         Call scroll.
3170
3171         (WebKit::BackingStore::scroll):
3172         Paint the backing store into itself.
3173
3174         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3175         (WebKit::DrawingAreaImpl::display):
3176         Pass the scroll information in the update info.
3177
3178 2011-01-17  Andrey Kosyakov  <caseq@chromium.org>
3179
3180         Unreviewed. Fixed malformed reference to WebKitVSPropsRedirectionDir that broke win build.
3181
3182         * win/WebKit2.vcproj:
3183         * win/WebKit2GeneratedCommon.vsprops:
3184         * win/WebKit2WebProcess.vcproj:
3185
3186 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
3187
3188         Reviewed by Yury Semikhatsky.
3189
3190         Web Inspector: simplify debugger enabling routine.
3191         https://bugs.webkit.org/show_bug.cgi?id=52472
3192
3193         * WebProcess/WebPage/WebInspector.cpp:
3194         (WebKit::WebInspector::startJavaScriptDebugging):
3195
3196 2011-01-17  Balazs Kelemen  <kbalazs@webkit.org>
3197
3198         Reviewed by Andreas Kling.
3199
3200         [Qt][WK2] Crash due to double destruction of QSharedMemory
3201         https://bugs.webkit.org/show_bug.cgi?id=52569
3202
3203         Avoid deleting the QSharedMemory twice.
3204         * Platform/qt/SharedMemoryQt.cpp:
3205         (WebKit::SharedMemory::~SharedMemory):
3206         * Shared/qt/CleanupHandler.cpp:
3207         Renamed m_inDeleteObjects to m_hasStartedDeleting and
3208         added a getter for it.
3209         (WebKit::CleanupHandler::CleanupHandler):
3210         (WebKit::CleanupHandler::deleteObjects):
3211         * Shared/qt/CleanupHandler.h:
3212         (WebKit::CleanupHandler::unmark):
3213         (WebKit::CleanupHandler::hasStartedDeleting):
3214
3215 2011-01-15  Adam Barth  <abarth@webkit.org>
3216
3217         Rubber-stamped by Eric Seidel.
3218
3219         Move WebKit2 into Source
3220         https://bugs.webkit.org/show_bug.cgi?id=52438
3221
3222         * DerivedSources.pro:
3223         * GNUmakefile.am:
3224         * WebKit2.pro:
3225         * WebProcess.pro:
3226         * win/WebKit2.vcproj:
3227         * win/WebKit2WebProcess.vcproj:
3228
3229 2011-01-14  Yuzo Fujishima  <yuzo@google.com>
3230
3231         Reviewed by Antti Koivisto.
3232
3233         Rename cache() to memoryCache()
3234         https://bugs.webkit.org/show_bug.cgi?id=52433
3235
3236         * WebProcess/WebProcess.cpp:
3237         (WebKit::WebProcess::shutdownIfPossible):
3238         (WebKit::WebProcess::didClose):
3239         * WebProcess/mac/WebProcessMac.mm:
3240         (WebKit::WebProcess::platformSetCacheModel):
3241         * WebProcess/win/WebProcessWin.cpp:
3242         (WebKit::WebProcess::platformSetCacheModel):
3243
3244 2011-01-13  Geoffrey Garen  <ggaren@apple.com>
3245
3246         Reviewed by Oliver Hunt.
3247
3248         Split out a MarkedSpace strategy object from Heap.
3249         https://bugs.webkit.org/show_bug.cgi?id=52421
3250
3251         * Shared/mac/WebMemorySampler.mac.mm:
3252         (WebKit::WebMemorySampler::sampleWebKit): Updated for class move.
3253
3254 2011-01-14  Anders Carlsson  <andersca@apple.com>
3255
3256         Reviewed by Dan Bernstein.
3257
3258         Add a new PageClient::displayView function and expose it on WebPageProxy
3259         https://bugs.webkit.org/show_bug.cgi?id=52500
3260
3261         * UIProcess/API/mac/PageClientImpl.h:
3262         * UIProcess/API/mac/PageClientImpl.mm:
3263         (WebKit::PageClientImpl::displayView):
3264         * UIProcess/API/qt/qwkpage.cpp:
3265         (QWKPagePrivate::displayView):
3266         * UIProcess/API/qt/qwkpage_p.h:
3267         * UIProcess/PageClient.h:
3268         * UIProcess/WebPageProxy.cpp:
3269         (WebKit::WebPageProxy::displayView):
3270         * UIProcess/WebPageProxy.h:
3271         * UIProcess/win/WebView.cpp:
3272         (WebKit::WebView::displayView):
3273         * UIProcess/win/WebView.h:
3274
3275 2011-01-14  Anders Carlsson  <andersca@apple.com>
3276
3277         Reviewed by Sam Weinig.
3278
3279         Implement the "should paint bounds instead of indiviual rects" algorithm from WebKit1
3280         https://bugs.webkit.org/show_bug.cgi?id=52499
3281
3282         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3283         (WebKit::shouldPaintBoundsRect):
3284         Port code from -[WebView _mustDrawUnionedRect:singleRects:count:].
3285
3286         (WebKit::DrawingAreaImpl::display):
3287         If shouldPaintBoundsRect returns true, clear the rects vector and append the bounds rect.
3288
3289 2011-01-14  Brian Weinstein  <bweinstein@apple.com>
3290
3291         Reviewed by Geoff Garen.
3292
3293         ShouldLoadResourceForFrame should use strings, not URLs.
3294         https://bugs.webkit.org/show_bug.cgi?id=52476
3295
3296         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
3297         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
3298         (WebKit::InjectedBundlePageLoaderClient::shouldLoadResourceForFrame): Pass resourceURL as a string instead of
3299             a URL, and rename from subresourceURL to resourceURL.
3300
3301 2011-01-14  Anders Carlsson  <andersca@apple.com>
3302
3303         Reviewed by Sam Weinig.
3304
3305         Fix for <rdar://problem/8711576> The web process should be able to read resources from the UI process.
3306
3307         Based on a patch by Ivan Krstić. This also makes the NSURLCache path a sandbox parameter.
3308
3309         * Shared/WebProcessCreationParameters.cpp:
3310         (WebKit::WebProcessCreationParameters::encode):
3311         (WebKit::WebProcessCreationParameters::decode):
3312         Encode and decode the uiProcessBundleResourcePath member variable.
3313
3314         * Shared/WebProcessCreationParameters.h:
3315         Add uiProcessBundleResourcePath member variable.
3316
3317         * UIProcess/mac/WebContextMac.mm:
3318         (WebKit::WebContext::platformInitializeWebProcess):
3319         Set the uiProcessBundleResourcePath member variable.
3320
3321         * WebProcess/com.apple.WebProcess.sb:
3322         Allow read-only access to UI_PROCESS_BUNDLE_RESOURCE_DIR and all subdirectories.
3323
3324         * WebProcess/mac/WebProcessMac.mm:
3325         (WebKit::initializeSandbox):
3326         When initializing the sandbox, pass UI_PROCESS_BUNDLE_RESOURCE_DIR.
3327
3328         (WebKit::WebProcess::platformInitializeWebProcess):
3329         Remove the code that would consume a sandbox extension for the url cache path.
3330
3331 2011-01-14  Anders Carlsson  <andersca@apple.com>
3332
3333         Reviewed by Sam Weinig.
3334
3335         Delay initializing the sandbox until we get the InitializeWebProcess message.
3336
3337         * WebProcess/mac/WebProcessMac.mm:
3338         (WebKit::initializeSandbox):
3339         (WebKit::WebProcess::platformInitializeWebProcess):
3340         * WebProcess/mac/WebProcessMainMac.mm:
3341         (WebKit::WebProcessMain):
3342
3343 2011-01-14  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3344
3345         Reviewed by Kenneth Rohde Christiansen.
3346
3347         Align import/export directives
3348         https://bugs.webkit.org/show_bug.cgi?id=52208
3349
3350         * Shared/API/c/WKBase.h: Align import/export directives with
3351         JavaScriptCore/API/JSBase.h.
3352
3353 2011-01-14  Pavel Feldman  <pfeldman@chromium.org>
3354
3355         Reviewed by Yury Semikhatsky.
3356
3357         Web Inspector: extract InspectorSettings from InspectorState, 
3358         simplify it.
3359         https://bugs.webkit.org/show_bug.cgi?id=52429
3360
3361         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
3362
3363 2011-01-13  Enrica Casucci  <enrica@apple.com>
3364
3365         Reviewed by Darin Adler.
3366
3367         WebKit2: Add support for drag and drop
3368         https://bugs.webkit.org/show_bug.cgi?id=52343
3369         <rdar://problem/7660558>
3370                
3371         This patch contains the changes required to support dropping content
3372         in WebKit on the Mac. The DragData class has been extended to provide
3373         additional context from the application (keyboard state, modal windows, etc.)
3374         as well as information of the drag pasteboard being used.
3375         The support for WebKit as drag source will be added with a separate patch.
3376
3377         * Shared/DragControllerAction.h: Added.
3378         * UIProcess/API/mac/WKView.mm:
3379         Added implemention of the methods required to add suport for a drop target.
3380         To maintain asynchronous communication with the WebProcess, we always return
3381         the previous calculated value for the drag operation.
3382         (-[WKView _registerDraggedTypes]):
3383         (-[WKView initWithFrame:contextRef:pageGroupRef:]):
3384         (-[WKView applicationFlags:]):
3385         (-[WKView draggingEntered:]):
3386         (-[WKView draggingUpdated:]):
3387         (-[WKView draggingExited:]):
3388         (-[WKView prepareForDragOperation:]):
3389         (-[WKView performDragOperation:]):
3390         * UIProcess/WebPageProxy.cpp:
3391         (WebKit::WebPageProxy::WebPageProxy):
3392         (WebKit::WebPageProxy::performDragControllerAction):
3393         (WebKit::WebPageProxy::didPerformDragControllerAction):
3394         * UIProcess/WebPageProxy.h:
3395         (WebKit::WebPageProxy::dragOperation):
3396         (WebKit::WebPageProxy::resetDragOperation):
3397         * UIProcess/WebPageProxy.messages.in:
3398         * WebKit2.xcodeproj/project.pbxproj:
3399         * WebProcess/WebCoreSupport/WebDragClient.cpp:
3400         (WebKit::WebDragClient::willPerformDragDestinationAction):
3401         (WebKit::WebDragClient::willPerformDragSourceAction):
3402         (WebKit::WebDragClient::actionMaskForDrag):
3403         (WebKit::WebDragClient::dragSourceActionMaskForPoint):
3404         (WebKit::WebDragClient::startDrag):
3405         * WebProcess/WebPage/WebPage.cpp:
3406         (WebKit::WebPage::performDragControllerAction):
3407         * WebProcess/WebPage/WebPage.h:
3408         * WebProcess/WebPage/WebPage.messages.in:
3409
3410 2011-01-13  Dan Bernstein  <mitz@apple.com>
3411
3412         Reviewed by John Sullivan.
3413
3414         Incorrect assertion in DrawingAreaImpl::scroll()
3415         https://bugs.webkit.org/show_bug.cgi?id=52376
3416
3417         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3418         (WebKit::DrawingAreaImpl::scroll): Changed to take the fast path if the rects have the same area.
3419         This made the assertion valid, but I removed it anyway.
3420
3421 2011-01-12  Balazs Kelemen  <kbalazs@webkit.org>
3422
3423         Unreviewed.
3424
3425         Getting rid of the unused 'viewportSize' argument in QWKPagePrivate:init.
3426         The argument is unused since http://trac.webkit.org/changeset/75468.
3427
3428         * UIProcess/API/qt/qgraphicswkview.cpp:
3429         (QGraphicsWKView::QGraphicsWKView):
3430         * UIProcess/API/qt/qwkpage.cpp:
3431         (QWKPagePrivate::init):
3432         * UIProcess/API/qt/qwkpage_p.h:
3433
3434 2011-01-12  Anders Carlsson  <andersca@apple.com>
3435
3436         Reviewed by Sam Weinig.
3437
3438         Implement DrawingAreaImpl::scroll
3439         https://bugs.webkit.org/show_bug.cgi?id=52346
3440
3441         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3442         (WebKit::DrawingAreaImpl::scroll):
3443         If there is already an active scroll, compute the area of both scroll rects and
3444         invalidate the smallest one. Compute a new dirty region if necessary and also
3445         add the scroll repaint region to the dirty region.
3446
3447         (WebKit::DrawingAreaImpl::display):
3448         Reset the scroll area and scroll delta.
3449
3450         * WebProcess/WebPage/DrawingAreaImpl.h:
3451         Add scroll area and scroll delta member variables.
3452
3453 2011-01-12  Anders Carlsson  <andersca@apple.com>
3454
3455         Reviewed by Dan Bernstein.
3456
3457         Region improvements
3458         https://bugs.webkit.org/show_bug.cgi?id=52344
3459
3460         * Platform/Region.cpp:
3461         (WebKit::Region::Shape::move):
3462         (WebKit::Region::move):
3463         Change Region::move to take an IntSize.
3464
3465         * Platform/Region.h:
3466         (WebKit::intersect):
3467         (WebKit::subtract):
3468         (WebKit::move):
3469         Add convenience functions.
3470
3471 2011-01-12  Ryosuke Niwa  <rniwa@webkit.org>
3472
3473         Unreviewed Qt build fix for r75661
3474
3475         * Shared/WebEvent.h: Don't declare phase() on non-Mac platforms.
3476
3477 2011-01-12  Beth Dakin  <bdakin@apple.com>
3478
3479         Reviewed by Anders Carlsson.
3480
3481         Add-on for https://bugs.webkit.org/show_bug.cgi?id=52309 
3482         Expose fixed layout through WebKit SPI
3483         -and corresponding-
3484         <rdar://problem/8844464>
3485
3486         And now with getters!
3487         * UIProcess/API/C/WKPage.cpp:
3488         (WKPageUseFixedLayout):
3489         (WKPageFixedLayoutSize):
3490         * UIProcess/API/C/WKPage.h:
3491         * UIProcess/WebPageProxy.h:
3492         (WebKit::WebPageProxy::useFixedLayout):
3493         (WebKit::WebPageProxy::fixedLayoutSize):
3494
3495 2011-01-12  Sam Weinig  <sam@webkit.org>
3496
3497         Reviewed by Anders Carlsson.
3498
3499         https://bugs.webkit.org/show_bug.cgi?id=52337
3500         PlatformWheelEvent should know about the scroll phase on the Mac
3501
3502         Add a phase parameter on Mac WebWheelEvent and pipe it down to PlatformWheelEvent.
3503
3504         * Shared/WebEvent.h:
3505         (WebKit::WebWheelEvent::phase):
3506         * Shared/WebEventConversion.cpp:
3507         (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
3508         * Shared/WebWheelEvent.cpp:
3509         (WebKit::WebWheelEvent::WebWheelEvent):
3510         (WebKit::WebWheelEvent::encode):
3511         (WebKit::WebWheelEvent::decode):
3512         * Shared/mac/WebEventFactory.mm:
3513         (WebKit::phaseForEvent):
3514         (WebKit::WebEventFactory::createWebWheelEvent):
3515
3516 2011-01-12  Anders Carlsson  <andersca@apple.com>
3517
3518         Reviewed by Sam Weinig.
3519
3520         Get rid of an unneeded parameter from DrawingArea::scroll
3521         https://bugs.webkit.org/show_bug.cgi?id=52336
3522
3523         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3524         (WebKit::WebChromeClient::scroll):
3525         * WebProcess/WebCoreSupport/WebChromeClient.h:
3526         * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
3527         (WebKit::ChunkedUpdateDrawingArea::scroll):
3528         * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
3529         * WebProcess/WebPage/DrawingArea.h:
3530         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3531         (WebKit::DrawingAreaImpl::scroll):
3532         * WebProcess/WebPage/DrawingAreaImpl.h:
3533         * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
3534         (WebKit::LayerBackedDrawingArea::scroll):
3535         * WebProcess/WebPage/LayerBackedDrawingArea.h:
3536         * WebProcess/WebPage/TiledDrawingArea.cpp:
3537         (WebKit::TiledDrawingArea::scroll):
3538         * WebProcess/WebPage/TiledDrawingArea.h:
3539
3540 2011-01-12  Anders Carlsson  <andersca@apple.com>
3541
3542         Reviewed by Sam Weinig.
3543
3544         Get the new drawing area painting to the screen
3545         https://bugs.webkit.org/show_bug.cgi?id=52331
3546