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