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