a838f775b9519357788dd47334e77e104fcc8d55
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2011-02-08  Jessie Berlin  <jberlin@apple.com>
2
3         Reviewed by Adam Roben.
4
5         ASSERTION FAILURE: ASSERT_NOT_REACHED() in Connection::writeEventHandler() after the Web
6         Process crashes.
7         https://bugs.webkit.org/show_bug.cgi?id=54005
8
9         * Platform/CoreIPC/win/ConnectionWin.cpp:
10         (CoreIPC::Connection::writeEventHandler):
11         Handle ERROR_BROKEN_PIPE by calling connectionDidClose() and returning early.
12
13 2011-02-08  Adam Roben  <aroben@apple.com>
14
15         Handle WM_TIMER messages for stopped timers
16
17         Whenever we stop a timer, we call ::KillTimer to cancel any future firings of the timer. But
18         ::KillTimer doesn't do anything about WM_TIMER messages that have already been posted to the
19         message queue. We need to handle those, too.
20
21         Fixes <http://webkit.org/b/53999> Occasional assertion failures in
22         RunLoop::TimerBase::timerFired
23
24         Reviewed by Darin Adler.
25
26         * Platform/win/RunLoopWin.cpp:
27         (RunLoop::TimerBase::timerFired): Just bail if the timer has already been stopped.
28
29 2011-02-08  Adam Roben  <aroben@apple.com>
30
31         Don't mark a Connection as connected until open() is called on Windows
32
33         This matches Mac. Even though the Connection's pipe is connected before open() is called,
34         the Connection itself isn't really connected to the pipe until then, and we won't actually
35         read any data from before that point.
36
37         Fixes <http://webkit.org/b/53998> <rdar://problem/8971207> REGRESSION (r77874): Assertion
38         failure on launch in Connection::setDidCloseOnConnectionWorkQueueCallback on Windows
39
40         Reviewed by Darin Adler.
41
42         * Platform/CoreIPC/win/ConnectionWin.cpp:
43         (CoreIPC::Connection::platformInitialize): Moved code to set m_isConnected from here to
44         open.
45         (CoreIPC::Connection::platformInvalidate): Unset m_isConnected, to match Mac. (This isn't
46         part of the bug fix, but seemed worthwhile.)
47         (CoreIPC::Connection::open): Set m_isConnected now that we're going to listen on the pipe.
48
49 2011-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
50
51         Unreviewed, rolling out r77866.
52         http://trac.webkit.org/changeset/77866
53         https://bugs.webkit.org/show_bug.cgi?id=53981
54
55         caused all WebKit2 inspector tests to crash (Requested by
56         othermaciej on #webkit).
57
58         * UIProcess/WebInspectorProxy.cpp:
59         (WebKit::WebInspectorProxy::didClose):
60
61 2011-02-07  Maciej Stachowiak  <mjs@apple.com>
62
63         Reviewed by Dan Bernstein.
64
65         Add resource load client for injected bundle and move willSendRequest there
66         https://bugs.webkit.org/show_bug.cgi?id=53972
67
68         * GNUmakefile.am:
69         * WebKit2.pro:
70         * WebKit2.xcodeproj/project.pbxproj:
71         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
72         (WKBundlePageSetPageLoaderClient):
73         (WKBundlePageSetResourceLoadClient):
74         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
75         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
76         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
77         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp: Added.
78         (WebKit::InjectedBundlePageResourceLoadClient::didInitiateLoadForResource):
79         (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
80         (WebKit::InjectedBundlePageResourceLoadClient::didReceiveResponseForResource):
81         (WebKit::InjectedBundlePageResourceLoadClient::didReceiveContentLengthForResource):
82         (WebKit::InjectedBundlePageResourceLoadClient::didFinishLoadForResource):
83         (WebKit::InjectedBundlePageResourceLoadClient::didFailLoadForResource):
84         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h: Added.
85         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
86         (WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest):
87         (WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
88         (WebKit::WebFrameLoaderClient::dispatchDidReceiveResponse):
89         (WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
90         (WebKit::WebFrameLoaderClient::dispatchDidFinishLoading):
91         (WebKit::WebFrameLoaderClient::dispatchDidFailLoading):
92         * WebProcess/WebPage/WebPage.cpp:
93         (WebKit::WebPage::initializeInjectedBundleResourceLoadClient):
94         * WebProcess/WebPage/WebPage.h:
95         (WebKit::WebPage::injectedBundleResourceLoadClient):
96         * win/WebKit2.vcproj:
97
98 2011-02-07  Mark Rowe  <mrowe@apple.com>
99
100         Fix the 32-bit build.
101
102         * UIProcess/cf/WebBackForwardListCF.cpp:
103         (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Add some casts
104         to prevent warnings about mixing signed and unsigned comparisons.
105
106 2011-02-07  Qi Zhang  <qi.2.zhang@nokia.com>
107
108         Reviewed by Andreas Kling.
109
110         [Qt] enum QWebPage::WebAction doesn't have value QWebPage::CopyImageUrl
111         https://bugs.webkit.org/show_bug.cgi?id=52974
112
113         Add ContextMenuItemTagCopyImageUrlToClipboard into standard action but Qt platform specific.
114
115         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
116         (WebKit::WebPlatformStrategies::contextMenuItemTagCopyImageUrlToClipboard):
117         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
118
119 2011-02-07  Enrica Casucci  <enrica@apple.com>
120
121         Reviewed by Sam Weinig.
122
123         Fixing a build break on Mac caused by http://trac.webkit.org/changeset/77874
124         
125         Removed unused static function.
126         
127         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
128
129 2011-02-07  Anders Carlsson  <andersca@apple.com>
130
131         Reviewed by Sam Weinig.
132
133         <rdar://problem/8969888> 
134         The WebProcess should set LSFileQuarantineEnabled to true
135
136         * WebProcess/Info.plist:
137
138 2011-02-07  Anders Carlsson  <andersca@apple.com>
139
140         Reviewed by Sam Weinig.
141
142         Crash in web process after the connection had been closed
143         https://bugs.webkit.org/show_bug.cgi?id=51115
144         <rdar://problem/8964255>
145
146         Remove didCloseOnConnectionWorkQueue from Connection::Client and add
147         Connection::setDidCloseOnConnectionWorkQueueCallback which takes a static
148         function, eliminating the race condition in connectionDidClose where m_client could be
149         nulled out in the client thread right before we try to dereference it.
150
151         * Platform/CoreIPC/Connection.cpp:
152         (CoreIPC::Connection::Connection):
153         Initialize m_didCloseOnConnectionWorkQueueCallback.
154
155         (CoreIPC::Connection::setDidCloseOnConnectionWorkQueueCallback):
156         Update m_didCloseOnConnectionWorkQueueCallback.
157
158         (CoreIPC::Connection::connectionDidClose):
159         Call m_didCloseOnConnectionWorkQueueCallback.
160
161         * Platform/WorkQueue.h:
162         Make WorkQueue noncopyable.
163
164         * PluginProcess/PluginProcess.cpp:
165         (WebKit::PluginProcess::initializeConnection):
166         Call setDidCloseOnConnectionWorkQueueCallback.
167
168         * Shared/ChildProcess.cpp:
169         (WebKit::ChildProcess::didCloseOnConnectionWorkQueue):
170         * Shared/ChildProcess.h:
171         didCloseOnConnectionWorkQueue is now a static member function.
172
173         * WebProcess/WebProcess.cpp:
174         (WebKit::WebProcess::initialize):
175         Call setDidCloseOnConnectionWorkQueueCallback.
176
177 2011-02-07  Enrica Casucci  <enrica@apple.com>
178
179         Reviewed Adam Roben and Darin Adler.
180
181         WebKit2: drag and drop support on Windows.
182         https://bugs.webkit.org/show_bug.cgi?id=52775
183         <rdar://problem/8514409>
184         
185         This patch contains the remaining work to support
186         a WebKit window as drag source on Windows.
187         I've added the code to generate the image for dragging a link as
188         well as the steps necessary to package the HBITMAP into a SharedMemory
189         object and send it over to the UI process where DoDragDrop is performed.
190
191         * UIProcess/WebPageProxy.cpp:
192         (WebKit::WebPageProxy::setDragImage):
193         (WebKit::WebPageProxy::startDragDrop):
194         * UIProcess/WebPageProxy.h:
195         * UIProcess/WebPageProxy.messages.in:
196         * WebProcess/WebCoreSupport/WebDragClient.cpp:
197         (WebKit::WebDragClient::startDrag): Made startDrag for
198         platforms other than Windows and Mac.
199         * WebProcess/WebCoreSupport/WebDragClient.h:
200         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
201         (WebKit::WebDragClient::startDrag):
202         * WebProcess/WebCoreSupport/win/WebDragClientWin.cpp: Added.
203         (WebKit::draggingSourceOperationMaskToDragCursors):
204         (WebKit::WebDragClient::startDrag):
205         * WebProcess/WebCoreSupport/win/WebDragSource.cpp: Added.
206         This object implements the IDropSource interface.
207         (WebDragSource::createInstance):
208         (WebDragSource::WebDragSource):
209         (WebDragSource::QueryInterface):
210         (WebDragSource::AddRef):
211         (WebDragSource::Release):
212         (WebDragSource::QueryContinueDrag):
213         (WebDragSource::GiveFeedback):
214         * WebProcess/WebCoreSupport/win/WebDragSource.h: Added.
215         * win/WebKit2.vcproj:
216
217 2011-02-07  Anders Carlsson  <andersca@apple.com>
218
219         Reviewed by Sam Weinig.
220
221         UI process crashes if web process crashes while web inspector is focused
222         https://bugs.webkit.org/show_bug.cgi?id=53965
223         <rdar://problem/8961633>
224
225         Make sure to close the web inspector web page proxy before calling platformClose, since
226         platformClose can cause the web page proxy to try to send messages (such as SetActive)
227         to the web process while it's in a bad state.
228
229         * UIProcess/WebInspectorProxy.cpp:
230         (WebKit::WebInspectorProxy::didClose):
231
232 2011-02-07  Anders Carlsson  <andersca@apple.com>
233
234         Reviewed by Darin Adler.
235
236         Find bouncy is missing content on pages with framesets
237         https://bugs.webkit.org/show_bug.cgi?id=53958
238         <rdar://problem/8904447>
239
240         Fix paint rect computation; FrameView::paint expects the paint rect to be in the
241         parent widget's coordinate system.
242
243         * WebProcess/WebPage/FindController.cpp:
244         (WebKit::FindController::updateFindIndicator):
245
246 2011-02-07  Brady Eidson  <beidson@apple.com>
247
248         Reviewed by Anders Carlsson.
249
250         <rdar://problem/8960434> and https://bugs.webkit.org/show_bug.cgi?id=53957
251         Crash after incorrectly restoring bogus session state.
252
253         In some cases we're writing an invalid session state for a back/forward list where the current entry is 0
254         but the number of entries is also 0.
255         In such cases the current entry should be "NoCurrentEntryIndex."
256
257         When we later read this state in, we set ourselves up to crash later.
258
259         Amusingly an ASSERT caught this, but we should've rejected it before the ASSERT fired.
260
261         * UIProcess/cf/WebBackForwardListCF.cpp:
262         (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Fail the restore if the "current index past the end
263           of the list" case occurs, and speculatively bail out of the case where we have no current index but do have a list.
264           Also remove the unhelpful ASSERT.
265
266 2011-02-07  Sam Weinig  <sam@webkit.org>
267
268         Reviewed by Anders Carlsson.
269
270         Add bundle API to get the background color of a frame
271         <rdar://problem/8962670>
272         https://bugs.webkit.org/show_bug.cgi?id=53952
273
274         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
275         (WKBundleFrameGetBodyBackgroundColor):
276         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
277         Add API function.
278
279         * WebProcess/WebPage/WebFrame.cpp:
280         (WebKit::WebFrame::getDocumentBackgroundColor):
281         * WebProcess/WebPage/WebFrame.h:
282         Call down into the document to get either the body's, or if there is no body,
283         the root element's, background color.
284
285 2011-02-07  Sam Weinig  <sam@webkit.org>
286
287         Fix typo. vectical -> vertical.
288
289         * UIProcess/WebPageProxy.cpp:
290         (WebKit::WebPageProxy::didChangeScrollbarsForMainFrame):
291
292 2011-02-07  Sam Weinig  <sam@webkit.org>
293
294         Reviewed by Anders Carlsson.
295
296         Inform the UIProcess when main frame scrollbars change
297         <rdar://problem/8967496>
298         https://bugs.webkit.org/show_bug.cgi?id=53941
299
300         * UIProcess/API/C/WKPage.cpp:
301         (WKPageHasHorizontalScrollbar):
302         (WKPageHasVerticalScrollbar):
303         * UIProcess/API/C/WKPage.h:
304         Add API to query whether the main frame has scrollbars.
305
306         * UIProcess/WebPageProxy.cpp:
307         (WebKit::WebPageProxy::WebPageProxy):
308         (WebKit::WebPageProxy::close):
309         (WebKit::WebPageProxy::processDidCrash):
310         (WebKit::WebPageProxy::didChangeScrollbarsForMainFrame):
311         * UIProcess/WebPageProxy.h:
312         (WebKit::WebPageProxy::hasHorizontalScrollbar):
313         (WebKit::WebPageProxy::hasVerticalScrollbar):
314         Store/update main frame scrollbar state.
315
316         * UIProcess/WebPageProxy.messages.in:
317         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
318         (WebKit::WebChromeClient::contentsSizeChanged):
319         * WebProcess/WebCoreSupport/WebChromeClient.h:
320         (WebKit::WebChromeClient::WebChromeClient):
321         Post message when main frame scrollbar state changes.
322
323 2011-02-07  Anders Carlsson  <andersca@apple.com>
324
325         Reviewed by Sam Weinig.
326
327         Some content is not covered by Find-on-page overlay
328         https://bugs.webkit.org/show_bug.cgi?id=53937
329         <rdar://problem/8711353>
330
331         * WebProcess/WebPage/DrawingAreaImpl.cpp:
332         (WebKit::DrawingAreaImpl::didInstallPageOverlay):
333         Call LayerTreeHost::didInstallPageOverlay.
334
335         (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
336         Call LayerTreeHost::didUninstallPageOverlay.
337
338         (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
339         Call LayerTreeHost::setPageOverlayNeedsDisplay.
340
341         * WebProcess/WebPage/FindController.cpp:
342         (WebKit::FindController::drawRect):
343         Remove a bogus assertion.
344
345         * WebProcess/WebPage/LayerTreeHost.h:
346         Add new pure virtual member functions.
347
348         * WebProcess/WebPage/PageOverlay.cpp:
349         (WebKit::PageOverlay::setNeedsDisplay):
350         Call DrawingArea::setPageOverlayNeedsDisplay.
351
352         * WebProcess/WebPage/WebPage.cpp:
353         (WebKit::WebPage::installPageOverlay):
354         Make sure to call PageOverlay::setNeedsDisplay after the page overlay has been installed.
355     
356         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
357         (WebKit::LayerTreeHostMac::LayerTreeHostMac):
358         Create the page overlay layer if needed.
359
360         (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
361         Invalidate the page overlay layer as well.
362
363         (WebKit::LayerTreeHostMac::sizeDidChange):
364         Resize the page overlay layer.
365
366         (WebKit::LayerTreeHostMac::didInstallPageOverlay):
367         Create the page overlay layer.
368
369         (WebKit::LayerTreeHostMac::didUninstallPageOverlay):
370         Destroy the page overlay layer.
371
372         (WebKit::LayerTreeHostMac::setPageOverlayNeedsDisplay):
373         Call setNeedsDisplay on the page overlay layer.
374
375         (WebKit::LayerTreeHostMac::paintContents):
376         Handle painting the page overlay layer.
377
378         (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
379         Flush the page overlay layer changes as well.
380
381         (WebKit::LayerTreeHostMac::createPageOverlayLayer):
382         Create a layer and add it as a sublayer of the root layer.
383
384         (WebKit::LayerTreeHostMac::destroyPageOverlayLayer):
385         Destroy the page overlay layer.
386
387 2011-02-06  Adam Roben  <aroben@apple.com>
388
389         Make it possible to use DrawingAreaProxyImpl on Windows
390
391         It can be optionally turned on by setting the WEBKIT2_USE_NEW_DRAWING_AREA environment
392         variable. Turning it on by default is covered by <http://webkit.org/b/53805>.
393
394         Fixes <http://webkit.org/b/53879>.
395
396         Reviewed by Anders Carlsson.
397
398         * UIProcess/BackingStore.h: Add an m_bitmap member on Windows.
399
400         * UIProcess/win/BackingStoreWin.cpp:
401         (WebKit::BitmapDC::operator HDC):
402         (WebKit::BitmapDC::BitmapDC):
403         (WebKit::BitmapDC::~BitmapDC):
404         Added this helper class, which uses RAII to select a bitmap into a new memory DC.
405         (WebKit::BackingStore::paint): Wrap our bitmap in a BitmapDC and use ::BitBlt to copy the
406         specified rect into the destination DC.
407         (WebKit::createBitmap): New helper function, just creates a DIB section with the specified
408         size.
409         (WebKit::BackingStore::incorporateUpdate): Ported from BackingStoreMac.mm. It seems like
410         this code could be shared at some point.
411         (WebKit::BackingStore::scroll): Wrap our bitmap in a BitmapDC and use ::ScrollDC to scroll
412         the specified rect.
413
414         * UIProcess/win/WebView.cpp:
415         (WebKit::useNewDrawingArea): Added. Returns true if the WEBKIT2_USE_NEW_DRAWING_AREA
416         environment variable is set.
417         (WebKit::drawPageBackground): New helper function. Code came from onPaintEvent.
418         (WebKit::WebView::onPaintEvent): Ported from -[WKView drawRect:].
419         (WebKit::WebView::createDrawingAreaProxy): Create a DrawingAreaProxyImpl if we're using the
420         new drawing area.
421
422         (WebKit::WebView::enterAcceleratedCompositingMode):
423         (WebKit::WebView::exitAcceleratedCompositingMode):
424         (WebKit::WebView::pageDidEnterAcceleratedCompositing):
425         (WebKit::WebView::pageDidLeaveAcceleratedCompositing):
426         Added some assertions to make sure these are only called when expected. We don't expect
427         enter/exitAcceleratedCompositingMode to be called at all right now, because accelerated
428         compositing is turned off in WebKit2 on Windows.
429
430         (WebKit::WebView::switchToDrawingAreaTypeIfNecessary): Ditto, and added a case for the
431         DrawingAreaInfo::Impl constant.
432
433 2011-02-07  Adam Roben  <aroben@apple.com>
434
435         Start compiling DrawingArea[Proxy]Impl and dependencies on Windows
436
437         Fixes <http://webkit.org/b/53875> WebKit2 on Windows should build DrawingArea[Proxy]Impl
438
439         Reviewed by Sam Weinig and Darin Adler.
440
441         * Platform/Region.cpp:
442         (WebKit::Region::Shape::shapeOperation): Initialize variable to avoid a bogus "potentially
443         uninitialized variable" warning.
444
445         * UIProcess/BackingStore.cpp: Removed #error for non-Mac platforms.
446
447         * UIProcess/BackingStore.h: Added a PlatformGraphicsContext typedef for Windows.
448
449         * UIProcess/DrawingAreaProxy.h:
450         * UIProcess/DrawingAreaProxyImpl.cpp:
451         * UIProcess/WebPageProxy.cpp:
452         (WebKit::WebPageProxy::didReceiveMessage):
453         Allow Windows to compile the new drawing area code.
454
455         * WebProcess/WebPage/DrawingArea.cpp:
456         (WebKit::DrawingArea::create): Allow creating a DrawingAreaImpl on Windows, too.
457
458         * WebProcess/WebPage/DrawingArea.h:
459         * WebProcess/WebPage/DrawingAreaImpl.cpp:
460         * WebProcess/WebPage/LayerTreeHost.cpp:
461         * WebProcess/WebPage/WebPage.cpp:
462         (WebKit::WebPage::didReceiveMessage):
463         Allow Windows to compile the new drawing area code.
464
465         * Shared/win/LayerTreeContextWin.cpp: Added.
466         * UIProcess/win/BackingStoreWin.cpp: Added.
467         Stubbed out these files.
468
469         * win/WebKit2.vcproj: Added new files.
470
471 2011-02-07  Anders Carlsson  <andersca@apple.com>
472
473         Reviewed by Dan Bernstein.
474
475         Rename some drawing area related member functions
476         https://bugs.webkit.org/show_bug.cgi?id=53935
477
478         * WebProcess/WebPage/DrawingArea.h:
479         (WebKit::DrawingArea::setPageOverlayNeedsDisplay):
480         * WebProcess/WebPage/DrawingAreaImpl.cpp:
481         (WebKit::DrawingAreaImpl::setNeedsDisplay):
482         (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
483         * WebProcess/WebPage/DrawingAreaImpl.h:
484         * WebProcess/WebPage/LayerTreeHost.h:
485         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
486         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
487         (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
488         (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
489
490 2011-02-07  Adam Roben  <aroben@apple.com>
491
492         Use the right calling convention when calling WebKitMain
493
494         Fixes <http://webkit.org/b/53923> REGRESSION (r77678): Crash on quit in web process in
495         wWinMain
496
497         Reviewed by Steve Falkenburg.
498
499         * win/MainWin.cpp:
500         (wWinMain): Use __cdecl instead of WINAPI (__stdcall) when calling WebKitMain, since that is
501         how that function is declared.
502
503 2011-02-07  Anders Carlsson  <andersca@apple.com>
504
505         Reviewed by Dan Bernstein.
506
507         The drawing area should be in charge of drawing the page overlay
508         https://bugs.webkit.org/show_bug.cgi?id=53927
509
510         * WebProcess/WebPage/DrawingArea.h:
511         (WebKit::DrawingArea::didInstallPageOverlay):
512         (WebKit::DrawingArea::didUninstallPageOverlay):
513         (WebKit::DrawingArea::setOverlayNeedsDisplay):
514         Add empty stubs.
515
516         * WebProcess/WebPage/DrawingAreaImpl.cpp:
517         (WebKit::DrawingAreaImpl::didInstallPageOverlay):
518         Add empty function. This will eventually ask the layer tree host to
519         create a GraphicsLayer for the page overlay.
520
521         (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
522         Tell the page that it needs to be repainted.
523
524         (WebKit::DrawingAreaImpl::setOverlayNeedsDisplay):
525         Just call setNeedsDisplay for now.
526
527         (WebKit::DrawingAreaImpl::display):
528         Paint the page overlay too.
529
530         * WebProcess/WebPage/DrawingAreaImpl.h:
531         * WebProcess/WebPage/WebPage.cpp:
532         (WebKit::WebPage::drawRect):
533         Only call drawPageOverlay if we have an old drawing area.
534
535         (WebKit::WebPage::drawPageOverlay):
536         Draw the page overlay. Code moved here from WebPage::drawRect.
537
538         (WebKit::WebPage::installPageOverlay):
539         Call DrawingArea::installPageOverlay.
540
541         (WebKit::WebPage::uninstallPageOverlay):
542         Call DrawingArea::uninstallPageOverlay.
543
544         * WebProcess/WebPage/WebPage.h:
545         (WebKit::WebPage::hasPageOverlay):
546         Add getter.
547
548 2011-02-07  Anders Carlsson  <andersca@apple.com>
549
550         Reviewed by Sam Weinig.
551
552         Add WebPage::bounds and use it
553         https://bugs.webkit.org/show_bug.cgi?id=53926
554
555         * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
556         (WebKit::ChunkedUpdateDrawingArea::resumePainting):
557         * WebProcess/WebPage/DrawingAreaImpl.cpp:
558         (WebKit::DrawingAreaImpl::resumePainting):
559         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
560         * WebProcess/WebPage/WebPage.h:
561         (WebKit::WebPage::bounds):
562
563 2011-02-07  Anders Carlsson  <andersca@apple.com>
564
565         Reviewed by Maciej Stachowiak.
566
567         Don't exclude overlay scrollers from the page overlay bounds
568         https://bugs.webkit.org/show_bug.cgi?id=53924
569
570         Don't subtract the scrollbars from the page overlay bounds if
571         overlay scrollers are enabled.
572
573         * WebProcess/WebPage/PageOverlay.cpp:
574         (WebKit::PageOverlay::bounds):
575
576 2011-02-07  Adam Roben  <aroben@apple.com>
577
578         Windows build fix after r77794
579
580         * win/WebKit2.def: Export WebCore symbols used by WebKitTestRunner.
581
582 2011-02-07  Maciej Stachowiak  <mjs@apple.com>
583
584         Reviewed by Antti Koivisto.
585
586         Add WKURLRequestCopyURL API (needed for tests and also generally useful)
587         https://bugs.webkit.org/show_bug.cgi?id=53909
588
589         * Shared/API/c/WKURLRequest.cpp:
590         (WKURLRequestCopyURL):
591         * Shared/API/c/WKURLRequest.h:
592         * Shared/WebURLRequest.h:
593         (WebKit::WebURLRequest::url):
594
595 2011-02-06  Ryosuke Niwa  <rniwa@webkit.org>
596
597         Unreviewed; speculative Qt build fix.
598
599         * WebKit2.pro:
600
601 2011-02-06  Ryosuke Niwa  <rniwa@webkit.org>
602
603         Reviewed by Darin Adler.
604
605         OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
606         https://bugs.webkit.org/show_bug.cgi?id=52867
607
608         * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
609         (WebKit::NetscapePluginModule::getPluginInfo): Calls adoptArrayPtr.
610
611 2011-02-06  Benjamin Poulain  <ikipou@gmail.com>
612
613         Reviewed by Andreas Kling.
614
615         [Qt] WebKit does not build on Mac with WebKit 2
616         https://bugs.webkit.org/show_bug.cgi?id=53380
617
618         * Platform/CoreIPC/qt/ConnectionQt.cpp: Use fcntl() to set close on exec so
619         we do not rely on recent kernel.
620         (CoreIPC::Connection::readyReadHandler):
621         * Platform/qt/SharedMemoryQt.cpp: ditto
622         (WebKit::SharedMemory::create):
623         (WebKit::SharedMemory::createHandle):
624         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Guard prctl() since it is
625         a Linux specific function.
626         (WebKit::QtWebProcess::setupChildProcess):
627         * UIProcess/DrawingAreaProxy.h: Differentiate between building on Mac
628         and the Mac port.
629         * UIProcess/DrawingAreaProxyImpl.cpp: ditto
630         * UIProcess/WebPageProxy.cpp: ditto
631         (WebKit::WebPageProxy::didReceiveMessage):
632         * WebProcess/WebPage/DrawingArea.cpp: ditto
633         (WebKit::DrawingArea::create):
634         * WebProcess/WebPage/DrawingArea.h:
635         * WebProcess/WebPage/DrawingAreaImpl.cpp: ditto
636         * WebProcess/WebPage/WebPage.cpp: ditto
637         (WebKit::WebPage::didReceiveMessage):
638
639 2011-02-05  Maciej Stachowiak  <mjs@apple.com>
640
641         Reviewed by Dan Bernstein.
642
643         REGRESSION: New drawing area is causing some WebProcess crashes in layout tests
644         https://bugs.webkit.org/show_bug.cgi?id=53865
645         <rdar://problem/8963148>
646         
647         * WebProcess/WebPage/DrawingAreaImpl.cpp:
648         (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): Handle the case
649         where this is called repeatedly without exiting accelerated composting mode
650         first.
651         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): Handle the case
652         of being called more than once.
653
654 2011-02-05  Anders Carlsson  <andersca@apple.com>
655
656         Reviewed by Darin Adler.
657
658         Need a way to resize and scroll the page at the same time
659         https://bugs.webkit.org/show_bug.cgi?id=53814
660         <rdar://problem/8498008>
661
662         Add -[WKView setFrame:andScrollBy:].
663
664         * UIProcess/API/mac/WKView.h:
665         * UIProcess/API/mac/WKView.mm:
666         (-[WKView setFrame:andScrollBy:]):
667         Stash away the scroll offset and call setFrame:.
668
669         (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::]):
670         (-[WKView _setDrawingAreaSize:]):
671         * UIProcess/API/qt/qwkpage.cpp:
672         (QWKPage::setViewportSize):
673         DrawingAreaProxy::setSize now takes a scroll offset.
674
675         * UIProcess/DrawingAreaProxy.cpp:
676         (WebKit::DrawingAreaProxy::setSize):
677         This now takes a scroll offset and stores it in m_scrollOffset.
678
679         * UIProcess/DrawingAreaProxy.h:
680         * UIProcess/DrawingAreaProxyImpl.cpp:
681         (WebKit::DrawingAreaProxyImpl::sendSetSize):
682         Send along the scroll offset and set it back to zero.
683
684         * UIProcess/LayerBackedDrawingAreaProxy.cpp:
685         (WebKit::LayerBackedDrawingAreaProxy::didSetSize):
686         * UIProcess/TiledDrawingAreaProxy.cpp:
687         (WebKit::TiledDrawingAreaProxy::didSetSize):
688         * UIProcess/win/WebView.cpp:
689         (WebKit::WebView::onSizeEvent):
690         (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
691         DrawingAreaProxy::setSize now takes a scroll offset.
692         
693         * WebProcess/WebPage/DrawingArea.h:
694         (WebKit::DrawingArea::setSize):
695         Add a scrollOffset parameter.
696
697         * WebProcess/WebPage/DrawingArea.messages.in:
698         Add a scroll offset parameter to the SetSize message.
699
700         * WebProcess/WebPage/DrawingAreaImpl.cpp:
701         (WebKit::DrawingAreaImpl::setSize):
702         Call WebPage::scrollMainFrameIfNotAtMaxScrollPosition.
703
704         * WebProcess/WebPage/DrawingAreaImpl.h:
705         * WebProcess/WebPage/WebPage.cpp:
706         (WebKit::WebPage::scrollMainFrameIfNotAtMaxScrollPosition):
707         Compute a scroll offset and call setScrollPosition on the main frame view.
708
709 2011-02-04  Brian Weinstein  <bweinstein@apple.com>
710
711         Reviewed by Maciej Stachowiak.
712
713         WebKit2: Crash when InjectedBundlePageLoaderClient::willSendRequestForFrame returns a null WKURLRequestRef
714         https://bugs.webkit.org/show_bug.cgi?id=53829
715         
716         Store the result of m_client.willSendRequestForFrame in a RefPtr, and null check it before
717         calling resourceRequest() on it.
718
719         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
720         (WebKit::InjectedBundlePageLoaderClient::willSendRequestForFrame):
721
722 2011-02-04  Anders Carlsson  <andersca@apple.com>
723
724         Fix build.
725
726         * WebProcess/mac/WebProcessMac.mm:
727
728 2011-02-04  Anders Carlsson  <andersca@apple.com>
729
730         Reviewed by Mark Rowe.
731
732         Link opened in background tab fails to paint when activated if it completes loading before tab is selected
733         https://bugs.webkit.org/show_bug.cgi?id=53827
734         <rdar://problem/8962355>
735
736         * WebProcess/WebPage/DrawingAreaImpl.cpp:
737         (WebKit::DrawingAreaImpl::resumePainting):
738         Invalidate the entire page.
739
740 2011-02-04  Anders Carlsson  <andersca@apple.com>
741
742         Reviewed by Sam Weinig.
743
744         Fix <rdar://problem/8961227> WebKit2 does not work with symlinked home directories.
745
746         * WebProcess/mac/WebProcessMac.mm:
747         (WebKit::WebProcess::platformSetCacheModel):
748         Don't adopt an autoreleased pointer, this would lead to a crash.
749
750         (WebKit::appendSandboxParameterPath):
751         (WebKit::appendSandboxParameterConfPath):
752         (WebKit::initializeSandbox):
753         Clean up the sandbox parameter code and make sure that realpath is called for all parameters.
754
755 2011-02-04  Sam Weinig  <sam@webkit.org>
756
757         Reviewed by Mark Rowe.
758
759         Sandbox violations when visiting a site using HTTP authentication
760         <rdar://problem/8951079> 
761
762         * WebProcess/com.apple.WebProcess.sb:
763
764 2011-02-04  Alexey Proskuryakov  <ap@apple.com>
765
766         Reviewed by Darin Adler.
767
768         https://bugs.webkit.org/show_bug.cgi?id=53823
769         Print layout sometimes seen on screen
770
771         <rdar://problem/8948742> REGRESSION (WebKit2) - When I print a page, I visually see it re-layout
772         <rdar://problem/8899389> REGRESSION(WebKit2): Wrong content can appear when print dialog is up
773
774         * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::setAutodisplay): Removed a
775         branch that didn't do anything useful.
776
777         * UIProcess/API/mac/WKPrintingView.h:
778         * UIProcess/API/mac/WKPrintingView.mm:
779         (-[WKPrintingView _suspendAutodisplay]):
780         (-[WKPrintingView _delayedResumeAutodisplayTimerFired]):
781         (-[WKPrintingView _delayedResumeAutodisplay]):
782         (-[WKPrintingView knowsPageRange:]):
783         (-[WKPrintingView beginDocument]):
784         (-[WKPrintingView endDocument]):
785         When page setup changes, or when going from print preview to actual printing, AppKit calls
786         -endDocument just to begin it again. Delay resuming autodisplay until the next run loop
787         iteration.
788
789         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
790         (WebKit::WebChromeClient::invalidateContentsAndWindow):
791         (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
792         Tightened it up from other side - we should never send pixels to UI process while in
793         printing mode. This is not 100% reliable, because relayout doesn't happen immediately,
794         and we can still have print layout in screen mode - but it helps.
795
796 2011-02-04  Sam Weinig  <sam@webkit.org>
797
798         Reviewed by Mark Rowe.
799
800         Fix for <rdar://problem/8961580>.
801         Work around for <rdar://problem/8957845>.
802
803         * WebProcess/com.apple.WebProcess.sb:
804
805 2011-02-04  Darin Adler  <darin@apple.com>
806
807         Reviewed by Dan Bernstein.
808
809         WebKit2 doesn't hide mouse pointer on keypress
810         https://bugs.webkit.org/show_bug.cgi?id=53821
811         rdar://problem/8630895
812
813         * UIProcess/PageClient.h: Renamed didNotHandleKeyEvent to
814         doneWithKeyEvent and added a bool wasEventHandled argument.
815         * UIProcess/WebPageProxy.cpp:
816         (WebKit::WebPageProxy::didReceiveEvent): Changed code to call
817         doneWithKeyEvent and call even if event was handled.
818
819         * UIProcess/API/mac/PageClientImpl.h: Updated for above change.
820         * UIProcess/API/mac/PageClientImpl.mm:
821         (WebKit::PageClientImpl::doneWithKeyEvent): Ditto. But also
822         call [NSCursor setHiddenUntilMouseMoves:YES] when a key down
823         event was handled. This matches what -[WebHTMLView keyDown:] does.
824         * UIProcess/API/qt/qwkpage.cpp:
825         (QWKPagePrivate::doneWithKeyEvent): Ditto.
826         * UIProcess/API/qt/qwkpage_p.h: Ditto.
827         * UIProcess/win/WebView.cpp:
828         (WebKit::WebView::doneWithKeyEvent): Ditto.
829         * UIProcess/win/WebView.h: Ditto.
830
831 2011-02-04  Steve Falkenburg  <sfalken@apple.com>
832
833         Reviewed by Adam Roben.
834
835         WebKit2 clients fail to launch on Windows if client exe is in a different directory from WebKit
836         https://bugs.webkit.org/show_bug.cgi?id=53810
837         <rdar://problem/8946085>
838         
839         If WebKit2WebProcess.exe is in a different directory from the client process, and that
840         client process uses CreateProcess to launch WebKit2WebProcess, the DLL search path may
841         end up excluding the directory containing WebKit. To address this, we use SetDllDirectory
842         to explicitly include the WebKit directory in the DLL search path.
843
844         * win/MainWin.cpp:
845         (wWinMain): Use SetDllDirectory and LoadLibrary to load WebKit.dll from WebKit2WebProcess.exe
846         * win/WebKit2WebProcessCommon.vsprops: Don't link directly to WebKit. Link against shlwapi.
847
848 2011-02-04  Adam Roben  <aroben@apple.com>
849
850         Allow passing a null filter callback to WKPageCopySessionState
851
852         WebKit2 part of <http://webkit.org/b/53616> <rdar://problem/8949883>.
853
854         Reviewed by Sam Weinig.
855
856         * UIProcess/cf/WebBackForwardListCF.cpp:
857         (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Check if the filter is null
858         before calling it.
859
860 2011-02-04  Brian Weinstein  <bweinstein@apple.com>
861
862         Reviewed by John Sullivan.
863
864         WebKit2: DidInitiateLoadForResource needs to know if the resource is being loaded by a committed or provisional frame
865         https://bugs.webkit.org/show_bug.cgi?id=53794
866         
867         When we navigate from one page to another, there can be multiple subresource requests between when
868         the new page has started its provisional load and when it has committed the load.
869         
870         There can be:
871         
872         - The main resource load of the provisional page
873         - Synchronous XHR from the unload event of the loaded page.
874         
875         WebKit clients need to be able to differentiate between these loads.
876
877         * UIProcess/API/C/WKPage.h:
878         * UIProcess/WebPageProxy.cpp:
879         (WebKit::WebPageProxy::didInitiateLoadForResource): Pass whether or not the page is provisionally loading
880             to the client.
881         * UIProcess/WebPageProxy.h:
882         * UIProcess/WebPageProxy.messages.in: Add a new parameter to DidInitiateLoadForResource.
883         * UIProcess/WebResourceLoadClient.cpp:
884         (WebKit::WebResourceLoadClient::didInitiateLoadForResource):  a new parameter to didInitiateLoadForResource.
885         * UIProcess/WebResourceLoadClient.h:
886         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
887         (WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest): Pass whether or not the page is currently
888             in a provisional load (checked by seeing if the DocumentLoader matches the FrameLoader's provisionalDocumentLoader)
889             to the UI Process.
890
891 2011-02-04  Anders Carlsson  <andersca@apple.com>
892
893         Reviewed by Mark Rowe.
894
895         Mac WebKit2 should use the new drawing area
896         https://bugs.webkit.org/show_bug.cgi?id=53802
897         <rdar://problem/7881419>
898         <rdar://problem/7881447>
899         <rdar://problem/8252632>
900         <rdar://problem/8479422>
901         <rdar://problem/8633813>
902         <rdar://problem/8734512>
903         <rdar://problem/8787660>
904
905         * UIProcess/API/mac/WKView.mm:
906         (useNewDrawingArea):
907         Return true. Eventually this function should be removed, but let's keep it for now so
908         we can go back to the old drawing area if necessary.
909
910 2011-02-04  Maciej Stachowiak  <mjs@apple.com>
911
912         Reviewed by Anders Carlsson.
913
914         WebKit2: Crash in WebPageProxy::setPendingAPIRequestURL after web process crashed
915         https://bugs.webkit.org/show_bug.cgi?id=53799
916         <rdar://problem/8943956>
917
918         * UIProcess/WebPageProxy.cpp:
919         (WebKit::WebPageProxy::reload):
920
921 2011-02-04  Anders Carlsson  <andersca@apple.com>
922
923         Reviewed by Maciej Stachowiak.
924
925         Fix a shared memory leak
926         https://bugs.webkit.org/show_bug.cgi?id=53800
927
928         Move the send right representing the shared memory.
929
930         * Platform/mac/SharedMemoryMac.cpp:
931         (WebKit::SharedMemory::Handle::encode):
932
933 2011-02-04  Brady Eidson  <beidson@apple.com>
934
935         Reviewed by Anders Carlsson.
936
937         <rdar://problem/8636239> and https://bugs.webkit.org/show_bug.cgi?id=53785
938         WebKit2: Pages with dynamically inserted iframes can add extraneous back/forward items.
939
940         WebCore doesn't gracefully handle the case where the decidePolicyForNavigationAction callback
941         does not occur synchronously. Let's make it synchronous.
942
943         Change WebPageProxy to handle this message reply synchronously:
944         * UIProcess/WebPageProxy.cpp:
945         (WebKit::WebPageProxy::WebPageProxy):
946         (WebKit::WebPageProxy::receivedPolicyDecision):
947         (WebKit::WebPageProxy::decidePolicyForNavigationAction):
948         * UIProcess/WebPageProxy.h:
949         * UIProcess/WebPageProxy.messages.in: Make the navigation policy action message be synchronous.
950
951         * Platform/CoreIPC/HandleMessage.h:
952         (CoreIPC::callMemberFunction): Add a 6-argument varient 
953
954         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
955         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Send the message synchronously.
956
957 2011-02-04  Steve Falkenburg  <sfalken@apple.com>
958
959         Windows build fix.
960         Correct prebuild build-stopping rule to allow project only rebuilds.
961
962         * win/WebKit2WebProcessPreBuild.cmd:
963
964 2011-02-04  Brian Weinstein  <bweinstein@apple.com>
965
966         Reviewed by Adam Roben.
967
968         Assertion failure in WebInspectorProxy::platformClose closing main window when inspecting a popup 
969         window, or when running regression tests.
970         https://bugs.webkit.org/show_bug.cgi?id=53798
971         <rdar://problem/8814364>
972         
973         Only assert about the state of m_inspectorWindow and m_inspectorView if the inspector is visible.
974         Also, only call ::DestroyWindow if the HWND is non-null, just to be safe.
975
976         * UIProcess/win/WebInspectorProxyWin.cpp:
977         (WebKit::WebInspectorProxy::platformClose):
978
979 2011-02-04  Anders Carlsson  <andersca@apple.com>
980
981         Reviewed by Dan Bernstein.
982
983         Go out of accelerated compositing mode when the drawing area is destroyed
984         https://bugs.webkit.org/show_bug.cgi?id=53788
985
986         This fixes a crash in the UI process if a web process crashes while in accelerated compositing mode.
987
988         * UIProcess/DrawingAreaProxyImpl.cpp:
989         (WebKit::DrawingAreaProxyImpl::~DrawingAreaProxyImpl):
990
991 2011-02-03  Yury Semikhatsky  <yurys@chromium.org>
992
993         Reviewed by Pavel Feldman.
994
995         Web Inspector: remove settings related methods from InspectorClient
996         https://bugs.webkit.org/show_bug.cgi?id=53686
997
998         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
999         (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient):
1000
1001 2011-02-03  Maciej Stachowiak  <mjs@apple.com>
1002
1003         Reviewed by Dan Bernstein.
1004
1005         WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
1006         https://bugs.webkit.org/show_bug.cgi?id=52897
1007         <rdar://problem/8898294>
1008
1009         * Shared/API/c/WKSharedAPICast.h:
1010         (WebKit::toAPI):
1011         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1012         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
1013         (WebKit::InjectedBundlePageLoaderClient::willSendRequestForFrame):
1014         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
1015         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1016         (WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
1017
1018 2011-02-03  Ivan Krstić  <ike@apple.com>
1019
1020         Reviewed by Maciej Stachowiak.
1021
1022         Make WebProcess pass explicit homedir parameter to the sandbox
1023         <rdar://problem/8405760>
1024         <https://webkit.org/b/53558>
1025
1026         * WebProcess/com.apple.WebProcess.sb:
1027         * WebProcess/mac/WebProcessMac.mm:
1028         (WebKit::initializeSandbox):
1029
1030 2011-02-03  James Kozianski  <koz@chromium.org>
1031
1032         Reviewed by Dimitri Glazkov.
1033
1034         Add navigator.registerProtocolHandler behind a flag.
1035         https://bugs.webkit.org/show_bug.cgi?id=52609
1036
1037         * Configurations/FeatureDefines.xcconfig:
1038
1039 2011-02-03  Adam Langley  <agl@chromium.org>
1040
1041         Reviewed by Adam Barth.
1042
1043         Plumb mixed script URL to FrameLoaderClient
1044         https://bugs.webkit.org/show_bug.cgi?id=52384
1045
1046         Regressions covered by http/tests/security/mixedContent/*
1047
1048         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1049         (WebKit::WebFrameLoaderClient::didRunInsecureContent):
1050         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
1051
1052 2011-02-03  Jon Honeycutt  <jhoneycutt@apple.com>
1053
1054         Download bundles should be moved to their final destination when they
1055         finish.
1056
1057         https://bugs.webkit.org/show_bug.cgi?id=53668
1058
1059         Reviewed by Adam Roben.
1060
1061         * WebProcess/Downloads/Download.cpp:
1062         (WebKit::Download::Download):
1063         Initialize m_allowOverwrite.
1064         (WebKit::Download::retrieveDestinationWithSuggestedFilename):
1065         Return the result of requesting the destination filename from the UI
1066         process.
1067         (WebKit::Download::decideDestinationWithSuggestedFilename):
1068         Call retrieveDestinationWithSuggestedFilename().
1069         (WebKit::Download::didFinish):
1070         Call platformDidFinish().
1071
1072         * WebProcess/Downloads/Download.h:
1073         Declare retrieveDestinationWithSuggestedFilename() and
1074         platformDidFinish(). Add a member variable to store whether the UI
1075         process would like us to overwrite existing files.
1076
1077         * WebProcess/Downloads/cf/DownloadCFNet.cpp:
1078         (WebKit::willResumeWithResponseCallback):
1079         Remove some trailing whitespace.
1080
1081         * WebProcess/Downloads/curl/DownloadCurl.cpp:
1082         (WebKit::Download::platformDidFinish):
1083         Stubbed.
1084
1085         * WebProcess/Downloads/mac/DownloadMac.mm:
1086         (WebKit::Download::platformDidFinish):
1087         Stubbed.
1088
1089         * WebProcess/Downloads/qt/DownloadQt.cpp:
1090         (WebKit::Download::platformDidFinish):
1091         Stubbed.
1092
1093         * WebProcess/Downloads/cf/win/DownloadCFNetWin.cpp:
1094         (WebKit::Download::didDecideDestination):
1095         Store whether the UI process would like us to overwrite existing files.
1096         (WebKit::Download::platformDidFinish):
1097         Try to move the bundle to the final destination. If that fails, ask the
1098         UI process for a new destination. If we receive one, try again to move
1099         the bundle. Call didCreateDestination() to report the updated path of
1100         file whether it's the bundle that we failed to move, or the new final
1101         destination.
1102
1103         This is similar to what is done by WebKit 1's CFNetwork port.
1104
1105         * win/WebKit2.vcproj:
1106         Add DownloadWin.cpp.
1107
1108 2011-02-01  Jon Honeycutt  <jhoneycutt@apple.com>
1109
1110         Small clean-up in DownloadCFNet.cpp.
1111
1112         Rubber-stamped by Mark Rowe.
1113
1114         * WebProcess/Downloads/cf/DownloadCFNet.cpp:
1115         (WebKit::Download::didDecideDestination):
1116         Moved out of the section labeled "CFURLDownload callbacks" and up near
1117         the other member functions.
1118
1119 2011-02-03  Anders Carlsson  <andersca@apple.com>
1120
1121         Reviewed by Sam Weinig.
1122
1123         Paint non-composited contents in a layer
1124         https://bugs.webkit.org/show_bug.cgi?id=53742
1125
1126         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1127         (WebKit::DrawingAreaImpl::setNeedsDisplay):
1128         Call LayerTreeHost::setNonCompositedContentsNeedDisplayInRect.
1129
1130         (WebKit::DrawingAreaImpl::scroll):
1131         Call LayerTreeHost::scrollNonCompositedContents.
1132
1133         (WebKit::DrawingAreaImpl::setSize):
1134         Call LayerTreeHost::sizeDidChange.
1135
1136         * WebProcess/WebPage/LayerTreeHost.h:
1137         Add new pure virtual member functions.
1138
1139         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
1140         (WebKit::LayerTreeHostMac::LayerTreeHostMac):
1141         Create the non-composited content layer.
1142
1143         (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplayInRect):
1144         Call setNeedsDisplay on the GraphicsLayer.
1145
1146         (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
1147         Just call setNonCompositedContentsNeedDisplayInRect.
1148
1149         (WebKit::LayerTreeHostMac::sizeDidChange):
1150         Resize the layers and flush any changes.
1151         
1152         (WebKit::LayerTreeHostMac::paintContents):
1153         Call WebPage::drawRect.
1154
1155         (WebKit::LayerTreeHostMac::flushPendingLayerChangesRunLoopObserverCallback):
1156         Lay out the web page.
1157
1158         (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
1159         Call syncCompositingStateForThisLayerOnly on the non-composited content layer.
1160
1161 2011-02-03  Anders Carlsson  <andersca@apple.com>
1162
1163         Reviewed by Sam Weinig.
1164
1165         When in accelerated compositing mode, wait for DidSetSize messages
1166         https://bugs.webkit.org/show_bug.cgi?id=53736
1167
1168         Normally we wait for DidSetSize messages from ::paint, but that's never called in 
1169         accelerated compositing mode so we just do it right after sending the SetSize message.
1170
1171         * UIProcess/DrawingAreaProxyImpl.cpp:
1172         (WebKit::DrawingAreaProxyImpl::paint):
1173         Call waitForAndDispatchDidSetSize.
1174
1175         (WebKit::DrawingAreaProxyImpl::sendSetSize):
1176         Call waitForAndDispatchDidSetSize when in accelerated compositing mode.
1177
1178         (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidSetSize):
1179         New utility function which waits for and dispatches a DidSetSize message.
1180
1181         * UIProcess/DrawingAreaProxyImpl.h:
1182
1183 2011-02-03  Anders Carlsson  <andersca@apple.com>
1184
1185         Reviewed by Dan Bernstein.
1186
1187         Pass along an UpdateInfo object to the ExitAcceleratedCompositingMode message
1188         https://bugs.webkit.org/show_bug.cgi?id=53734
1189
1190         * UIProcess/DrawingAreaProxy.h:
1191         (WebKit::DrawingAreaProxy::exitAcceleratedCompositingMode):
1192         Add an UpdateInfo parameter.
1193
1194         * UIProcess/DrawingAreaProxy.messages.in:
1195         Add an UpdateInfo parameter to the ExitAcceleratedCompositingMode message.
1196
1197         * UIProcess/DrawingAreaProxyImpl.cpp:
1198         (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
1199         Incorporate the passed in update.
1200
1201         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1202         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
1203         Create a new UpdateInfo object, paint into it and pass it along as a parameter
1204         to the ExitAcceleratedCompositingMode message.
1205
1206 2011-02-03  Beth Dakin  <bdakin@apple.com>
1207
1208         Reviewed by Sam Weinig.
1209
1210         Fix for <rdar://problem/8944544> Ability to animate track
1211         for WKPainter scrollers
1212
1213         * WebCoreSupport/WebSystemInterface.mm:
1214         (InitWebCoreSystemInterface):
1215
1216 2011-02-03  Anders Carlsson  <andersca@apple.com>
1217
1218         Reviewed by Dan Bernstein.
1219
1220         Change DidSetSize to take a LayerTreeContext parameter
1221         https://bugs.webkit.org/show_bug.cgi?id=53724
1222
1223         Since SetSize can cause layout to happen, we need to pass along a layer tree context to 
1224         the DidSetSize message so the UI process can enter/exit accelerated compositing mode appropriately.
1225         
1226         * Shared/LayerTreeContext.h:
1227         * Shared/mac/LayerTreeContextMac.mm:
1228         Add equality operators to LayerTreeContext.
1229
1230         * UIProcess/DrawingAreaProxy.h:
1231         (WebKit::DrawingAreaProxy::didSetSize):
1232         This now takes a LayerTreeContext parameter.
1233         
1234         * UIProcess/DrawingAreaProxy.messages.in:
1235         Add LayerTreeContext parameter.
1236
1237         * UIProcess/DrawingAreaProxyImpl.cpp:
1238         Get rid of m_isInAcceleratedCompositingMode and use the current layer context instead.
1239
1240         (WebKit::DrawingAreaProxyImpl::paint):
1241         Bail if the call to DidSetSize ended up entering accelerated compositing mode.
1242
1243         (WebKit::DrawingAreaProxyImpl::didSetSize):
1244         If the new layer tree context is different, enter/exit accelerated compositing mode accordingly.
1245
1246         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
1247         (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
1248         Update the layer tree context.
1249
1250         * UIProcess/DrawingAreaProxyImpl.h:
1251         (WebKit::DrawingAreaProxyImpl::isInAcceleratedCompositingMode):
1252         Add simple getter.
1253
1254         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1255         (WebKit::DrawingAreaImpl::setSize):
1256         Pass along the layer tree context.
1257
1258 2011-02-03  Anders Carlsson  <andersca@apple.com>
1259
1260         Reviewed by Dan Bernstein.
1261
1262         Get rid of LayerTreeContext::seed on Mac.
1263         Add sequence checks to enterAcceleratedCompositingMode and exitAcceleratedCompositingMode and
1264         have them call newly added overloads that don't have the checks.
1265
1266         * Shared/LayerTreeContext.h:
1267         * Shared/mac/LayerTreeContextMac.mm:
1268         (WebKit::LayerTreeContext::LayerTreeContext):
1269         (WebKit::LayerTreeContext::encode):
1270         (WebKit::LayerTreeContext::decode):
1271         * UIProcess/DrawingAreaProxyImpl.cpp:
1272         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
1273         (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
1274         * UIProcess/DrawingAreaProxyImpl.h:
1275         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
1276         (WebKit::LayerTreeHostMac::LayerTreeHostMac):
1277
1278 2011-02-03  Anders Carlsson  <andersca@apple.com>
1279
1280         Reviewed by Dan Bernstein.
1281
1282         Get rid of timestamps in UpdateInfo
1283         https://bugs.webkit.org/show_bug.cgi?id=53713
1284
1285         Add a 64-bit sequence number to all DrawingAreaProxy messages, and use it to
1286         check whether Update messages should be handled or not.
1287
1288         * Shared/UpdateInfo.cpp:
1289         (WebKit::UpdateInfo::encode):
1290         (WebKit::UpdateInfo::decode):
1291         * Shared/UpdateInfo.h:
1292         (WebKit::UpdateInfo::UpdateInfo):
1293         * UIProcess/BackingStore.cpp:
1294         (WebKit::BackingStore::BackingStore):
1295         (WebKit::BackingStore::incorporateUpdate):
1296         * UIProcess/BackingStore.h:
1297         * UIProcess/DrawingAreaProxy.h:
1298         (WebKit::DrawingAreaProxy::update):
1299         (WebKit::DrawingAreaProxy::didSetSize):
1300         (WebKit::DrawingAreaProxy::enterAcceleratedCompositingMode):
1301         (WebKit::DrawingAreaProxy::exitAcceleratedCompositingMode):
1302         * UIProcess/DrawingAreaProxy.messages.in:
1303         * UIProcess/DrawingAreaProxyImpl.cpp:
1304         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
1305         (WebKit::DrawingAreaProxyImpl::update):
1306         (WebKit::DrawingAreaProxyImpl::didSetSize):
1307         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
1308         (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
1309         * UIProcess/DrawingAreaProxyImpl.h:
1310         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1311         (WebKit::generateSequenceNumber):
1312         (WebKit::DrawingAreaImpl::setSize):
1313         (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
1314         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
1315         (WebKit::DrawingAreaImpl::display):
1316
1317 2011-02-03  Anders Carlsson  <andersca@apple.com>
1318
1319         Reviewed by Darin Adler.
1320
1321         Don't send enter/exit accelerated compositing mode messages when handling setSize
1322         https://bugs.webkit.org/show_bug.cgi?id=53706
1323
1324         Don't send EnterAcceleratedCompositingMode/ExitAcceleratedCompositing mode when
1325         the mode changes happen as a result of relayout in setSize, since an updated state
1326         is going to be sent back in the DidSetSize message.
1327         
1328         * UIProcess/DrawingAreaProxyImpl.cpp:
1329         (WebKit::DrawingAreaProxyImpl::didSetSize):
1330         Add an assert.
1331
1332         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1333         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
1334         Initialize m_inSetSize.
1335
1336         (WebKit::DrawingAreaImpl::setRootCompositingLayer):
1337         Factor out code into enterAcceleratedCompositingMode and exitAcceleratedCompositingMode.
1338
1339         (WebKit::DrawingAreaImpl::setSize):
1340         Set m_inSetSize to true while handling setSize.
1341
1342         (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
1343         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
1344         Take over the message sending responsibility from LayerTreeHostMac, and don't send messages
1345         if we're currently handling a SetSize message.
1346
1347         * WebProcess/WebPage/DrawingAreaImpl.h:
1348         Add m_inSetSize.
1349
1350         * WebProcess/WebPage/LayerTreeHost.h:
1351         Add layerTreeHost getter.
1352
1353         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
1354         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
1355         (WebKit::LayerTreeHostMac::LayerTreeHostMac):
1356         Don't send EnterAcceleratedCompositingMode messages.
1357
1358         (WebKit::LayerTreeHostMac::layerTreeContext):
1359         Add getter for the current layer tree context.
1360
1361         (WebKit::LayerTreeHostMac::invalidate):
1362         Don't send ExitAcceleratedCompositingMode messages.
1363
1364 2011-02-03  Anders Carlsson  <andersca@apple.com>
1365
1366         Reviewed by Sam Weinig.
1367
1368         Make the layer tree host keep track of the layer tree context
1369         https://bugs.webkit.org/show_bug.cgi?id=53698
1370
1371         Add a LayerTreeContext member variable to the LayerTreeHost object,
1372         and also add a seed count to the LayerTreeContext so we can keep track of 
1373         how layer tree contexts relate to each other.
1374
1375         * Shared/LayerTreeContext.h:
1376         * Shared/mac/LayerTreeContextMac.mm:
1377         (WebKit::LayerTreeContext::LayerTreeContext):
1378         (WebKit::LayerTreeContext::makeWithSeed):
1379         (WebKit::LayerTreeContext::encode):
1380         (WebKit::LayerTreeContext::decode):
1381
1382         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
1383         Add the layer tree context as a member variable.
1384
1385         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
1386         (WebKit::LayerTreeHostMac::LayerTreeHostMac):
1387         Initialize the layer tree context.
1388
1389 2011-02-03  Sam Weinig  <sam@webkit.org>
1390
1391         Fix Qt build.
1392
1393         * UIProcess/API/qt/qwkpage.cpp:
1394         (QWKPage::QWKPage):
1395
1396 2011-02-02  Sam Weinig  <sam@webkit.org>
1397
1398         Reviewed by Anders Carlsson.
1399
1400         Add notification of the end of a rubber band.
1401         <rdar://problem/8940648>
1402
1403         * UIProcess/API/C/WKPage.h:
1404         * UIProcess/WebPageProxy.cpp:
1405         (WebKit::WebPageProxy::drawHeader):
1406         (WebKit::WebPageProxy::drawFooter):
1407         (WebKit::WebPageProxy::didCompleteRubberBandForMainFrame):
1408         * UIProcess/WebPageProxy.h:
1409         * UIProcess/WebPageProxy.messages.in:
1410         * UIProcess/WebUIClient.cpp:
1411         (WebKit::WebUIClient::didCompleteRubberBandForMainFrame):
1412         * UIProcess/WebUIClient.h:
1413         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1414         (WebKit::WebChromeClient::didCompleteRubberBandForMainFrame):
1415         * WebProcess/WebCoreSupport/WebChromeClient.h:
1416         Pipe the notification up to the WKUIClient.
1417
1418 2011-02-03  Sheriff Bot  <webkit.review.bot@gmail.com>
1419
1420         Unreviewed, rolling out r77449.
1421         http://trac.webkit.org/changeset/77449
1422         https://bugs.webkit.org/show_bug.cgi?id=53663
1423
1424         causes many WebKit2 tests to crash (Requested by othermaciej
1425         on #webkit).
1426
1427         * Shared/API/c/WKSharedAPICast.h:
1428         (WebKit::toAPI):
1429         (WebKit::toCopiedAPI):
1430         (WebKit::toURLRef):
1431         (WebKit::toCopiedURLAPI):
1432         * Shared/WebString.h:
1433         (WebKit::WebString::isNull):
1434         (WebKit::WebString::WebString):
1435
1436 2011-02-02  Sam Weinig  <sam@webkit.org>
1437
1438         Fix license block issues pointed out by Daniel Bates.
1439
1440         * Shared/API/c/WKGraphicsContext.cpp:
1441         * Shared/API/c/WKGraphicsContext.h:
1442         * Shared/API/c/cg/WKGraphicsContextCG.cpp:
1443         * Shared/API/c/cg/WKGraphicsContextCG.h:
1444         * Shared/WebGraphicsContext.cpp:
1445
1446 2011-02-02  Sam Weinig  <sam@webkit.org>
1447
1448         Reviewed by Dan Bernstein.
1449
1450         Add WKBundleFrameGetVisibleContentBoundsExcludingScrollbars API for WebKit2.
1451
1452         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1453         (WKBundleFrameGetContentBounds):
1454         (WKBundleFrameGetVisibleContentBounds):
1455         (WKBundleFrameGetVisibleContentBoundsExcludingScrollbars):
1456         (WKBundleFrameGetScrollOffset):
1457         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
1458         * WebProcess/WebPage/WebFrame.cpp:
1459         (WebKit::WebFrame::contentBounds):
1460         (WebKit::WebFrame::visibleContentBounds):
1461         (WebKit::WebFrame::visibleContentBoundsExcludingScrollbars):
1462         (WebKit::WebFrame::scrollOffset):
1463         * WebProcess/WebPage/WebFrame.h:
1464         Move implementation of frame geometry to the implementation file
1465         instead of keeping it in the API file.
1466
1467 2011-02-02  Stephanie Lewis  <slewis@apple.com>
1468
1469         Reviewed by Geoff Garen.
1470
1471         https://bugs.webkit.org/show_bug.cgi?id=53361
1472         <rdar://problem/8921729> REGRESSION: Membuster accumulates 1GB+ memory due to autorelease 
1473         pools not being drained.
1474         Call into AppKit to add observers that push and pop autorelease pools on entry 
1475         and exit from the CFRunLoop.  This will prevent memory from accumulating.
1476
1477         * WebProcess/mac/WebProcessMainMac.mm:
1478         (WebKit::WebProcessMain):
1479
1480 2011-02-02  Darin Adler  <darin@apple.com>
1481
1482         Reviewed by Sam Weinig.
1483
1484         Make null WTF::String objects turn into 0 pointers for WKStringRef and WKURLRef.
1485         rdar://problem/8948688
1486
1487         * Shared/API/c/WKSharedAPICast.h:
1488         (WebKit::toAPI): Return 0 if the passed in string is 0.
1489         (WebKit::toCopiedAPI): Ditto.
1490         (WebKit::toURLRef): Ditto. Old code was trying to do this but was missing a return.
1491         (WebKit::toCopiedURLAPI): Ditto. Old code was trying to do this but had incorrect
1492         nll check.
1493
1494         * Shared/WebString.h: Removed isNull function. It can never return true.
1495         Removed constructor code that turns the null string into the empty string.
1496         Instead assert that the passed in string is not null.
1497
1498 2011-02-02  Mark Rowe  <mrowe@apple.com>
1499
1500         Reviewed by Beth Dakin.
1501
1502         <rdar://problem/8928367> Crash when loading canvas pages inside HTMLCanvasElement::createImageBuffer().
1503
1504         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1505         (InitWebCoreSystemInterface): Add some missing initializers.
1506
1507 2011-02-02  Sam Weinig  <sam@webkit.org>
1508
1509         Reviewed by Beth Dakin.
1510
1511         Add ChromeClient function to paint custom overhang areas.
1512         https://bugs.webkit.org/show_bug.cgi?id=53639
1513
1514         * Shared/API/c/WKBase.h:
1515         * Shared/API/c/WKGraphicsContext.cpp: Added.
1516         (WKGraphicsContextGetTypeID):
1517         * Shared/API/c/WKGraphicsContext.h: Added.
1518         * Shared/API/c/WKSharedAPICast.h:
1519         * Shared/API/c/cg/WKGraphicsContextCG.cpp: Added.
1520         (WKGraphicsContextGetCGContext):
1521         * Shared/API/c/cg/WKGraphicsContextCG.h: Added.
1522         * Shared/APIObject.h:
1523         * Shared/WebGraphicsContext.cpp: Added.
1524         (WebKit::WebGraphicsContext::WebGraphicsContext):
1525         * Shared/WebGraphicsContext.h: Added.
1526         (WebKit::WebGraphicsContext::create):
1527         (WebKit::WebGraphicsContext::platformContext):
1528         (WebKit::WebGraphicsContext::type):
1529         Add WebGraphicsContext API type.
1530
1531         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1532         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
1533         (WebKit::InjectedBundlePageUIClient::pageDidScroll):
1534         (WebKit::InjectedBundlePageUIClient::shouldPaintCustomOverhangArea):
1535         (WebKit::InjectedBundlePageUIClient::paintCustomOverhangArea):
1536         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
1537         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1538         (WebKit::WebChromeClient::paintCustomOverhangArea):
1539         * WebProcess/WebCoreSupport/WebChromeClient.h:
1540         Pipe paintCustomOverhangArea to the InjectedBundlePageUIClient.
1541
1542         * UIProcess/API/C/WebKit2.h:
1543         * WebKit2.pro:
1544         * WebKit2.xcodeproj/project.pbxproj:
1545         * win/WebKit2.vcproj:
1546         * win/WebKit2Generated.make:
1547         Add new files.
1548
1549 2011-02-02  Anders Carlsson  <andersca@apple.com>
1550
1551         Reviewed by Dan Bernstein.
1552
1553         Work towards making the layer tree host be in charge of all painting
1554         https://bugs.webkit.org/show_bug.cgi?id=53636
1555
1556         Make sure that DrawingAreaImpl::display is never called when in accelerated compositing mode,
1557         since the layer tree host is supposed to handle all drawing in that case.
1558
1559         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1560         (WebKit::DrawingAreaImpl::scroll):
1561         (WebKit::DrawingAreaImpl::setRootCompositingLayer):
1562         (WebKit::DrawingAreaImpl::setSize):
1563         (WebKit::DrawingAreaImpl::didUpdate):
1564
1565 2011-02-02  Mark Rowe  <mrowe@apple.com>
1566
1567         Fix the 32-bit build.
1568
1569         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1570         (WebKit::computeFakeWindowBoundsRect):
1571
1572 2011-02-02  Anders Carlsson  <andersca@apple.com>
1573
1574         Reviewed by Sam Weinig.
1575
1576         Make sure that we don't try to call display() when in accelerated compositing mode
1577         https://bugs.webkit.org/show_bug.cgi?id=53629
1578
1579         When in accelerated compositing mode, the layer tree host should handle all painting, so make sure that display() is never called.
1580
1581         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1582         (WebKit::DrawingAreaImpl::setNeedsDisplay):
1583         (WebKit::DrawingAreaImpl::setRootCompositingLayer):
1584         (WebKit::DrawingAreaImpl::display):
1585
1586 2011-02-02  Adam Roben  <aroben@apple.com>
1587
1588         Assert WebBackForwardList's current index is valid to help catch errors
1589
1590         Hopefully this will help catch a crash I saw once but haven't yet been able to reproduce.
1591
1592         Fixes <http://webkit.org/b/53622>.
1593
1594         Reviewed by Brady Eidson.
1595
1596         * UIProcess/WebBackForwardList.cpp:
1597         (WebKit::WebBackForwardList::WebBackForwardList):
1598         (WebKit::WebBackForwardList::addItem):
1599         (WebKit::WebBackForwardList::goToItem):
1600         (WebKit::WebBackForwardList::currentItem):
1601         (WebKit::WebBackForwardList::backItem):
1602         (WebKit::WebBackForwardList::forwardItem):
1603         (WebKit::WebBackForwardList::itemAtIndex):
1604         (WebKit::WebBackForwardList::backListCount):
1605         (WebKit::WebBackForwardList::forwardListCount):
1606         (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
1607         (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
1608         (WebKit::WebBackForwardList::clear):
1609         * UIProcess/cf/WebBackForwardListCF.cpp:
1610         (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
1611         (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
1612         Assert that m_current is valid.
1613
1614         * UIProcess/WebBackForwardList.h: Moved the NoCurrentItemIndex to a static data member so
1615         that it can be used from WebBackForwardListCF.cpp.
1616
1617 2011-02-02  Anders Carlsson  <andersca@apple.com>
1618
1619         Reviewed by Sam Weinig.
1620
1621         The drawing area proxy should keep track of the accelerated compositing state
1622         https://bugs.webkit.org/show_bug.cgi?id=53624
1623
1624         * UIProcess/DrawingAreaProxyImpl.cpp:
1625         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
1626         Initialize m_isInAcceleratedCompositingMode to false.
1627
1628         (WebKit::DrawingAreaProxyImpl::paint):
1629         Don't try to paint if we're in accelerated compositing mode.
1630
1631         (WebKit::DrawingAreaProxyImpl::didSetSize):
1632         Bail if we're in accelerated compositing mode.
1633
1634         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
1635         Set m_isInAcceleratedCompositingMode to true, null out the backing store.
1636
1637         (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
1638         Set m_isInAcceleratedCompositingMode back to false.
1639
1640         (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
1641         Assert that we're not in accelerated compositing mode.
1642
1643         * UIProcess/DrawingAreaProxyImpl.h:
1644
1645 2011-02-02  Timothy Hatcher  <timothy@apple.com>
1646
1647         Give the Web Process access to the Safari RSS preferences.
1648
1649         <rdar://problem/8916870> Sandbox violation related to RSS during initial
1650         page load with WebKit2 (prevents RSS from working)
1651
1652         Reviewed by Darin Adler.
1653
1654         * WebProcess/com.apple.WebProcess.sb:
1655
1656 2011-02-02  Steve Lacey  <sjl@chromium.org>
1657
1658         Reviewed by Eric Carlson.
1659
1660         Implement basic media statistics on media elements.
1661         https://bugs.webkit.org/show_bug.cgi?id=53322
1662
1663         * Configurations/FeatureDefines.xcconfig:
1664
1665 2011-02-01  Alexey Proskuryakov  <ap@apple.com>
1666
1667         Reviewed by Sam Weinig.
1668
1669         https://bugs.webkit.org/show_bug.cgi?id=53561
1670         <rdar://problem/8900228> Stepping through print previews in WebKit2 mode steps in and out of
1671         printing mode a lot
1672
1673         Disable NSView autodisplay, so that -[WKView drawRect:] isn't called (other than when
1674         resizing the window), so that we don't have to switch modes all the time.
1675
1676         * UIProcess/API/mac/PageClientImpl.h:
1677         * UIProcess/API/mac/PageClientImpl.mm:
1678         (WebKit::PageClientImpl::setAutodisplay):
1679         * UIProcess/PageClient.h:
1680         * UIProcess/WebPageProxy.cpp:
1681         (WebKit::WebPageProxy::setAutodisplay):
1682         * UIProcess/WebPageProxy.h:
1683         Pipe the call from WKPrintingView down to WKView.
1684
1685         * UIProcess/API/mac/WKPrintingView.mm:
1686         (-[WKPrintingView beginDocument]): Added. We don't want to autodisplay WKView while printing,
1687         because layout is changed to print at the time, and drawing to screen requires relayout.
1688         
1689         (-[WKPrintingView endDocument]): When not printing, turn autodisplay back on. Also, call
1690         -[super endDocument] for unknown but definitive good (oops!).
1691
1692 2011-02-02  David Hyatt  <hyatt@apple.com>
1693
1694         Reviewed by Darin Adler.
1695
1696         Conversion of right()/bottom() to maxX()/maxY() as part of the removal of those accessors.
1697
1698         * UIProcess/win/WebPopupMenuProxyWin.cpp:
1699         (WebKit::WebPopupMenuProxyWin::calculatePositionAndSize):
1700         * UIProcess/win/WebView.cpp:
1701         (WebKit::WebView::prepareCandidateWindow):
1702         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
1703         (WebKit::NetscapePlugin::platformGeometryDidChange):
1704
1705 2011-02-01  Darin Adler  <darin@apple.com>
1706
1707         Reviewed by Anders Carlsson.
1708
1709         Overflow in WebKit2 argument decoder buffer checking
1710         https://bugs.webkit.org/show_bug.cgi?id=53536
1711
1712         * Platform/CoreIPC/ArgumentDecoder.cpp:
1713         (CoreIPC::roundUpToAlignment): Tweak code a bit for clarity and to replace
1714         C casts with C++ casts.
1715         (CoreIPC::ArgumentDecoder::alignBufferPosition): Rearrange buffer calculation
1716         so we don't do any math with the passed-in size, because that could overflow.
1717         (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain): Ditto.
1718
1719 2011-02-01  Csaba Osztrogonác  <ossy@webkit.org>
1720
1721         Unreviewed.
1722
1723         Fix Qt build after r77339.
1724
1725         * UIProcess/API/qt/qwkpage.cpp:
1726         (QWKPagePrivate::enterAcceleratedCompositingMode):
1727         (QWKPagePrivate::exitAcceleratedCompositingMode):
1728         * UIProcess/API/qt/qwkpage_p.h:
1729
1730 2011-02-01  Anders Carlsson  <andersca@apple.com>
1731
1732         Reviewed by Dan Bernstein.
1733
1734         Attach the layer tree in the UI process
1735         https://bugs.webkit.org/show_bug.cgi?id=53560
1736
1737         * UIProcess/API/mac/WKView.mm:
1738         (-[WKView _enterAcceleratedCompositingMode:]):
1739         Make a render layer and add it as a sublayer of our root layer.
1740
1741         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
1742         Make LayerTreeHostMac a GraphicsLayerClient.
1743
1744         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
1745         (WebKit::LayerTreeHostMac::LayerTreeHostMac):
1746         Create a root layer, add the layer subtree as a child of the root layer.
1747
1748         (WebKit::LayerTreeHostMac::~LayerTreeHostMac):
1749         Assert that m_rootLayer is null.
1750
1751         (WebKit::LayerTreeHostMac::invalidate):
1752         Null out m_rootLayer.
1753
1754         (WebKit::LayerTreeHostMac::notifyAnimationStarted):
1755         (WebKit::LayerTreeHostMac::notifySyncRequired):
1756         (WebKit::LayerTreeHostMac::paintContents):
1757         Add stubs.
1758
1759         (WebKit::LayerTreeHostMac::showDebugBorders):
1760         (WebKit::LayerTreeHostMac::showRepaintCounter):
1761         Return the correct settings.
1762
1763         (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
1764         Flush the root layer changes.
1765
1766 2011-02-01  Anders Carlsson  <andersca@apple.com>
1767
1768         Fix Windows build.
1769
1770         * UIProcess/win/WebView.cpp:
1771         (WebKit::WebView::enterAcceleratedCompositingMode):
1772         (WebKit::WebView::exitAcceleratedCompositingMode):
1773         * UIProcess/win/WebView.h:
1774
1775 2011-02-01  Anders Carlsson  <andersca@apple.com>
1776
1777         Reviewed by Dan Bernstein.
1778
1779         Add a layer backed NSView for accelerated content
1780         https://bugs.webkit.org/show_bug.cgi?id=53555
1781
1782         Rename the current _layerHostingView to _oldLayerHostingView and
1783         add a new _layerHostingView to be used with the new drawing area.
1784
1785         * UIProcess/API/mac/WKView.mm:
1786         (-[WKView hitTest:]):
1787         (-[WKView _startAcceleratedCompositing:]):
1788         (-[WKView _stopAcceleratedCompositing]):
1789         (-[WKView _enterAcceleratedCompositingMode:]):
1790         (-[WKView _exitAcceleratedCompositingMode]):
1791
1792 2011-02-01  Anders Carlsson  <andersca@apple.com>
1793
1794         Reviewed by Dan Bernstein.
1795
1796         Pass enter/exit accelerated compositing mode to the WKView
1797         https://bugs.webkit.org/show_bug.cgi?id=53552
1798
1799         * UIProcess/API/mac/PageClientImpl.h:
1800         * UIProcess/API/mac/PageClientImpl.mm:
1801         (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
1802         (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
1803         * UIProcess/API/mac/WKView.mm:
1804         (-[WKView _enterAcceleratedCompositingMode:]):
1805         (-[WKView _exitAcceleratedCompositingMode]):
1806         * UIProcess/API/mac/WKViewInternal.h:
1807         * UIProcess/DrawingAreaProxyImpl.cpp:
1808         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
1809         (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
1810         * UIProcess/PageClient.h:
1811         * UIProcess/WebPageProxy.cpp:
1812         (WebKit::WebPageProxy::enterAcceleratedCompositingMode):
1813         (WebKit::WebPageProxy::exitAcceleratedCompositingMode):
1814         * UIProcess/WebPageProxy.h:
1815
1816 2011-02-01  Csaba Osztrogonác  <ossy@webkit.org>
1817
1818         Unreviewed Qt buildfix after r77286.
1819
1820         https://bugs.webkit.org/show_bug.cgi?id=53520 
1821         Remove the physical terminology from IntRect and FloatRect.
1822
1823         * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
1824         (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
1825
1826 2011-02-01  Anders Carlsson  <andersca@apple.com>
1827
1828         Reviewed by Adam Roben.
1829
1830         Send messages when entering/exiting accelerated compositing
1831         https://bugs.webkit.org/show_bug.cgi?id=53534
1832
1833         * Shared/LayerTreeContext.h: Added.
1834         * Shared/mac/LayerTreeContextMac.mm: Added.
1835         Add new LayerTreeContext which holds all information needed to enter
1836         accelerated compositing mode.
1837
1838         * UIProcess/DrawingAreaProxy.h:
1839         (WebKit::DrawingAreaProxy::enterAcceleratedCompositingMode):
1840         (WebKit::DrawingAreaProxy::exitAcceleratedCompositingMode):
1841         Add empty stubs.
1842
1843         * UIProcess/DrawingAreaProxy.messages.in:
1844         Add new messgaes.
1845
1846         * UIProcess/DrawingAreaProxyImpl.cpp:
1847         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
1848         (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
1849         * UIProcess/DrawingAreaProxyImpl.h:
1850         Add empty stubs.
1851
1852         * WebKit2.xcodeproj/project.pbxproj:
1853         Add new files.
1854
1855         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
1856         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
1857         (WebKit::LayerTreeHostMac::LayerTreeHostMac):
1858         (WebKit::LayerTreeHostMac::invalidate):
1859         Send messages.
1860
1861 2011-02-01  Alexey Proskuryakov  <ap@apple.com>
1862
1863         Reviewed by Dan Bernstein and Darin Adler.
1864
1865         <rdar://problem/8830594> Printed page is sometimes shifted down, making footer invisible
1866
1867         * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView locationOfPrintRect:]): Instead of
1868         letting AppKit compute content position on page, make the view provide it. We can do this
1869         because WK(Printing)Views are always printed on their own, not as part of other views.
1870
1871 2011-02-01  Anders Carlsson  <andersca@apple.com>
1872
1873         Reviewed by Adam Roben.
1874
1875         Make LayerTreeHost ref counted
1876         https://bugs.webkit.org/show_bug.cgi?id=53530
1877
1878         LayerTreeHostMac will soon be able to trigger layout, which could cause
1879         the page to leave accelerated compositing mode and free the LayerTreeHostMac object.
1880
1881         Making LayerTreeHost ref counted will let LayerTreeHostMac protect itself while triggering layout.
1882
1883         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1884         (WebKit::DrawingAreaImpl::setRootCompositingLayer):
1885         * WebProcess/WebPage/DrawingAreaImpl.h:
1886         * WebProcess/WebPage/LayerTreeHost.cpp:
1887         (WebKit::LayerTreeHost::create):
1888         * WebProcess/WebPage/LayerTreeHost.h:
1889         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
1890         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
1891         (WebKit::LayerTreeHostMac::create):
1892         (WebKit::LayerTreeHostMac::LayerTreeHostMac):
1893         (WebKit::LayerTreeHostMac::~LayerTreeHostMac):
1894         (WebKit::LayerTreeHostMac::invalidate):
1895
1896 2011-02-01  Sam Weinig  <sam@webkit.org>
1897
1898         Reviewed by Beth Dakin.
1899
1900         Part 2 for <rdar://problem/8492788>
1901         Adopt WKScrollbarPainterController
1902
1903         Use header detection to define scrollbar painting controller #define.
1904
1905         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1906         (InitWebCoreSystemInterface):
1907
1908 2011-02-01  David Hyatt  <hyatt@apple.com>
1909
1910         Reviewed by Oliver Hunt.
1911
1912         https://bugs.webkit.org/show_bug.cgi?id=53520
1913         
1914         Remove the physical terminology from IntRect and FloatRect.
1915         
1916         Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
1917         we need to update our terminology to be more accurate.
1918
1919         I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
1920         renaming right() and bottom() to maxX() and maxY().  These terms remain accurate
1921         even for flipped rectangles.
1922
1923         * Platform/Region.cpp:
1924         (WebKit::Region::Shape::Shape):
1925         * UIProcess/API/mac/WKPrintingView.mm:
1926         (pageDidComputePageRects):
1927         * UIProcess/FindIndicator.cpp:
1928         (WebKit::FindIndicator::draw):
1929         * UIProcess/TiledDrawingAreaProxy.cpp:
1930         (WebKit::TiledDrawingAreaProxy::invalidate):
1931         (WebKit::TiledDrawingAreaProxy::paint):
1932         (WebKit::TiledDrawingAreaProxy::createTiles):
1933         * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
1934         (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
1935         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1936         (WebKit::NetscapePlugin::callSetWindow):
1937
1938 2011-02-01  Anders Carlsson  <andersca@apple.com>
1939
1940         Reviewed by Adam Roben.
1941
1942         Move flushPendingLayerChanges to LayerTreeHostMac
1943         https://bugs.webkit.org/show_bug.cgi?id=53525
1944
1945         In preparation for adding more Mac specific code to flushPendingLayerChanges.
1946
1947         * WebProcess/WebPage/LayerTreeHost.cpp:
1948         * WebProcess/WebPage/LayerTreeHost.h:
1949         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
1950         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
1951         (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
1952
1953 2011-02-01  Beth Dakin  <bdakin@apple.com>
1954
1955         Reviewed by Sam Weinig.
1956
1957         Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
1958
1959         Implement NSView's viewWillStartLiveResize and
1960         viewDidEndLiveResize and propagate the messages down
1961         to WebCore.
1962         * UIProcess/API/mac/WKView.mm:
1963         (-[WKView viewWillStartLiveResize]):
1964         (-[WKView viewDidEndLiveResize]):
1965         * UIProcess/WebPageProxy.cpp:
1966         (WebKit::WebPageProxy::viewWillStartLiveResize):
1967         (WebKit::WebPageProxy::viewWillEndLiveResize):
1968         * UIProcess/WebPageProxy.h:
1969         * WebProcess/WebPage/WebPage.cpp:
1970         (WebKit::WebPage::viewWillStartLiveResize):
1971         (WebKit::WebPage::viewWillEndLiveResize):
1972         * WebProcess/WebPage/WebPage.h:
1973         * WebProcess/WebPage/WebPage.messages.in:
1974
1975         A bunch of new WebKitSystemInterface functions.
1976         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1977         (InitWebCoreSystemInterface):
1978
1979 2011-02-01  Dave Hyatt  <hyatt@apple.com>
1980
1981         Reviewed by Darin Adler.
1982
1983         https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
1984         with vertical text.
1985
1986         Change printing functions to check writing-mode and properly swap width and height
1987         as needed.
1988
1989         * WebProcess/WebPage/WebPage.cpp:
1990         (WebKit::WebPage::computePagesForPrinting):
1991
1992 2011-01-31  Alexey Proskuryakov  <ap@apple.com>
1993
1994         Reviewed by Maciej Stachowiak.
1995
1996         https://bugs.webkit.org/show_bug.cgi?id=53466
1997         Move WebKit2 to printing via API methods
1998
1999         Also fixes <rdar://problem/8933724> REGRESSION: Wrong pages are printed when not printing from page 1
2000
2001         Also fixes horizontal tiling (no bug filed).
2002
2003         The main idea here is that we don't force AppKit to use a different scaling factor when
2004         a Web view can't be resized to exact page size, and scale when drawing instead.
2005
2006         * UIProcess/API/mac/WKPrintingView.mm:
2007         (-[WKPrintingView _firstPrintedPageNumber]): Factored out into a separate method.
2008         (-[WKPrintingView _lastPrintedPageNumber]): Ditto.
2009         (pageDidDrawToPDF): Avoid crashing if data is null.
2010         (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): Use -_firstPrintedPageNumber
2011         and -_lastPrintedPageNumber.
2012         (pageDidComputePageRects): Set frame size to what it would have been for a normal NSView
2013         that's been asked to resize.
2014         (-[WKPrintingView _pageForRect:]): Check x(), because several pages can be at the same y()
2015         when tiling horizontally.
2016         (-[WKPrintingView _drawPDFDocument:page:atPoint:]): Point to draw at and frame size are
2017         now using different units, translate as appropriate.
2018         (-[WKPrintingView _drawPreview:]): Scale the rect to WebCore units.
2019         (-[WKPrintingView drawRect:]): Correctly calculate page number when the first page to print
2020         isn't page 1.
2021         (-[WKPrintingView rectForPage:]): Scale the rect to AppKit units.
2022
2023 2011-01-31  Darin Adler  <darin@apple.com>
2024
2025         Reviewed by Adele Peterson.
2026
2027         WKView should support scrollPageDown:, scrollPageUp:, scrollToBeg and other similar selectors
2028         https://bugs.webkit.org/show_bug.cgi?id=53460
2029
2030         * UIProcess/API/mac/WKView.mm: Added WEBCORE_COMMAND macro for lots of editor commands that
2031         are implemented in WebCore so they will get forwarded. Many of these will probably work without
2032         any further changes required. Added comments about the methods that we do not yet forward.
2033         (createSelectorExceptionMap): Map scrollPageDown: to ScrollPageForward and
2034         scrollPageUp: to ScrollPageBackward because we want the page up and page down
2035         keys to follow the document logical order, not physical order. This is equivalent
2036         to what we do in WebPage::performDefaultBehaviorForKeyEvent.
2037
2038 2011-01-31  Jessie Berlin  <jberlin@apple.com>
2039
2040         Reviewed by Steve Falkenburg.
2041
2042         WebKit2: the cookies used by the WebKit2 Web Process should not go in a top-level
2043         directory.
2044         https://bugs.webkit.org/show_bug.cgi?id=53278
2045
2046         Use the name WebKit2WebProcess since the default location for the cookies is determined
2047         based on the process name (which is WebKit2WebProcess.exe on Windows).
2048
2049         * win/WebKit2.make:
2050         Copy the WebKit2WebProcess.resources directory into the AppleInternal bin.
2051
2052         * win/WebKit2WebProcess.resources: Added.
2053         * win/WebKit2WebProcess.resources/Info.plist: Added.
2054         Copied from the WebKit version of Info.plist.
2055
2056         * win/WebKit2WebProcessPostBuild.cmd:
2057         Copy the WebKit2WebProcess.resources directory into the WebKitOutPutDir's bin.
2058
2059 2011-01-31  Anders Carlsson  <andersca@apple.com>
2060
2061         Reviewed by Adam Roben.
2062
2063         Make LayerTreeHost an abstract base class and make LayerTreeHostMac inherit from it
2064         https://bugs.webkit.org/show_bug.cgi?id=53432
2065
2066         * WebKit2.xcodeproj/project.pbxproj:
2067         Add LayerTreeHostMac.h.
2068
2069         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2070         * WebProcess/WebPage/DrawingAreaImpl.h:
2071         Make m_layerTreeHost an OwnPtr and initialize/destroy it appropriately.
2072
2073         * WebProcess/WebPage/LayerTreeHost.cpp:
2074         (WebKit::LayerTreeHost::create):
2075         On Mac, create a LayerTreeHostMac instance.
2076
2077         (WebKit::LayerTreeHost::~LayerTreeHost):
2078         No need to call platformInvalidate anymore.
2079
2080         * WebProcess/WebPage/LayerTreeHost.h:
2081         * WebProcess/WebPage/mac/LayerTreeHostMac.h: Added.
2082         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
2083         (WebKit::LayerTreeHostMac::~LayerTreeHostMac):
2084         Invalidate the run loop observer here instead of in platformInvalidate.
2085
2086         (WebKit::LayerTreeHostMac::scheduleLayerFlush):
2087         (WebKit::LayerTreeHostMac::flushPendingLayerChangesRunLoopObserverCallback):
2088         These are now members of LayerTreeHostMac.
2089
2090 2011-01-30  Geoffrey Garen  <ggaren@apple.com>
2091
2092         Reviewed by Sam Weinig.
2093
2094         [Take 2!]
2095         Fixed crash on window close (maybe crash on launch?) due to missing frame null checks
2096         https://bugs.webkit.org/show_bug.cgi?id=53408
2097
2098         * UIProcess/WebContext.cpp:
2099         (WebKit::WebContext::didNavigateWithNavigationData):
2100         (WebKit::WebContext::didPerformClientRedirect):
2101         (WebKit::WebContext::didPerformServerRedirect):
2102         (WebKit::WebContext::didUpdateHistoryTitle): Use MESSAGE_CHECK because
2103         we don't think we should be able to reach this state under normal conditions.
2104
2105 2011-01-30  Geoffrey Garen  <ggaren@apple.com>
2106
2107         Reviewed by Maciej Stachowiak.
2108
2109         Fixed crash on window close (maybe crash on launch?) due to missing
2110         frame null checks
2111         https://bugs.webkit.org/show_bug.cgi?id=53408
2112
2113         * UIProcess/WebContext.cpp:
2114         (WebKit::WebContext::didNavigateWithNavigationData):
2115         (WebKit::WebContext::didPerformClientRedirect):
2116         (WebKit::WebContext::didPerformServerRedirect):
2117         (WebKit::WebContext::didUpdateHistoryTitle): Check for NULL, since we're
2118         calling a function that can return it.
2119
2120 2011-01-30  Balazs Kelemen  <kbalazs@webkit.org>
2121
2122         Reviewed by Csaba Osztrogonác.
2123
2124         [Qt][WK2]REGRESSION (r76991): Fix build errors
2125         https://bugs.webkit.org/show_bug.cgi?id=53400
2126
2127         Revert the temporary build fix (http://trac.webkit.org/changeset/77088)
2128         and remove WebKit2Prefix.h from the build.
2129         * UIProcess/API/qt/qwkhistory.h:
2130         * UIProcess/API/qt/qwkpage.h:
2131         * WebKit2.pro:
2132
2133 2011-01-30  Jeff Miller  <jeffm@apple.com>
2134
2135         Reviewed by Dan Bernstein.
2136
2137         FindController::updateFindIndicator() crashes if selection isn't visible
2138         https://bugs.webkit.org/show_bug.cgi?id=53399
2139
2140         * WebProcess/WebPage/FindController.cpp:
2141         (WebKit::FindController::updateFindIndicator): Return false if ShareableBitmap::createShareable() returns null (typically because the selection rect is empty).
2142
2143 2011-01-30  Csaba Osztrogonác  <ossy@webkit.org>
2144
2145         Unreviewed.
2146
2147         [Qt][WK2] Buildfix.
2148
2149         * UIProcess/API/qt/qwkhistory.h:
2150         * UIProcess/API/qt/qwkpage.h:
2151
2152 2011-01-29  Maciej Stachowiak  <mjs@apple.com>
2153
2154         Reviewed by Geoffrey Garen.
2155
2156         Add WKPageCopyPendingAPIRequestURL API
2157         https://bugs.webkit.org/show_bug.cgi?id=53383
2158
2159         This API returns the last URL requested for load via API, if neither that load nor any
2160         other load subsequently reaches the provisional state.
2161         
2162         This is useful to be able to track loads initiated via the API
2163         
2164         * UIProcess/API/C/WKPage.cpp:
2165         (WKPageCopyPendingAPIRequestURL): Retrieve the pending URL.
2166         * UIProcess/API/C/WKPage.h:
2167         * UIProcess/WebPageProxy.cpp:
2168         (WebKit::WebPageProxy::loadURL): Set pending URL.
2169         (WebKit::WebPageProxy::loadURLRequest): ditto
2170         (WebKit::WebPageProxy::reload): ditto
2171         (WebKit::WebPageProxy::goForward): ditto
2172         (WebKit::WebPageProxy::goBack): ditto
2173         (WebKit::WebPageProxy::estimatedProgress): Assume the initial
2174         progress value when there is a pending URL.
2175         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Clear
2176         pending URL; clients should look at the provisional URL now.
2177         (WebKit::WebPageProxy::decidePolicyForNavigationAction): Clear
2178         pending URL if it doesn't match the policy URL; this means we
2179         were interrupted by another load.
2180         * UIProcess/WebPageProxy.h:
2181         (WebKit::WebPageProxy::pendingAPIRequestURL): Helper function.
2182         (WebKit::WebPageProxy::clearPendingAPIRequestURL): ditto
2183         (WebKit::WebPageProxy::setPendingAPIRequestURL): ditto
2184
2185 2011-01-28  Jon Honeycutt  <jhoneycutt@apple.com>
2186
2187         Downloads in WK2 on Windows should write resume data to bundle
2188         https://bugs.webkit.org/show_bug.cgi?id=53282
2189         <rdar://problem/8753077>
2190
2191         Reviewed by Alice Liu.
2192
2193         * WebProcess/Downloads/Download.cpp:
2194         (WebKit::Download::decideDestinationWithSuggestedFilename):
2195         Call didDecideDestination(), now that the destination is decided.
2196
2197         * WebProcess/Downloads/Download.h:
2198         Declare didDecideDestination(). Added member variables to hold the
2199         destination file path and the download bundle path.
2200         (WebKit::Download::destination):
2201         Return the path to the final destination for this download.
2202
2203         * WebProcess/Downloads/cf/DownloadCFNet.cpp:
2204         (WebKit::Download::start):
2205         Remove the name of an unused param.
2206         (WebKit::Download::startWithHandle):
2207         Ditto.
2208         (WebKit::Download::cancel):
2209         Tell CFNetwork not to delete the file upon failure, and tell it to
2210         cancel the download. Copy the resume data for the download, and append
2211         it to the download bundle. Call didCancel() with an empty
2212         DataReference, since we have written our own resume data.
2213         (WebKit::decideDestinationWithSuggestedObjectNameCallback):
2214         Remove some unused param names. Removed the call to
2215         CFURLDownloadSetDestination() - this is now handled in
2216         Download::didDecideDestination().
2217         (WebKit::didCreateDestinationCallback):
2218         Report that the final destination was created, rather than the download
2219         bundle, matching old WebKit.
2220         (WebKit::Download::didDecideDestination):
2221         Store the final destination and the download bundle paths, and call
2222         CFURLDownloadSetDestination(), passing the path to the download bundle.
2223
2224         * WebProcess/Downloads/curl/DownloadCurl.cpp:
2225         (WebKit::Download::didDecideDestination):
2226         Stubbed.
2227
2228         * WebProcess/Downloads/mac/DownloadMac.mm:
2229         (WebKit::Download::didDecideDestination):
2230         Stubbed - unneeded on the Mac.
2231
2232         * WebProcess/Downloads/qt/DownloadQt.cpp:
2233         (WebKit::Download::didDecideDestination):
2234         Stubbed.
2235
2236 2011-01-29  Jeff Miller  <jeffm@apple.com>
2237
2238         Reviewed by Anders Carlsson.
2239
2240         Support find bouncy in WebKit2 on Windows
2241         https://bugs.webkit.org/show_bug.cgi?id=53329
2242         <rdar://problem/8565843>
2243         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.
2244         Add infrastructure to call back into the app when the find indicator changes.
2245
2246         * UIProcess/API/C/win/WKView.cpp: Cleanup some code style violations.
2247         (WKViewSetFindIndicatorCallback): Added.
2248         (WKViewGetFindIndicatorCallback): Added.
2249         * UIProcess/API/C/win/WKView.h: Cleanup some code style violations.
2250         * UIProcess/FindIndicator.cpp:
2251         (WebKit::FindIndicator::create):
2252         (WebKit::FindIndicator::FindIndicator):
2253         (WebKit::FindIndicator::frameRect):
2254         (WebKit::FindIndicator::draw):
2255         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.
2256         * UIProcess/FindIndicator.h:
2257         (WebKit::FindIndicator::selectionRectInWindowCoordinates): Added.
2258         (WebKit::FindIndicator::textRects): Rename m_textRects to m_textRectsInSelectionRectCoordinates.
2259         * UIProcess/WebPageProxy.cpp:
2260         (WebKit::WebPageProxy::setFindIndicator): Rename selectionRect to selectionRectInWindowCoordinates and textRects to textRectsInSelectionRectCoordinates to be more explict about the coordinate system.
2261         * UIProcess/WebPageProxy.h: Ditto.
2262         * UIProcess/win/WebView.cpp:
2263         (WebKit::WebView::WebView):
2264         (WebKit::WebView::setFindIndicator): Added.
2265         (WebKit::WebView::setFindIndicatorCallback): Added.
2266         (WebKit::WebView::getFindIndicatorCallback): Added.
2267         * UIProcess/win/WebView.h:
2268
2269 2011-01-28  Alexey Proskuryakov  <ap@apple.com>
2270
2271         Reviewed by Dan Bernstein.
2272
2273         https://bugs.webkit.org/show_bug.cgi?id=53367
2274         <rdar://problem/8926460> Remove dysfunctional code from -[WKPrintingView _isPrintingPreview].
2275
2276         * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView _isPrintingPreview]): The common
2277         branch works fine for now, no need to make platforms different.
2278
2279 2011-01-28  Maciej Stachowiak  <mjs@apple.com>
2280
2281         Reviewed by Dan Bernstein.
2282
2283         WKPageGetEstimatedProgress returns wrong value after a mainframe provisional load has started
2284         https://bugs.webkit.org/show_bug.cgi?id=53358
2285
2286         * UIProcess/WebPageProxy.cpp:
2287         (WebKit::WebPageProxy::didStartProgress): Start progress at the magic initial value, not 0.
2288
2289 2011-01-28  Anders Carlsson  <andersca@apple.com>
2290
2291         Yet another build fix (What was I thinking?)
2292
2293         * WebProcess/Downloads/Download.h:
2294         * WebProcess/Plugins/PluginProxy.h:
2295
2296 2011-01-28  Anders Carlsson  <andersca@apple.com>
2297
2298         Fix Windows build.
2299
2300         * Shared/PrintInfo.h:
2301
2302 2011-01-28  Anders Carlsson  <andersca@apple.com>
2303
2304         Fix tyop.
2305
2306         * Shared/mac/CoreAnimationRenderer.mm:
2307
2308 2011-01-28  Anders Carlsson  <andersca@apple.com>
2309
2310         Reviewed by Sam Weinig.
2311
2312         Add CoreAnimationRenderer class
2313         https://bugs.webkit.org/show_bug.cgi?id=53343
2314
2315         * Shared/mac/CoreAnimationRenderer.h: Added.
2316         * Shared/mac/CoreAnimationRenderer.mm: Added.
2317
2318         (WebKit::CoreAnimationRenderer::CoreAnimationRenderer):
2319         Initialize the underlying CARenderer object and hook up a notification observer.
2320
2321         (WebKit::CoreAnimationRenderer::~CoreAnimationRenderer):
2322         Assert that the client is null. It has been set to null by the call to invalidate().
2323
2324         (WebKit::CoreAnimationRenderer::setBounds):
2325         Update the bounds on the CARenderer and the root layer.
2326
2327         (WebKit::CoreAnimationRenderer::render):
2328         Ask the renderer to render and return the next frame time.
2329
2330         (WebKit::CoreAnimationRenderer::invalidate):
2331         Remove the change observer and reset the client.
2332
2333         (WebKit::CoreAnimationRenderer::rendererDidChange):
2334         Call the client member function.
2335
2336         * WebKit2.xcodeproj/project.pbxproj:
2337         Add new files.
2338
2339 2011-01-28  Anders Carlsson  <andersca@apple.com>
2340
2341         Reviewed by Sam Weinig.
2342
2343         Add an OBJC_CLASS macro for forward declaring an Objective-C class
2344         https://bugs.webkit.org/show_bug.cgi?id=53337
2345
2346         * Shared/NativeWebKeyboardEvent.h:
2347         * Shared/PrintInfo.h:
2348         * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
2349         * UIProcess/LayerBackedDrawingAreaProxy.h:
2350         * UIProcess/WebInspectorProxy.h:
2351         * UIProcess/mac/WebContextMenuProxyMac.h:
2352         * UIProcess/mac/WebPopupMenuProxyMac.h:
2353         * WebProcess/Downloads/Download.h:
2354         * WebProcess/Plugins/PluginProxy.h:
2355         * WebProcess/WebPage/LayerBackedDrawingArea.h:
2356         * WebProcess/WebPage/WebPage.h:
2357         * config.h:
2358
2359 2011-01-28  Anders Carlsson  <andersca@apple.com>
2360
2361         Reviewed by Sam Weinig.
2362
2363         Don't put config.h in the message headers.
2364
2365         * Scripts/webkit2/messages.py:
2366         * Scripts/webkit2/messages_unittest.py:
2367
2368 2011-01-28  Anders Carlsson  <andersca@apple.com>
2369
2370         Fix build.
2371
2372         * Shared/mac/ShareableSurface.cpp:
2373
2374 2011-01-28  Anders Carlsson  <andersca@apple.com>
2375
2376         Try to unbreak the Windows build.
2377
2378         * UIProcess/cf/WebPageProxyCF.cpp:
2379
2380 2011-01-28  Brady Eidson  <beidson@apple.com>
2381
2382         Reviewed by John Sullivan.
2383
2384         https://bugs.webkit.org/show_bug.cgi?id=53330
2385         Need InjectedBundle API to get the response MIMEType for a URL
2386
2387         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
2388         (WKBundleFrameCopyMIMETypeForResourceWithURL):
2389         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
2390
2391         Get the MIMEType from the in-memory cache, or cachedResponseMIMETypeForURL() if not available:
2392         * WebProcess/WebPage/WebFrame.cpp:
2393         (WebKit::WebFrame::mimeTypeForResourceWithURL):
2394         * WebProcess/WebPage/WebFrame.h:
2395
2396         Get the MIMEType from the platform's disk cache if available:
2397         * WebProcess/WebPage/WebPage.h:
2398         * WebProcess/WebPage/mac/WebPageMac.mm:
2399         (WebKit::WebPage::cachedResponseMIMETypeForURL):
2400         * WebProcess/WebPage/qt/WebPageQt.cpp:
2401         (WebKit::WebPage::cachedResponseMIMETypeForURL):
2402         * WebProcess/WebPage/win/WebPageWin.cpp:
2403         (WebKit::WebPage::cachedResponseMIMETypeForURL):
2404
2405 2011-01-28  Anders Carlsson  <andersca@apple.com>
2406
2407         Reviewed by Sam Weinig.
2408
2409         Clean up the mess introduced when config.h was added to the project:
2410
2411         - Remove the contents of WebKit2Prefix.h that is now in config.h, to avoid including everything
2412           twice in each file, probably slowing down compile time.
2413
2414         - Add config.h to all the files that were forgotten in order to keep the build from breaking.
2415
2416         - Added trap to ensure that config.h is included at the top of every implementation file. If this
2417           had been added it would have caught the previous issue.
2418
2419 2011-01-28  Stephanie Lewis  <slewis@apple.com>
2420
2421         Reviewed by Geoff Garen.
2422
2423         <rdar://problem/8857651> Implement unregisterWorld for WebKit2
2424         Rename unregisterWorld to clearWrappers.  Clearing the wrappers reduces the 
2425         memory use of isolated worlds.
2426
2427         * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
2428         (WKBundleScriptWorldClearWrappers):
2429         * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h:
2430         * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
2431         (WebKit::InjectedBundleScriptWorld::clearWrappers):
2432         * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
2433
2434 2011-01-28  Dan Bernstein  <mitz@apple.com>
2435
2436         Reviewed by Sam Weinig.
2437
2438         <select> can't display right-to-left (rtl) languages
2439         https://bugs.webkit.org/show_bug.cgi?id=19785
2440
2441         * Shared/WebPopupItem.cpp:
2442         (WebKit::WebPopupItem::WebPopupItem): Added initializers for m_textDirection and m_hasTextDirectionOverride.
2443         (WebKit::WebPopupItem::encode): Encode the item's writing direction and direction override values.
2444         (WebKit::WebPopupItem::decode): Decode the item's writing direction and direction override values.
2445         * Shared/WebPopupItem.h:
2446         * UIProcess/WebPageProxy.cpp:
2447         (WebKit::WebPageProxy::showPopupMenu): Added a parameter for the menu's text direction.
2448         * UIProcess/WebPageProxy.h:
2449         * UIProcess/WebPageProxy.messages.in: Ditto.
2450         * UIProcess/WebPopupMenuProxy.h:
2451         * UIProcess/mac/WebPopupMenuProxyMac.h:
2452         * UIProcess/mac/WebPopupMenuProxyMac.mm:
2453         (WebKit::WebPopupMenuProxyMac::populate): Added a parameter for the menu's text direction.
2454         Set items' text alignment to match the menu's writing direction. Set items' writing direction
2455         and direction override according to their styles.
2456         (WebKit::WebPopupMenuProxyMac::showPopupMenu): Set the pop-up's layout direction.
2457         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2458         (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural): Changed to return false.
2459         (WebKit::WebChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Added.
2460         * WebProcess/WebCoreSupport/WebChromeClient.h:
2461         * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
2462         (WebKit::WebPopupMenu::populateItems): Initialize items' writing direction and direction override
2463         values.
2464         (WebKit::WebPopupMenu::show): Pass the menu's writing direction.
2465
2466 2011-01-28  Anders Carlsson  <andersca@apple.com>
2467
2468         Reviewed by Adam Roben.
2469
2470         Add ShareableSurface class
2471         https://bugs.webkit.org/show_bug.cgi?id=53313
2472
2473         * Shared/mac/ShareableSurface.cpp: Added.
2474         (WebKit::ShareableSurface::Handle::Handle):
2475         Initialize the mach port.
2476
2477         (WebKit::ShareableSurface::Handle::~Handle):
2478         Deallocate our send right if needed.
2479
2480         (WebKit::ShareableSurface::Handle::encode):
2481         Encode the send right, and then null it out.
2482
2483         (WebKit::ShareableSurface::Handle::decode):
2484         Decode the send right.
2485         
2486         (WebKit::createIOSurface):
2487         Create an IOSurface with the given size.
2488
2489         (WebKit::ShareableSurface::create):
2490         Create an IOSurface, either from a size or from a handle.
2491
2492         (WebKit::ShareableSurface::~ShareableSurface):
2493         Delete the texture and framebuffer.
2494
2495         (WebKit::ShareableSurface::createHandle):
2496         Create a mach port from the surface.
2497
2498         (WebKit::ShareableSurface::attach):
2499         Create an FBO if needed and bind it.
2500
2501         (WebKit::ShareableSurface::detach):
2502         Unbind the FBO.
2503
2504         (WebKit::ShareableSurface::textureID):
2505         Generate a new texture and bind it to the IOSurface.
2506
2507         * Shared/mac/ShareableSurface.h: Added.
2508
2509         * WebKit2.xcodeproj/project.pbxproj:
2510         Add new files.
2511
2512 2011-01-27  Adam Roben  <aroben@apple.com>
2513
2514         Change BinarySemaphore to wrap an auto-reset Win32 event on Windows
2515
2516         Fixes <http://webkit.org/b/53208> <rdar://problem/8922490>.
2517
2518         Reviewed by Dave Hyatt.
2519
2520         * Platform/CoreIPC/BinarySemaphore.cpp: Wrap this implementation in #if !PLATFORM(WIN).
2521
2522         * Platform/CoreIPC/BinarySemaphore.h: Make the Windows implementation have a single HANDLE
2523         member that holds the event.
2524
2525         * Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Copied from Source/WebKit2/Platform/CoreIPC/BinarySemaphore.cpp.
2526         (CoreIPC::BinarySemaphore::BinarySemaphore): Create our event.
2527         (CoreIPC::BinarySemaphore::~BinarySemaphore): Destory our event.
2528         (CoreIPC::BinarySemaphore::signal): Signal the event.
2529         (CoreIPC::BinarySemaphore::wait): Convert the absolute time to a wait interval, then wait
2530         for the event to be signaled or for the interval to elapse.
2531
2532         * win/WebKit2.vcproj: Added BinarySemaphoreWin.cpp. Also let VS have its way with the file.
2533
2534 2011-01-27  Chris Marrin  <cmarrin@apple.com>
2535
2536         Reviewed by Anders Carlsson.
2537
2538         WebKit2: Page flashes just before accelerated compositing animation
2539         https://bugs.webkit.org/show_bug.cgi?id=53274
2540
2541         When switching out of compositing mode, the new ChunkedUpdateDrawingAreaProxy
2542         is getting created with the current page size. When the setSize() call is
2543         subsequently made, the sizeDidChange() call is not made (which does the initial
2544         render of the page) because the old size and new size are the same. The solution
2545         is to skip the setting of the size in the ctor and let it go through a size
2546         change sequence.
2547
2548         * UIProcess/DrawingAreaProxy.cpp:
2549         (WebKit::DrawingAreaProxy::DrawingAreaProxy):
2550
2551 2011-01-28  Alejandro G. Castro  <alex@igalia.com>
2552
2553         Reviewed by Xan Lopez.
2554
2555         [GTK] Fix dist compilation for the release
2556         https://bugs.webkit.org/show_bug.cgi?id=53290
2557
2558         * GNUmakefile.am: Remove a file that is not in the repository
2559         anymore.
2560
2561
2562 2011-01-28  Andreas Kling  <kling@webkit.org>
2563
2564         Rubber-stamped by Simon Hausmann.
2565
2566         [Qt][WK2] Combine QWKPage::engine{Connected,Disconnected} into one signal.
2567
2568         Having two signals for this is redundant, combine them into
2569         QWKPage::engineConnectionChanged(bool connected).
2570
2571         * UIProcess/API/qt/qwkpage.cpp:
2572         (QWKPagePrivate::didRelaunchProcess):
2573         (QWKPagePrivate::processDidCrash):
2574         * UIProcess/API/qt/qwkpage.h:
2575
2576 2011-01-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2577
2578         Reviewed by Maciej Stachowiak.
2579
2580         Build fix for Mac Intel Debug after r76916
2581         https://bugs.webkit.org/show_bug.cgi?id=53284
2582
2583         Fix macro redefinition by guarding the redefined macros.
2584
2585         * config.h:
2586
2587 2011-01-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2588
2589         Unreviewed build fix for Mac Intel Debug after r76916.
2590
2591         Fix macro redefinition by guarding the redefined macros.
2592
2593         Check if the macro is already defined before defininig it.
2594         c++config.h has the same macros with the same values.
2595
2596         * config.h:
2597
2598 2011-01-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2599
2600         Reviewed by Adam Barth.
2601
2602         Update the expected results for test-webkitpy after r76916.
2603
2604         Include "config.h" in the expected results as well.
2605
2606         * Scripts/webkit2/messages_unittest.py:
2607
2608 2011-01-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2609
2610         Unreviewed buildfix for SnowLeopard Intel Debug.
2611
2612         Fix macro redefinition by not including config.h.
2613
2614         Revert previous change in WebPageProxyCF.cpp.
2615
2616         * UIProcess/cf/WebPageProxyCF.cpp:
2617
2618 2011-01-27  Greg Coletta  <greg.coletta@nokia.com>
2619
2620         Reviewed by Laszlo Gombos.
2621
2622         Get rid of prefix header dependency for WebKit2 build system.
2623         https://bugs.webkit.org/show_bug.cgi?id=50174
2624
2625         Add config.h include explicitelly.
2626
2627         * Platform/CoreIPC/ArgumentDecoder.cpp:
2628         * Platform/CoreIPC/ArgumentEncoder.cpp:
2629         * Platform/CoreIPC/Attachment.cpp:
2630         * Platform/CoreIPC/BinarySemaphore.cpp:
2631         * Platform/CoreIPC/Connection.cpp:
2632         * Platform/CoreIPC/DataReference.cpp:
2633         * Platform/CoreIPC/gtk/ConnectionGtk.cpp:
2634         * Platform/CoreIPC/mac/ConnectionMac.cpp:
2635         * Platform/CoreIPC/qt/ConnectionQt.cpp:
2636         * Platform/CoreIPC/win/ConnectionWin.cpp:
2637         * Platform/Logging.cpp:
2638         * Platform/Module.cpp:
2639         * Platform/Region.cpp:
2640         * Platform/RunLoop.cpp:
2641         * Platform/WorkQueue.cpp:
2642         * Platform/cg/CGUtilities.cpp:
2643         * Platform/gtk/RunLoopGtk.cpp:
2644         * Platform/gtk/SharedMemoryGtk.cpp:
2645         * Platform/gtk/WorkQueueGtk.cpp:
2646         * Platform/mac/MachUtilities.cpp:
2647         * Platform/mac/SharedMemoryMac.cpp:
2648         * Platform/mac/WorkQueueMac.cpp:
2649         * Platform/qt/MappedMemoryPool.cpp:
2650         * Platform/qt/ModuleQt.cpp:
2651         * Platform/qt/RunLoopQt.cpp:
2652         * Platform/qt/WorkQueueQt.cpp:
2653         * Platform/win/ModuleWin.cpp:
2654         * Platform/win/RunLoopWin.cpp:
2655         * Platform/win/SharedMemoryWin.cpp:
2656         * Platform/win/WorkQueueWin.cpp:
2657         * PluginProcess/PluginControllerProxy.cpp:
2658         * PluginProcess/PluginProcess.cpp:
2659         * PluginProcess/WebProcessConnection.cpp:
2660         * Scripts/webkit2/messages.py:
2661         * Shared/API/c/WKArray.cpp:
2662         * Shared/API/c/WKCertificateInfo.cpp:
2663         * Shared/API/c/WKContextMenuItem.cpp:
2664         * Shared/API/c/WKData.cpp:
2665         * Shared/API/c/WKDictionary.cpp:
2666         * Shared/API/c/WKError.cpp:
2667         * Shared/API/c/WKImage.cpp:
2668         * Shared/API/c/WKMutableArray.cpp:
2669         * Shared/API/c/WKMutableDictionary.cpp:
2670         * Shared/API/c/WKNumber.cpp:
2671         * Shared/API/c/WKSecurityOrigin.cpp:
2672         * Shared/API/c/WKSerializedScriptValue.cpp:
2673         * Shared/API/c/WKString.cpp:
2674         * Shared/API/c/WKType.cpp:
2675         * Shared/API/c/WKURL.cpp:
2676         * Shared/API/c/WKURLRequest.cpp:
2677         * Shared/API/c/WKURLResponse.cpp:
2678         * Shared/API/c/WKUserContentURLPattern.cpp:
2679         * Shared/API/c/cf/WKStringCF.cpp:
2680         * Shared/API/c/cf/WKURLCF.cpp:
2681         * Shared/API/c/cf/WKURLRequestCF.cpp:
2682         * Shared/API/c/cf/WKURLResponseCF.cpp:
2683         * Shared/API/c/cg/WKImageCG.cpp:
2684         * Shared/API/c/win/WKCertificateInfoWin.cpp:
2685         * Shared/ChildProcess.cpp:
2686         * Shared/ImmutableArray.cpp:
2687         * Shared/ImmutableDictionary.cpp:
2688         * Shared/MutableArray.cpp:
2689         * Shared/MutableDictionary.cpp:
2690         * Shared/OriginAndDatabases.cpp:
2691         * Shared/PlatformPopupMenuData.cpp:
2692         * Shared/Plugins/NPIdentifierData.cpp:
2693         * Shared/Plugins/NPObjectMessageReceiver.cpp:
2694         * Shared/Plugins/NPObjectProxy.cpp:
2695         * Shared/Plugins/NPRemoteObjectMap.cpp:
2696         * Shared/Plugins/NPVariantData.cpp:
2697         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
2698         * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
2699         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
2700         * Shared/Plugins/PluginProcessCreationParameters.cpp:
2701         * Shared/PrintInfo.cpp:
2702         * Shared/SessionState.cpp:
2703         * Shared/ShareableBitmap.cpp:
2704         * Shared/UpdateInfo.cpp:
2705         * Shared/VisitedLinkTable.cpp:
2706         * Shared/WebBackForwardListItem.cpp:
2707         * Shared/WebContextMenuItem.cpp:
2708         * Shared/WebContextMenuItemData.cpp:
2709         * Shared/WebError.cpp:
2710         * Shared/WebEvent.cpp:
2711         * Shared/WebEventConversion.cpp:
2712         * Shared/WebGeolocationPosition.cpp:
2713         * Shared/WebImage.cpp:
2714         * Shared/WebKeyboardEvent.cpp:
2715         * Shared/WebMemorySampler.cpp:
2716         * Shared/WebMouseEvent.cpp:
2717         * Shared/WebOpenPanelParameters.cpp:
2718         * Shared/WebPageCreationParameters.cpp:
2719         * Shared/WebPageGroupData.cpp:
2720         * Shared/WebPlatformTouchPoint.cpp:
2721         * Shared/WebPopupItem.cpp:
2722         * Shared/WebPreferencesStore.cpp:
2723         * Shared/WebProcessCreationParameters.cpp:
2724         * Shared/WebTouchEvent.cpp:
2725         * Shared/WebURLRequest.cpp:
2726         * Shared/WebURLResponse.cpp:
2727         * Shared/WebWheelEvent.cpp:
2728         * Shared/cairo/ShareableBitmapCairo.cpp:
2729         * Shared/cf/ArgumentCodersCF.cpp:
2730         * Shared/cg/ShareableBitmapCG.cpp:
2731         * Shared/gtk/ShareableBitmapGtk.cpp:
2732         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
2733         * Shared/mac/CommandLineMac.cpp:
2734         * Shared/mac/UpdateChunk.cpp:
2735         * Shared/qt/CleanupHandler.cpp:
2736         * Shared/qt/NativeWebKeyboardEventQt.cpp:
2737         * Shared/qt/ShareableBitmapQt.cpp:
2738         * Shared/qt/UpdateChunk.cpp:
2739         * Shared/qt/WebCoreArgumentCodersQt.cpp:
2740         * Shared/qt/WebEventFactoryQt.cpp:
2741         * Shared/qt/WebURLRequestQt.cpp:
2742         * Shared/qt/WebURLResponseQt.cpp:
2743         * Shared/win/CommandLineWin.cpp:
2744         * Shared/win/NativeWebKeyboardEventWin.cpp:
2745         * Shared/win/PlatformCertificateInfo.cpp:
2746         * Shared/win/UpdateChunk.cpp:
2747         * Shared/win/WebCoreArgumentCodersWin.cpp:
2748         * Shared/win/WebEventFactory.cpp:
2749         * Shared/win/WebURLRequestWin.cpp:
2750         * Shared/win/WebURLResponseWin.cpp:
2751         * UIProcess/API/C/WKAuthenticationChallenge.cpp:
2752         * UIProcess/API/C/WKAuthenticationDecisionListener.cpp:
2753         * UIProcess/API/C/WKBackForwardList.cpp:
2754         * UIProcess/API/C/WKBackForwardListItem.cpp:
2755         * UIProcess/API/C/WKContext.cpp:
2756         * UIProcess/API/C/WKCredential.cpp:
2757         * UIProcess/API/C/WKDatabaseManager.cpp:
2758         * UIProcess/API/C/WKDownload.cpp:
2759         * UIProcess/API/C/WKFormSubmissionListener.cpp:
2760         * UIProcess/API/C/WKFrame.cpp:
2761         * UIProcess/API/C/WKFramePolicyListener.cpp:
2762         * UIProcess/API/C/WKGeolocationManager.cpp:
2763         * UIProcess/API/C/WKGeolocationPermissionRequest.cpp:
2764         * UIProcess/API/C/WKGeolocationPosition.cpp:
2765         * UIProcess/API/C/WKInspector.cpp:
2766         * UIProcess/API/C/WKNavigationData.cpp:
2767         * UIProcess/API/C/WKOpenPanelParameters.cpp:
2768         * UIProcess/API/C/WKOpenPanelResultListener.cpp:
2769         * UIProcess/API/C/WKPage.cpp:
2770         * UIProcess/API/C/WKPageGroup.cpp:
2771         * UIProcess/API/C/WKPreferences.cpp:
2772         * UIProcess/API/C/WKProtectionSpace.cpp:
2773         * UIProcess/API/C/win/WKContextWin.cpp:
2774         * UIProcess/API/C/win/WKView.cpp:
2775         * UIProcess/API/C/win/WKViewPrivate.cpp:
2776         * UIProcess/API/cpp/qt/WKStringQt.cpp:
2777         * UIProcess/API/cpp/qt/WKURLQt.cpp:
2778         * UIProcess/API/qt/ClientImpl.cpp:
2779         * UIProcess/API/qt/qgraphicswkview.cpp:
2780         * UIProcess/API/qt/qwkcontext.cpp:
2781         * UIProcess/API/qt/qwkpage.cpp:
2782         * UIProcess/API/qt/qwkpreferences.cpp:
2783         * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
2784         * UIProcess/Authentication/AuthenticationDecisionListener.cpp:
2785         * UIProcess/Authentication/WebCredential.cpp:
2786         * UIProcess/Authentication/WebProtectionSpace.cpp:
2787         * UIProcess/BackingStore.cpp:
2788         * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
2789         * UIProcess/Downloads/DownloadProxy.cpp:
2790         * UIProcess/DrawingAreaProxy.cpp:
2791         * UIProcess/DrawingAreaProxyImpl.cpp:
2792         * UIProcess/FindIndicator.cpp:
2793         * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
2794         * UIProcess/GeolocationPermissionRequestProxy.cpp:
2795         * UIProcess/Launcher/ProcessLauncher.cpp:
2796         * UIProcess/Launcher/ThreadLauncher.cpp:
2797         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
2798         * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp:
2799         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
2800         * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
2801         * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
2802         * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
2803         * UIProcess/LayerBackedDrawingAreaProxy.cpp:
2804         * UIProcess/Plugins/PluginInfoStore.cpp:
2805         * UIProcess/Plugins/PluginProcessManager.cpp:
2806         * UIProcess/Plugins/PluginProcessProxy.cpp:
2807         * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:
2808         * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
2809         * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
2810         * UIProcess/ResponsivenessTimer.cpp:
2811         * UIProcess/TiledDrawingAreaProxy.cpp:
2812         * UIProcess/VisitedLinkProvider.cpp:
2813         * UIProcess/WebBackForwardList.cpp:
2814         * UIProcess/WebContext.cpp:
2815         * UIProcess/WebContextInjectedBundleClient.cpp:
2816         * UIProcess/WebContextMenuProxy.cpp:
2817         * UIProcess/WebDatabaseManagerProxy.cpp:
2818         * UIProcess/WebDatabaseManagerProxyClient.cpp:
2819         * UIProcess/WebDownloadClient.cpp:
2820         * UIProcess/WebEditCommandProxy.cpp:
2821         * UIProcess/WebFindClient.cpp:
2822         * UIProcess/WebFormClient.cpp:
2823         * UIProcess/WebFormSubmissionListenerProxy.cpp:
2824         * UIProcess/WebFrameListenerProxy.cpp:
2825         * UIProcess/WebFramePolicyListenerProxy.cpp:
2826         * UIProcess/WebFrameProxy.cpp:
2827         * UIProcess/WebGeolocationManagerProxy.cpp:
2828         * UIProcess/WebGeolocationProvider.cpp:
2829         * UIProcess/WebHistoryClient.cpp:
2830         * UIProcess/WebInspectorProxy.cpp:
2831         * UIProcess/WebLoaderClient.cpp:
2832         * UIProcess/WebNavigationData.cpp:
2833         * UIProcess/WebOpenPanelResultListenerProxy.cpp:
2834         * UIProcess/WebPageContextMenuClient.cpp:
2835         * UIProcess/WebPageGroup.cpp:
2836         * UIProcess/WebPageProxy.cpp:
2837         * UIProcess/WebPolicyClient.cpp:
2838         * UIProcess/WebPreferences.cpp:
2839         * UIProcess/WebProcessManager.cpp:
2840         * UIProcess/WebProcessProxy.cpp:
2841         * UIProcess/WebResourceLoadClient.cpp:
2842         * UIProcess/WebUIClient.cpp:
2843         * UIProcess/cf/WebBackForwardListCF.cpp:
2844         * UIProcess/cf/WebPageProxyCF.cpp:
2845         * UIProcess/cf/WebPreferencesCF.cpp:
2846         * UIProcess/gtk/TextCheckerGtk.cpp:
2847         * UIProcess/gtk/WebInspectorGtk.cpp:
2848         * UIProcess/gtk/WebPageProxyGtk.cpp:
2849         * UIProcess/gtk/WebPreferencesGtk.cpp:
2850         * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
2851         * UIProcess/qt/TextCheckerQt.cpp:
2852         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
2853         * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
2854         * UIProcess/qt/WebContextMenuProxyQt.cpp:
2855         * UIProcess/qt/WebContextQt.cpp:
2856         * UIProcess/qt/WebInspectorProxyQt.cpp:
2857         * UIProcess/qt/WebPageProxyQt.cpp:
2858         * UIProcess/qt/WebPopupMenuProxyQt.cpp:
2859         * UIProcess/qt/WebPreferencesQt.cpp:
2860         * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp:
2861         * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp:
2862         * UIProcess/win/TextCheckerWin.cpp:
2863         * UIProcess/win/WebContextMenuProxyWin.cpp:
2864         * UIProcess/win/WebContextWin.cpp:
2865         * UIProcess/win/WebInspectorProxyWin.cpp:
2866         * UIProcess/win/WebPageProxyWin.cpp:
2867         * UIProcess/win/WebPopupMenuProxyWin.cpp:
2868         * UIProcess/win/WebView.cpp:
2869         * WebKit2.xcodeproj/project.pbxproj:
2870         * WebProcess/Authentication/AuthenticationManager.cpp:
2871         * WebProcess/Downloads/Download.cpp:
2872         * WebProcess/Downloads/DownloadManager.cpp:
2873         * WebProcess/Downloads/cf/DownloadCFNet.cpp:
2874         * WebProcess/Downloads/curl/DownloadCurl.cpp:
2875         * WebProcess/Downloads/qt/DownloadQt.cpp:
2876         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
2877         * WebProcess/Geolocation/WebGeolocationManager.cpp:
2878         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
2879         * WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.cpp:
2880         * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
2881         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
2882         * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
2883         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
2884         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2885         * WebProcess/InjectedBundle/API/c/WKBundlePageGroup.cpp:
2886         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
2887         * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
2888         * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
2889         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
2890         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
2891         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2892         * WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp:
2893         * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
2894         * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
2895         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
2896         * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
2897         * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
2898         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
2899         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
2900         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
2901         * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
2902         * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
2903         * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
2904         * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
2905         * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
2906         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
2907         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2908         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
2909         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
2910         * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
2911         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2912         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2913         * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
2914         * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
2915         * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
2916         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
2917         * WebProcess/Plugins/Plugin.cpp:
2918         * WebProcess/Plugins/PluginProcessConnection.cpp:
2919         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2920         * WebProcess/Plugins/PluginProxy.cpp:
2921         * WebProcess/Plugins/PluginView.cpp:
2922         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2923         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
2924         * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
2925         * WebProcess/WebCoreSupport/WebDragClient.cpp:
2926         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2927         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2928         * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
2929         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
2930         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
2931         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2932         * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
2933         * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
2934         * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp:
2935         * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp:
2936         * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp:
2937         * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
2938         * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
2939         * WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp:
2940         * WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp:
2941         * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
2942         * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
2943         * WebProcess/WebKitMain.cpp:
2944         * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
2945         * WebProcess/WebPage/DecoderAdapter.cpp:
2946         * WebProcess/WebPage/DrawingArea.cpp:
2947         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2948         * WebProcess/WebPage/EncoderAdapter.cpp:
2949         * WebProcess/WebPage/FindController.cpp:
2950         * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
2951         * WebProcess/WebPage/PageOverlay.cpp:
2952         * WebProcess/WebPage/TiledDrawingArea.cpp:
2953         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
2954         * WebProcess/WebPage/WebContextMenu.cpp:
2955         * WebProcess/WebPage/WebEditCommand.cpp:
2956         * WebProcess/WebPage/WebFrame.cpp:
2957         * WebProcess/WebPage/WebInspector.cpp:
2958         * WebProcess/WebPage/WebOpenPanelResultListener.cpp:
2959         * WebProcess/WebPage/WebPage.cpp:
2960         * WebProcess/WebPage/WebPageGroupProxy.cpp:
2961         * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
2962         * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp:
2963         * WebProcess/WebPage/qt/ChunkedUpdateDrawingAreaQt.cpp:
2964         * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp:
2965         * WebProcess/WebPage/qt/WebInspectorQt.cpp:
2966         * WebProcess/WebPage/qt/WebPageQt.cpp:
2967         * WebProcess/WebPage/win/ChunkedUpdateDrawingAreaWin.cpp:
2968         * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp:
2969         * WebProcess/WebPage/win/WebInspectorWin.cpp:
2970         * WebProcess/WebPage/win/WebPageWin.cpp:
2971         * WebProcess/WebProcess.cpp:
2972         * WebProcess/gtk/WebProcessGtk.cpp:
2973         * WebProcess/gtk/WebProcessMainGtk.cpp:
2974         * WebProcess/qt/WebProcessMainQt.cpp:
2975         * WebProcess/qt/WebProcessQt.cpp:
2976         * WebProcess/win/WebProcessMainWin.cpp:
2977         * WebProcess/win/WebProcessWin.cpp:
2978         * config.h: Copied from Source/WebKit2/WebKit2Prefix.h.
2979         * win/WebKit2Common.vsprops:
2980
2981 2011-01-27  Maciej Stachowiak  <mjs@apple.com>
2982
2983         Reviewed by Darin Adler.
2984
2985         execCommand("Paste") doesn't work in WebKitTestRunner
2986         https://bugs.webkit.org/show_bug.cgi?id=52785
2987         
2988         Thread through the new JavaScriptCanAccessClipboard setting.
2989
2990         * Shared/WebPreferencesStore.h:
2991         * UIProcess/API/C/WKPreferences.cpp:
2992         (WKPreferencesSetJavaScriptCanAccessClipboard):
2993         (WKPreferencesGetJavaScriptCanAccessClipboard):
2994         * UIProcess/API/C/WKPreferences.h:
2995         * WebProcess/WebPage/WebPage.cpp:
2996         (WebKit::WebPage::updatePreferences):
2997
2998 2011-01-27  Nate Chapin  <japhet@chromium.org>
2999
3000         Reviewed by Adam Barth.
3001
3002         Use Document::url() instead of FrameLoader::url().
3003         https://bugs.webkit.org/show_bug.cgi?id=41165
3004
3005         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3006         (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
3007         (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
3008         (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
3009         (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
3010         * WebProcess/WebPage/WebFrame.cpp:
3011         (WebKit::WebFrame::url):
3012
3013 2011-01-27  Sam Weinig  <sam@webkit.org>
3014
3015         Reviewed by Anders Carlsson.
3016
3017         Encode/Decode hasPreciseScrollingDeltas bit in WebWheelEvent
3018         https://bugs.webkit.org/show_bug.cgi?id=53254
3019
3020         * Shared/WebWheelEvent.cpp:
3021         (WebKit::WebWheelEvent::WebWheelEvent):
3022         Initialize m_phase and m_hasPreciseScrollingDeltas.
3023
3024         (WebKit::WebWheelEvent::encode):
3025         (WebKit::WebWheelEvent::decode):
3026         Add missing coding for m_hasPreciseScrollingDeltas.
3027
3028 2011-01-26  Enrica Casucci  <enrica@apple.com>
3029
3030         Reviewed by Darin Adler and Adam Roben.
3031
3032         WebKit2: add support for drag and drop on Windows
3033         https://bugs.webkit.org/show_bug.cgi?id=52775
3034         <rdar://problem/8514409>
3035
3036         On Windows the access to the content being dragged is
3037         provided via the IDataObject interface that is made available
3038         to the window that registers itself as drop target.
3039         Since this interface cannot be accessed from the WebProcess,
3040         in every call to one of the methods of the IDropTarget interface
3041         we serialize the content of the drag clipboard and send it over to
3042         the WebProcess. The implementation uses the same messages as the
3043         Mac one, with slightly different parameters to pass the serialized
3044         clipboard.
3045
3046         * UIProcess/WebPageProxy.cpp:
3047         (WebKit::WebPageProxy::performDragControllerAction): Added Windows
3048         specific implementation.
3049         * UIProcess/WebPageProxy.h:
3050         * UIProcess/win/WebView.cpp:
3051         (WebKit::WebView::WebView): Added dropTargetHelper object creation.
3052         (WebKit::WebView::initialize): Added to register for drag/drop with out
3053         refcount issues.
3054         (WebKit::WebView::close):
3055         (WebKit::WebView::windowReceivedMessage):
3056         (WebKit::WebView::QueryInterface):
3057         (WebKit::WebView::AddRef):
3058         (WebKit::WebView::Release):
3059         (WebKit::dragOperationToDragCursor):
3060         (WebKit::WebView::keyStateToDragOperation):
3061         (WebKit::WebView::DragEnter):
3062         (WebKit::WebView::DragOver):
3063         (WebKit::WebView::DragLeave):
3064         (WebKit::WebView::Drop):
3065         * UIProcess/win/WebView.h:
3066         (WebKit::WebView::create):
3067         * WebProcess/WebPage/WebPage.cpp:
3068         (WebKit::WebPage::performDragControllerAction):
3069         * WebProcess/WebPage/WebPage.h:
3070         * WebProcess/WebPage/WebPage.messages.in:
3071
3072 2011-01-26  Alexey Proskuryakov  <ap@apple.com>
3073
3074         Reviewed by Darin Adler.
3075
3076         https://bugs.webkit.org/show_bug.cgi?id=53197
3077         <rdar://problem/8895682> Make WebKit2 printing asynchronous
3078
3079         <rdar://problem/8899988> REGRESSION(WebKit2): Attempting to print WHATWG HTML spec shows
3080         1-page blank preview
3081
3082         <rdar://problem/8900078> WebKit2 printing has a separate message exchange per page when
3083         printing instead of printing all at once
3084
3085         * UIProcess/API/mac/WKPrintingView.h: Store a lot more cached information.
3086
3087         * UIProcess/API/mac/WKPrintingView.mm:
3088         (-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]): Use PrintOperation stored in
3089         class. We generally want that now, because current operation will not be set up on other threads.
3090         (-[WKPrintingView _isPrintingPreview]): Added. Preview is different, because it can draw
3091         a placeholder - but actual printing need to wait until UI process has data.
3092         (-[WKPrintingView _updatePreview]): Force AppKit to update print preview when we have real
3093         data to replace placeholder with.
3094         (-[WKPrintingView _hasPageRects]): Return if page rects have already been computed.
3095         (-[WKPrintingView _expectedPreviewCallbackForRect:]): Find an existing request for this rect,
3096         if any.
3097         (pageDidDrawToPDF): Update preview - or if actually printing, release control to printing thread.
3098         (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): Ask for a PDF document with
3099         pages the user asked to print.
3100         (pageDidComputePageRects): When web process returns page geometry data, we update preview to display
3101         a page count (which indirectly triggers a request for a preview). When actually printing,
3102         request a PDF right away, we'll need it later.
3103         (-[WKPrintingView _askPageToComputePageRects]): Ask web process for page geometry.
3104         (prepareDataForPrintingOnSecondaryThread): This function starts preparing all data necessary
3105         for actual printing on main thread.
3106         (-[WKPrintingView knowsPageRange:]): Changed to be async for preview, and to call main
3107         thread for actual printing.
3108         (-[WKPrintingView _pageForRect:]): Find page number for a given range, assuming that AppKit
3109         always asks for full pages.
3110         (-[WKPrintingView _drawPDFDocument:page:atPoint:]): A helper function to draw a PDF document.
3111         (-[WKPrintingView _drawPreview:]): Draw the whole page for preview.
3112         (-[WKPrintingView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
3113         Draw the whole page for actual printing.
3114         (-[WKPrintingView _drawPageBorderWithSizeOnMainThread:]): Call drawPageBorderWithSize: with
3115         correct graphics context and print operation.
3116         (-[WKPrintingView drawPageBorderWithSize:]): Delegate work to main thread when called from a
3117         secondary one.
3118         (-[WKPrintingView _provideTotalScaleFactorForPrintOperation:]): Added an assertion that
3119         our stored NSPrintOperation isn't out of sync with reality.
3120         (-[WKPrintingView rectForPage:]): Handle the case where we don't have the data yet, drawing
3121         a placeholder.
3122         (-[WKPrintingView endDocument]): When page setup changes, we must reset all state.
3123
3124         * UIProcess/API/mac/WKView.mm: (-[WKView printOperationWithPrintInfo:forFrame:]): Tell
3125         NSPrintingView which operation it's serving, so that it knows it even when current operation
3126         isn't set.
3127
3128         * UIProcess/GenericCallback.h:
3129         (WebKit::ComputedPagesCallback::create):
3130         (WebKit::ComputedPagesCallback::~ComputedPagesCallback):
3131         (WebKit::ComputedPagesCallback::performCallbackWithReturnValue):
3132         (WebKit::ComputedPagesCallback::invalidate):
3133         (WebKit::ComputedPagesCallback::callbackID):
3134         (WebKit::ComputedPagesCallback::generateCallbackID):
3135         (WebKit::ComputedPagesCallback::ComputedPagesCallback):
3136         Added ComputedPagesCallback, which returns a vector of IntRects and a double. Hopefully,
3137         it will become a specialization of GenericCallback one day.
3138
3139         * UIProcess/WebPageProxy.cpp:
3140         (WebKit::WebPageProxy::close): Added m_voidCallbacks - it looks like they were omitted
3141         by accident.
3142         (WebKit::WebPageProxy::computedPagesCallback): Added.
3143         (WebKit::WebPageProxy::processDidCrash): Added m_computedPagesCallbacks.
3144         (WebKit::WebPageProxy::computePagesForPrinting): Async now!
3145         (WebKit::WebPageProxy::drawRectToPDF): Ditto.
3146         (WebKit::WebPageProxy::drawPagesToPDF): Added.
3147         * UIProcess/WebPageProxy.h:
3148
3149         * UIProcess/WebPageProxy.messages.in: Added ComputedPagesCallback.
3150
3151         * WebProcess/WebPage/WebPage.cpp:
3152         (WebKit::WebPage::beginPriting): Compute page rects right away - we'll need them in
3153         drawPagesToPDF(), which doesn't have a PrintInfo.
3154         (WebKit::WebPage::computePagesForPrinting): Send async response.
3155         (WebKit::WebPage::drawRectToPDF): This function used to draw into original
3156         location at frame coordinates, and now it draws at (0, 0).
3157         (WebKit::WebPage::drawPagesToPDF): Added - make a multi-page PDF.
3158         * WebProcess/WebPage/WebPage.h:
3159
3160         * WebProcess/WebPage/WebPage.messages.in: Added DrawPagesToPDF.
3161
3162 2011-01-27  Alejandro G. Castro  <alex@igalia.com>
3163
3164         Unreviewed GTK build fix after r76797.
3165
3166         * Shared/WebPreferencesStore.h: Use Qt fonts preference for the moment.
3167
3168 2011-01-27  Dan Bernstein  <mitz@apple.com>
3169
3170         Reviewed by Anders Carlsson.
3171
3172         Allow pop-up menus to contain multiple items that have the same title.
3173
3174         * UIProcess/mac/WebPopupMenuProxyMac.mm:
3175         (WebKit::WebPopupMenuProxyMac::populate): Set the item’s title after adding it rather than
3176         when adding it, so that it will not replace any existing item with the same title.
3177
3178 2011-01-27  Andreas Kling  <kling@webkit.org>
3179
3180         Reviewed by Kenneth Rohde Christiansen.
3181
3182         [Qt][WK2] Add QWKPage APIs regarding engine process availability
3183         https://bugs.webkit.org/show_bug.cgi?id=53237
3184
3185         QWKPage will now emit engineConnected() and engineDisconnected()
3186         when the web process crashes and is relaunched respectively.
3187
3188         Also added QWKPage::isConnectedToEngine() for convenience.
3189
3190         * UIProcess/API/qt/qwkpage.cpp:
3191         (QWKPagePrivate::QWKPagePrivate):
3192         (QWKPagePrivate::didRelaunchProcess):
3193         (QWKPagePrivate::processDidCrash):
3194         (QWKPage::isConnectedToEngine):
3195         * UIProcess/API/qt/qwkpage.h:
3196         * UIProcess/API/qt/qwkpage_p.h:
3197
3198 2011-01-27  Balazs Kelemen  <kbalazs@webkit.org>
3199
3200         Reviewed by Andreas Kling.
3201
3202         [Qt][WK2] Lots of layout test failures due to wrong font type
3203         https://bugs.webkit.org/show_bug.cgi?id=53233
3204
3205         * Shared/WebPreferencesStore.h:
3206         Specialize default font families for Qt.
3207
3208 2011-01-26  Maciej Stachowiak  <mjs@apple.com>
3209
3210         Reviewed by Dan Bernstein.
3211
3212         WebKitTestRunner needs to support layoutTestController.evaluateInWebInspector
3213         https://bugs.webkit.org/show_bug.cgi?id=42319
3214
3215         Add WKBundleInspector and APIs needed to implement WebKitTestRunner APIs.
3216         
3217         * GNUmakefile.am:
3218         * Shared/API/c/WKBase.h:
3219         * Shared/APIObject.h:
3220         * WebKit2.pro:
3221         * WebKit2.xcodeproj/project.pbxproj:
3222         * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
3223         * WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp: Added.
3224         (WKBundleInspectorGetTypeID):
3225         (WKBundleInspectorShow):
3226         (WKBundleInspectorClose):
3227         (WKBundleInspectorEvaluateScriptForTest):
3228         (WKBundleInspectorSetPageProfilingEnabled):
3229         * WebProcess/InjectedBundle/API/c/WKBundleInspector.h: Added.
3230         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3231         (WKBundlePageGetInspector):
3232         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
3233         * WebProcess/WebPage/WebInspector.cpp:
3234         (WebKit::WebInspector::create):
3235         (WebKit::WebInspector::evaluateScriptForTest):
3236         * WebProcess/WebPage/WebInspector.h:
3237         (WebKit::WebInspector::type):
3238         * WebProcess/WebPage/WebPage.cpp:
3239         (WebKit::WebPage::inspector):
3240         * WebProcess/WebPage/WebPage.h:
3241         * win/WebKit2.vcproj:
3242         * win/WebKit2Generated.make:
3243
3244 2011-01-26  David Kilzer  <ddkilzer@apple.com>
3245
3246         <http://webkit.org/b/53192> Add experimental support for HTTP pipelining in CFNetwork
3247         <rdar://problem/8821760>
3248
3249         Reviewed by Antti Koivisto.
3250
3251         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3252         (InitWebCoreSystemInterface): Added initialization for
3253         GetHTTPPipeliningPriority and SetHTTPPipeliningPriority.
3254
3255 2011-01-26  Beth Dakin  <bdakin@apple.com>
3256
3257         Reviewed by Darin Adler.
3258
3259         Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics 
3260         when using WKScrollbars.
3261
3262         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3263         (InitWebCoreSystemInterface):
3264
3265 2011-01-26  Sam Weinig  <sam@webkit.org>
3266
3267         Reviewed by Maciej Stachowiak.
3268
3269         Add events to represent the start/end of a gesture scroll
3270         https://bugs.webkit.org/show_bug.cgi?id=53215
3271
3272         * Scripts/webkit2/messages.py:
3273         * Shared/WebEvent.h:
3274         (WebKit::WebGestureEvent::WebGestureEvent):
3275         (WebKit::WebGestureEvent::position):
3276         (WebKit::WebGestureEvent::globalPosition):
3277         * Shared/WebEventConversion.cpp:
3278         (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
3279         (WebKit::platform):
3280         * Shared/WebEventConversion.h:
3281         * Shared/WebGestureEvent.cpp: Added.
3282         (WebKit::WebGestureEvent::WebGestureEvent):
3283         (WebKit::WebGestureEvent::encode):
3284         (WebKit::WebGestureEvent::decode):
3285         (WebKit::WebGestureEvent::isGestureEventType):
3286         * Shared/mac/WebEventFactory.h:
3287         * Shared/mac/WebEventFactory.mm:
3288         (WebKit::gestureEventTypeForEvent):
3289         (WebKit::WebEventFactory::createWebGestureEvent):
3290         * UIProcess/API/mac/WKView.mm:
3291         (-[WKView shortCircuitedEndGestureWithEvent:]):
3292         (-[WKView beginGestureWithEvent:]):
3293         (-[WKView viewDidMoveToWindow]):
3294         * UIProcess/WebPageProxy.cpp:
3295         (WebKit::WebPageProxy::handleGestureEvent):
3296         (WebKit::WebPageProxy::didReceiveEvent):
3297         * UIProcess/WebPageProxy.h:
3298         * WebKit2.xcodeproj/project.pbxproj:
3299         * WebProcess/WebPage/WebPage.cpp:
3300         (WebKit::handleGestureEvent):
3301         (WebKit::WebPage::gestureEvent):
3302         * WebProcess/WebPage/WebPage.h:
3303         * WebProcess/WebPage/WebPage.messages.in:
3304         Pipe gesture events down to WebCore.
3305
3306 2011-01-26  Dan Bernstein  <mitz@apple.com>
3307
3308         Reviewed by Dave Hyatt.
3309
3310         <rdar://problem/8446709> Allow inter-ideograph justification for CJK
3311         https://bugs.webkit.org/show_bug.cgi?id=53184
3312
3313         * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
3314         (WebKit::WebPopupMenu::setUpPlatformData): Added a TrailingExpansionBehavior parameter to the
3315         RenderText constructor.
3316
3317 2011-01-26  Jing Jin  <jjin@apple.com>
3318
3319         Reviewed by Darin Adler.
3320
3321         Methods to temporarily disable size updates to the page drawing area in WKView.
3322         https://bugs.webkit.org/show_bug.cgi?id=53206
3323         Part of <rdar://problem/8818585>
3324
3325         * UIProcess/API/mac/WKView.h: Added _frameSizeUpdateDisabledCount.
3326         * UIProcess/API/mac/WKView.mm:
3327         (-[WKView setFrameSize:]): Only update page size if frame size updates are enabled.
3328         (-[WKView _setDrawingAreaSize:]): Helper method to set the page's drawing area's size.
3329         (-[WKView disableFrameSizeUpdates]): Increment _frameSizeUpdateDisabledCount
3330         (-[WKView enableFrameSizeUpdates]): Decrement _frameSizeUpdateDisabledCount, and if the count is 0, meaning
3331         that no one is disabling frame size updates anymore, update the drawing area's size to match the current frame.
3332         (-[WKView frameSizeUpdatesDisabled]): Returns YES if at least one caller is disabling frame size updates.
3333         * UIProcess/API/mac/WKViewInternal.h: Declared -disableFrameSizeUpdates, -enableFrameSizeUpdates, and -frameSizeUpdatesDisabled.
3334         * UIProcess/API/mac/WKViewPrivate.h: Added.
3335         * WebKit2.xcodeproj/project.pbxproj: Added WKViewPrivate.h
3336
3337 2011-01-26  Jing Jin  <jjin@apple.com>
3338
3339         Rubber-stamped by Dan Bernstein.
3340         
3341         Several WKView Internal category methods are implemented in the main category.
3342         https://bugs.webkit.org/show_bug.cgi?id=53195
3343
3344         * UIProcess/API/mac/WKView.mm:
3345         (-[WKView _setEventBeingResent:]): Moved into implementation of WKView (Internal).
3346         (-[WKView _interceptKeyEvent:]): Moved into implementation of WKView (Internal).
3347         (-[WKView _getTextInputState:selectionEnd:underlines:WebCore::]): Moved into implementation of WKView (Internal).
3348         (-[WKView _setAccessibilityChildToken:]): Moved into implementation of WKView (Internal).
3349
3350 2011-01-26  Brian Weinstein  <bweinstein@apple.com>
3351
3352         Reviewed by John Sullivan.
3353
3354         WebKit2: Need API to get the frame load state of a BundleFrame
3355         https://bugs.webkit.org/show_bug.cgi?id=53193
3356
3357         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
3358         (WKBundleFrameGetFrameLoadState): Call through to the FrameLoader to get the frame load state.
3359         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
3360
3361 2011-01-25  Brian Weinstein  <bweinstein@apple.com>
3362
3363         Reviewed by Antti Koivisto.
3364
3365         Crashes loading pages when cancelling subresource loads through WebKit
3366         https://bugs.webkit.org/show_bug.cgi?id=53123
3367         <rdar://problem/8914361>
3368
3369         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3370         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): If our URL is null, return early instead of dispatching
3371             a message.
3372
3373 2011-01-25  Chris Fleizach  <cfleizach@apple.com>
3374
3375         Reviewed by Darin Adler.
3376
3377         WK2 leaks when a page is closed
3378         https://bugs.webkit.org/show_bug.cgi?id=53100
3379
3380         Allow the WKView a chance to clean up on a page close. In this case,
3381         cleaning up means removing the references the accessibility token has
3382         to the window.
3383
3384         * UIProcess/API/mac/PageClientImpl.h:
3385         * UIProcess/API/mac/PageClientImpl.mm:
3386         (WebKit::PageClientImpl::pageClosed):
3387         * UIProcess/API/mac/WKView.mm:
3388         (-[WKView _setRemoteAccessibilityWindow:]):
3389         (-[WKView _setAccessibilityChildToken:]):
3390         (-[WKView _processDidCrash]):
3391         (-[WKView _pageClosed]):
3392         * UIProcess/API/mac/WKViewInternal.h:
3393         * UIProcess/API/qt/qwkpage_p.h:
3394         (QWKPagePrivate::pageClosed):
3395         * UIProcess/PageClient.h:
3396         * UIProcess/WebPageProxy.cpp:
3397         (WebKit::WebPageProxy::close):
3398         * UIProcess/win/WebView.cpp:
3399         (WebKit::WebView::pageClosed):
3400         * UIProcess/win/WebView.h:
3401
3402 2011-01-25  Chris Marrin  <cmarrin@apple.com>
3403
3404         Reviewed by Adam Roben.
3405
3406         Expose WebGL flag set/get in WK2
3407         https://bugs.webkit.org/show_bug.cgi?id=53096
3408
3409         * Shared/WebPreferencesStore.h:
3410         * UIProcess/API/C/WKPreferences.cpp:
3411         (WKPreferencesSetWebGLEnabled):
3412         (WKPreferencesGetWebGLEnabled):
3413         * UIProcess/API/C/WKPreferencesPrivate.h:
3414         * WebProcess/WebPage/WebPage.cpp:
3415         (WebKit::WebPage::updatePreferences):
3416
3417 2011-01-25  Anders Carlsson  <andersca@apple.com>
3418
3419         Reviewed by Adam Roben.
3420
3421         Add and implement LayerTreeHost::scheduleLayerFlush
3422         https://bugs.webkit.org/show_bug.cgi?id=53135
3423
3424         * WebKit2.xcodeproj/project.pbxproj:
3425         Add LayerTreeHostMac.mm.
3426
3427         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3428         (WebKit::DrawingAreaImpl::scheduleCompositingLayerSync):
3429         Call LayerTreeHost::scheduleLayerFlush.
3430
3431         * WebProcess/WebPage/LayerTreeHost.cpp:
3432         (WebKit::LayerTreeHost::~LayerTreeHost):
3433         Call platformInvalidate().
3434
3435         (WebKit::LayerTreeHost::flushPendingLayerChanges):
3436         Rename from syncCompositingLayers.
3437
3438         * WebProcess/WebPage/mac/LayerTreeHostMac.mm: Added.
3439         (WebKit::LayerTreeHost::scheduleLayerFlush):
3440         Create a run loop observer if needed. This code is copied from LayerBackedDrawingAreaMac.mm
3441
3442         (WebKit::LayerTreeHost::platformInvalidate):
3443         Invalidate the run loop observer.
3444
3445         (WebKit::LayerTreeHost::flushPendingLayerChangesRunLoopObserverCallback):
3446         Call flushPendingChanges() and remove the run loop observer if it succeeded.
3447
3448 2011-01-25  Anders Carlsson  <andersca@apple.com>
3449
3450         Reviewed by Simon Fraser.
3451
3452         Add LayerTreeHost class
3453         https://bugs.webkit.org/show_bug.cgi?id=53132
3454
3455         * WebKit2.xcodeproj/project.pbxproj:
3456         Add LayerTreeHost files.
3457
3458         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3459         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
3460         Initialize m_layerTreeHost.
3461
3462         (WebKit::DrawingAreaImpl::setRootCompositingLayer):
3463         Call the m_layerTreeHost.
3464
3465         * WebProcess/WebPage/LayerTreeHost.cpp: Added.
3466         (WebKit::LayerTreeHost::attachRootCompositingLayer):
3467         (WebKit::LayerTreeHost::detachRootCompositingLayer):
3468         Add stubbed out functions.
3469
3470         (WebKit::LayerTreeHost::syncCompositingLayers):
3471         Sync the compositing layers in the main frame.
3472
3473         * WebProcess/WebPage/LayerTreeHost.h: Added.
3474
3475 2011-01-25  Steve Falkenburg  <sfalken@apple.com>
3476
3477         Rubber-stamped by Adam Roben.
3478
3479         Windows production build fix.
3480         Use correct environment variable escaping
3481
3482         * win/WebKit2.make:
3483         * win/WebKit2Generated.make:
3484
3485 2011-01-25  Anders Carlsson  <andersca@apple.com>
3486
3487         Reviewed by Sam Weinig.
3488
3489         Don't inform the UI process about compositing changes when using the new drawing area
3490         https://bugs.webkit.org/show_bug.cgi?id=53120
3491
3492         * WebProcess/WebPage/WebPage.cpp:
3493         (WebKit::WebPage::changeAcceleratedCompositingMode):
3494         Return early if we're using the new drawing area.
3495
3496         (WebKit::WebPage::exitAcceleratedCompositingMode):
3497         Call setRootCompositingLayer(0) so the drawing area knows when we leave accelerated compositing.
3498
3499 2011-01-25  Sam Weinig  <sam@webkit.org>
3500
3501         Reviewed by Anders Carlsson.
3502
3503         Pipe a timestamp down into the PlatformWheelEvent for the Mac.
3504         https://bugs.webkit.org/show_bug.cgi?id=53111
3505
3506         * Shared/WebEventConversion.cpp:
3507         (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
3508         Assign the timestamp.
3509
3510 2011-01-25  Sam Weinig  <sam@webkit.org>
3511
3512         Reviewed by Anders Carlsson.
3513
3514         Add hasPreciseScrollingDeltas bit to PlatformWheelEvent on the Mac.
3515         https://bugs.webkit.org/show_bug.cgi?id=53107
3516
3517         * Shared/WebEvent.h:
3518         (WebKit::WebWheelEvent::hasPreciseScrollingDeltas):
3519         * Shared/WebEventConversion.cpp:
3520         (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
3521         * Shared/WebWheelEvent.cpp:
3522         (WebKit::WebWheelEvent::WebWheelEvent):
3523         * Shared/mac/WebEventFactory.mm:
3524         (WebKit::WebEventFactory::createWebWheelEvent):
3525
3526 2011-01-25  Anders Carlsson  <andersca@apple.com>
3527
3528         Reviewed by Sam Weinig.