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