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