f0034a53db70de82d450efa84f149b626fb4e4df
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2011-02-28  Benjamin Poulain  <benjamin.poulain@nokia.com>
2
3         Reviewed by Kenneth Rohde Christiansen.
4
5         [Qt][WK2] Add a way to test the WebKit 2 APIs
6         https://bugs.webkit.org/show_bug.cgi?id=55408
7
8         Add an initial test for the WebKit 2 APIs of Qt.
9
10         * UIProcess/API/qt/tests/html/basic_page.html: Added.
11         * UIProcess/API/qt/tests/qgraphicswkview/qgraphicswkview.pro: Added.
12         * UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp: Added.
13         (View::View):
14         (View::resizeEvent):
15         (tst_QGraphicsWKView::init):
16         (tst_QGraphicsWKView::cleanup):
17         (tst_QGraphicsWKView::loadEmptyPage):
18         * UIProcess/API/qt/tests/tests.pri: Added.
19         * UIProcess/API/qt/tests/tests.pro: Added.
20         * UIProcess/API/qt/tests/util.h: Added.
21         (waitForSignal):
22
23 2011-02-28  Anders Carlsson  <andersca@apple.com>
24
25         Fix clang build.
26
27         * UIProcess/API/mac/FindIndicatorWindow.mm:
28         * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
29         (WebKit::ChunkedUpdateDrawingAreaProxy::deprecatedUpdate):
30         (WebKit::ChunkedUpdateDrawingAreaProxy::didReceiveMessage):
31         * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
32         * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
33         (WebKit::ChunkedUpdateDrawingArea::deprecatedResumePainting):
34         (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
35         * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
36
37 2011-02-28  Dan Bernstein  <mitz@apple.com>
38
39         Rubber-stamped by Anders Carlsson.
40
41         Do not copy config.h into WebKit2.
42
43         * WebKit2.xcodeproj/project.pbxproj:
44
45 2011-02-28  Dan Bernstein  <mitz@apple.com>
46
47         LLVM Compiler build fix.
48
49         * Scripts/webkit2/messages.py:
50         * UIProcess/WebPageProxy.h:
51
52 2011-02-28  Anders Carlsson  <andersca@apple.com>
53
54         Reviewed by Dan Bernstein, Sam Weinig, Alexey Proskuryakov and Darin Adler.
55
56         Open PDF in Preview doesn't work
57         https://bugs.webkit.org/show_bug.cgi?id=55400
58         <rdar://problem/8750353>
59
60         * UIProcess/API/mac/PDFViewController.mm:
61         (-[WKPDFView initWithFrame:PDFViewController:]):
62         Set the WKPDFView as the delegate of itself.
63
64         (-[WKPDFView PDFViewOpenPDFInNativeApplication:]):
65         Call PDFViewController::openPDFInFinder.
66
67         (WebKit::PDFViewController::PDFViewController):
68         Initialize m_hasWrittenPDFToDisk to false.
69
70         (WebKit::PDFViewController::openPDFInFinder):
71         Write the PDF to disk if needed and then open it using -[NSWorkspace openFile:].
72         
73         (WebKit::temporaryPDFDirectoryPath):
74         Create a directory to put PDFs in.
75
76         (WebKit::PDFViewController::pathToPDFOnDisk):
77         Return a path to a (non-existent) file in the temporary PDF directory.
78
79 2011-02-28  Alexey Proskuryakov  <ap@apple.com>
80
81         Reviewed by Dan Bernstein.
82
83         Frequent crashes in CFURLCache code on Snow Leopard
84         https://bugs.webkit.org/show_bug.cgi?id=55412
85         <rdar://problem/9063922>
86
87         CString is evil, it has two lengths which can be different - specifically, fileSystemRepresentation()
88         creates a string with maximum possible buffer size. A path with garbage at the end confused
89         CFURLCache into corrupting its data structures.
90
91         * Shared/WebProcessCreationParameters.h: Added a FIXME about merging Mac and Windows code.
92         This problem wouldn't have occured if we didn't use CString in the first place.
93
94         * UIProcess/mac/WebContextMac.mm: (WebKit::WebContext::platformInitializeWebProcess):
95         Added an assertion matching Windows behavior (seems likely that NSURLCache also wouldn't
96         have liked trailing slash).
97
98         * UIProcess/win/WebContextWin.cpp: (WebKit::WebContext::platformInitializeWebProcess):
99         Made slash removal conditional for robustness.
100
101         * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::platformInitializeWebProcess):
102         Use actual string length, not CString::length().
103
104 2011-02-28  Balazs Kelemen  <kbalazs@webkit.org>
105
106         Reviewed by Anders Carlsson.
107
108         [Qt][WK2] Plugin initialization
109         https://bugs.webkit.org/show_bug.cgi?id=48127
110
111         Specialize the way of initializing the plugin for X11.
112         Introduce PLUGIN_ARCHITECTURE macros to allow code sharing
113         across platforms.
114
115         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
116         (WebKit::NetscapePluginModule::tryLoad):
117         * config.h:
118
119 2011-02-28  Sam Weinig  <sam@webkit.org>
120
121         Reviewed by Brady Eidson.
122
123         WK2 Context Menus - Implement LookUpInDictionary
124         https://bugs.webkit.org/show_bug.cgi?id=55405
125
126         * Shared/DictionaryPopupInfo.cpp:
127         (WebKit::DictionaryPopupInfo::encode):
128         (WebKit::DictionaryPopupInfo::decode):
129         * Shared/DictionaryPopupInfo.h:
130         Add type to differentiate between HotKey and ContextMenu triggered
131         dictionary popups. This is necessary since HotKey triggered ones want
132         to override the style to always be overlay.
133
134         * UIProcess/API/mac/PageClientImpl.mm:
135         (WebKit::PageClientImpl::didPerformDictionaryLookup):
136         Only force the overlay style for HotKey triggered dictionary lookups.
137
138         * WebProcess/WebPage/WebPage.h:
139         * WebProcess/WebPage/mac/WebPageMac.mm:
140         (WebKit::WebPage::performDictionaryLookupAtLocation):
141         (WebKit::WebPage::performDictionaryLookupForRange):
142         Factor out shared functionality into performDictionaryLookupForRange.
143
144         * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
145         (WebKit::WebContextMenuClient::lookUpInDictionary):
146         Get selected range and call newly factored out performDictionaryLookupForRange.
147
148 2011-02-28  Anders Carlsson  <andersca@apple.com>
149
150         Reviewed by Dan Bernstein.
151
152         PDFViewController should hold a reference to the PDF data
153         https://bugs.webkit.org/show_bug.cgi?id=55394
154
155         * UIProcess/API/mac/PDFViewController.h:
156         * UIProcess/API/mac/PDFViewController.mm:
157         (WebKit::PDFViewController::setPDFDocumentData):
158
159 2011-02-28  Sam Weinig  <sam@webkit.org>
160
161         Reviewed by Darin Adler.
162
163         Size of text in popup menu doesn't match size of text in <select> itself in WebKit2
164         https://bugs.webkit.org/show_bug.cgi?id=48234
165
166         * Shared/TextInfo.cpp: Removed.
167         * Shared/TextInfo.h: Removed.
168         Replace this with the more appropriately DictionaryPopupInfo.
169
170         * Shared/DictionaryPopupInfo.cpp: Copied from Source/WebKit2/Shared/TextInfo.cpp.
171         (WebKit::DictionaryPopupInfo::encode):
172         (WebKit::DictionaryPopupInfo::decode):
173         * Shared/DictionaryPopupInfo.h: Copied from Source/WebKit2/Shared/TextInfo.h.
174         (WebKit::DictionaryPopupInfo::DictionaryPopupInfo):
175         Replace individual font related fields with FontInfo.
176
177         * Shared/FontInfo.cpp: Added.
178         (WebKit::FontInfo::FontInfo):
179         (WebKit::FontInfo::encode):
180         (WebKit::FontInfo::decode):
181         * Shared/FontInfo.h: Added.
182         Add class to encapsulate passing a font description over the wire.
183
184         * Shared/PlatformPopupMenuData.cpp:
185         (WebKit::PlatformPopupMenuData::encode):
186         (WebKit::PlatformPopupMenuData::decode):
187         * Shared/PlatformPopupMenuData.h:
188         Add FontInfo as extra data for the Mac.
189
190         * UIProcess/API/mac/PageClientImpl.h:
191         * UIProcess/API/mac/PageClientImpl.mm:
192         (WebKit::PageClientImpl::didPerformDictionaryLookup):
193         * UIProcess/PageClient.h:
194         Add scaleFactor and use it to construct a font at the right size.
195
196         * UIProcess/WebPageProxy.cpp:
197         (WebKit::WebPageProxy::showPopupMenu):
198         (WebKit::WebPageProxy::didPerformDictionaryLookup):
199         * UIProcess/WebPageProxy.h:
200         * UIProcess/WebPageProxy.messages.in:
201         * UIProcess/WebPopupMenuProxy.h:
202         * UIProcess/mac/WebPopupMenuProxyMac.h:
203         (WebKit::WebPopupMenuProxyMac::create):
204         * UIProcess/mac/WebPopupMenuProxyMac.mm:
205         (WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac):
206         (WebKit::WebPopupMenuProxyMac::populate):
207         (WebKit::WebPopupMenuProxyMac::showPopupMenu):
208         * UIProcess/qt/WebPopupMenuProxyQt.cpp:
209         (WebKit::WebPopupMenuProxyQt::showPopupMenu):
210         * UIProcess/qt/WebPopupMenuProxyQt.h:
211         * UIProcess/win/WebPopupMenuProxyWin.cpp:
212         (WebKit::WebPopupMenuProxyWin::showPopupMenu):
213         * UIProcess/win/WebPopupMenuProxyWin.h:
214         * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
215         (WebKit::WebPopupMenu::setUpPlatformData):
216         * WebProcess/WebPage/mac/WebPageMac.mm:
217         (WebKit::WebPage::performDictionaryLookupAtLocation):
218         Pass scale factor through and rename TextInfo -> DictionaryPopupInfo.
219
220         * WebKit2.pro:
221         * WebKit2.xcodeproj/project.pbxproj:
222         * win/WebKit2.vcproj:
223         Add new files.
224
225 2011-02-28  Adam Roben  <aroben@apple.com>
226
227         One more rename as a followup to r79868
228
229         Rubber-stamped by Anders Carlsson.
230
231         * UIProcess/DrawingAreaProxyImpl.cpp:
232         * UIProcess/DrawingAreaProxyImpl.h:
233         Rename stateDidChange to backingStoreStateDidChange.
234
235 2011-02-28  Adam Roben  <aroben@apple.com>
236
237         Rename DrawingArea[Proxy]Impl's "state ID" concept to "backing store state ID"
238
239         Rubber-stamped (and suggested) by Anders Carlsson.
240
241         * UIProcess/DrawingAreaProxy.h:
242         * UIProcess/DrawingAreaProxy.messages.in:
243         * UIProcess/DrawingAreaProxyImpl.cpp:
244         * UIProcess/DrawingAreaProxyImpl.h:
245         * WebProcess/WebPage/DrawingArea.h:
246         * WebProcess/WebPage/DrawingArea.messages.in:
247         * WebProcess/WebPage/DrawingAreaImpl.cpp:
248         * WebProcess/WebPage/DrawingAreaImpl.h:
249         Perform the rename.
250
251 2011-02-28  Adam Roben  <aroben@apple.com>
252
253         Decouple state changes from sending of UpdateState messages in DrawingAreaProxyImpl
254
255         The new DrawingAreaProxyImpl::stateDidChange function should be called whenever
256         DrawingAreaProxyImpl's state changes in a way that will require allocating a new backing
257         store. (Currently, this is just when the size changes.) This function will sometimes (but
258         not always, as when we're waiting for a DidUpdateState message) send an UpdateState message
259         to the web process. This means it's now possible for the state IDs sent in consecutive
260         UpdateState messages to increase by more than one, but that's OK.
261
262         This should cause no change in behavior.
263
264         Fixes <http://webkit.org/b/55382> DrawingAreaProxyImpl's state ID should be updated whenever
265         its state changes, not just when we send an UpdateState message
266
267         Reviewed by Anders Carlsson.
268
269         * UIProcess/DrawingAreaProxyImpl.cpp:
270         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): Updated for rename.
271         (WebKit::DrawingAreaProxyImpl::sizeDidChange): Changed to call stateDidChange.
272         (WebKit::DrawingAreaProxyImpl::didUpdateState): Updated for rename, and changed to call
273         sendUpdateState whenever our state has changed for any reason since the last UpdateState
274         message was sent.
275         (WebKit::DrawingAreaProxyImpl::stateDidChange): Added. Increments m_nextStateID and calls
276         through to sendUpdateState.
277         (WebKit::DrawingAreaProxyImpl::sendUpdateState): Updated for rename, moved incrementing of
278         the state ID we send to the web process from here to stateDidChange, and added an assertion.
279
280         * UIProcess/DrawingAreaProxyImpl.h: Renamed m_requestedStateID to m_nextStateID, and updated
281         the comment explaining its meaning.
282
283 2011-02-28  Adam Roben  <aroben@apple.com>
284
285         Pass the right dirty rect to Plugin::paint
286
287         A typo in r79040 broke this. Much of this patch is just support for testing the fix.
288
289         Fixes <http://webkit.org/b/55365> <rdar://problem/9031089> REGRESSION (r79040): WebKit2:
290         Large portions of pages with plugins paint black
291
292         Reviewed by Anders Carlsson.
293
294         * WebProcess/Plugins/PluginView.cpp:
295         (WebKit::PluginView::paint): Pass the dirty rect we calculated earlier to Plugin::paint,
296         rather than just passing along the dirty rect that was passed into this function. This is
297         the bug fix.
298
299         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
300         (WKBundlePageForceRepaint):
301         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
302         Added new SPI. Just calls through to WebPage::forceRepaintWithoutCallback.
303
304         * WebProcess/WebPage/WebPage.cpp:
305         (WebKit::WebPage::forceRepaintWithoutCallback): Moved code to force a repaint here...
306         (WebKit::WebPage::forceRepaint): ...from here.
307
308         * WebProcess/WebPage/WebPage.h: Added forceRepaintWithoutCallback.
309
310 2011-02-27  Sam Weinig  <sam@webkit.org>
311
312         Reviewed by Dan Bernstein.
313
314         Force dictionary popup to use overlay type
315         <rdar://problem/9052483>
316         https://bugs.webkit.org/show_bug.cgi?id=55337
317
318         * UIProcess/API/mac/PageClientImpl.mm:
319         (WebKit::PageClientImpl::didPerformDictionaryLookup): As this is only
320         used for the hot key version of the dictionary popup, force the overlay
321         style.
322
323 2011-02-27  Benjamin Poulain  <benjamin.poulain@nokia.com>
324
325         Reviewed by Kenneth Rohde Christiansen.
326
327         [Qt] [WK2] QGraphicsWKView::showContextMenu() should be public
328         https://bugs.webkit.org/show_bug.cgi?id=55330
329
330         Move QGraphicsWKView::showContextMenu() to the public API. Add documentation
331         on its use.
332
333         * UIProcess/API/qt/qgraphicswkview.cpp:
334         * UIProcess/API/qt/qgraphicswkview.h:
335
336 2011-02-27  Alejandro G. Castro  <alex@igalia.com>
337
338         Unreviewed, fixed GTK compilation after r79806.
339
340         * UIProcess/gtk/WebView.cpp:
341         (WebKit::WebView::didFinishLoadingDataForCustomRepresentation):
342         * UIProcess/gtk/WebView.h:
343
344 2011-02-26  Anders Carlsson  <andersca@apple.com>
345
346         Reviewed by Dan Bernstein.
347
348         Asynchronous response to FramePolicyListener is not finishing the load
349         https://bugs.webkit.org/show_bug.cgi?id=55305
350         <rdar://problem/9044356>
351
352         Always initialize the receivedPolicyAction reply parameter.
353
354         * UIProcess/WebPageProxy.cpp:
355         (WebKit::WebPageProxy::decidePolicyForNavigationAction):
356         (WebKit::WebPageProxy::decidePolicyForMIMEType):
357
358 2011-02-26  Anders Carlsson  <andersca@apple.com>
359
360         Reviewed by Sam Weinig.
361
362         DidFinishLoadingDataForCustomRepresentation should pass along the suggested filename
363         https://bugs.webkit.org/show_bug.cgi?id=55304
364
365         * UIProcess/API/mac/PDFViewController.h:
366         * UIProcess/API/mac/PDFViewController.mm:
367         (WebKit::PDFViewController::setPDFDocumentData):
368         * UIProcess/API/mac/PageClientImpl.h:
369         * UIProcess/API/mac/PageClientImpl.mm:
370         (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
371         * UIProcess/API/mac/WKView.mm:
372         (-[WKView _didFinishLoadingDataForCustomRepresentationWithSuggestedFilename:dataReference:CoreIPC::]):
373         * UIProcess/API/mac/WKViewInternal.h:
374         * UIProcess/API/qt/qwkpage.cpp:
375         (QWKPagePrivate::didFinishLoadingDataForCustomRepresentation):
376         * UIProcess/API/qt/qwkpage_p.h:
377         * UIProcess/PageClient.h:
378         * UIProcess/WebPageProxy.cpp:
379         (WebKit::WebPageProxy::didFinishLoadingDataForCustomRepresentation):
380         * UIProcess/WebPageProxy.h:
381         * UIProcess/WebPageProxy.messages.in:
382         * UIProcess/win/WebView.cpp:
383         (WebKit::WebView::didFinishLoadingDataForCustomRepresentation):
384         * UIProcess/win/WebView.h:
385         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
386         (WebKit::WebFrameLoaderClient::finishedLoading):
387
388 2011-02-26  Anders Carlsson  <andersca@apple.com>
389
390         Reviewed by Oliver Hunt.
391
392         DrawingArea should not be reference counted
393         https://bugs.webkit.org/show_bug.cgi?id=55284
394
395         * Shared/DrawingAreaInfo.h:
396         * Shared/WebPageCreationParameters.cpp:
397         (WebKit::WebPageCreationParameters::encode):
398         (WebKit::WebPageCreationParameters::decode):
399         * Shared/WebPageCreationParameters.h:
400         * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
401         (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
402         (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
403         (WebKit::ChunkedUpdateDrawingAreaProxy::update):
404         (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize):
405         * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
406         * UIProcess/DrawingAreaProxy.cpp:
407         (WebKit::DrawingAreaProxy::DrawingAreaProxy):
408         * UIProcess/DrawingAreaProxy.h:
409         (WebKit::DrawingAreaProxy::type):
410         * UIProcess/DrawingAreaProxyImpl.cpp:
411         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
412         * UIProcess/DrawingAreaProxyImpl.h:
413         * UIProcess/TiledDrawingAreaProxy.cpp:
414         (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
415         * UIProcess/TiledDrawingAreaProxy.h:
416         * UIProcess/WebPageProxy.cpp:
417         (WebKit::WebPageProxy::didReceiveSyncMessage):
418         (WebKit::WebPageProxy::creationParameters):
419         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
420         * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
421         (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
422         (WebKit::ChunkedUpdateDrawingArea::display):
423         (WebKit::ChunkedUpdateDrawingArea::setSize):
424         (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
425         * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
426         * WebProcess/WebPage/DrawingArea.cpp:
427         (WebKit::DrawingArea::create):
428         (WebKit::DrawingArea::DrawingArea):
429         * WebProcess/WebPage/DrawingArea.h:
430         * WebProcess/WebPage/DrawingAreaImpl.cpp:
431         (WebKit::DrawingAreaImpl::create):
432         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
433         * WebProcess/WebPage/DrawingAreaImpl.h:
434         * WebProcess/WebPage/TiledDrawingArea.cpp:
435         (WebKit::TiledDrawingArea::TiledDrawingArea):
436         * WebProcess/WebPage/TiledDrawingArea.h:
437         * WebProcess/WebPage/WebPage.cpp:
438         (WebKit::WebPage::drawRect):
439         * WebProcess/WebPage/WebPage.h:
440
441 2011-02-26  Vsevolod Vlasov  <vsevik@chromium.org>
442
443         Reviewed by Pavel Feldman.
444
445         DumpRenderTree should reset frame opener between tests.
446         https://bugs.webkit.org/show_bug.cgi?id=54874
447
448         Added clearOpener method to WKBundleWebFramePrivate.
449
450         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
451         (WKBundleFrameClearOpener):
452         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
453
454 2011-02-26  Yael Aharon  <yael.aharon@nokia.com>
455
456         Reviewed by Andreas Kling.
457
458         [Qt] Fix the focus in MiniBrowser.
459         https://bugs.webkit.org/show_bug.cgi?id=55288
460
461         Implement basic functionality for focus in QWKPagePrivate.
462
463         * UIProcess/API/qt/qwkpage.cpp:
464         (QWKPagePrivate::isViewWindowActive):
465         (QWKPagePrivate::isViewFocused):
466         (QWKPagePrivate::isViewVisible):
467
468 2011-02-26  Sheriff Bot  <webkit.review.bot@gmail.com>
469
470         Unreviewed, rolling out r79764.
471         http://trac.webkit.org/changeset/79764
472         https://bugs.webkit.org/show_bug.cgi?id=55295
473
474         "broke Chromium builds" (Requested by rniwa on #webkit).
475
476         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
477         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
478
479 2011-02-26  Vsevolod Vlasov  <vsevik@chromium.org>
480
481         Reviewed by Pavel Feldman.
482
483         DumpRenderTree should reset frame opener between tests.
484         https://bugs.webkit.org/show_bug.cgi?id=54874
485
486         Added clearOpener method to WKBundleWebFramePrivate.
487
488         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
489         (WKBundleFrameClearOpener):
490         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
491
492 2011-02-25  Anders Carlsson  <andersca@apple.com>
493
494         Reviewed by Darin Adler.
495
496         Plug-in process crashes when using GuardMalloc
497         https://bugs.webkit.org/show_bug.cgi?id=55279
498         <rdar://problem/9044618>
499
500         Update m_environmentPointer after copying the environment variables.
501         
502         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
503         (WebKit::EnvironmentVariables::copyEnvironmentVariables):
504
505 2011-02-25  Darin Adler  <darin@apple.com>
506
507         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
508         (WebKit::ProcessLauncher::launchProcess): Fixed backwards logic from last change.
509
510 2011-02-25  Darin Adler  <darin@apple.com>
511
512         Reviewed by Mark Rowe.
513
514         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
515         (WebKit::ProcessLauncher::launchProcess): Fixed performance problem in production
516         builds by only setting DYLD_FRAMEWORK_PATH in engineering configurations.
517
518 2011-02-25  Darin Adler  <darin@apple.com>
519
520         Reviewed by Anders Carlsson.
521
522         <rdar://problem/8036034> WebKit2 should work even if DYLD_FRAMEWORK_PATH is not set
523
524         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
525         (WebKit::EnvironmentVariables::~EnvironmentVariables): Use fastFree, not delete, on
526         the strings here because they are allocated with fastMalloc, not new.
527         (WebKit::EnvironmentVariables::set): Use const more.
528         (WebKit::EnvironmentVariables::get): Ditto.
529         (WebKit::EnvironmentVariables::appendValue): Ditto.
530         (WebKit::EnvironmentVariables::valueIfVariableHasName): Ditto. Also fix mistake
531         where this would match if the name matched only a prefix of the environment variable's
532         name. We want to match the whole name, so we need to use memcmp, not strncmp.
533         (WebKit::EnvironmentVariables::createStringForVariable): Use const more.
534         (WebKit::ProcessLauncher::launchProcess): Use clearer name, frameworkExecutablePath,
535         for what was called bundlePath before. Append the frameworks path to DYLD_FRAMEWORK_PATH,
536         ensuring we can pick up other frameworks from the same directory in the web process.
537         Use a const_cast instead of a C-style cast.
538
539 2011-02-25  Chris Fleizach  <cfleizach@apple.com>
540
541         Reviewed by Anders Carlsson.
542
543         AX: WK2: AXApplication not returning the AXFocusedUIElement within the web area
544         https://bugs.webkit.org/show_bug.cgi?id=55277
545
546         * UIProcess/API/mac/WKView.mm:
547         (-[WKView accessibilityFocusedUIElement]):
548
549 2011-02-25  Alexey Proskuryakov  <ap@apple.com>
550
551         Reviewed by Anders Carlsson.
552
553         https://bugs.webkit.org/show_bug.cgi?id=55276
554         WebPage::close() accesses "this" after it is destroyed.
555
556         This was making many tests crash with GuardMalloc.
557
558         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::close): Access "this" before it can be
559         destroyed, not after.
560
561 2011-02-25  Balazs Kelemen  <kbalazs@webkit.org>
562
563         Unreviewed.
564         Add missing sources to WebKit2API.pri.
565
566         * WebKit2API.pri:
567
568 2011-02-25  Anders Carlsson  <andersca@apple.com>
569
570         Reviewed by Darin Adler.
571
572         A WKView without a window will cause CG errors in the console
573         https://bugs.webkit.org/show_bug.cgi?id=55264
574         <rdar://problem/9044281>
575
576         Check that the window has a valid window number before trying to get its graphics context.
577
578         * UIProcess/API/mac/PageClientImpl.mm:
579         (WebKit::PageClientImpl::containingWindowGraphicsContext):
580
581 2011-02-25  Brian Weinstein  <bweinstein@apple.com>
582
583         Reviewed by Brady Eidson and looked over by Jessie Berlin.
584
585         WebKit2: Need a way to manage cookies from the web process
586         https://bugs.webkit.org/show_bug.cgi?id=55086
587         
588         Call through to WebCore::CookieJar in our WebCookieManager functions.
589
590         * WebProcess/Cookies/WebCookieManager.cpp:
591         (WebKit::WebCookieManager::getHostnamesWithCookies):
592         (WebKit::WebCookieManager::deleteCookiesForHostname):
593         (WebKit::WebCookieManager::deleteAllCookies):
594
595 2011-02-25  Anders Carlsson  <andersca@apple.com>
596
597         Reviewed by Sam Weinig.
598
599         Option-clicking on links doesn't download them due to sandbox violation
600         https://bugs.webkit.org/show_bug.cgi?id=55250
601         <rdar://problem/9018359>
602
603         The change to make DecidePolicyForNavigationAction sync didn't handle the case when the
604         decided policy was "Download". Fix this by passing along the download ID back to the web process.
605
606         * Platform/CoreIPC/HandleMessage.h:
607         (CoreIPC::callMemberFunction):
608         Add new overload.
609
610         * UIProcess/WebPageProxy.cpp:
611         (WebKit::WebPageProxy::WebPageProxy):
612         Initialize m_syncNavigationActionPolicyDownloadID.
613
614         (WebKit::WebPageProxy::receivedPolicyDecision):
615         Set m_syncNavigationActionPolicyDownloadID to the download ID.
616
617         (WebKit::WebPageProxy::decidePolicyForNavigationAction):
618         Return the m_syncNavigationActionPolicyDownloadID.
619
620         * UIProcess/WebPageProxy.h:
621         * UIProcess/WebPageProxy.messages.in:
622         Add a DownloadID reply parameter.
623
624         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
625         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
626         Don't pass a zero download ID to didReceivePolicyDecision.
627
628 2011-02-25  Amruth Raj  <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com> and Alejandro G. Castro  <alex@igalia.com>
629
630         Reviewed by Martin Robinson.
631
632         [GTK] Implement WebContext and NativeKeyboardEvent classes for WebKit2
633         https://bugs.webkit.org/show_bug.cgi?id=48510
634
635         * GNUmakefile.am:
636         * Shared/NativeWebKeyboardEvent.h: Added the GTK event attribute
637         and constructors, in our case we need it because we use a pointer
638         and copy the event.
639         (WebKit::NativeWebKeyboardEvent::nativeEvent):
640         * Shared/gtk/NativeWebKeyboardEventGtk.cpp: Added.
641         (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent): We need
642         to copy the event in the constructor to avoid two references to
643         the same event.
644         * Shared/gtk/WebEventFactory.cpp: Changed the prototype of the
645         functions to add const, we need it for the NativeWebKeyboardEvent
646         constructor.
647         (WebKit::modifiersForEvent):
648         (WebKit::WebEventFactory::createWebKeyboardEvent):
649         * UIProcess/gtk/WebContextGtk.cpp: Added. Stubbed implementation
650         for GTK port. Yet to implement.
651         (WebKit::WebContext::applicationCacheDirectory):
652         (WebKit::WebContext::platformInitializeWebProcess):
653         (WebKit::WebContext::platformDefaultDatabaseDirectory):
654         * UIProcess/gtk/WebView.cpp:
655         (WebKit::WebView::handleKeyboardEvent):
656
657 2011-02-25  Anders Carlsson  <andersca@apple.com>
658
659         Reviewed by Sam Weinig.
660
661         Get rid of more old accelerated compositing code
662         https://bugs.webkit.org/show_bug.cgi?id=55235
663
664         * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
665         * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
666         * UIProcess/DrawingAreaProxy.h:
667         * UIProcess/DrawingAreaProxyImpl.cpp:
668         * UIProcess/DrawingAreaProxyImpl.h:
669         * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
670         * WebProcess/WebPage/DrawingArea.h:
671         * WebProcess/WebPage/DrawingAreaImpl.cpp:
672         * WebProcess/WebPage/DrawingAreaImpl.h:
673
674 2011-02-25  Andras Becsi  <abecsi@webkit.org>
675
676         Reviewed by Csaba Osztrogonác.
677
678         [Qt] Make the WebKit2 build system less confusing for non-Qt developers
679         https://bugs.webkit.org/show_bug.cgi?id=55213
680
681         * WebKit2API.pri: Added.
682
683 2011-02-25  Amruth Raj  <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com> and Alejandro G. Castro  <alex@igalia.com>
684
685         Reviewed by Martin Robinson.
686
687         [GTK] Implement WebView and WebKitWebView classes for WebKit2
688         https://bugs.webkit.org/show_bug.cgi?id=48509
689
690         * GNUmakefile.am:
691         * UIProcess/API/C/gtk/WKView.cpp:
692         * UIProcess/API/C/gtk/WKView.h: Removed gdkrectangle from
693         constructor.
694         * UIProcess/gtk/WebViewWidget.cpp: Added. The GObject interface
695         for WebView. The GObject is the GtkWidget handle which is used by
696         WebView class for GTK port.
697         * UIProcess/gtk/WebViewWidget.h: Added. The GObject interface
698         declarations for GtkWidget handle for GTK port.
699         * UIProcess/gtk/WebView.cpp: Added. The native GtkWidget handle
700         for GTK port which is associated with each WKViewRef.
701         * UIProcess/gtk/WebView.h: Added. Class which implements the
702         PageClient interface. It is a wrapper over the native GtkWidget
703         handle associated with each WKViewRef for GTK port.
704
705 2011-02-25  Alejandro G. Castro  <alex@igalia.com>
706
707         Fix GTK compilation after r79654.
708
709         * GNUmakefile.am:
710
711 2011-02-24  Brian Weinstein  <bweinstein@apple.com>
712
713         Qt build fix.
714
715         * WebKit2.pri:
716
717 2011-02-24  Brady Eidson  <beidson@apple.com>
718
719         Reviewed by Sam Weinig and looked over by Brian Weinstein.
720
721         Part of <rdar://problem/8762095> and https://bugs.webkit.org/show_bug.cgi?id=55172
722         Need WebKit2 API to view/manage origins with LocalStorage.
723
724         Project file stuff:
725         * GNUmakefile.am:
726         * WebKit2.pri:
727         * WebKit2.pro:
728         * WebKit2.xcodeproj/project.pbxproj:
729         * win/WebKit2.vcproj:
730         * win/WebKit2Common.vsprops:
731         * win/WebKit2Generated.make:
732
733         WK2 derived sources and API stuff:
734         * DerivedSources.make:
735         * DerivedSources.pro:
736         * Platform/CoreIPC/MessageID.h:
737         * Shared/API/c/WKBase.h:
738         * Shared/APIObject.h:
739         * UIProcess/API/C/WKAPICast.h:
740
741         Add an KeyValueStorageManager to the context and invalidate it at the appropriate times:
742         * UIProcess/WebContext.cpp:
743         (WebKit::WebContext::WebContext):
744         (WebKit::WebContext::~WebContext):
745         (WebKit::WebContext::disconnectProcess):
746         (WebKit::WebContext::didReceiveMessage):
747         * UIProcess/WebContext.h:
748         (WebKit::WebContext::keyValueStorageManagerProxy):
749
750         Add API to get the KeyValueStorageManager for a context:
751         * UIProcess/API/C/WKContext.cpp:
752         (WKContextGetKeyValueStorageManager):
753         * UIProcess/API/C/WKContext.h:
754
755         Route messages to the right place:
756         * UIProcess/WebProcessProxy.cpp:
757         (WebKit::WebProcessProxy::didReceiveMessage):
758         * WebProcess/WebProcess.cpp:
759         (WebKit::WebProcess::didReceiveMessage):
760
761         Add the API object, which wraps to WebKeyValueStorageManagerProxy:
762         * UIProcess/API/C/WKKeyValueStorageManager.cpp: Added.
763         (WKKeyValueStorageManagerGetTypeID):
764         (WKKeyValueStorageManagerGetKeyValueStorageOrigins):
765         (WKKeyValueStorageManagerDeleteEntriesForOrigin):
766         (WKKeyValueStorageManagerDeleteAllEntries):
767         * UIProcess/API/C/WKKeyValueStorageManager.h: Added.
768
769         The UIProcess implementation of the manager to send messages to the WebProcess and pipe a callback back up to the client:
770         * UIProcess/WebKeyValueStorageManagerProxy.cpp: Added.
771         (WebKit::WebKeyValueStorageManagerProxy::create):
772         (WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
773         (WebKit::WebKeyValueStorageManagerProxy::~WebKeyValueStorageManagerProxy):
774         (WebKit::WebKeyValueStorageManagerProxy::invalidate):
775         (WebKit::WebKeyValueStorageManagerProxy::didReceiveMessage):
776         (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
777         (WebKit::WebKeyValueStorageManagerProxy::didGetKeyValueStorageOrigins):
778         (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
779         (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):
780         * UIProcess/WebKeyValueStorageManagerProxy.h: Added.
781         (WebKit::WebKeyValueStorageManagerProxy::clearContext):
782         (WebKit::WebKeyValueStorageManagerProxy::type):
783         * UIProcess/WebKeyValueStorageManagerProxy.messages.in: Added.
784
785         The WebProcess implementation to response to UIProcess messages and actually do the dirty-work in WebCore:
786         * WebProcess/KeyValueStorage: Added.
787         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp: Added.
788         (WebKit::WebKeyValueStorageManager::shared):
789         (WebKit::WebKeyValueStorageManager::WebKeyValueStorageManager):
790         (WebKit::WebKeyValueStorageManager::didReceiveMessage):
791         (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
792         (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
793         (WebKit::WebKeyValueStorageManager::deleteAllEntries):
794         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h: Added.
795         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in: Added.
796
797 2011-02-24  Darin Adler  <darin@apple.com>
798
799         Reviewed by Anders Carlsson.
800
801         WebKit2: Image-based cursors do not work
802         https://bugs.webkit.org/show_bug.cgi?id=55184
803
804         * Shared/ShareableBitmap.h: Added releaseData function
805         declaration. This is only defined for CG, but we can declare
806         it without defining it on non-CG platforms without causing problems.
807
808         * Shared/WebCoreArgumentCoders.cpp: Added.
809         (CoreIPC::encodeImage): Added. For use in the Cursor argument coder.
810         (CoreIPC::decodeImage): Ditto.
811
812         * Shared/WebCoreArgumentCoders.h: Added code to the Cursor encoder
813         and decoder to handle image-based cursors, using the new encodeImage
814         and decodeImage functions.
815
816         * Shared/cg/ShareableBitmapCG.cpp:
817         (WebKit::ShareableBitmap::releaseData): Added.
818         (WebKit::ShareableBitmap::createGraphicsContext): Use
819         CGBitmapContextCreateWithData instead of CGBitmapContextCreate,
820         to guarantee we outlast the CGBitmapContext we create.
821         (WebKit::ShareableBitmap::paint): Got rid of unnneeded local variable.
822
823         * Shared/cg/WebCoreArgumentCodersCG.cpp: Added.
824         (CoreIPC::createImage): Added. For use by CoreIPC::decodeImage.
825
826         * WebKit2.xcodeproj/project.pbxproj: Added WebCoreArgumentCoders.cpp
827         and WebCoreArgumentCodersCG.cpp.
828         * win/WebKit2.vcproj: Ditto.
829
830 2011-02-24  Anders Carlsson  <andersca@apple.com>
831
832         Reviewed by Dan Bernstein.
833
834         Crash when trying to send a sync message on an invalid connection
835         https://bugs.webkit.org/show_bug.cgi?id=55190
836         <rdar://problem/9035806>
837
838         * Platform/CoreIPC/Connection.cpp:
839         (CoreIPC::Connection::sendSyncMessage):
840         Don't try to call a client function if isValid() returns false since the client
841         will be null in that case.
842
843 2011-02-24  Anders Carlsson  <andersca@apple.com>
844
845         Reviewed by Dan Bernstein.
846
847         Remove the layer backed drawing area
848         https://bugs.webkit.org/show_bug.cgi?id=55174
849
850         * GNUmakefile.am:
851         * Shared/DrawingAreaInfo.h:
852         * UIProcess/API/mac/WKView.mm:
853         * UIProcess/LayerBackedDrawingAreaProxy.cpp: Removed.
854         * UIProcess/LayerBackedDrawingAreaProxy.h: Removed.
855         * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm: Removed.
856         * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp: Removed.
857         * UIProcess/win/WebView.cpp:
858         * WebKit2.xcodeproj/project.pbxproj:
859         * WebProcess/WebPage/DrawingArea.cpp:
860         (WebKit::DrawingArea::create):
861         * WebProcess/WebPage/LayerBackedDrawingArea.cpp: Removed.
862         * WebProcess/WebPage/LayerBackedDrawingArea.h: Removed.
863         * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: Removed.
864         * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp: Removed.
865         * win/WebKit2.vcproj:
866
867 2011-02-24  Mike Thole  <mthole@apple.com>
868
869         Reviewed by Sam Weinig.
870
871         WK2: Add ability to get document node for a WKBundleNodeHandle
872         https://bugs.webkit.org/post_bug.cgi
873
874         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
875         (WKBundleNodeHandleCopyDocument):
876         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
877         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
878         (WebKit::InjectedBundleNodeHandle::document):
879         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
880
881 2011-02-24  Brady Eidson  <beidson@apple.com>
882
883         Reviewed by Adam Roben and looked at by Brian Weinstein.
884
885         https://bugs.webkit.org/show_bug.cgi?id=55165
886         Can call CF API with a null CFArray in WebResourceCacheManager
887
888         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
889         (WebKit::WebResourceCacheManager::getCacheOrigins): cfURLCacheHostNames() can return a null CFArrayRef, 
890           so the call to CFArrayGetCount must be null checked.
891
892 2011-02-24  Anders Carlsson  <andersca@apple.com>
893
894         Reviewed by Simon Fraser.
895
896         ASSERTION FAILED: !isInAcceleratedCompositingMode() when entering accelerated compositing early
897         https://bugs.webkit.org/show_bug.cgi?id=55162
898         <rdar://problem/9048523>
899
900         * WebProcess/WebPage/DrawingAreaImpl.cpp:
901         (WebKit::DrawingAreaImpl::updateState):
902         Call setShouldNotifyAfterNextScheduledLayerFlush(false) so the web process process won't send an
903         EnterAcceleratedCompositingMode message.
904
905         (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
906         setShouldNotifyAfterNextScheduledLayerFlush now takes a boolean.
907
908         * WebProcess/WebPage/LayerTreeHost.h:
909         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
910         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
911         (WebKit::LayerTreeHostMac::setShouldNotifyAfterNextScheduledLayerFlush):
912         Make this take a boolean.
913
914 2011-02-24  Peter Kasting  <pkasting@google.com>
915
916         Reviewed by Eric Seidel.
917
918         Drop the "U; " encryption level from the User Agent string.
919         https://bugs.webkit.org/show_bug.cgi?id=54566
920
921         * UIProcess/gtk/WebPageProxyGtk.cpp:
922         (WebKit::WebPageProxy::standardUserAgent):
923         * UIProcess/mac/WebPageProxyMac.mm:
924         (WebKit::WebPageProxy::standardUserAgent):
925         * UIProcess/qt/WebPageProxyQt.cpp:
926         (WebKit::WebPageProxy::standardUserAgent):
927         * UIProcess/win/WebPageProxyWin.cpp:
928         (WebKit::WebPageProxy::standardUserAgent):
929
930 2011-02-24  Andrew Wilson  <atwilson@chromium.org>
931
932         Unreviewed, rolling out r79570.
933         http://trac.webkit.org/changeset/79570
934         https://bugs.webkit.org/show_bug.cgi?id=54874
935
936         Breaks chromium build because glue/mocks/mock_web_frame.h/cc
937         was not updated
938
939         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
940         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
941
942 2011-02-23  Brian Weinstein  <bweinstein@apple.com>
943
944         Reviewed by Adam Roben and looked over by Jessie Berlin.
945
946         Part of WebKit2: Need a way to manage cookies from the web process
947         https://bugs.webkit.org/show_bug.cgi?id=55086
948         
949         This patch adds the plumbing and classes that are needed to manage cookies from the web process.
950         The functions that the API calls are currently stubs, but will be implemented in a follow-up patch.
951
952         Project file changes.
953         * DerivedSources.make:
954         * DerivedSources.pro:
955         * GNUmakefile.am:
956         * WebKit2.pri:
957         * WebKit2.pro:
958         * WebKit2.xcodeproj/project.pbxproj:
959         * win/WebKit2.vcproj:
960         * win/WebKit2Common.vsprops:
961         * win/WebKit2Generated.make:
962
963         Add some needed plumbing for WebCookieManager{Proxy}.
964         * Platform/CoreIPC/MessageID.h:
965         * Shared/API/c/WKBase.h:
966         * Shared/APIObject.h:
967         * UIProcess/API/C/WKAPICast.h:
968
969         * UIProcess/API/C/WKContext.cpp:
970         (WKContextGetCookieManager): Gets the cookie manager proxy.
971         * UIProcess/API/C/WKContext.h:
972         * UIProcess/API/C/WKCookieManager.cpp: Added.
973         (WKCookieManagerGetTypeID):
974         (WKCookieManagerGetHostnamesWithCookies): Calls through to WebCookieManagerProxy.
975         (WKCookieManagerDeleteCookiesForHostname): Ditto.
976         (WKCookieManagerDeleteAllCookies): Ditto.
977         * UIProcess/API/C/WKCookieManager.h: Added.
978
979         * UIProcess/WebProcessProxy.cpp:
980         (WebKit::WebProcessProxy::didReceiveMessage): Add a case for the cookie manager.
981         * UIProcess/WebContext.cpp:
982         (WebKit::WebContext::WebContext): Initialize the cookie manager.
983         (WebKit::WebContext::~WebContext): Invalidate the cookie manager.
984         (WebKit::WebContext::disconnectProcess): Ditto.
985         (WebKit::WebContext::didReceiveMessage): Add a case for the cookie manager.
986         * UIProcess/WebContext.h:
987         (WebKit::WebContext::cookieManagerProxy): Returns the cookie manager.
988         * WebProcess/WebProcess.cpp:
989         (WebKit::WebProcess::didReceiveMessage): Add a case for the cookie manager.
990
991         * UIProcess/WebCookieManagerProxy.cpp: Added.
992         (WebKit::WebCookieManagerProxy::create):
993         (WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
994         (WebKit::WebCookieManagerProxy::~WebCookieManagerProxy):
995         (WebKit::WebCookieManagerProxy::invalidate):
996         (WebKit::WebCookieManagerProxy::didReceiveMessage): 
997         (WebKit::WebCookieManagerProxy::getHostnamesWithCookies): Call through to the web process to get hostnames with cookies.
998         (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies): Call the callback we were passed in getHostnamesWithCookies.
999         (WebKit::WebCookieManagerProxy::deleteCookiesForHostname): Call through to the web process to delete cookies
1000             for the origin.
1001         (WebKit::WebCookieManagerProxy::deleteAllCookies): Call through to the web process to delete all cookies.
1002         * UIProcess/WebCookieManagerProxy.h: Added.
1003         (WebKit::WebCookieManagerProxy::clearContext):
1004         (WebKit::WebCookieManagerProxy::type):
1005         * UIProcess/WebCookieManagerProxy.messages.in: Added.
1006
1007         * WebProcess/Cookies: Added.
1008         * WebProcess/Cookies/WebCookieManager.cpp: Added.
1009         (WebKit::WebCookieManager::shared):
1010         (WebKit::WebCookieManager::WebCookieManager):
1011         (WebKit::WebCookieManager::didReceiveMessage): Call through to didReceiveWebCookieManagerMessage.
1012         (WebKit::WebCookieManager::getHostnamesWithCookies): Build an array from a HashSet (that isn't filled yet), and 
1013             convert that HashSet to a Vector to send to the UI process.
1014         (WebKit::WebCookieManager::deleteCookiesForHostname): Added a stub.
1015         (WebKit::WebCookieManager::deleteAllCookies): Ditto.
1016         * WebProcess/Cookies/WebCookieManager.h: Added.
1017         * WebProcess/Cookies/WebCookieManager.messages.in: Added.
1018
1019 2011-02-24   Amruth Raj  <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com> and Alejandro G. Castro  <alex@igalia.com>
1020
1021         Reviewed by Martin Robinson.
1022
1023         [GTK] Implement WebEventFactory, WebErrors classes for WebKit2
1024         https://bugs.webkit.org/show_bug.cgi?id=48510
1025
1026         * GNUmakefile.am:
1027         * Shared/gtk/WebEventFactory.cpp: Added. implementation for
1028         WebMouseEvent, WebWheelEvent, WebKeyboardEvent.
1029         * Shared/gtk/WebEventFactory.h: Added.
1030         * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp: Added. Stubbed
1031         implementation for GTK port.
1032
1033 2011-02-24  Vsevolod Vlasov  <vsevik@chromium.org>
1034
1035         Reviewed by Alexey Proskuryakov.
1036
1037         DumpRenderTree should reset frame opener between tests.
1038         https://bugs.webkit.org/show_bug.cgi?id=54874
1039
1040         Added clearOpener method to WKBundleWebFramePrivate.
1041
1042         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1043         (WKBundleFrameClearOpener):
1044         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
1045
1046 2011-02-24  Benjamin Poulain  <benjamin.poulain@nokia.com>
1047
1048         Reviewed by Eric Seidel.
1049
1050         Support building WebKit with Python 3
1051         https://bugs.webkit.org/show_bug.cgi?id=55038
1052
1053         Update the generator scripts to support Python 3.
1054
1055         * Scripts/generate-message-receiver.py: print is a function in Python 3, write the output to
1056         sys.stdout to be compatible with Python 2 and 3.
1057         * Scripts/generate-messages-header.py:
1058         * Scripts/webkit2/messages.py: dist.iteritems does not exist in Python 3, fallback
1059           to dict.items which is common to Python 2 and 3.
1060
1061 2011-02-24  Andras Becsi  <abecsi@webkit.org>
1062
1063         Reviewed by Laszlo Gombos.
1064
1065         [Qt] MinGW build fails to link
1066         https://bugs.webkit.org/show_bug.cgi?id=55050
1067
1068         Prepend the libraries of subcomponents instead of appending them
1069         to fix the library order according to the dependency of the libraries
1070
1071         * WebKit2.pri:
1072
1073 2011-02-24  Andras Becsi  <abecsi@webkit.org>
1074
1075         Reviewed by Csaba Osztrogonác.
1076
1077         [Qt] REGRESSION(69304): WKNativeEvent.h forwarding header is always regenerated
1078         https://bugs.webkit.org/show_bug.cgi?id=47589
1079
1080         In case of file name clashes only generate forwarding header for the current platform.
1081
1082         * Scripts/generate-forwarding-headers.pl:
1083
1084 2011-02-23  Anders Carlsson  <andersca@apple.com>
1085
1086         Reviewed by Sam Weinig.
1087
1088         Remove some of the old accelerated compositing code
1089         https://bugs.webkit.org/show_bug.cgi?id=55084
1090
1091         * UIProcess/API/mac/PageClientImpl.h:
1092         * UIProcess/API/mac/PageClientImpl.mm:
1093         (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
1094         * UIProcess/API/mac/WKView.mm:
1095         * UIProcess/API/mac/WKViewInternal.h:
1096         * UIProcess/API/qt/qwkpage_p.h:
1097         * UIProcess/PageClient.h:
1098         * UIProcess/WebPageProxy.cpp:
1099         (WebKit::WebPageProxy::exitAcceleratedCompositingMode):
1100         * UIProcess/WebPageProxy.h:
1101         * UIProcess/WebPageProxy.messages.in:
1102         * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
1103         (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext):
1104         (WebKit::LayerBackedDrawingAreaProxy::detachCompositingContext):
1105         * UIProcess/win/WebView.cpp:
1106         * UIProcess/win/WebView.h:
1107         * WebProcess/WebPage/WebPage.cpp:
1108         (WebKit::WebPage::enterAcceleratedCompositingMode):
1109         (WebKit::WebPage::exitAcceleratedCompositingMode):
1110         * WebProcess/WebPage/WebPage.h:
1111
1112 2011-02-23  Enrica Casucci  <enrica@apple.com>
1113
1114         Reverting an unintentional change that was part of http://trac.webkit.org/changeset/79494.
1115         Unreviewed.
1116
1117         * WebProcess/WebPage/mac/WebPageMac.mm:
1118         (WebKit::WebPage::interceptEditingKeyboardEvent):
1119
1120 2011-02-18  Enrica Casucci  <enrica@apple.com>
1121
1122         Reviewed by Adam Roben.
1123
1124         Mac OS X Services are not available for selected text in WebKit2 windows.
1125         https://bugs.webkit.org/show_bug.cgi?id=54777
1126         <rdar://problem/8666428>
1127         
1128         This patch adds support for Mac OS X Services in WebKit2 windows.
1129         In WKView we now call registerServicesMenuSendTypes providing the
1130         pasteboard types supported by WebKit and we also implement the two
1131         protocol methods required to validate the send type and write the
1132         content to the pasteboard. Unfortunately, AppKit expects the content
1133         to be available in the pasteboard upon return from writeSelectionToPasteboard and
1134         this is the reason why the call to the WebProcess is synchronous.
1135
1136         * Shared/SelectionState.h:
1137         (WebKit::SelectionState::SelectionState): Extended to include
1138         isContentRichlyEditable
1139         * Shared/mac/PasteboardTypes.h:
1140         * Shared/mac/PasteboardTypes.mm:
1141         (WebKit::PasteboardTypes::forSelection): Added.
1142         * UIProcess/API/mac/WKView.mm:
1143         (-[WKView initWithFrame:contextRef:pageGroupRef:]): Added call
1144         to registerServicesMenuSendTypes.
1145         (-[WKView writeSelectionToPasteboard:types:]): Added.
1146         (-[WKView validRequestorForSendType:returnType:]): Added.
1147         * UIProcess/WebPageProxy.cpp:
1148         (WebKit::WebPageProxy::writeSelectionToPasteboard):
1149         * UIProcess/WebPageProxy.h:
1150         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1151         (WebKit::WebEditorClient::respondToChangedSelection): Modified to
1152         support the new SelectionState value.
1153         * WebProcess/WebPage/WebPage.h:
1154         * WebProcess/WebPage/WebPage.messages.in:
1155         * WebProcess/WebPage/mac/WebPageMac.mm:
1156         (WebKit::WebPage::writeSelectionToPasteboard): Added synchronous
1157         message to write the selected content to the pasteboard.
1158
1159 2011-02-23  Anders Carlsson  <andersca@apple.com>
1160
1161         Reviewed by Sam Weinig.
1162
1163         Add a ShareableBitmap::create overload that takes an existing SharedMemory object
1164         https://bugs.webkit.org/show_bug.cgi?id=55081
1165
1166         * Shared/ShareableBitmap.cpp:
1167         (WebKit::ShareableBitmap::createShareable):
1168         (WebKit::ShareableBitmap::create):
1169         * Shared/ShareableBitmap.h:
1170
1171 2011-02-23  Anders Carlsson  <andersca@apple.com>
1172
1173         Reviewed by Dan Bernstein.
1174
1175         Web Inspector toolbar looks bad in WebKit2
1176         https://bugs.webkit.org/show_bug.cgi?id=55076
1177         <rdar://problem/8866258>
1178
1179         * UIProcess/API/mac/WKView.mm:
1180         (-[WKView mouseDownCanMoveWindow]):
1181         Return NO from mouseDownCanMoveWindow to prevent drags in the (now transparent) inspector WKView
1182         from dragging the window around.
1183
1184         * UIProcess/mac/WebInspectorProxyMac.mm:
1185         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
1186         Call [WKView setDrawsBackground:NO].
1187
1188 2011-02-23  Sam Weinig  <sam@webkit.org>
1189
1190         Reviewed by Anders Carlsson.
1191
1192         Remove WKPageForceRepaintWithInvalidation and instead make WKPageForceRepaint
1193         always dirty the entire page.
1194
1195         * Shared/ForceRepaintFlags.h: Removed.
1196         * UIProcess/API/C/WKPage.cpp:
1197         (WKPageForceRepaint):
1198         * UIProcess/API/C/WKPage.h:
1199         * UIProcess/WebPageProxy.cpp:
1200         (WebKit::WebPageProxy::forceRepaint):
1201         * UIProcess/WebPageProxy.h:
1202         * WebKit2.pro:
1203         * WebKit2.xcodeproj/project.pbxproj:
1204         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1205         (WebKit::DrawingAreaImpl::forceRepaint):
1206         * WebProcess/WebPage/WebPage.cpp:
1207         (WebKit::WebPage::forceRepaint):
1208         * WebProcess/WebPage/WebPage.h:
1209         * WebProcess/WebPage/WebPage.messages.in:
1210         * win/WebKit2.vcproj:
1211
1212 2011-02-23  Anders Carlsson  <andersca@apple.com>
1213
1214         Reviewed by Sam Weinig.
1215
1216         Race condition when creating and destroying pages quickly
1217         https://bugs.webkit.org/show_bug.cgi?id=55061
1218         <rdar://problem/8708435>
1219
1220         When the last page in a web process is closed, the web process would
1221         previously terminate, even if the UI process had created a new page
1222         (the CreateNewPage message just wouldn't have reached the web process yet).
1223
1224         Fix this by adding a ShouldTerminate message that the web process sends when it's
1225         about to terminate. If the UI process has any pending pages, downloads etc. it will
1226         prevent the web process from terminating. Otherwise, it will immmediately disconnect
1227         the WebPageProxy so that creating a page after that will launch a new web process.
1228
1229         * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
1230         (WebKit::WebPluginSiteDataManager::shouldTerminate):
1231         * UIProcess/Plugins/WebPluginSiteDataManager.h:
1232         * UIProcess/WebContext.cpp:
1233         (WebKit::WebContext::shouldTerminate):
1234         (WebKit::WebContext::disconnectProcess):
1235         * UIProcess/WebContext.h:
1236         * UIProcess/WebProcessProxy.cpp:
1237         (WebKit::WebProcessProxy::disconnect):
1238         (WebKit::WebProcessProxy::didReceiveSyncMessage):
1239         (WebKit::WebProcessProxy::didClose):
1240         (WebKit::WebProcessProxy::shouldTerminate):
1241         * UIProcess/WebProcessProxy.h:
1242         * UIProcess/WebProcessProxy.messages.in:
1243         * WebProcess/WebProcess.cpp:
1244         (WebKit::WebProcess::terminateIfPossible):
1245
1246 2011-02-23  Mike Thole  <mthole@apple.com>
1247
1248         Reviewed by Darin Adler.
1249
1250         WKBundleNavigationAction.h should be exposed as a public header
1251         https://bugs.webkit.org/show_bug.cgi?id=55059
1252
1253         * WebKit2.xcodeproj/project.pbxproj:
1254         Changed WKBundleNavigationAction.h from 'project' to 'public'.
1255
1256 2011-02-23  Siddharth Mathur  <siddharth.mathur@nokia.com>
1257
1258         Reviewed by Laszlo Gombos.
1259
1260         [Qt] Make sure Symbian binary UIDs are unique
1261
1262         * WebProcess.pro: Resolve the UID collision with QtTestBrowser.pro
1263         by changing the UID.
1264
1265 2011-02-23  Siddharth Mathur  <siddharth.mathur@nokia.com>
1266
1267         Reviewed by Laszlo Gombos.
1268
1269         [Qt] Fix the Symbian build after r79334
1270         https://bugs.webkit.org/show_bug.cgi?id=55044
1271
1272         * WebKit2.pri: Copy the rules from JavaScriptCore.pri for
1273         defineTest().
1274
1275         Remove addWebKit2LibWholeArchive as it is no longer needed.
1276
1277 2011-02-23  Alejandro G. Castro  <alex@igalia.com>
1278
1279         Unreviewed, fixed GTK WebKit2 compilation after r79366.
1280
1281         * GNUmakefile.am:
1282
1283 2011-02-23  Patrick Gansterer  <paroga@webkit.org>
1284
1285         Reviewed by Darin Adler.
1286
1287         Rename PLATFORM(CF) to USE(CF)
1288         https://bugs.webkit.org/show_bug.cgi?id=53540
1289
1290         * UIProcess/WebBackForwardList.h:
1291         * UIProcess/WebPageProxy.cpp:
1292         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1293         (WebKit::formatLocalizedString):
1294
1295 2011-02-23  Benjamin Poulain  <benjamin.poulain@nokia.com>
1296
1297         Reviewed by Andreas Kling.
1298
1299         [Qt] [WK2] When the context menu is empty, we should still send the signal QWKPage::showContextMenu()
1300         https://bugs.webkit.org/show_bug.cgi?id=54996
1301
1302         Send the signal QWKPage::showContextMenu() with an empty menu even if the content menu generated
1303         is empty/contain only disabled elements.
1304
1305         * UIProcess/API/qt/qgraphicswkview.cpp:
1306         (QGraphicsWKView::showContextMenu):
1307         * UIProcess/qt/WebContextMenuProxyQt.cpp:
1308         (WebKit::WebContextMenuProxyQt::showContextMenu):
1309
1310 2011-02-22  Dan Bernstein  <mitz@apple.com>
1311
1312         LLVM Compiler build fix.
1313
1314         * Scripts/webkit2/messages.py:
1315         * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
1316
1317 2011-02-22  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1318
1319         Reviewed by Alexey Proskuryakov.
1320
1321         Drop the language tag part from the User Agent string
1322         https://bugs.webkit.org/show_bug.cgi?id=54560
1323
1324         * UIProcess/gtk/WebPageProxyGtk.cpp:
1325         (WebKit::WebPageProxy::standardUserAgent):
1326
1327         * UIProcess/mac/WebPageProxyMac.mm:
1328         (WebKit::WebPageProxy::standardUserAgent):
1329
1330         * UIProcess/qt/WebPageProxyQt.cpp:
1331         (WebKit::WebPageProxy::standardUserAgent):
1332
1333         * UIProcess/win/WebPageProxyWin.cpp:
1334         (WebKit::WebPageProxy::standardUserAgent): Drop the language tag
1335         part and fix style.
1336
1337 2011-02-22  Sam Weinig  <sam@webkit.org>
1338
1339         Reviewed by Anders Carlsson.
1340
1341         Add WebKit2 API to force a repaint with an invalidation
1342         https://bugs.webkit.org/show_bug.cgi?id=55015
1343
1344         * Shared/ForceRepaintFlags.h: Added.
1345         * UIProcess/API/C/WKPage.cpp:
1346         (WKPageForceRepaint):
1347         (WKPageForceRepaintWithInvalidation):
1348         * UIProcess/API/C/WKPage.h:
1349         Add WKPageForceRepaintWithInvalidation which does the same thing WKPageForceRepaint
1350         but also calls setNeedsDisplay on the entire bounds of the page.
1351
1352         * UIProcess/WebPageProxy.cpp:
1353         (WebKit::WebPageProxy::forceRepaint):
1354         * UIProcess/WebPageProxy.h:
1355         * WebProcess/WebPage/WebPage.cpp:
1356         (WebKit::WebPage::forceRepaint):
1357         * WebProcess/WebPage/WebPage.h:
1358         * WebProcess/WebPage/WebPage.messages.in:
1359         Pipe the flag down to the WebProcess.
1360
1361         * WebKit2.pro:
1362         * WebKit2.xcodeproj/project.pbxproj:
1363         * win/WebKit2.vcproj:
1364         Add ForceRepaintFlags.h.
1365
1366 2011-02-22  Simon Fraser  <simon.fraser@apple.com>
1367
1368         Reviewed by Dan Bernstein.
1369
1370         <rdar://problem/9039670>
1371         
1372         Make sure that we set the accelerateDrawing property on the LayerTreeHosts's
1373         non-composited content layer if the preference is set.
1374
1375         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
1376         (WebKit::LayerTreeHostMac::LayerTreeHostMac):
1377
1378 2011-02-22  Brady Eidson  <beidson@apple.com>
1379
1380         Fix it Windows-style.
1381
1382         * WebProcess/WebProcess.cpp:
1383         (WebKit::WebProcess::getSitesWithPluginData):
1384         (WebKit::WebProcess::clearPluginSiteData):
1385
1386 2011-02-22  Anders Carlsson  <andersca@apple.com>
1387
1388         Reviewed by Dan Bernstein.
1389
1390         Rename WebProcess::shutdownIfPossible to WebProcess::terminateIfPossible
1391         https://bugs.webkit.org/show_bug.cgi?id=55008
1392
1393         * WebProcess/Downloads/DownloadManager.cpp:
1394         (WebKit::DownloadManager::downloadFinished):
1395         * WebProcess/WebProcess.cpp:
1396         (WebKit::WebProcess::removeWebPage):
1397         (WebKit::WebProcess::terminateIfPossible):
1398         (WebKit::WebProcess::getSitesWithPluginData):
1399         * WebProcess/WebProcess.h:
1400         * WebProcess/gtk/WebProcessGtk.cpp:
1401         (WebKit::WebProcess::platformTerminate):
1402         * WebProcess/mac/WebProcessMac.mm:
1403         (WebKit::WebProcess::platformTerminate):
1404         * WebProcess/qt/WebProcessQt.cpp:
1405         (WebKit::WebProcess::platformTerminate):
1406         * WebProcess/win/WebProcessWin.cpp:
1407         (WebKit::WebProcess::platformTerminate):
1408
1409 2011-02-22  Brady Eidson  <beidson@apple.com>
1410
1411         Windows build-fix attempt.
1412
1413         * win/WebKit2Generated.make:
1414
1415 2011-02-22  Csaba Osztrogonác  <ossy@webkit.org>
1416
1417         Unreviewed.
1418
1419         <rdar://problem/8762042> and  https://bugs.webkit.org/show_bug.cgi?id=54514
1420         API to view and delete Application Cache data by origin.
1421
1422         [Qt][WK2] Buildfix after r79364.
1423
1424         * DerivedSources.pro:
1425         * WebKit2.pri:
1426
1427 2011-02-22  Brady Eidson  <beidson@apple.com>
1428
1429         Reviewed by Anders Carlsson and looked over by Brian Weinstein.
1430
1431         <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
1432         API to view and delete Application Cache data by origin.
1433
1434         I couldn't help myself - I also re-alphabetized WebResourceCacheManager in many places where
1435         it's sorting was wrong due to a last minute name change.
1436
1437         Project file changes:
1438         * GNUmakefile.am:
1439         * win/WebKit2.vcproj:
1440         * win/WebKit2Common.vsprops:
1441         * win/WebKit2Generated.make:
1442         * WebKit2.pro:
1443         * WebKit2.xcodeproj/project.pbxproj:
1444
1445         WK2 build-system and API paperwork:
1446         * DerivedSources.make:
1447         * Platform/CoreIPC/MessageID.h:
1448         * Shared/API/c/WKBase.h:
1449         * Shared/APIObject.h:
1450         * UIProcess/API/C/WKAPICast.h:
1451
1452         Add a helper to perform an ArrayCallback with a Vector of SecurityOriginDatas:
1453         * Shared/SecurityOriginData.cpp:
1454         (WebKit::performAPICallbackWithSecurityOriginDataVector):
1455         * Shared/SecurityOriginData.h:
1456         * UIProcess/WebResourceCacheManagerProxy.cpp:
1457         (WebKit::WebResourceCacheManagerProxy::didGetCacheOrigins): Use performAPICallbackWithSecurityOriginDataVector here.
1458
1459         Add an ApplicationCacheManagerProxy to the context and invalidate it at the appropriate times:
1460         * UIProcess/WebContext.cpp:
1461         (WebKit::WebContext::WebContext):
1462         (WebKit::WebContext::~WebContext):
1463         (WebKit::WebContext::processDidClose):
1464         (WebKit::WebContext::didReceiveMessage): Route messages to the right proxy.
1465         * UIProcess/WebContext.h:
1466         (WebKit::WebContext::applicationCacheManagerProxy):
1467         (WebKit::WebContext::resourceCacheManagerProxy):
1468
1469         Add API to get the ApplicationCacheManager for a context:
1470         * UIProcess/API/C/WKContext.cpp:
1471         (WKContextGetApplicationCacheManager):
1472         (WKContextGetResourceCacheManager):
1473         * UIProcess/API/C/WKContext.h:
1474
1475         Route messages to the right place:
1476         * UIProcess/WebProcessProxy.cpp:
1477         (WebKit::WebProcessProxy::didReceiveMessage):
1478         * WebProcess/WebProcess.cpp:
1479         (WebKit::WebProcess::didReceiveMessage):
1480
1481         Add the API object, which wraps to WebApplicationCacheManagerProxy:
1482         * UIProcess/API/C/WKApplicationCacheManager.cpp: Added.
1483         (WKApplicationCacheManagerGetTypeID):
1484         (WKApplicationCacheManagerGetApplicationCacheOrigins):
1485         (WKApplicationCacheManagerDeleteEntriesForOrigin):
1486         (WKApplicationCacheManagerDeleteAllEntries):
1487         * UIProcess/API/C/WKApplicationCacheManager.h: Added.
1488
1489         The UIProcess implementation of the manager to send messages to the WebProcess and pipe a callback back up to the client:
1490         * UIProcess/WebApplicationCacheManagerProxy.cpp: Added.
1491         (WebKit::WebApplicationCacheManagerProxy::create):
1492         (WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
1493         (WebKit::WebApplicationCacheManagerProxy::~WebApplicationCacheManagerProxy):
1494         (WebKit::WebApplicationCacheManagerProxy::invalidate):
1495         (WebKit::WebApplicationCacheManagerProxy::didReceiveMessage):
1496         (WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins):
1497         (WebKit::WebApplicationCacheManagerProxy::didGetApplicationCacheOrigins): Use performAPICallbackWithSecurityOriginDataVector here.
1498         (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):
1499         (WebKit::WebApplicationCacheManagerProxy::deleteAllEntries):
1500         * UIProcess/WebApplicationCacheManagerProxy.h: Added.
1501         (WebKit::WebApplicationCacheManagerProxy::clearContext):
1502         (WebKit::WebApplicationCacheManagerProxy::type):
1503         * UIProcess/WebApplicationCacheManagerProxy.messages.in: Added.
1504
1505         The WebProcess implementation to response to UIProcess messages and actually do the dirty-work in WebCore:
1506         * WebProcess/ApplicationCache: Added.
1507         * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp: Added.
1508         (WebKit::WebApplicationCacheManager::shared):
1509         (WebKit::WebApplicationCacheManager::WebApplicationCacheManager):
1510         (WebKit::WebApplicationCacheManager::didReceiveMessage):
1511         (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
1512         (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
1513         (WebKit::WebApplicationCacheManager::deleteAllEntries):
1514         * WebProcess/ApplicationCache/WebApplicationCacheManager.h: Added.
1515         * WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in: Added.
1516
1517 2011-02-22  Anders Carlsson  <andersca@apple.com>
1518
1519         Reviewed by Sam Weinig.
1520
1521         Get rid of WebProcessManager
1522         https://bugs.webkit.org/show_bug.cgi?id=55001
1523
1524         WebProcessManager had become a stupid map of WebContext > WebProcess relations,
1525         which isn't really useful since the WebContext already knows about its process.
1526
1527         * Shared/WebURLRequest.cpp:
1528         * UIProcess/API/mac/WKView.mm:
1529         * UIProcess/WebContext.cpp:
1530         (WebKit::WebContext::~WebContext):
1531         (WebKit::WebContext::ensureWebProcess):
1532         (WebKit::WebContext::processDidFinishLaunching):
1533         * UIProcess/WebProcessManager.cpp: Removed.
1534         * UIProcess/WebProcessManager.h: Removed.
1535         * UIProcess/WebProcessProxy.cpp:
1536         (WebKit::WebProcessProxy::didClose):
1537         * WebKit2.pro:
1538         * WebKit2.xcodeproj/project.pbxproj:
1539         * win/WebKit2.vcproj:
1540
1541 2011-02-22  Anders Carlsson  <andersca@apple.com>
1542
1543         Reviewed by Darin Adler.
1544
1545         Get rid of WebProcessManager::getAllWebProcessContexts
1546         https://bugs.webkit.org/show_bug.cgi?id=55000
1547
1548         * Shared/WebURLRequest.cpp:
1549         (WebKit::WebURLRequest::setDefaultTimeoutInterval):
1550         Call WebContext::allContexts instead.
1551
1552         * UIProcess/WebContext.cpp:
1553         * UIProcess/WebContext.h:
1554         Add a vector of WebContext objects. Update it when creating and destroying contexts.
1555
1556         * UIProcess/WebProcessManager.cpp:
1557         * UIProcess/WebProcessManager.h:
1558         Remove WebProcessManager::getAllWebProcessContexts.
1559
1560 2011-02-22  Sam Weinig  <sam@webkit.org>
1561
1562         Reviewed by Anders Carlsson.
1563
1564         Re-add early bail out in dispatchDecidePolicyForNavigationAction with prevents
1565         a crash running fast/loader/empty-embed-src-attribute.html. This matches a 
1566         bail out in the default policy delegate in WebKit1.
1567
1568         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1569         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
1570
1571 2011-02-22  Anders Carlsson  <andersca@apple.com>
1572
1573         Reviewed by Dan Bernstein.
1574
1575         Grammar correction from Spelling & Grammar window doesn't work
1576         https://bugs.webkit.org/show_bug.cgi?id=54982
1577         <rdar://problem/8940918>
1578
1579         * UIProcess/API/mac/WKView.mm:
1580         (-[WKView isGrammarCheckingEnabled]):
1581         (-[WKView setGrammarCheckingEnabled:]):
1582         Call down to the text checker.
1583
1584         * UIProcess/TextChecker.h:
1585         Add updateSpellingUIWithGrammarString.
1586
1587         * UIProcess/WebPageProxy.cpp:
1588         (WebKit::WebPageProxy::updateSpellingUIWithGrammarString):
1589         Call TextChecker::updateSpellingUIWithGrammarString.
1590
1591         * UIProcess/WebPageProxy.messages.in:
1592         Add UpdateSpellingUIWithGrammarString message.
1593
1594         * UIProcess/gtk/TextCheckerGtk.cpp:
1595         (WebKit::TextChecker::updateSpellingUIWithGrammarString):
1596         * UIProcess/qt/TextCheckerQt.cpp:
1597         (WebKit::TextChecker::updateSpellingUIWithGrammarString):
1598         * UIProcess/win/TextCheckerWin.cpp:
1599         (WebKit::TextChecker::updateSpellingUIWithGrammarString):
1600         Add stubs.
1601
1602         * UIProcess/mac/TextCheckerMac.mm:
1603         (WebKit::TextChecker::updateSpellingUIWithGrammarString):
1604         Update the spelling panel.
1605
1606         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1607         (WebKit::WebEditorClient::updateSpellingUIWithGrammarString):
1608         Send an UpdateSpellingUIWithGrammarString message to the UI process.
1609
1610 2011-02-22  Balazs Kelemen  <kbalazs@webkit.org>
1611
1612         Reviewed by Anders Carlsson.
1613
1614         notImplemented() should behave identical in WebCore and WebKit2
1615         https://bugs.webkit.org/show_bug.cgi?id=54449
1616
1617         Use NotImplemented.h from WebCore. Initialize logging channels.
1618         Remove the WebKit2 concept of notImplemented().
1619
1620         * Platform/gtk/SharedMemoryGtk.cpp:
1621         * Platform/gtk/WorkQueueGtk.cpp:
1622         * Platform/qt/WorkQueueQt.cpp:
1623         * Platform/win/WorkQueueWin.cpp:
1624         * Shared/NotImplemented.h: Removed.
1625         * Shared/Plugins/NPIdentifierData.cpp:
1626         * Shared/Plugins/NPRemoteObjectMap.cpp:
1627         * Shared/Plugins/NPVariantData.cpp:
1628         * Shared/cairo/ShareableBitmapCairo.cpp:
1629         * Shared/gtk/ShareableBitmapGtk.cpp:
1630         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
1631         * Shared/qt/WebCoreArgumentCodersQt.cpp:
1632         * Shared/win/LayerTreeContextWin.cpp:
1633         * UIProcess/API/mac/PageClientImpl.mm:
1634         * UIProcess/API/qt/qwkpage.cpp:
1635         * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp:
1636         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
1637         * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:
1638         * UIProcess/WebContext.cpp:
1639         (WebKit::WebContext::WebContext):
1640         * UIProcess/WebInspectorProxy.cpp:
1641         * UIProcess/gtk/TextCheckerGtk.cpp:
1642         * UIProcess/gtk/WebInspectorGtk.cpp:
1643         * UIProcess/gtk/WebPreferencesGtk.cpp:
1644         * UIProcess/qt/TextCheckerQt.cpp:
1645         * UIProcess/qt/WebInspectorProxyQt.cpp:
1646         * UIProcess/win/TextCheckerWin.cpp:
1647         * UIProcess/win/WebContextMenuProxyWin.cpp:
1648         * WebKit2.pro:
1649         * WebKit2.xcodeproj/project.pbxproj:
1650         * WebProcess/Downloads/cf/DownloadCFNet.cpp:
1651         * WebProcess/Downloads/curl/DownloadCurl.cpp:
1652         * WebProcess/Downloads/mac/DownloadMac.mm:
1653         * WebProcess/Downloads/qt/DownloadQt.cpp:
1654         * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
1655         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1656         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
1657         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1658         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1659         * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
1660         * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
1661         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
1662         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1663         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1664         * WebProcess/WebCoreSupport/WebDragClient.cpp:
1665         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1666         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1667         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1668         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
1669         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1670         * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp:
1671         * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp:
1672         * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
1673         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
1674         * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp:
1675         * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
1676         * WebProcess/WebPage/qt/WebInspectorQt.cpp:
1677         * WebProcess/WebProcess.cpp:
1678         (WebKit::WebProcess::WebProcess):
1679         * WebProcess/gtk/WebProcessGtk.cpp:
1680         * config.h:
1681         * win/WebKit2.vcproj:
1682
1683 2011-02-22  Brian Weinstein  <bweinstein@apple.com>
1684
1685         Rubber-stamped by Brady Eidson.
1686
1687         Invalidate the WebResourceCacheManagerProxy in WebContext::processDidClose.
1688
1689         * UIProcess/WebContext.cpp:
1690         (WebKit::WebContext::processDidClose):
1691
1692 2011-02-21  Adam Roben  <aroben@apple.com>
1693
1694         Make DrawingAreaProxyImpl keep track of the most recent state ID it sent to the web process
1695
1696         This will be useful for sending repeated messages for the same state ID to the web process.
1697         We don't do this currently, but will need to if we're asked to paint after we've thrown away
1698         our backing store to save memory.
1699
1700         Fixes <http://webkit.org/b/54916> DrawingAreaProxyImpl should keep track of the state ID it
1701         last sent to the web process
1702
1703         Reviewed by Anders Carlsson.
1704
1705         * UIProcess/DrawingAreaProxyImpl.cpp:
1706         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): Initialize m_requestedStateID, and
1707         reordered member initialization to match the new declaration order.
1708         (WebKit::DrawingAreaProxyImpl::didUpdateState): Added an assertion that the stateID we got
1709         from the web process is no newer than the most recent one we requested.
1710         (WebKit::DrawingAreaProxyImpl::sendUpdateState): Changed to increment and send
1711         m_requestedStateID instead of a new global stateID.
1712
1713         * UIProcess/DrawingAreaProxyImpl.h: Added m_requestedStateID, and moved the state IDs before
1714         other data members. Also beefed the comment explaining m_currentStateID.
1715
1716 2011-02-22  Andras Becsi  <abecsi@webkit.org>
1717
1718         Reviewed by Laszlo Gombos.
1719
1720         [Qt] Redesign the build system
1721         https://bugs.webkit.org/show_bug.cgi?id=51339
1722
1723         Part 2.
1724
1725         Build WebCore as a static library, compile the WebKit API and WebKit2 API
1726         in a final step and link to WebKit2, WebCore and JSC libraries to fix
1727         linking issues resulting from stripped away symbols.
1728
1729         * WebKit2.pri: Add include paths.
1730         * WebKit2.pro: Move include paths to WebKit2.pri and move
1731         the API source to WebKit/qt/QtWebKit.pro
1732
1733 2011-02-22  Benjamin Poulain  <benjamin.poulain@nokia.com>
1734
1735         Reviewed by Kenneth Rohde Christiansen.
1736
1737         [Qt] [WK2] Improve the memory handling of the context menu for WebKit 2
1738         https://bugs.webkit.org/show_bug.cgi?id=54902
1739
1740         Refactor the context menu handling of Qt to make it simpler to manage memory.
1741
1742         WebContextMenuProxyQt uses smart pointer for all the references to menu so
1743         there is no need to delete it explicitely.
1744
1745         Passing the QMenu from QWKPage to the client of the signal now uses a QSharedPointer so
1746         the client can choose to handle the memory, but there is no leak if it does not.
1747
1748         * UIProcess/API/qt/qgraphicswkview.cpp:
1749         (QGraphicsWKView::QGraphicsWKView):
1750         (QGraphicsWKView::showContextMenu):
1751         * UIProcess/API/qt/qgraphicswkview.h:
1752         * UIProcess/API/qt/qwkpage.h:
1753         * UIProcess/qt/WebContextMenuProxyQt.cpp:
1754         (WebKit::WebContextMenuProxyQt::showContextMenu):
1755         (WebKit::WebContextMenuProxyQt::createContextMenu):
1756         * UIProcess/qt/WebContextMenuProxyQt.h:
1757
1758 2011-02-22  Philippe Normand  <pnormand@igalia.com>
1759
1760         Reviewed by Xan Lopez.
1761
1762         [GTK] make distcheck fails
1763         https://bugs.webkit.org/show_bug.cgi?id=54943
1764
1765         Removed reference to NotImplemented.h which was removed.
1766
1767         * GNUmakefile.am:
1768
1769 2011-02-22  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
1770
1771         Reviewed by Kenneth Rohde Christiansen.
1772
1773         [Qt] QtWebProcess should be installed with 'make install'
1774         https://bugs.webkit.org/show_bug.cgi?id=44100
1775
1776         Follow the standard in other project files and allow install
1777         location to be changed with INSTALL_BINS variable.
1778
1779         * WebProcess.pro: Install QtWebProcess.
1780
1781 2011-02-22  Sheriff Bot  <webkit.review.bot@gmail.com>
1782
1783         Unreviewed, rolling out r79296.
1784         http://trac.webkit.org/changeset/79296
1785         https://bugs.webkit.org/show_bug.cgi?id=54941
1786
1787         Breaks compilation on SnowLeapard Intel Release (Requested by
1788         kbalazs_ on #webkit).
1789
1790         * Platform/gtk/SharedMemoryGtk.cpp:
1791         * Platform/gtk/WorkQueueGtk.cpp:
1792         * Platform/qt/WorkQueueQt.cpp:
1793         * Platform/win/WorkQueueWin.cpp:
1794         * Shared/NotImplemented.h: Copied from Source/WebKit2/WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp.
1795         * Shared/Plugins/NPIdentifierData.cpp:
1796         * Shared/Plugins/NPRemoteObjectMap.cpp:
1797         * Shared/Plugins/NPVariantData.cpp:
1798         * Shared/cairo/ShareableBitmapCairo.cpp:
1799         * Shared/gtk/ShareableBitmapGtk.cpp:
1800         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
1801         * Shared/qt/WebCoreArgumentCodersQt.cpp:
1802         * Shared/win/LayerTreeContextWin.cpp:
1803         * UIProcess/API/mac/PageClientImpl.mm:
1804         * UIProcess/API/qt/qwkpage.cpp:
1805         * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp:
1806         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
1807         * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:
1808         * UIProcess/WebContext.cpp:
1809         (WebKit::WebContext::WebContext):
1810         * UIProcess/WebInspectorProxy.cpp:
1811         * UIProcess/gtk/TextCheckerGtk.cpp:
1812         * UIProcess/gtk/WebInspectorGtk.cpp:
1813         * UIProcess/gtk/WebPreferencesGtk.cpp:
1814         * UIProcess/qt/TextCheckerQt.cpp:
1815         * UIProcess/qt/WebInspectorProxyQt.cpp:
1816         * UIProcess/win/TextCheckerWin.cpp:
1817         * UIProcess/win/WebContextMenuProxyWin.cpp:
1818         * WebKit2.pro:
1819         * WebKit2.xcodeproj/project.pbxproj:
1820         * WebProcess/Downloads/cf/DownloadCFNet.cpp:
1821         * WebProcess/Downloads/curl/DownloadCurl.cpp:
1822         * WebProcess/Downloads/mac/DownloadMac.mm:
1823         * WebProcess/Downloads/qt/DownloadQt.cpp:
1824         * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
1825         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1826         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
1827         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1828         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1829         * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
1830         * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
1831         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
1832         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1833         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1834         * WebProcess/WebCoreSupport/WebDragClient.cpp:
1835         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1836         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1837         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1838         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
1839         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1840         * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp:
1841         * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp:
1842         * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
1843         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
1844         * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp:
1845         * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
1846         * WebProcess/WebPage/qt/WebInspectorQt.cpp:
1847         * WebProcess/WebProcess.cpp:
1848         (WebKit::WebProcess::WebProcess):
1849         * WebProcess/gtk/WebProcessGtk.cpp:
1850         * config.h:
1851         * win/WebKit2.vcproj:
1852
1853 2011-02-16  Balazs Kelemen  <kbalazs@webkit.org>
1854
1855         Reviewed by Anders Carlsson.
1856
1857         notImplemented() should behave identical in WebCore and WebKit2
1858         https://bugs.webkit.org/show_bug.cgi?id=54449
1859
1860         Use NotImplemented.h from WebCore. Initialize logging channels.
1861         Remove the WebKit2 concept of notImplemented().
1862
1863         * Platform/gtk/SharedMemoryGtk.cpp:
1864         * Platform/gtk/WorkQueueGtk.cpp:
1865         * Platform/qt/WorkQueueQt.cpp:
1866         * Platform/win/WorkQueueWin.cpp:
1867         * Shared/NotImplemented.h: Removed.
1868         * Shared/Plugins/NPIdentifierData.cpp:
1869         * Shared/Plugins/NPRemoteObjectMap.cpp:
1870         * Shared/Plugins/NPVariantData.cpp:
1871         * Shared/cairo/ShareableBitmapCairo.cpp:
1872         * Shared/gtk/ShareableBitmapGtk.cpp:
1873         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
1874         * Shared/qt/WebCoreArgumentCodersQt.cpp:
1875         * Shared/win/LayerTreeContextWin.cpp:
1876         * UIProcess/API/qt/qwkpage.cpp:
1877         * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp:
1878         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
1879         * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:
1880         * UIProcess/WebContext.cpp:
1881         (WebKit::WebContext::WebContext):
1882         * UIProcess/WebInspectorProxy.cpp:
1883         * UIProcess/gtk/TextCheckerGtk.cpp:
1884         * UIProcess/gtk/WebInspectorGtk.cpp:
1885         * UIProcess/gtk/WebPreferencesGtk.cpp:
1886         * UIProcess/qt/TextCheckerQt.cpp:
1887         * UIProcess/qt/WebInspectorProxyQt.cpp:
1888         * UIProcess/win/TextCheckerWin.cpp:
1889         * UIProcess/win/WebContextMenuProxyWin.cpp:
1890         * WebKit2.pro:
1891         * WebProcess/Downloads/cf/DownloadCFNet.cpp:
1892         * WebProcess/Downloads/curl/DownloadCurl.cpp:
1893         * WebProcess/Downloads/mac/DownloadMac.mm:
1894         * WebProcess/Downloads/qt/DownloadQt.cpp:
1895         * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
1896         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1897         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
1898         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1899         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1900         * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
1901         * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
1902         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
1903         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1904         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1905         * WebProcess/WebCoreSupport/WebDragClient.cpp:
1906         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1907         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1908         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1909         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
1910         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1911         * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp:
1912         * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp:
1913         * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
1914         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
1915         * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp:
1916         * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
1917         * WebProcess/WebPage/qt/WebInspectorQt.cpp:
1918         * WebProcess/WebProcess.cpp:
1919         (WebKit::WebProcess::WebProcess):
1920         * WebProcess/gtk/WebProcessGtk.cpp:
1921
1922 2011-02-21  Timothy Hatcher  <timothy@apple.com>
1923
1924         Set and update the window title for the Web Inspector in WebKit2.
1925
1926         https://webkit.org/b/50945
1927         rdar://problem/8762410
1928
1929         Reviewed by Adam Roben.
1930
1931         * UIProcess/WebInspectorProxy.cpp:
1932         (WebKit::WebInspectorProxy::inspectedURLChanged): Added. Call platformInspectedURLChanged.
1933         * UIProcess/WebInspectorProxy.h:
1934         * UIProcess/WebInspectorProxy.messages.in: Added InspectedURLChanged.
1935         * UIProcess/mac/WebInspectorProxyMac.mm:
1936         (WebKit::WebInspectorProxy::platformInspectedURLChanged): Added. Set the window title.
1937         * UIProcess/win/WebInspectorProxyWin.cpp:
1938         (WebKit::WebInspectorProxy::platformInspectedURLChanged): Added. Set the window title.
1939         * UIProcess/gtk/WebInspectorGtk.cpp:
1940         (WebKit::WebInspectorProxy::platformInspectedURLChanged): Added. Not implemented.
1941         * UIProcess/qt/WebInspectorProxyQt.cpp:
1942         (WebKit::WebInspectorProxy::platformInspectedURLChanged): Added. Not implemented.
1943         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
1944         (WebKit::WebInspectorFrontendClient::inspectedURLChanged): Call WebInspector::inspectedURLChanged.
1945         * WebProcess/WebPage/WebInspector.cpp:
1946         (WebKit::WebInspector::inspectedURLChanged): Added. Send the InspectedURLChanged message.
1947         * WebProcess/WebPage/WebInspector.h:
1948
1949 2011-02-21  Sam Weinig  <sam@webkit.org>
1950
1951         Reviewed by Anders Carlsson.
1952
1953         Can't paste from 3rd party text editor into WebKit2 window.
1954         <rdar://problem/8978624>
1955
1956         * WebProcess/com.apple.WebProcess.sb:
1957
1958 2011-02-21  Anders Carlsson  <andersca@apple.com>
1959
1960         Reviewed by Dan Bernstein.
1961
1962         Initialize DrawingAreaProxy::m_size
1963         https://bugs.webkit.org/show_bug.cgi?id=54913
1964
1965         This was removed in r76962 since it caused flashes when switching drawing areas due to
1966         entering and exiting composited mode, but since we no longer switch drawing areas we can
1967         put it back.
1968
1969         * UIProcess/DrawingAreaProxy.cpp:
1970         (WebKit::DrawingAreaProxy::DrawingAreaProxy):
1971
1972 2011-02-21  Adam Roben  <aroben@apple.com>
1973
1974         Add some assertions about the state IDs we receive from the web process
1975
1976         Rubber-stamped by Anders Carlsson.
1977
1978         * UIProcess/DrawingAreaProxyImpl.cpp:
1979         (WebKit::DrawingAreaProxyImpl::update):
1980         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
1981         (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
1982         Assert that the state ID the web process sent us is no newer than our own state ID.
1983
1984 2011-02-21  Adam Roben  <aroben@apple.com>
1985
1986         Rename DrawingArea[Proxy]Impl's "sequence number" concept to "state ID".
1987
1988         As explained in r79251, DrawingAreaProxyImpl has some state that, when it changes, causes
1989         all operations performed before that state change to become invalid. Currently, this state
1990         consists of a single piece of data: the view's size. Eventually it will encompass more data
1991         (e.g., the backing store we're drawing into; when we start throwing away the backing store
1992         to save memory, our state will have changed, and any operations that were intended for the
1993         old backing store will have become invalid). r79251 effectively transformed
1994         DrawingArea[Proxy]Impl's "sequence number," which incremented every time DrawingAreaImpl
1995         sent DrawingAreaProxyImpl a message, to a "state ID," which only increments when the view's
1996         size changes.
1997
1998         This patch is just a set of simple renames to reflect the transformation that r79251
1999         effected. It should not introduce any changes in behavior. The renames are:
2000           - Messages::DrawingArea::SetSize -> UpdateState
2001           - Messages::DrawingAreaProxy::DidSetSize -> DidUpdateState
2002           - DrawingAreaProxyImpl::m_lastDidSetSizeSequenceNumber -> m_currentStateID
2003           - DrawingAreaProxyImpl::m_isWaitingForDidSetSize -> m_isWaitingForDidUpdateState
2004           - DrawingAreaProxyImpl::waitForAndDispatchDidSetSize -> waitForAndDispatchDidUpdateState
2005           - DrawingAreaImpl::m_inSetSize -> m_inUpdateState
2006           - generateSequenceNumber -> generateStateID
2007           - sequenceNumber -> stateID
2008
2009         Fixes <http://webkit.org/b/54911> DrawingArea[Proxy]Impl's "sequence number" concept should
2010         be renamed to "state ID"
2011
2012         Reviewed by Anders Carlsson.
2013
2014         * UIProcess/DrawingAreaProxy.h:
2015         * UIProcess/DrawingAreaProxy.messages.in:
2016         * UIProcess/DrawingAreaProxyImpl.cpp:
2017         * UIProcess/DrawingAreaProxyImpl.h:
2018         * WebProcess/WebPage/DrawingArea.h:
2019         * WebProcess/WebPage/DrawingArea.messages.in:
2020         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2021         * WebProcess/WebPage/DrawingAreaImpl.h:
2022         Performed the renames described above.
2023
2024 2011-02-21  Alexey Proskuryakov  <ap@apple.com>
2025
2026         Reviewed by Adam Roben.
2027
2028         REGRESSION (WebKit2): HTTP requests time out after 60 seconds
2029         https://bugs.webkit.org/show_bug.cgi?id=54755
2030         <rdar://problem/9006592>
2031
2032         * Shared/API/c/WKURLRequest.cpp:
2033         (WKURLRequestSetDefaultTimeoutInterval):
2034         * Shared/API/c/WKURLRequest.h:
2035         Added an API to set a default timeout interval for requests created from URLs. The API
2036         affects both the UI process and requests created internally by the Web process. Requests
2037         created from NSURLRequest or CFURLRequest take timeout from those.
2038
2039         * Shared/WebURLRequest.cpp: (WebKit::WebURLRequest::setDefaultTimeoutInterval):
2040         * Shared/WebURLRequest.h:
2041         Pipe the default timeout interval from WKURLRequest down to actual implementation. Since
2042         WebURLRequest is currently implemented with WebCore::ResourceRequest, it automatically respects
2043         NSURLRequest default timeout interval.
2044
2045         * UIProcess/WebProcessManager.cpp: (WebKit::WebProcessManager::getAllWebProcessContexts):
2046         * UIProcess/WebProcessManager.h:
2047         Added a way to enumerate all contexts running in separate processes.
2048
2049         * Shared/WebProcessCreationParameters.cpp:
2050         (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
2051         (WebKit::WebProcessCreationParameters::encode):
2052         (WebKit::WebProcessCreationParameters::decode):
2053         * Shared/WebProcessCreationParameters.h:
2054         (WebKit::WebContext::ensureWebProcess):
2055         (WebKit::WebContext::setDefaultRequestTimeoutInterval):
2056         * UIProcess/WebContext.h:
2057         * WebProcess/WebProcess.cpp:
2058         (WebKit::WebProcess::initializeWebProcess):
2059         (WebKit::WebProcess::setDefaultRequestTimeoutInterval):
2060         * WebProcess/WebProcess.h:
2061         * WebProcess/WebProcess.messages.in:
2062         Use UI process default timeout interval in separate process contexts, too.
2063
2064 2011-02-18  Brian Weinstein  <bweinstein@apple.com>
2065
2066         Reviewed by Adam Roben.
2067
2068         WebResourceCacheManager should be responsible for managing the CFURLCache as well
2069         as the WebCore memory cache.
2070         https://bugs.webkit.org/show_bug.cgi?id=54886
2071         Part of <rdar://problem/8971738>
2072
2073         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
2074         (WebKit::WebResourceCacheManager::getCacheOrigins): Call through to cFURLCacheHostNames, and add
2075             create SecurityOrigin's for them and add them to the set of SecurityOrigins with cache.
2076         (WebKit::WebResourceCacheManager::clearCacheForOrigin): Call through to clear the CFURLCache for
2077             the origin's hostname.
2078         * WebProcess/ResourceCache/WebResourceCacheManager.h:
2079
2080         * WebProcess/ResourceCache/cf: Added.
2081         * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp: Added.
2082         (WebKit::WebResourceCacheManager::cfURLCacheHostNames): Call through to WebKitSystemInterface.
2083         (WebKit::WebResourceCacheManager::clearCFURLCacheForHostNames): Ditto.
2084
2085         * win/WebKit2.vcproj: Added new file.
2086         * WebKit2.xcodeproj/project.pbxproj: Ditto.
2087
2088 2011-02-21  Adam Roben  <aroben@apple.com>
2089
2090         Move control of the sequence number from DrawingAreaImpl to DrawingAreaProxyImpl
2091
2092         DrawingAreaProxyImpl has some state that, when it changes, causes all operations performed
2093         before that state change to become invalid. When painting, we need to have performed at
2094         least one Update for the most recent state; otherwise, we'll be painting old/incorrect bits
2095         into the view.
2096
2097         Currently, this state consists of a single piece of data: the view's size. Whenever the
2098         state (i.e., size) changes, we tell the web process via the SetSize message, and the web
2099         process lets us know that it has updated to match the new state (i.e., size) via the
2100         DidSetSize message.
2101
2102         When it's time to paint, if we're waiting for the web process to update to match our current
2103         state (i.e., size), we block for a little while hoping to receive a DidSetSize message so
2104         that we can paint up-to-date bits into the window. This can cause us to receive messages
2105         out-of-order; the DidSetSize message will be processed immediately, and any messages that
2106         were sent before the DidSetSize message will be processed later. Since the messages from
2107         before the DidSetSize message correspond to an old state (i.e., size), they are no longer
2108         useful (e.g., they contain bits of the page that are drawn at the wrong size/location), so
2109         we discard them.
2110
2111         The way we identify and discard these messages is by keeping track of a sequence number.
2112         Currently, DrawingAreaImpl sends a monotonically-increasing sequence number to
2113         DrawingAreaProxyImpl with every message. Whenever DrawingAreaProxyImpl receives a DidSetSize
2114         message, it records the sequence number that came along with it. If we then later receive
2115         any messages that have a lower sequence number, we know they correspond to an old state
2116         (i.e., size) and can discard them.
2117
2118         This patch moves control of the sequence number to DrawingAreaProxyImpl.
2119         DrawingAreaProxyImpl now sends a monotonically-increasing sequence number in the SetSize
2120         message. DrawingAreaImpl records this sequence number when it receives the SetSize message,
2121         and sends it back to DrawingAreaProxyImpl in every message. Otherwise the logic is the same
2122         as before.
2123
2124         This should cause no changes in behavior, but will allow DrawingAreaProxyImpl to request a
2125         full backing store update (by incrementing the sequence number) at times other than when the
2126         view's size changes (e.g., after it has thrown away its backing store in order to save
2127         memory).
2128
2129         Fixes <http://webkit.org/b/54907> DrawingAreaProxyImpl should tell DrawingAreaImpl what
2130         sequence number to use
2131
2132         Reviewed by Anders Carlsson.
2133
2134         * UIProcess/DrawingAreaProxyImpl.cpp:
2135         (WebKit::generateSequenceNumber): Moved here from DrawingAreaImpl.cpp.
2136         (WebKit::DrawingAreaProxyImpl::sendSetSize): Changed to pass a new sequence number in the
2137         SetSize message.
2138         (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidSetSize): Added a FIXME about a
2139         potential improvement.
2140
2141         * WebProcess/WebPage/DrawingArea.h:
2142         (WebKit::DrawingArea::setSize): Updated to match the message's new parameters.
2143
2144         * WebProcess/WebPage/DrawingArea.messages.in: Added a sequenceNumber parameter to SetSize.
2145
2146         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2147         (WebKit::DrawingAreaImpl::DrawingAreaImpl): Initialize m_sequenceNumber.
2148         (WebKit::DrawingAreaImpl::setSize): Record the new sequence number from the UI process.
2149
2150         (WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
2151         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
2152         (WebKit::DrawingAreaImpl::display):
2153         Send m_sequenceNumber, instead of a new sequence number, back to the UI process.
2154
2155         * WebProcess/WebPage/DrawingAreaImpl.h: Added m_sequenceNumber, updated setSize function to
2156         match the base class.
2157
2158 2011-02-21  Gavin Barraclough  <barraclough@apple.com>
2159
2160         Reviewed by Sam Weinig.
2161
2162         Bug 54894 - Make inheritance structure described by ClassInfo match C++ class hierarchy.
2163
2164         The ClassInfo objects describe an inheritance hierarchy, with each ClassInfo instance
2165         containing a pointer to its parent class. These links should reflect the inheritance
2166         hierarchy of C++ classes below JSObject. For the large part it does, but in some cases
2167         entries in the C++ hierarchy are skipped over. This presently likely doesn't matter,
2168         since intervening C++ classes may not have ClassInfo - but would be a potential bug
2169         were ClassInfo were to be added.
2170
2171         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2172
2173 2011-02-21  Balazs Kelemen  <kbalazs@webkit.org>
2174
2175         Reviewed by Kenneth Rohde Christiansen.
2176
2177         [Qt] Implement WorkQueue::sheduleWorkAfterDelay
2178         https://bugs.webkit.org/show_bug.cgi?id=54878
2179
2180         * Platform/qt/WorkQueueQt.cpp:
2181         (WorkQueue::scheduleWorkAfterDelay):
2182
2183 2011-02-20  Alejandro G. Castro  <alex@igalia.com>
2184
2185         Reviewed by Martin Robinson.
2186
2187         [GTK] Add WebResourceCacheDataManager to the compilation after r78848
2188         https://bugs.webkit.org/show_bug.cgi?id=54732
2189
2190         Added resource cache manager API to GTK+ compilation after r78848.
2191
2192         * GNUmakefile.am:
2193
2194 2011-02-20  Sam Weinig  <sam@webkit.org>
2195
2196         Reviewed by Dan Bernstein.
2197
2198         Crash in WebProcess at com.apple.WebCore: WebCore::Page::goToItem + 46
2199         <rdar://problem/8942726>
2200
2201         * WebProcess/WebPage/WebPage.cpp:
2202         (WebKit::WebPage::goForward):
2203         (WebKit::WebPage::goBack):
2204         (WebKit::WebPage::goToBackForwardItem):
2205         Defend agains null HistoryItems.
2206
2207 2011-02-20  Anders Carlsson  <andersca@apple.com>
2208
2209         Reviewed by Maciej Stachowiak.
2210
2211         Crash when a plug-in requests a javascript: url that destroys the plug-in
2212         https://bugs.webkit.org/show_bug.cgi?id=54837
2213         <rdar://problem/9005475>
2214
2215         * WebProcess/Plugins/PluginProxy.cpp:
2216         (WebKit::PluginProxy::destroy):
2217         Null out m_pluginController.
2218
2219         * WebProcess/Plugins/PluginView.cpp:
2220         (WebKit::PluginView::performJavaScriptURLRequest):
2221         Don't access the frame through m_pluginElement since it will be nulled out
2222         when the plug-in is destroyed.
2223
2224 2011-02-20  Anders Carlsson  <andersca@apple.com>
2225
2226         Reviewed by Sam Weinig.
2227
2228         Fix another crash when a plug-in is destroyed when evaluating JavaScript
2229         https://bugs.webkit.org/show_bug.cgi?id=54834
2230         <rdar://problem/9005475>
2231
2232         This contains three separate fixes:
2233
2234         - In unprotectPluginFromDestruction we can't just destroy the plug-in once
2235           the count reaches zero, because the plug-in might still have code executing
2236           on the stack. To fix this we use a zero-delay timer to defer destruction
2237           of the plug-in.
2238
2239         - Trying to get the NPObject for the window using NPN_GetValue would return
2240           NPERR_NO_ERROR, even if the returned NPObject was null. Fix this to return
2241           NPERR_GENERIC_ERROR instead.
2242
2243         - Protect the plug-in from destruction anytime an NPAPI call that sends a 
2244           synchronous IPC message is made.
2245
2246         * PluginProcess/PluginControllerProxy.cpp:
2247         (WebKit::PluginControllerProxy::PluginControllerProxy):
2248         (WebKit::PluginControllerProxy::destroy):
2249         (WebKit::PluginControllerProxy::unprotectPluginFromDestruction):
2250         * PluginProcess/PluginControllerProxy.h:
2251         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2252         (WebKit::PluginDestructionProtector::PluginDestructionProtector):
2253         (WebKit::NPN_GetValue):
2254         (WebKit::NPN_Evaluate):
2255         (WebKit::NPN_GetProperty):
2256         (WebKit::NPN_SetProperty):
2257         (WebKit::NPN_RemoveProperty):
2258         (WebKit::NPN_HasProperty):
2259         (WebKit::NPN_HasMethod):
2260         (WebKit::NPN_Enumerate):
2261         (WebKit::NPN_Construct):
2262         (WebKit::NPN_GetValueForURL):
2263         (WebKit::NPN_SetValueForURL):
2264
2265 2011-02-19  Sam Weinig  <sam@webkit.org>
2266
2267         Reviewed by Anders Carlsson.
2268
2269         Add phase in addition to momentumPhase to platform wheel events
2270         Part of <rdar://problem/8945362>
2271
2272         Rename existing phase to momentumPhase.
2273
2274         * Shared/WebEvent.h:
2275         (WebKit::WebWheelEvent::momentumPhase):
2276         * Shared/WebEventConversion.cpp:
2277         (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
2278         * Shared/WebWheelEvent.cpp:
2279         (WebKit::WebWheelEvent::WebWheelEvent):
2280         (WebKit::WebWheelEvent::encode):
2281         (WebKit::WebWheelEvent::decode):
2282         * Shared/mac/WebEventFactory.mm:
2283         (WebKit::phaseForEvent):
2284         (WebKit::momentumPhaseForEvent):
2285         (WebKit::WebEventFactory::createWebWheelEvent):
2286
2287 2011-02-19  Anders Carlsson  <andersca@apple.com>
2288
2289         Reviewed by Dan Bernstein.
2290
2291         Crash when trying to take a snapshot of an uninitialized plug-in
2292         https://bugs.webkit.org/show_bug.cgi?id=54812
2293
2294         * WebProcess/Plugins/PluginView.cpp:
2295         (WebKit::PluginView::notifyWidget):
2296         Don't try to create a snapshot of the plug-in if it hasn't been initialized.
2297
2298 2011-02-18  Gavin Barraclough  <barraclough@apple.com>
2299
2300         Reviewed by Sam Weinig.
2301
2302         Bug 54786 - Devirtualize JSCell::classInfo()
2303
2304         Instead of making a virtual function call, add a pointer to the ClassInfo
2305         onto Structure.
2306
2307         This removes a virtual function call, and paves the way towards removing all
2308         the createStructure methods, and StructureFlags/AnonymousSlotCount properties
2309         (these should be able to move onto ClassInfo).
2310
2311         Calls to Structure::create must now pass a pointer to the ClassInfo for the
2312         structure. All objects now have a ClassInfo pointer, non-object cell types
2313         still do not.
2314
2315         Changes are most mechanical, involving three steps:
2316             * Remove virtual classInfo() methods.
2317             * Add &s_info parameter to calls to Structure::create.
2318             * Rename ClassInfo static members on classes from 'info' to 's_info',
2319               for consistency.
2320
2321         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
2322         (WebKit::JSNPMethod::JSNPMethod):
2323         * WebProcess/Plugins/Netscape/JSNPMethod.h:
2324         (WebKit::JSNPMethod::createStructure):
2325         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2326         (WebKit::JSNPObject::JSNPObject):
2327         * WebProcess/Plugins/Netscape/JSNPObject.h:
2328         (WebKit::JSNPObject::createStructure):
2329
2330 2011-02-19  Sam Weinig  <sam@webkit.org>
2331
2332         Reviewed by Anders Carlsson.
2333
2334         Rename performLookupAtCurrentMouseLocation to performDictionaryLookupAtCurrentMouseLocation
2335
2336         * UIProcess/API/mac/WKView.mm:
2337         (-[WKView performDictionaryLookupAtCurrentMouseLocation]):
2338         * UIProcess/API/mac/WKViewPrivate.h:
2339
2340 2011-02-19  Charlie Reis  <creis@chromium.org>
2341
2342         Reviewed by Mihai Parparita.
2343
2344         Ensure loading has stopped in HistoryController::goToItem
2345         https://bugs.webkit.org/show_bug.cgi?id=54517
2346
2347         Add a FrameLoaderClient callback for whether to stop loading before goToItem.
2348
2349         Test: http/tests/navigation/forward-to-fragment-fires-onload.html
2350
2351         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2352         (WebFrameLoaderClient::shouldStopLoadingForHistoryItem): Added.
2353         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2354
2355 2011-02-18  Sam Weinig  <sam@webkit.org>
2356
2357         Reviewed by Adele Peterson.
2358
2359         Real fix for <rdar://problem/9025723> CrashTracer: [USER] 
2360         1 crash in WebProcess at com.apple.WebKit2: 
2361         WebKit::WebPage::didChangeScrollOffsetForMainFrame + 31
2362
2363         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2364         (WebKit::WebFrameLoaderClient::didChangeScrollOffset):
2365         Add null check for the FrameView. This function can be called when the
2366         FrameView is being torn down during a transition to a new FrameView.
2367
2368         * WebProcess/WebPage/WebPage.cpp:
2369         (WebKit::WebPage::didChangeScrollOffsetForMainFrame):
2370         Revert last attempt.
2371
2372 2011-02-18  Anders Carlsson  <andersca@apple.com>
2373
2374         Reviewed by Sam Weinig.
2375
2376         Hang trying to load nytimes.com with Flash installed
2377         <rdar://problem/9018113> 
2378
2379         * Platform/CoreIPC/Connection.cpp:
2380         (CoreIPC::Connection::sendSyncMessage):
2381         Call beginWaitForSyncReply() before sending the message. Otherwise, in some cases we could
2382         have gotten back a synchronous request before calling beginWaitForSyncReply(), and then we wouldn't
2383         process it correctly. (Which would lead to the hang).
2384
2385 2011-02-18  Simon Fraser  <simon.fraser@apple.com>
2386
2387         Reviewed by Kevin Decker.
2388
2389         <rdar://problem/9021296> Some plug-ins are the wrong size after zooming
2390         
2391         Use the same frame/bounds adjustment that we use for NSView-based
2392         plugins in WebKit2, which allows plug-ins and their snapshots to
2393         render with the correct size after scaling.
2394
2395         * WebProcess/Plugins/PluginView.cpp:
2396         (WebKit::PluginView::setBoundsSize):
2397         (WebKit::PluginView::viewGeometryDidChange):
2398         (WebKit::PluginView::clipRectInWindowCoordinates):
2399         * WebProcess/Plugins/PluginView.h:
2400
2401 2011-02-18  Beth Dakin  <bdakin@apple.com>
2402
2403         Rubber-stamped by Adele Peterson.
2404
2405         Fix for <rdar://problem/9025723> CrashTracer: [USER] 
2406         1 crash in WebProcess at com.apple.WebKit2: 
2407         WebKit::WebPage::didChangeScrollOffsetForMainFrame + 31
2408
2409         Simple null-check.
2410         * WebProcess/WebPage/WebPage.cpp:
2411         (WebKit::WebPage::didChangeScrollOffsetForMainFrame):
2412
2413 2011-02-18  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
2414
2415         Reviewed by Kenneth Rohde Christiansen.
2416
2417         Tiled backing store area is too big.
2418         Error in area calculcation causes size of backing store
2419         up to 8 times bigger than viewport with default multipliers.
2420         https://bugs.webkit.org/show_bug.cgi?id=54587
2421
2422         * UIProcess/TiledDrawingAreaProxy.cpp:
2423         (WebKit::TiledDrawingAreaProxy::calculateKeepRect):
2424         (WebKit::TiledDrawingAreaProxy::calculateCoverRect):
2425
2426 2011-02-18  John Sullivan  <sullivan@apple.com>
2427
2428         Reviewed by Maciej Stachowiak.
2429
2430         <rdar://problem/9026169>
2431         https://bugs.webkit.org/show_bug.cgi?id=54780
2432         pendingAPIRequestURL isn't updated for WKPageGoToBackForwardListItem
2433
2434         * UIProcess/WebPageProxy.cpp:
2435         (WebKit::WebPageProxy::goToBackForwardItem):
2436         Update the pending API URL.
2437
2438 2011-02-18  Anders Carlsson  <andersca@apple.com>
2439
2440         Reviewed by Sam Weinig.
2441
2442         Accelerated content fades in when using a layer backed WKView
2443         <rdar://problem/9021586>
2444
2445         * UIProcess/API/mac/WKView.mm:
2446         (-[WKView _enterAcceleratedCompositingMode:]):
2447         Make a new nested CATransaction and disable animations when adding the layer 
2448         hosting subview. This avoids an implicit fade animation that would otherwise occur.
2449
2450 2011-02-18  Simon Fraser  <simon.fraser@apple.com>
2451
2452         Reviewed by Dan Bernstein.
2453
2454         Plugin snapshot location is wrong for subframes
2455         https://bugs.webkit.org/show_bug.cgi?id=54776
2456         
2457         Only change the CTM to the way that the plugin expects it
2458         when painting the plugin, not when drawing the snapshot.
2459         This fixes the snapshot location when painting flattened
2460         frames.
2461
2462         * WebProcess/Plugins/PluginView.cpp:
2463         (WebKit::PluginView::paint):
2464
2465 2011-02-18  Anders Carlsson  <andersca@apple.com>
2466
2467         Reviewed by Simon Fraser.
2468
2469         Implement NetscapePlugin::pluginComplexTextInputIdentifier
2470         https://bugs.webkit.org/show_bug.cgi?id=54770
2471
2472         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2473         (WebKit::NetscapePlugin::pluginComplexTextInputIdentifier):
2474
2475 2011-02-18  Sam Weinig  <sam@webkit.org>
2476
2477         Reviewed by Maciej Stachowiak.
2478
2479         Add the ability to ask the WKPage if the main frame is pinned
2480         to the right or left hand side.
2481         Part of <rdar://problem/9017043>.
2482
2483         * UIProcess/API/C/WKPage.cpp:
2484         (WKPageIsPinnedToLeftSide):
2485         (WKPageIsPinnedToRightSide):
2486         * UIProcess/API/C/WKPage.h:
2487         Add new API calls.
2488
2489         * UIProcess/WebPageProxy.cpp:
2490         (WebKit::WebPageProxy::WebPageProxy):
2491         (WebKit::WebPageProxy::close):
2492         (WebKit::WebPageProxy::processDidCrash):
2493         (WebKit::WebPageProxy::didChangeScrollOffsetPinningForMainFrame):
2494         * UIProcess/WebPageProxy.h:
2495         (WebKit::WebPageProxy::isPinnedToLeftSide):
2496         (WebKit::WebPageProxy::isPinnedToRightSide):
2497         Initialize, reset and update the pinned state.
2498
2499         * UIProcess/WebPageProxy.messages.in:
2500         Add message to update the pinned state.
2501
2502         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2503         (WebKit::WebFrameLoaderClient::didChangeScrollOffset):
2504         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2505         * WebProcess/WebPage/WebPage.cpp:
2506         (WebKit::WebPage::WebPage):
2507         (WebKit::WebPage::didChangeScrollOffsetForMainFrame):
2508         * WebProcess/WebPage/WebPage.h:
2509         Cache the pinned state, and only update the UIProcess when it
2510         changes.
2511
2512 2011-02-18  Anders Carlsson  <andersca@apple.com>
2513
2514         Reviewed by Simon Fraser.
2515
2516         Fix assertion in SharedMemory::create when trying to snapshot 0x0 plug-in
2517         https://bugs.webkit.org/show_bug.cgi?id=54768
2518
2519         * PluginProcess/PluginControllerProxy.cpp:
2520         (WebKit::PluginControllerProxy::snapshot):
2521         Don't try to create a handle from a null ShareableBitmap.
2522
2523         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2524         (WebKit::NetscapePlugin::snapshot):
2525         Check for a zero sized plug-in before trying to create a snapshot.
2526
2527 2011-02-18  Anders Carlsson  <andersca@apple.com>
2528
2529         Reviewed by Simon Fraser.
2530
2531         WKView flashes when entering/exiting compositing mode
2532         https://bugs.webkit.org/show_bug.cgi?id=54695
2533         <rdar://problem/9011554>
2534
2535         * UIProcess/API/mac/WKView.mm:
2536         (-[WKView _exitAcceleratedCompositingMode]):
2537         Remove the layer hosting view before clearing out its layer, otherwise we can get
2538         white flashes when exiting accelerated compositing mode.
2539
2540         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2541         When entering accelerated compositing mode, we want to defer sending the message
2542         until we've actually committed the layer tree and pushed all changes over to the
2543         UI process.
2544
2545         (WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
2546         Tell the layer tree host to force a repaint. This will ensure that all layer tree
2547         changes are pushed over to the UI process. When that is done, send the new layer tree
2548         context over to the UI process.
2549
2550         (WebKit::DrawingAreaImpl::setRootCompositingLayer):
2551         When exiting compositing mode in response to a didSetSize, we want to exit accelerated 
2552         compositing mode right away to avoid flashes. This is safe since we've laid out the page
2553         already so we won't end up reentering setRootCompositingLayer.
2554
2555         (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
2556         Tell the layer tree host to notify us when the next layer tree flush happened, so we can
2557         let the UI process know. If we're entering accelerated compositing mode in response to a
2558         SetSize message, the new layer tree context will be passed in the DidSetSize message.
2559
2560         * WebProcess/WebPage/DrawingAreaImpl.h:
2561         Add layerHostDidFlushLayers.
2562
2563         * WebProcess/WebPage/LayerTreeHost.h:
2564         Add setShouldNotifyAfterNextScheduledLayerFlush.
2565
2566         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
2567         Add a m_notifyAfterScheduledLayerFlush flag.
2568
2569         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
2570         (WebKit::LayerTreeHostMac::LayerTreeHostMac):
2571         Initialize m_notifyAfterScheduledLayerFlush to false.
2572
2573         (WebKit::LayerTreeHostMac::setShouldNotifyAfterNextScheduledLayerFlush):
2574         Set m_notifyAfterScheduledLayerFlush to true.
2575
2576         (WebKit::LayerTreeHostMac::flushPendingLayerChangesRunLoopObserverCallback):
2577         If m_notifyAfterScheduledLayerFlush is true, call DrawingAreaImpl::layerHostDidFlushLayers.
2578
2579 2011-02-18  Alexey Proskuryakov  <ap@apple.com>
2580
2581         Reviewed by Adele Peterson.
2582
2583         REGRESSION (WebKit2): Wrong frame printed on tivofaq.com
2584         https://bugs.webkit.org/show_bug.cgi?id=54677
2585         <rdar://problem/8994133>
2586
2587         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2588         (WebKit::area): Use visible frame bounds.
2589         (WebKit::findLargestFrameInFrameSet): Added a comment explaining what we're up to here.
2590         WebKit2 shouldn't be making policy decisions for the client, but it gets dangerously close
2591         to that. We used to expose the same as WK1 API though.
2592
2593 2011-02-18  Balazs Kelemen  <kbalazs@webkit.org>
2594
2595         Unreviwed.
2596
2597         Remove CleanupHandler since we do not use it anymore.
2598
2599         * Shared/qt/CleanupHandler.cpp: Removed.
2600         * Shared/qt/CleanupHandler.h: Removed.
2601
2602 2011-02-18  Alejandro G. Castro  <alex@igalia.com>
2603
2604         Fix GTK build by fixing signature of platformPaint(), required after r78956.
2605
2606         * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
2607         (WebKit::NetscapePlugin::platformPaint):
2608
2609 2011-02-17  Dan Bernstein  <mitz@apple.com>
2610
2611         LLVM Compiler build fix.
2612
2613         * UIProcess/WebResourceCacheManagerProxy.h:
2614         * WebProcess/ResourceCache/WebResourceCacheManager.h:
2615
2616 2011-02-17  Simon Fraser  <simon.fraser@apple.com>
2617
2618         Fix Windows and Qt builds by fixing signature of platformPaint().
2619
2620         * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
2621         (WebKit::NetscapePlugin::platformPaint):
2622         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
2623         (WebKit::NetscapePlugin::platformPaint):
2624
2625 2011-02-17  Simon Fraser  <simon.fraser@apple.com>
2626
2627         Reviewed by Sam Weinig.
2628
2629         WebKit2 snapshots don't show plug-ins
2630         https://bugs.webkit.org/show_bug.cgi?id=54716
2631         
2632         Fix WebKit2 plug-ins to do a software paint for
2633         snapshotting.
2634
2635         * PluginProcess/PluginControllerProxy.h:
2636         * PluginProcess/PluginControllerProxy.cpp:
2637         (WebKit::PluginControllerProxy::snapshot): Respond to the snapshot
2638         message by getting a sharable bitmap from the plugin, and returning
2639         a handle to it in the reply.
2640
2641         * PluginProcess/PluginControllerProxy.messages.in: Add the snapshot
2642         message.
2643         
2644         * Shared/Plugins/PluginQuirks.h:
2645         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
2646         (WebKit::NetscapePluginModule::determineQuirks): Add a quirk for the
2647         ability to be snapshotted, which we only set for Flash at the moment.
2648         
2649         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2650         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2651         (WebKit::NetscapePlugin::snapshot): Create a shareable bitmap, and
2652         paint into it.
2653         (WebKit::NetscapePlugin::supportsSnapshotting): Test the quirk.
2654
2655         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2656         (WebKit::NetscapePlugin::platformPaint): Allow the paint to happen
2657         if we're snapshotting, even when using the CoreAnimation drawing
2658         model.
2659         
2660         * WebProcess/Plugins/Plugin.h: New snapshot method.
2661         
2662         * WebProcess/Plugins/PluginProxy.h:
2663         * WebProcess/Plugins/PluginProxy.cpp:
2664         (WebKit::PluginProxy::snapshot): Send a sync message to the plugin process,
2665         asking for a snapshot in a shareble bitmap.
2666         
2667         * WebProcess/Plugins/PluginView.h:
2668         * WebProcess/Plugins/PluginView.cpp:
2669         (WebKit::PluginView::paint): Use the snapshot if we have one, to avoid
2670         calling into the plugin to draw, which may run script.
2671         
2672         (WebKit::PluginView::notifyWidget): Generate the snapshot before
2673         a flattening paint, and throw it away after.
2674
2675 2011-02-17  Jessie Berlin  <jberlin@apple.com>
2676
2677         Reviewed by Adam Roben.
2678
2679         WebKit2: The CFNetwork Cache should be shared between the UI Process and the Web Process on
2680         Windows.
2681         https://bugs.webkit.org/show_bug.cgi?id=54683
2682
2683         * Shared/WebProcessCreationParameters.cpp:
2684         (WebKit::WebProcessCreationParameters::encode):
2685         (WebKit::WebProcessCreationParameters::decode):
2686         * Shared/WebProcessCreationParameters.h:
2687  
2688         * UIProcess/win/WebContextWin.cpp:
2689         (WebKit::WebContext::platformInitializeWebProcess):
2690         Make sure to remove the ending slash, as CFNetwork does not recognize the directory with
2691         that slash.
2692
2693         * WebProcess/win/WebProcessWin.cpp:
2694         (WebKit::WebProcess::platformInitializeWebProcess):
2695         Create a cache using the path, disk capacity, and memory capacity and set it as default.
2696
2697 2011-02-17  Anders Carlsson  <andersca@apple.com>
2698
2699         Reviewed by Sam Weinig.
2700
2701         Web and/or plug-in process crashes when NPN_Evaluate destroys the plug-in
2702         https://bugs.webkit.org/show_bug.cgi?id=54686
2703         <rdar://problem/9013384>
2704
2705         This patch fixes two bugs with a plug-in calling NPN_Evaluate to destroy itself:
2706
2707         - The PluginProxy object would be destroyed in the middle of PluginProxy::evaluate.
2708           This would cause the web process to crash.
2709
2710         - The PluginControllerProxy would call NPP_Destroy while the plug-in was busy running
2711           code. This would cause the plug-in process to crash.
2712
2713         To fix this, we add protectPluginFromDestruction/unprotectPluginFromDestruction to
2714         PluginControllerProxy and use it to defer calling destroy() in the plug-in process,
2715         and defer actually destroying the plug-in in the web process.
2716
2717         https://bugs.webkit.org/show_bug.cgi?id=54171 tracks adding a test for this.
2718
2719         * PluginProcess/PluginControllerProxy.cpp:
2720         (WebKit::PluginControllerProxy::PluginControllerProxy):
2721         (WebKit::PluginControllerProxy::destroy):
2722         (WebKit::PluginControllerProxy::evaluate):
2723         (WebKit::PluginControllerProxy::protectPluginFromDestruction):
2724         (WebKit::PluginControllerProxy::unprotectPluginFromDestruction):
2725         * PluginProcess/PluginControllerProxy.h:
2726         (WebKit::PluginControllerProxy::asPluginController):
2727         * PluginProcess/WebProcessConnection.cpp:
2728         (WebKit::WebProcessConnection::destroyPluginControllerProxy):
2729         (WebKit::WebProcessConnection::didReceiveMessage):
2730         (WebKit::WebProcessConnection::didReceiveSyncMessage):
2731         * PluginProcess/WebProcessConnection.h:
2732         (WebKit::WebProcessConnection::connection):
2733         * WebProcess/Plugins/PluginController.h:
2734         (WebKit::PluginController::PluginDestructionProtector::PluginDestructionProtector):
2735         (WebKit::PluginController::PluginDestructionProtector::~PluginDestructionProtector):
2736         * WebProcess/Plugins/PluginProxy.cpp:
2737         (WebKit::PluginProxy::evaluate):
2738         * WebProcess/Plugins/PluginView.cpp:
2739         (WebKit::PluginView::protectPluginFromDestruction):
2740         (WebKit::PluginView::unprotectPluginFromDestruction):
2741         * WebProcess/Plugins/PluginView.h:
2742
2743 2011-02-17  Sam Weinig  <sam@webkit.org>
2744
2745         Build fix.
2746
2747         * WebProcess/WebPage/mac/WebPageMac.mm:
2748         (WebKit::WebPage::performDictionaryLookupAtLocation):
2749
2750 2011-02-17  Sam Weinig  <sam@webkit.org>
2751
2752         Reviewed by Maciej Stachowiak.
2753
2754         WebKit2: Support Dictionary popup
2755         <rdar://problem/7660670>
2756
2757         * Shared/TextInfo.cpp: Added.
2758         (WebKit::TextInfo::encode):
2759         (WebKit::TextInfo::decode):
2760         * Shared/TextInfo.h: Added.
2761         (WebKit::TextInfo::TextInfo):
2762         Add class to represent the location and style of a run of text.
2763
2764         * UIProcess/PageClient.h:
2765         * UIProcess/API/mac/PageClientImpl.h:
2766         * UIProcess/API/mac/PageClientImpl.mm:
2767         (WebKit::PageClientImpl::didPerformDictionaryLookup):
2768         Invoke the dictionary popup.
2769
2770         * UIProcess/API/mac/WKView.mm:
2771         (-[WKView performLookupAtCurrentMouseLocation]):
2772         Tell the WebProcess to get get the text under the mouse and cause
2773         the dictionary popup to appear.
2774
2775         * UIProcess/API/mac/WKViewPrivate.h:
2776         Add performLookupAtCurrentMouseLocation.
2777
2778         * UIProcess/WebPageProxy.cpp:
2779         (WebKit::WebPageProxy::performDictionaryLookupAtLocation):
2780         (WebKit::WebPageProxy::didPerformDictionaryLookup):
2781         * UIProcess/WebPageProxy.h:
2782         * UIProcess/WebPageProxy.messages.in:
2783         * WebProcess/WebPage/WebPage.cpp:
2784         * WebProcess/WebPage/WebPage.h:
2785         * WebProcess/WebPage/WebPage.messages.in:
2786         Pipe messages through.
2787
2788         * WebProcess/WebPage/mac/WebPageMac.mm:
2789         (WebKit::characterRangeAtPoint): Fix to return PassRefPtr
2790         and not potentially stale pointers.
2791
2792         (WebKit::WebPage::characterIndexForPoint):
2793         Change to use a RefPtr.
2794
2795         (WebKit::WebPage::performDictionaryLookupAtLocation):
2796         Add simple heuristic to get the word at the current point (or the current selection
2797         if it is at that point) and grab the style of the word to send the UIProcess.
2798
2799         * WebKit2.pro:
2800         * WebKit2.xcodeproj/project.pbxproj:
2801         * win/WebKit2.vcproj:
2802         Add new files.
2803
2804 2011-02-17  Brian Weinstein  <bweinstein@apple.com>
2805
2806         Qt build fix.
2807
2808         * WebKit2.pro: Update after renaming of MemoryCache to ResourceCache.
2809
2810 2011-02-17  Brian Weinstein  <bweinstein@apple.com>
2811
2812         Mac build fix.
2813
2814         * WebKit2.xcodeproj/project.pbxproj: Use relative to group instead of absolute paths. Not everyone's home
2815             directory is /Users/brian_weinstein.
2816
2817 2011-02-16  Brian Weinstein  <bweinstein@apple.com>
2818
2819         Reviewed by Brady Eidson.
2820
2821         WebKit2: Need a way to manage the WebCore Cache
2822         https://bugs.webkit.org/show_bug.cgi?id=54501
2823         
2824         Implement a WebKit2 API to manage the WebCore memory cache. This API exposes three functions:
2825         
2826         1) A method to get a list of all security origins that have entries in the WebCore memory cache.
2827         2) A method to remove all entries in the WebCore memory cache from a SecurityOrigin.
2828         3) A method to remove all entries from the WebCore memory cache.
2829
2830         * Platform/CoreIPC/MessageID.h: Add two new MessageClasses.
2831         * Shared/API/c/WKBase.h:
2832         * Shared/APIObject.h: Add a CacheManager type.
2833         * Shared/WebSecurityOrigin.h: Typedef WKCacheManagerRef.
2834         (WebKit::WebSecurityOrigin::createFromString): Creates a WebCore::SecurityOrigin using 
2835             SecurityOrigin::createFromString.
2836         (WebKit::WebSecurityOrigin::toString): Calls through to SecurityOrigin::toString.
2837         * UIProcess/API/C/WKAPICast.h:
2838
2839         * UIProcess/API/C/WKCacheManager.cpp: Added.
2840         (WKCacheManagerGetTypeID): Returns the WebResourceCacheManagerProxy type.
2841         (WKCacheManagerGetCacheOrigins): Calls through to WebResourceCacheManagerProxy::getCacheOrigins.
2842         (callGetCacheOriginsBlockBlockAndDispose):
2843         (WKCacheManagerGetCacheOrigins_b):
2844         (WKCacheManagerDeleteCacheForOrigin): Calls through to WebResourceCacheManagerProxy::deleteCacheForOrigin.
2845         (WKCacheManagerDeleteAllCache): Calls through to WebResourceCacheManagerProxy::deleteAllCache.
2846         * UIProcess/API/C/WKCacheManager.h: Added.
2847
2848         * UIProcess/API/C/WKContext.cpp:
2849         (WKContextGetCacheManager): Calls to get the WebResourceCacheManagerProxy.
2850         * UIProcess/API/C/WKContext.h:
2851
2852         * UIProcess/WebResourceCacheManagerProxy.cpp: Added.
2853         (WebKit::WebResourceCacheManagerProxy::create): Calls through to the constructor.
2854         (WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy): Initialize the m_webContext variable.
2855         (WebKit::WebResourceCacheManagerProxy::~WebResourceCacheManagerProxy):
2856         (WebKit::WebResourceCacheManagerProxy::invalidate): Invalidate the callback map.
2857         (WebKit::WebResourceCacheManagerProxy::getCacheOrigins): Call through to the web process to get the cache
2858             origins.
2859         (WebKit::WebResourceCacheManagerProxy::didGetCacheOrigins): Call the callback.
2860         (WebKit::WebResourceCacheManagerProxy::deleteCacheForOrigin): Call through to the web process to delete cache
2861             for the given origin. 
2862         (WebKit::WebResourceCacheManagerProxy::deleteAllCache): Call through to the web process to delete all of the cache.
2863         * UIProcess/WebResourceCacheManagerProxy.h: Added.
2864         (WebKit::WebResourceCacheManagerProxy::clearContext):
2865         (WebKit::WebResourceCacheManagerProxy::type):
2866         * UIProcess/WebResourceCacheManagerProxy.messages.in: Added.
2867
2868         * UIProcess/WebContext.cpp:
2869         (WebKit::WebContext::WebContext): Initialize new member variable.
2870         (WebKit::WebContext::~WebContext):  Invalidates new member variable.
2871         (WebKit::WebContext::didReceiveMessage): Passes cache messages to the cache manager.
2872         * UIProcess/WebContext.h:
2873         (WebKit::WebContext::cacheManagerProxy):
2874         * UIProcess/WebProcessProxy.cpp:
2875         (WebKit::WebProcessProxy::didReceiveMessage): Add a new message class.
2876
2877         * WebProcess/ResourceCache/WebResourceCacheManager.cpp: Added.
2878         (WebKit::WebResourceCacheManager::shared):
2879         (WebKit::WebResourceCacheManager::WebResourceCacheManager):
2880         (WebKit::WebResourceCacheManager::~WebResourceCacheManager):
2881         (WebKit::WebResourceCacheManager::didReceiveMessage): Calls through to didReceiveWebResourceCacheManagerMessage.
2882         (WebKit::WebResourceCacheManager::getCacheOrigins): Gets a list of origins with cache entries from the memory
2883             cache, and puts them into a vector to send to the UI process.
2884         (WebKit::WebResourceCacheManager::deleteCacheForOrigin): Calls through to ResourceCache to delete all cache entries
2885             from a given origin.
2886         (WebKit::WebResourceCacheManager::deleteAllCache):
2887         * WebProcess/ResourceCache/WebResourceCacheManager.h: Added.
2888         * WebProcess/ResourceCache/WebResourceCacheManager.messages.in: Added.
2889
2890         * WebProcess/WebProcess.cpp:
2891         (WebKit::WebProcess::didReceiveMessage):
2892         (WebKit::WebProcess::clearResourceCaches): Tell the memory cache to evict its resources. This was done on WebKit1, 
2893             but not WebKit2.
2894         * WebProcess/WebProcess.h:
2895         
2896         * WebKit2.xcodeproj/project.pbxproj: Added new files.
2897         * win/WebKit2.vcproj: Ditto.
2898         * win/WebKit2Common.vsprops: Added new include directory.
2899         * win/WebKit2Generated.make: Added new header.
2900
2901 2011-02-16  David Hyatt  <hyatt@apple.com>
2902
2903         Reviewed by Dan Bernstein.
2904
2905         https://bugs.webkit.org/show_bug.cgi?id=54244
2906         
2907         Convert the line box tree to floating point and eliminate font rounding hacks.  This patch removes all of the rounding
2908         hacks from the Font code and makes sure all Font APIs involving width measurement and width offsets use floats.
2909         
2910         The line box tree's x, y and logicalWidth members have all been converted to floats and all of the line box APIs have
2911         been changed as well.
2912         
2913         In terms of pixel adjustments, overflow is using an enclosing model (so it will be enclosingIntRect of a line box's x/y/width/height).
2914         
2915         Background and border painting is using a rounding model, so borders and backgrounds will round to the nearest pixel when painting.
2916         
2917         Replaced elements still snap to integer positions on lines, and they use a rounding model as well, although their underlying line boxes
2918         still have a precise floating point position.
2919
2920         Justification will now allow subpixel positioning to occur as well.  Platforms that don't support subpixel positioning should already
2921         be rounding justification spacing in their font code.
2922
2923         Many layout test results change on Mac, since rounding hacks were used there and are now gone.
2924
2925         * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
2926         (WebKit::WebPopupMenu::setUpPlatformData):
2927
2928 2011-02-10  Luiz Agostini  <luiz.agostini@openbossa.org>
2929
2930         Reviewed by Adam Roben.
2931
2932         HTML5 <details> and <summary>: localized text
2933         https://bugs.webkit.org/show_bug.cgi?id=54260
2934
2935         The method defaultDetailsSummaryText was added to LocalizationStrategy class. It is used to
2936         provide the default label to be used by a <details> tag that has no <summary> child.
2937
2938         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2939         (WebKit::WebPlatformStrategies::defaultDetailsSummaryText):
2940         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
2941
2942 2011-02-17  Adam Roben  <aroben@apple.com>
2943
2944         Make sure layout is up-to-date before rendering the layer tree in DrawingAreaImpl
2945
2946         Fixes <http://webkit.org/b/54646> <rdar://problem/9016889> Assertion failure in
2947         FrameView::paintContents when calling WKPageForceRepaint on a page that uses accelerated
2948         compositing
2949
2950         Reviewed by Anders Carlsson.
2951
2952         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2953         (WebKit::DrawingAreaImpl::forceRepaint): Lay out before we do anything else.
2954
2955 2011-02-17  Alejandro G. Castro  <alex@igalia.com>
2956
2957         Reviewed by Martin Robinson.
2958
2959         [GTK] Add WKPluginSiteDataManager.cpp compilation after r78647
2960         https://bugs.webkit.org/show_bug.cgi?id=54564
2961
2962         * GNUmakefile.am: Added files to compilation.
2963         * Shared/Plugins/Netscape/NetscapePluginModule.h: used
2964         npruntime_internal.h in the include to avoid problems with X
2965         types.
2966         * WebProcess/WebProcess.cpp:
2967         (WebKit::WebProcess::setAlwaysUsesComplexTextCodePath): fixed
2968         ambiguous reference to Font caused by the X headers required by
2969         the plugins.
2970
2971 2011-02-16  Matthew Delaney  <mdelaney@apple.com>
2972
2973         Reviewed by Simon Fraser.
2974
2975         Allow acceleratesDrawing for WebKit2
2976         https://bugs.webkit.org/show_bug.cgi?id=54511
2977
2978         Plumb through preference for accelerated drawing.
2979         
2980         If accelerated drawing is enabled, keep the DrawingAreaImpl in
2981         accelerated compositing mode.
2982
2983         * Shared/WebPreferencesStore.h:
2984         * UIProcess/API/C/WKPreferences.cpp:
2985         (WKPreferencesSetAcceleratedDrawingEnabled):
2986         (WKPreferencesGetAcceleratedDrawingEnabled):
2987         * UIProcess/API/C/WKPreferencesPrivate.h:
2988         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2989         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
2990         (WebKit::DrawingAreaImpl::setRootCompositingLayer):
2991         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
2992         * WebProcess/WebPage/DrawingAreaImpl.h:
2993         * WebProcess/WebPage/WebPage.cpp:
2994         (WebKit::WebPage::updatePreferences):
2995
2996 2011-02-16  Yael Aharon  <yael.aharon@nokia.com>
2997
2998         Reviewed by Andreas Kling.
2999
3000         [Qt] White screen is displayed when tiled backing store is enabled in MiniBrowser.
3001         https://bugs.webkit.org/show_bug.cgi?id=54583
3002
3003         Make sure to invalidate all the tiles, including the last one.
3004
3005         * UIProcess/TiledDrawingAreaProxy.cpp:
3006         (WebKit::TiledDrawingAreaProxy::invalidate):
3007
3008 2011-02-16  Yael Aharon  <yael.aharon@nokia.com>
3009
3010         Reviewed by Andreas Kling.
3011
3012         [Qt] Tiles are not created for webkit2 after r77286.
3013         https://bugs.webkit.org/show_bug.cgi?id=54577
3014
3015         When using the default tile size of 1024x1024, only one tile is created.
3016         Make sure to create this tile by undoing what seems to be a typo in r77286.
3017
3018         * UIProcess/TiledDrawingAreaProxy.cpp:
3019         (WebKit::TiledDrawingAreaProxy::paint):
3020         (WebKit::TiledDrawingAreaProxy::createTiles):
3021
3022 == Rolled over to ChangeLog-2011-02-16 ==