3f8766ac61b48c44c70d4caaed45991bb8fdca04
[WebKit.git] / WebKit2 / ChangeLog
1 2010-07-14  Anders Carlsson  <andersca@apple.com>
2
3         Try to fix Windows build.
4
5         * win/WebKit2.vcproj:
6
7 2010-07-14  Anders Carlsson  <andersca@apple.com>
8
9         Reviewed by Sam Weinig.
10
11         More work on plug-in streams
12         https://bugs.webkit.org/show_bug.cgi?id=42308
13
14         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
15         (WebKit::NetscapePlugin::loadURL):
16         If the target is null, create a NetscapePluginStream and add it to the m_streams map.
17
18         (WebKit::NetscapePlugin::removePluginStream):
19         Remove the given NetscapePluginStream from the m_streams map.
20
21         (WebKit::NetscapePlugin::NPP_NewStream):
22         (WebKit::NetscapePlugin::NPP_DestroyStream):
23         Add NPP_ wrappers.
24
25         (WebKit::NetscapePlugin::streamFromID):
26         Return the plug-in stream given a stream ID.
27
28         (WebKit::NetscapePlugin::didEvaluateJavaScript):
29         Find the plug-in stream and call sendJavaScriptStream.
30
31         * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
32         (WebKit::NetscapePluginStream::NetscapePluginStream):
33         Initialize member variables.
34
35         (WebKit::NetscapePluginStream::~NetscapePluginStream):
36         Assert that we aren't started.
37
38         (WebKit::NetscapePluginStream::sendJavaScriptStream):
39         If the JavaScript request was successful, start the stream. Otherwise call stop() which just
40         ends up calling NPP_URLNotify when the stream isn't started.
41
42         (WebKit::NetscapePluginStream::start):
43         Set up the NPStream object. Call NPP_NewStream. Return false if the call was not successful, or if
44         the requested stream type is one that we don't yet support.
45
46         (WebKit::NetscapePluginStream::stop):
47         Call NPP_DestroyStream if the stream is started. Call NPP_URLNotify if necessary.
48
49         * WebProcess/Plugins/PluginView.cpp:
50         (WebKit::PluginView::performJavaScriptURLRequest):
51         Remove unneeded comment.
52
53 2010-07-14  Sam Weinig  <sam@webkit.org>
54
55         Reviewed by John Sullivan.
56
57         Make Back/Forward work.
58
59         * UIProcess/WebPageProxy.cpp:
60         (WebKit::WebPageProxy::goForward): Pass the item ID to avoid roundtrip.
61         (WebKit::WebPageProxy::goBack): Ditto.
62         (WebKit::WebPageProxy::didReceiveMessage): Implement WebPageProxyMessage::BackForwardGoToItem.
63         * WebProcess/WebPage/WebPage.cpp:
64         (WebKit::WebPage::WebPage):
65         (WebKit::WebPage::goForward): Use m_page->goToItem with the correct type instead of the Page shortcut.
66         (WebKit::WebPage::goBack): Ditto.
67         (WebKit::WebPage::didReceiveMessage):
68         * WebProcess/WebPage/WebPage.h:
69         Remove unused m_canGoBack and m_canGoForward.
70
71 2010-07-14  Anders Carlsson  <andersca@apple.com>
72
73         Reviewed by Darin Adler.
74
75         Add NetscapePluginStream class
76         https://bugs.webkit.org/show_bug.cgi?id=42296
77
78         * WebKit2.xcodeproj/project.pbxproj:
79         * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: Added.
80         (WebKit::NetscapePluginStream::NetscapePluginStream):
81         (WebKit::NetscapePluginStream::~NetscapePluginStream):
82         * WebProcess/Plugins/Netscape/NetscapePluginStream.h: Added.
83         (WebKit::NetscapePluginStream::create):
84
85 2010-07-14  Sam Weinig  <sam@webkit.org>
86
87         Reviewed by Darin Adler.
88
89         Patch for https://bugs.webkit.org/show_bug.cgi?id=42297
90         <rdar://problem/8187355>
91         Make titles in WebBackForwardListItems work.
92
93         - Make WebBackForwardListItemMap per WebProcessProxy to allow updating
94           them separate from a page. They are conceptually per process anyway.
95         - Add a message to add or update a WebBackForwardListItemMap triggered
96           by the WebCore::notifyHistoryItemChanged mechanism.
97
98         * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
99         (WebProcessProxyMessage::):
100         Add AddOrUpdateBackForwardItem message.
101
102         * UIProcess/WebBackForwardListItem.h:
103         (WebKit::WebBackForwardListItem::setOriginalURL):
104         (WebKit::WebBackForwardListItem::setURL):
105         (WebKit::WebBackForwardListItem::setTitle):
106         Add setters.
107
108         * UIProcess/WebPageProxy.cpp:
109         (WebKit::WebPageProxy::didReceiveMessage):
110         BackForwardAddItem now assumes the item has already been created, so
111         now just forwards the add message onto the WebBackForwardList.
112
113         (WebKit::WebPageProxy::addItemToBackForwardList): Take a WebBackForwardList instead of an ID.
114         (WebKit::WebPageProxy::goToItemInBackForwardList): Ditto.
115         * UIProcess/WebPageProxy.h: Ditto.
116
117         * UIProcess/WebProcessProxy.cpp:
118         (WebKit::WebProcessProxy::webBackForwardItem):
119         (WebKit::WebProcessProxy::addOrUpdateBackForwardListItem):
120         (WebKit::WebProcessProxy::didReceiveMessage):
121         (WebKit::WebProcessProxy::didReceiveSyncMessage):
122         * UIProcess/WebProcessProxy.h:
123         Have the WebProcessProxy manage the WebBackForwardListItems.
124
125         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
126         (WebKit::updateBackForwardItem):
127         (WebKit::WK2NotifyHistoryItemChanged): Use this to notify UIProcess
128         of HistoryItem changes (such as the title being added).
129         (WebKit::WebBackForwardListProxy::WebBackForwardListProxy):
130         Register the notifyHistoryItemChanged function.
131         (WebKit::WebBackForwardListProxy::addItem):
132         Just send the ID as the updateBackForwardItem is already going to have
133         been called by this time.
134
135 2010-07-14  Anders Carlsson  <andersca@apple.com>
136
137         Reviewed by Sam Weinig.
138
139         Call NPN_URLNotify for frame loads initiated by plug-ins
140         https://bugs.webkit.org/show_bug.cgi?id=42291
141
142         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
143         (WebKit::NetscapePlugin::loadURL):
144         If needed, keep track of the request ID and URL so we can call NPP_URLNotify at a later point.
145
146         (WebKit::NetscapePlugin::frameDidFinishLoading):
147         Get the notification data and the URL from the map and call NPP_URLNotify.
148
149         (WebKit::NetscapePlugin::frameDidFail):
150         Get the notification data and the URL from the map and call NPP_URLNotify.
151
152         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
153
154 2010-07-14  Anders Carlsson  <andersca@apple.com>
155
156         Reviewed by Sam Weinig.
157
158         Add NetscapePlugin::NPP_ member functions for calling into the plug-in
159         https://bugs.webkit.org/show_bug.cgi?id=42287
160
161         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
162         (WebKit::NetscapePlugin::NPP_New):
163         (WebKit::NetscapePlugin::NPP_Destroy):
164         (WebKit::NetscapePlugin::NPP_SetWindow):
165         (WebKit::NetscapePlugin::NPP_URLNotify):
166         (WebKit::NetscapePlugin::callSetWindow):
167         (WebKit::NetscapePlugin::initialize):
168         (WebKit::NetscapePlugin::destroy):
169         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
170
171 2010-07-14  Anders Carlsson  <andersca@apple.com>
172
173         Reviewed by Sam Weinig.
174
175         Send JavaScript url request results back to the plug-in
176         https://bugs.webkit.org/show_bug.cgi?id=42277
177
178         * WebProcess/Plugins/DummyPlugin.cpp:
179         (WebKit::DummyPlugin::didEvaluateJavaScript):
180         * WebProcess/Plugins/DummyPlugin.h:
181         Add empty stub.
182
183         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
184         (WebKit::NetscapePlugin::didEvaluateJavaScript):
185         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
186         Add Empty stub.
187
188         * WebProcess/Plugins/Plugin.h:
189         Add didEvaluateJavaScript pure virtual member function.
190
191         * WebProcess/Plugins/PluginView.cpp:
192         (WebKit::PluginView::performJavaScriptURLRequest):
193         If target is not null, Call Plugin::frameDidFail or Plugin::frameDidFinishLoading.
194         If target is null, call didEvaluateJavaScript with the result string.
195
196 2010-07-14  Sam Weinig  <sam@webkit.org>
197
198         Reviewed by Darin Adler.
199
200         Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
201         Make changing Cursors work in WebKit2.
202
203         * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
204         Add SetCursor message.
205
206         * Shared/WebCoreArgumentCoders.h:
207         Add encoding/decoding of Cursors. For now we don't support Custom
208         cursors.
209
210         * UIProcess/API/mac/PageClientImpl.h:
211         * UIProcess/API/mac/PageClientImpl.mm:
212         (WebKit::PageClientImpl::setCursor):
213         * UIProcess/PageClient.h:
214         Add pass through functions to get the cursor from the WebPageProxy
215         to the WKView.
216
217         * UIProcess/API/mac/WKView.mm:
218         (-[WKView _setCursor:]):
219         * UIProcess/API/mac/WKViewInternal.h:
220         Implement changing the cursor.
221
222         * UIProcess/WebPageProxy.cpp:
223         (WebKit::WebPageProxy::didReceiveMessage):
224         (WebKit::WebPageProxy::setCursor):
225         * UIProcess/WebPageProxy.h:
226         Decode the cursor.
227
228         * UIProcess/win/WebView.cpp:
229         (WebKit::WebView::wndProc):
230         (WebKit::WebView::WebView):
231         (WebKit::WebView::onSetCursor):
232         (WebKit::WebView::setCursor):
233         * UIProcess/win/WebView.h:
234         Implement changing the cursor.
235
236         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
237         (WebKit::WebChromeClient::setCursor):
238         (WebKit::WebChromeClient::setLastSetCursorToCurrentCursor):
239         * WebProcess/WebCoreSupport/WebChromeClient.h:
240         Encode the cursor when setCursor is called.
241
242 2010-07-13  Anders Carlsson  <andersca@apple.com>
243
244         Reviewed by Sam Weinig.
245
246         Add support for loading javascript: URLs
247         https://bugs.webkit.org/show_bug.cgi?id=42221
248
249         * WebProcess/Plugins/DummyPlugin.cpp:
250         (WebKit::DummyPlugin::controller):
251         * WebProcess/Plugins/DummyPlugin.h:
252         Add stub function.
253
254         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
255         (WebKit::NetscapePlugin::destroy):
256         Set the plug-in controller to 0.
257
258         (WebKit::NetscapePlugin::controller):
259         Return the plug-in controller.
260
261         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
262         Add controller() member function.
263
264         * WebProcess/Plugins/Plugin.h:
265         Add controller() pure virtual member function.
266         
267         * WebProcess/Plugins/PluginView.cpp:
268         (WebKit::PluginView::performURLRequest):
269         If the given URL request has a javascript: protocol, call
270         performJavaScriptURLRequest.
271
272         (WebKit::PluginView::performFrameLoadURLRequest):
273         Add a security origin check.
274
275         (WebKit::PluginView::performJavaScriptURLRequest):
276         Evaluate the JavaScript code, Get the resulting string.
277
278         * WebProcess/Plugins/PluginView.h:
279         Add performJavaScriptURLRequest.
280
281 2010-07-13  Anders Carlsson  <andersca@apple.com>
282
283         Reviewed by Sam Weinig.
284
285         Add support for URL frame loading using NPN_GetURLNotify
286         https://bugs.webkit.org/show_bug.cgi?id=42192
287
288         * WebProcess/Plugins/DummyPlugin.cpp:
289         (WebKit::DummyPlugin::frameDidFinishLoading):
290         (WebKit::DummyPlugin::frameDidFail):
291         * WebProcess/Plugins/DummyPlugin.h:
292         Add empty stubs.
293         
294         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
295         Implement NPN_GetURLNotify and have it call NetscapePlugin::loadURL.
296
297         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
298         (WebKit::NetscapePlugin::NetscapePlugin):
299         Initialize m_nextRequestID to 0.
300
301         (WebKit::NetscapePlugin::loadURL):
302         Ask the plug-in controller to load the URL.
303
304         (WebKit::NetscapePlugin::frameDidFinishLoading):
305         (WebKit::NetscapePlugin::frameDidFail):
306         Add empty stubs for now.
307
308         * WebProcess/Plugins/Plugin.h:
309         Add new member functions for frame load notifications.
310
311         * WebProcess/Plugins/PluginController.h:
312         Add loadURL.
313
314         * WebProcess/Plugins/PluginView.cpp:
315         (WebKit::PluginView::URLRequest::URLRequest):
316         Add class that represents an URL request.
317
318         (WebKit::PluginView::PluginView):
319         Initialize m_pendingURLRequestsTimer.
320
321         (WebKit::PluginView::~PluginView):
322         Unset all active load listeners.
323
324         (WebKit::PluginView::pendingURLRequestsTimerFired):
325         Take the first request in the queue and process it.
326
327         (WebKit::PluginView::performURLRequest):
328         Call performFrameLoadURLRequest if necessary.
329
330         (WebKit::PluginView::performFrameLoadURLRequest):
331         Find a frame to load the request in. If a frame doesn't exist try to create a new frame.
332
333         (WebKit::PluginView::loadURL):
334         Create a URLRequest and add it to the queue.
335
336         (WebKit::PluginView::didFinishLoad):
337         Get the pending frame load request and call Plugin::frameDidFinishLoading.
338
339         (WebKit::PluginView::didFailLoad):
340         Get the pending frame load request and call Plugin::frameDidFail.
341
342         * WebProcess/Plugins/PluginView.h:
343         Inherit from WebFrame::LoadListener.
344
345         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
346         (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
347         (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
348         (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
349         (WebKit::WebFrameLoaderClient::didFinishLoad):
350         Call the WebFrame's load listener if needed.
351
352         * WebProcess/WebPage/WebFrame.cpp:
353         (WebKit::WebFrame::WebFrame):
354         Initialize m_loadListener to 0.
355
356         * WebProcess/WebPage/WebFrame.h:
357         Add a LoadListener class that the plug-in view can use to track frame loads.
358
359         (WebKit::WebFrame::LoadListener::~LoadListener):
360         (WebKit::WebFrame::setLoadListener):
361         (WebKit::WebFrame::loadListener):
362
363 2010-07-13  Diego Gonzalez  <diegohcg@webkit.org>
364
365         Reviewed by Kenneth Rohde Christiansen.
366
367         [Qt] [WebKit2] Hook up navigation actions
368         https://bugs.webkit.org/show_bug.cgi?id=42183
369
370         Make Back, Forward, Stop and Reload being enable/disabled according
371         page loading.
372
373         * UIProcess/API/qt/ClientImpl.cpp:
374         (qt_wk_didStartProvisionalLoadForFrame):
375         (qt_wk_didCommitLoadForFrame):
376         (qt_wk_didFinishLoadForFrame):
377         (qt_wk_didFailLoadWithErrorForFrame):
378         * UIProcess/API/qt/qwkpage.cpp:
379         (QWKPagePrivate::updateAction):
380
381 2010-07-13  John Sullivan  <sullivan@apple.com>
382
383         Written by Simon Fraser, reviewed by me.
384
385         Cleaner fix for previous check-in.
386
387         * UIProcess/WebBackForwardList.cpp:
388         (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
389         Use std::max<int> for int-casting brevity.
390
391 2010-07-13  John Sullivan  <sullivan@apple.com>
392
393         Reviewed by Sam Weinig.
394
395         Fixed signed/unsigned problem that led to bogus contents in the array
396         returned by WKBackForwardListCopyBackListWithLimit().
397
398         * UIProcess/WebBackForwardList.cpp:
399         (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
400         Cast m_current and limit to signed values in std::max call.
401
402 2010-07-13  Steve Falkenburg  <sfalken@apple.com>
403
404         Reviewed by Ada Chan.
405
406         Fix missing resources causing layout test failures
407         https://bugs.webkit.org/show_bug.cgi?id=42179
408         
409         Quick fix to get the layout tests going again.
410         I'll work on getting resource.h from WebKit into a cross-project
411         propagated header after this lands.
412
413         * win/WebKit2.rc:
414         * win/resource.h: Copied from WebKit/win/WebKit.vcproj/resource.h.
415
416 2010-07-13  Anders Carlsson  <andersca@apple.com>
417
418         Reviewed by Adam Roben.
419
420         Make all NPN_ functions static.
421
422         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
423
424 2010-07-13  Anders Carlsson  <andersca@apple.com>
425
426         Reviewed by Adam Roben.
427
428         Document the member functions of the abstract Plugin and PluginController classes.
429
430         * WebProcess/Plugins/Plugin.h:
431         * WebProcess/Plugins/PluginController.h:
432
433 2010-07-13  Simon Hausmann  <simon.hausmann@nokia.com>
434
435         [Qt] Trivial build fix.
436
437         Provide a stub for mimeTypeFromExtension() that uses notImplemented().
438
439         * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
440         (WebKit::PluginInfoStore::mimeTypeFromExtension):
441
442 2010-07-13  Simon Hausmann  <simon.hausmann@nokia.com>
443
444         Reviewed by Kenneth Rohde Christiansen.
445
446         [Qt] Tweaks needed to compile WebKit2 with Qt
447         https://bugs.webkit.org/show_bug.cgi?id=41604
448
449         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
450         (WebKit::ProcessLauncherHelper::launch): Adjust to PassOwnPtr API changes.
451         * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Don't include JavaScriptCore.h,
452         as it unconditionally includes JSStringRefCF. Instead include JavaScript.h.
453
454 2010-07-12  Steve Falkenburg  <sfalken@apple.com>
455
456         Windows build fix.
457         Don't build MiniBrowser except for Debug_Internal.
458
459         * WebKit2.sln:
460
461 2010-07-12  Steve Falkenburg  <sfalken@apple.com>
462
463         Reviewed by Maciej Stachowiak.
464
465         Make WebKit2 be built by build-webkit (so it will be built by build.webkit.org bots)
466         https://bugs.webkit.org/show_bug.cgi?id=40922
467         
468         Add additional dependent projects. Necessary since our WebKit build on
469         Windows is packaged into a DLL with WebKit2.
470
471         * WebKit2.sln:
472
473 2010-07-12  Mark Rowe  <mrowe@apple.com>
474
475         Rubber-stamped by Maciej Stachowiak.
476
477         Fix WebKit2 to use the same compiler-selection logic as the other projects.
478
479         * WebKit2.xcodeproj/project.pbxproj: Don't hard-code WebKit2 to build with GCC 4.2.
480
481 2010-07-12  Maciej Stachowiak  <mjs@apple.com>
482
483         Reviewed by Anders Carlsson.
484
485         WKView should override setFrameSize: instead of setFrame:
486         https://bugs.webkit.org/show_bug.cgi?id=42127
487
488         * UIProcess/API/mac/WKView.mm:
489         (-[WKView setFrameSize:]): Override this method instead of setFrame:,
490         since that is the right way to do it.
491
492 2010-07-12  Steve Falkenburg  <sfalken@apple.com>
493
494         Reviewed by Alice Liu.
495
496         <rdar://problem/8113038> WebKit1 and WebKit2 should build as a single DLL
497         https://bugs.webkit.org/show_bug.cgi?id=40921
498         
499         Pre-WebKit2 WebKit now builds into a static library named WebKitLib.lib.
500         WebKit.dll now links in WebCore.lib, WebKitLib.lib and WebKit2 code.
501
502         This is a first step. We'll likely want to migrate the remainder of
503         the non-deprecated WebKit code (strings, DLLMain, resources) into WebKit2.
504
505         * UIProcess/API/C/WKBase.h: Updated to new BUILDING_ name.
506         * WebProcess/InjectedBundle/API/c/WKBundleBase.h: Updated to new BUILDING_ name.
507         * WebProcess/WebCoreSupport/win/WebCoreLocalizedStrings.cpp: Removed.
508         * WebProcess/win/DllMain.cpp: Removed. Overlaps with implementation in WebKitLib.lib.
509         * WebProcess/win/WebLocalizableStrings.cpp: Removed. Overlaps with implementation in WebKitLib.lib.
510         * WebProcess/win/WebLocalizableStrings.h: Removed. Overlaps with implementation in WebKitLib.lib.
511         * win/WebKit2.def: Added. Copied from WebKit project.
512         * win/WebKit2.rc: Added resources previously in WebKit.
513         * win/WebKit2.vcproj: Changed project name to WebKit so we will link output to WebKit.dll.
514         Removed implementations overlapping with WebKitLib (WebCoreLocalizedStrings, DllMain, WebLocalizableStrings, WebProcessMain).
515         * win/WebKit2Common.vsprops: Use a framework name of WebKit instead of WebKit2 to reflect project name.
516         Renamed BUILDING_WEBKIT2 to BUILDING_WEBKIT since there is now just a single WebKit.dll.
517         * win/WebKit2WebProcess.vcproj: Link against WebKit instead of WebKit2 due to renaming.        
518         * win/deleteButton.png: Copied from ../WebKit/win/WebKit.vcproj/deleteButton.png.
519         * win/deleteButtonPressed.png: Copied from ../WebKit/win/WebKit.vcproj/deleteButtonPressed.png.
520         * win/fsVideoAudioVolumeHigh.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoAudioVolumeHigh.png.
521         * win/fsVideoAudioVolumeLow.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoAudioVolumeLow.png.
522         * win/fsVideoExitFullscreen.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoExitFullscreen.png.
523         * win/fsVideoPause.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoPause.png.
524         * win/fsVideoPlay.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoPlay.png.
525         * win/missingImage.png: Copied from ../WebKit/win/WebKit.vcproj/missingImage.png.
526         * win/nullplugin.png: Copied from ../WebKit/win/WebKit.vcproj/nullplugin.png.
527         * win/panEastCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panEastCursor.png.
528         * win/panIcon.png: Copied from ../WebKit/win/WebKit.vcproj/panIcon.png.
529         * win/panNorthCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panNorthCursor.png.
530         * win/panNorthEastCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panNorthEastCursor.png.
531         * win/panNorthWestCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panNorthWestCursor.png.
532         * win/panSouthCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panSouthCursor.png.
533         * win/panSouthEastCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panSouthEastCursor.png.
534         * win/panSouthWestCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panSouthWestCursor.png.
535         * win/panWestCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panWestCursor.png.
536         * win/searchCancel.png: Copied from ../WebKit/win/WebKit.vcproj/searchCancel.png.
537         * win/searchCancelPressed.png: Copied from ../WebKit/win/WebKit.vcproj/searchCancelPressed.png.
538         * win/searchMagnifier.png: Copied from ../WebKit/win/WebKit.vcproj/searchMagnifier.png.
539         * win/searchMagnifierResults.png: Copied from ../WebKit/win/WebKit.vcproj/searchMagnifierResults.png.
540         * win/textAreaResizeCorner.png: Copied from ../WebKit/win/WebKit.vcproj/textAreaResizeCorner.png.
541         * win/verticalTextCursor.png: Copied from ../WebKit/win/WebKit.vcproj/verticalTextCursor.png.
542         * win/zoomInCursor.png: Copied from ../WebKit/win/WebKit.vcproj/zoomInCursor.png.
543         * win/zoomOutCursor.png: Copied from ../WebKit/win/WebKit.vcproj/zoomOutCursor.png.
544
545 2010-07-12  Maciej Stachowiak  <mjs@apple.com>
546
547         Reviewed by Anders Carlsson.
548
549         Get rid of auto_ptr use in WebKit2
550         https://bugs.webkit.org/show_bug.cgi?id=42119
551         
552         Replace all use of auto_ptr with OwnPtr/PassOwnPtr.
553
554         * Platform/CoreIPC/Connection.cpp:
555         (CoreIPC::Connection::sendMessage):
556         (CoreIPC::Connection::waitForMessage):
557         (CoreIPC::Connection::sendSyncMessage):
558         (CoreIPC::Connection::processIncomingMessage):
559         (CoreIPC::Connection::sendOutgoingMessages):
560         (CoreIPC::Connection::dispatchMessages):
561         * Platform/CoreIPC/Connection.h:
562         (CoreIPC::Connection::Message::Message):
563         (CoreIPC::Connection::send):
564         (CoreIPC::Connection::sendSync):
565         (CoreIPC::Connection::waitFor):
566         * Platform/CoreIPC/mac/ConnectionMac.cpp:
567         (CoreIPC::Connection::sendOutgoingMessage):
568         (CoreIPC::createArgumentDecoder):
569         (CoreIPC::Connection::receiveSourceEventHandler):
570         * Platform/CoreIPC/qt/ConnectionQt.cpp:
571         (CoreIPC::Connection::readyReadHandler):
572         (CoreIPC::Connection::sendOutgoingMessage):
573         * Platform/CoreIPC/win/ConnectionWin.cpp:
574         (CoreIPC::Connection::readEventHandler):
575         (CoreIPC::Connection::sendOutgoingMessage):
576         * Platform/RunLoop.cpp:
577         (RunLoop::performWork):
578         (RunLoop::scheduleWork):
579         * Platform/RunLoop.h:
580         * Platform/WorkItem.h:
581         (WorkItem::create):
582         * Platform/WorkQueue.h:
583         * Platform/mac/WorkQueueMac.cpp:
584         (WorkQueue::executeWorkItem):
585         (WorkQueue::scheduleWork):
586         (WorkQueue::EventSource::EventSource):
587         (WorkQueue::registerMachPortEventHandler):
588         * Platform/qt/WorkQueueQt.cpp:
589         (WorkQueue::connectSignal):
590         (WorkQueue::scheduleWork):
591         * Platform/win/WorkQueueWin.cpp:
592         (WorkQueue::registerHandle):
593         (WorkQueue::scheduleWork):
594         (WorkQueue::performWork):
595         * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
596         (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
597         * UIProcess/WebProcessProxy.cpp:
598         (WebKit::WebProcessProxy::sendMessage):
599         (WebKit::WebProcessProxy::didFinishLaunching):
600         * UIProcess/WebProcessProxy.h:
601         (WebKit::WebProcessProxy::send):
602
603 2010-07-12  Ada Chan  <adachan@apple.com>
604
605         Build fix.  Copy WKArray.h to the include directory.
606
607         * win/WebKit2Generated.make:
608
609 2010-07-12  Mark Rowe  <mrowe@apple.com>
610
611         Re-do an Xcode project change that Xcode decided not to save.
612
613         * WebKit2.xcodeproj/project.pbxproj: Remove WebKit2.exp from the project.
614         For some reason it was being copied in to the framework wrapper.
615
616 2010-07-12  Mark Rowe  <mrowe@apple.com>
617
618         Reviewed by Sam Weinig.
619
620         Remove the exports file from WebKit2.
621
622         * Configurations/Base.xcconfig: Have symbols default to hidden visibility.
623         * Configurations/WebKit2.xcconfig: Remove the export file.
624         * UIProcess/API/mac/WKView.h: Export the WKView class.
625         * WebProcess/WebKitMain.cpp: Export the WebKitMain function.
626         * mac/WebKit2.exp: Removed.
627
628 2010-07-12  Adam Roben  <aroben@apple.com>
629
630         Move WebKit2.vcproj's settings into .vsprops files
631
632         This makes it easier to make changes that affect all configurations.
633
634         Fixes <http://webkit.org/b/42097> WebKit2 should use .vsprops files
635
636         Reviewed by Steve Falkenburg.
637
638         * win/WebKit2.vcproj: Moved settings from here to the files below.
639         * win/WebKit2Apple.vsprops: Added. Links against Apple-specific
640         libraries.
641         * win/WebKit2CFLite.vsprops: Added. Links against CFLite.
642         * win/WebKit2Common.vsprops: Added. Contains settings shared by all
643         configurations.
644         * win/WebKit2DirectX.vsprops: Added. Contains settings to help with
645         linking against DirectX.
646
647 2010-07-12  Adam Roben  <aroben@apple.com>
648
649         Stop generating stripped symbols for Release builds
650
651         It turns out we can strip the symbols after-the-fact using PDBCopy.
652
653         Fixes <http://webkit.org/b/42085>.
654
655         Reviewed by Steve Falkenburg.
656
657         * win/WebKit2.vcproj: Removed the no-longer-needed Release override of
658         the StripPrivateSymbols attribute. (This attribute is no longer set in
659         release.vsprops, so doesn't need to be overridden.)
660
661 2010-07-12  Brian Weinstein  <bweinstein@apple.com>
662
663         WebKit2 build fix for Windows.
664
665         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: Remove some stub function definitions.
666         * win/WebKit2.vcproj: Add PluginController.h to the vcproj.
667
668 2010-07-12  Anders Carlsson  <andersca@apple.com>
669
670         Reviewed by Adam Roben.
671
672         Add a PluginController class, use it for invalidation and getting the user agent
673         https://bugs.webkit.org/show_bug.cgi?id=42084
674
675         * WebKit2.xcodeproj/project.pbxproj:
676         Add PluginController.h
677
678         * WebProcess/Plugins/DummyPlugin.cpp:
679         (WebKit::DummyPlugin::initialize):
680         * WebProcess/Plugins/DummyPlugin.h:
681         Pass the PluginController to initialize.
682
683         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
684         Implement NPN_UserAgent, NPN_MemAlloc, NPN_MemFree, NPN_InvalidateRect and NPN_InvalidateRegion.
685
686         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
687         (WebKit::NetscapePlugin::NetscapePlugin):
688         Initialize m_pluginController to null.
689
690         (WebKit::NetscapePlugin::invalidate):
691         Ask the plug-in controller to invalidate.
692
693         (WebKit::NetscapePlugin::userAgent):ยด
694         Ask the plug-in controller for the user agent.
695
696         (WebKit::NetscapePlugin::initialize):
697         Set the m_pluginController member variable.
698
699         * WebProcess/Plugins/Plugin.h:
700         Make initialize take a PluginController.
701
702         * WebProcess/Plugins/PluginController.h: Added.
703
704         * WebProcess/Plugins/PluginView.cpp:
705         (WebKit::PluginView::initializePlugin):
706         Pass the PluginController to initialize.
707
708         (WebKit::PluginView::invalidateRect):
709         Tell the host window to invalidate the given rect.
710
711         (WebKit::PluginView::invalidate):
712         Call invalidateRect.
713
714         (WebKit::PluginView::userAgent):
715         Ask the frame loader client for the user agent.
716
717         * WebProcess/Plugins/PluginView.h:
718
719 2010-07-12  Adam Roben  <aroben@apple.com>
720
721         Windows build fix
722
723         * WebProcess/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Added.
724         (WebKit::NetscapePluginModule::tryLoad):
725         (WebKit::NetscapePluginModule::unload):
726         Stubbed these out.
727
728         * win/WebKit2.vcproj: Added a Netscape filter beneath
729         WebProcess/Plugins, and moved NetscapePlugin into it. Added
730         NetscapePluginModule to the new Netscape filter. Added
731         WebProcess/Plugins to the include path for all configurations (it was
732         only added to Release and Debug_Internal previously) and added
733         WebProcess/Plugins/Netscape to the include path for all
734         configurations.
735
736 2010-07-11  Maciej Stachowiak  <mjs@apple.com>
737
738         Reviewed by Dan Bernstein.
739
740         Implement animation-related methods for WebKitTestRunner
741         https://bugs.webkit.org/show_bug.cgi?id=42053
742
743         Implemented some helpers for WebKitTestRunner;
744         
745         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
746         (WKBundleFrameGetNumberOfActiveAnimations):
747         (WKBundleFramePauseAnimationOnElementWithId):
748         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
749         * WebProcess/WebPage/WebFrame.cpp:
750         (WebKit::WebFrame::numberOfActiveAnimations):
751         (WebKit::WebFrame::pauseAnimationOnElementWithId):
752         * WebProcess/WebPage/WebFrame.h:
753         * mac/WebKit2.exp:
754
755 2010-07-10  Anders Carlsson  <andersca@apple.com>
756
757         Reviewed by Sam Weinig.
758
759         Don't initialize plug-ins until allowed by the page
760         https://bugs.webkit.org/show_bug.cgi?id=42033
761
762         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
763         (WebKit::NetscapePlugin::paint):
764         (WebKit::NetscapePlugin::geometryDidChange):
765         Assert that the plug-in is started.
766
767         * WebProcess/Plugins/PluginView.cpp:
768         (WebKit::PluginView::PluginView):
769         Initialize m_isWaitingUntilMediaCanStart.
770         
771         (WebKit::PluginView::~PluginView):
772         If necessary, remove the plug-in view as a MediaCanStartListener.
773
774         (WebKit::PluginView::initializePlugin):
775         If we're not allowed to initialize the plug-in, add the plug-in view as a MediaCanStartListener.
776
777         (WebKit::PluginView::paint):
778         Check that the plug-in is initialized.
779
780         (WebKit::PluginView::viewGeometryDidChange):
781         Ditto.
782
783         (WebKit::PluginView::mediaCanStart):
784         Initialize the plug-in.
785
786         * WebProcess/Plugins/PluginView.h:
787
788 2010-07-10  Anders Carlsson  <andersca@apple.com>
789
790         Reviewed by Dan Bernstein.
791
792         Have the plug-in view initialize the plug-in
793         https://bugs.webkit.org/show_bug.cgi?id=42030
794
795         * WebProcess/Plugins/DummyPlugin.cpp:
796         (WebKit::DummyPlugin::initialize):
797         * WebProcess/Plugins/DummyPlugin.h:
798         Plugin::initialize now takes a struct.
799         
800         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
801         (WebKit::NetscapePlugin::initialize):        
802         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
803         Plugin::initialize now takes a struct.
804         
805         * WebProcess/Plugins/Plugin.h:
806         Add Parameters struct.
807
808         * WebProcess/Plugins/PluginView.cpp:
809         (WebKit::PluginView::PluginView):
810         Add Parameters parameter.
811
812         (WebKit::PluginView::~PluginView):
813         Add m_plugin null check.
814
815         (WebKit::PluginView::initializePlugin):
816         Try to initialize the plug-in and zero out the plug-in if initialization fails.
817
818         (WebKit::PluginView::paint):
819         Add m_plugin null check.
820         
821         (WebKit::PluginView::setParent):
822         Initialize the plug-in.
823     
824         * WebProcess/Plugins/PluginView.h:
825         (WebKit::PluginView::create):
826         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
827         (WebKit::WebFrameLoaderClient::createPlugin):
828         Don't initialize the plug-in here.
829
830 2010-07-10  Anders Carlsson  <andersca@apple.com>
831
832         Reviewed by Oliver Hunt.
833
834         Call Page::canStartMedia when the WKView is added to/removed from a window
835         https://bugs.webkit.org/show_bug.cgi?id=42029
836
837         * Shared/CoreIPCSupport/WebPageMessageKinds.h:
838         (WebPageMessage::):
839         Add SetIsInWindow.
840
841         * UIProcess/API/mac/WKView.mm:
842         (-[WKView initWithFrame:pageNamespaceRef:]):
843         Call setIsInWindow.
844
845         (-[WKView _updateVisibility]):
846         Call setIsInWindow.
847
848         * UIProcess/WebPageProxy.cpp:
849         (WebKit::WebPageProxy::WebPageProxy):
850         Initialize m_isInWindow.
851
852         (WebKit::WebPageProxy::setIsInWindow):
853         Send WebPageMessage::SetIsInWindow.
854
855         * UIProcess/WebPageProxy.h:
856         * WebProcess/WebPage/WebPage.cpp:
857         (WebKit::WebPage::setIsInWindow):
858         Call Page::canStartMedia.
859
860         (WebKit::WebPage::didReceiveMessage):
861         Handle the SetIsInWindow message.
862
863         * WebProcess/WebPage/WebPage.h:
864
865 2010-07-10  Anders Carlsson  <andersca@apple.com>
866
867         Reviewed by Dan Bernstein.
868
869         Reuse initialized NetscapePluginModules, pass parameters to NPP_New
870         https://bugs.webkit.org/show_bug.cgi?id=42028
871
872         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
873         (WebKit::NetscapePlugin::NetscapePlugin):
874         Let the plug-in module know that a plug-in has been created.
875
876         (WebKit::NetscapePlugin::~NetscapePlugin):
877         Let the plug-in module know that a plug-in has been destroyed.
878
879         (WebKit::NetscapePlugin::initialize):
880         Pass the MIME type and parameters to the plug-in.
881
882         * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
883         (WebKit::initializedNetscapePluginModules):
884         Add list of initialized plug-in modules.
885
886         (WebKit::NetscapePluginModule::NetscapePluginModule):
887         Initialize m_pluginCount to 0.
888
889         (WebKit::NetscapePluginModule::~NetscapePluginModule):
890         Assert that we're not in the list of initialized plug-ins.
891
892         (WebKit::NetscapePluginModule::pluginCreated):
893         Increment the plug-in count.
894
895         (WebKit::NetscapePluginModule::pluginDestroyed):
896         Decrement the plug-in count and call shutdown if it's 0.
897
898         (WebKit::NetscapePluginModule::shutdown):
899         Call NP_Shutdown and remove the plug-in from the list of initialized plug-ins.
900
901         (WebKit::NetscapePluginModule::getOrCreate):
902         Look for an already initialized plug-in module before creating one.
903
904         (WebKit::NetscapePluginModule::load):
905         Set m_isInitialized to true.
906
907         * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp:
908         (WebKit::NetscapePluginModule::unload):
909         Leak the CFBundleRef to avoid possible crashes.
910
911         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
912         (WebKit::WebFrameLoaderClient::createPlugin):
913         Call getOrCreate instead of create.
914
915 2010-07-09  Leon Clarke  <leonclarke@google.com>
916
917         Reviewed by Adam Barth.
918
919         add support for link prefetching
920         https://bugs.webkit.org/show_bug.cgi?id=3652
921
922         * Configurations/FeatureDefines.xcconfig:
923
924 2010-07-09  Anders Carlsson  <andersca@apple.com>
925
926         Reviewed by Sam Weinig and Dan Bernstein.
927
928         Handle setting of drawing and event models
929         https://bugs.webkit.org/show_bug.cgi?id=41994
930
931         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
932         Handle NPPVpluginDrawingModel and NPPVpluginEventModel.
933
934         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
935         (WebKit::NetscapePlugin::NetscapePlugin):
936         Initialize m_inNPPNew.
937
938         (WebKit::NetscapePlugin::~NetscapePlugin):
939         Assert that we aren't still running.
940
941         (WebKit::NetscapePlugin::fromNPP):
942         New function that returns a NetscapePlugin object given a NPP pointer.
943
944         (WebKit::NetscapePlugin::initialize):
945         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.cpp:
946         (WebKit::NetscapePlugin::setDrawingModel):
947         Set the drawing model.
948
949         (WebKit::NetscapePlugin::setEventModel):
950         Set the event model.
951
952         (WebKit::initializeEvent):
953         (WebKit::NetscapePlugin::platformPaint):
954         Only send the Cocoa event when using the Cocoa event model.
955
956 2010-07-09  Sam Weinig  <sam@webkit.org>
957
958         Reviewed by Anders Carlsson.
959
960         Patch for https://bugs.webkit.org/show_bug.cgi?id=41971
961         Add really basic BackForwardList support.
962
963         * Shared/CoreIPCSupport/WebPageMessageKinds.h:
964         (WebPageMessage::):
965         Add new message kind.
966
967         * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
968         (WebPageProxyMessage::):
969         Add new message kinds. Remove DidChangeCanGoBack and DidChangeCanGoForward.
970
971         * UIProcess/API/C/WKPage.cpp:
972         (WKPageGoToBackForwardListItem):
973         * UIProcess/API/C/WKPage.h:
974         Add function to initiate a navigation to a BackForward item.  The
975         BackForward list will be updated to use this as the current item
976         asynchronously. 
977
978         * UIProcess/WebBackForwardList.cpp:
979         (WebKit::WebBackForwardList::WebBackForwardList):
980         (WebKit::WebBackForwardList::addItem): Added.
981         (WebKit::WebBackForwardList::goToItem): Added.
982         (WebKit::WebBackForwardList::itemAtIndex): Added.
983         (WebKit::WebBackForwardList::backListCount): Changed to return int matching WebCore.
984         (WebKit::WebBackForwardList::forwardListCount): Ditto.
985         (WebKit::WebBackForwardList::backListWithLimit): Add cast to int.
986         (WebKit::WebBackForwardList::forwardListWithLimit): Ditto.
987         (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit): Ditto.
988         (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit): Ditto.
989         * UIProcess/WebBackForwardList.h:
990
991         * UIProcess/WebBackForwardListItem.cpp:
992         (WebKit::WebBackForwardListItem::WebBackForwardListItem):
993         * UIProcess/WebBackForwardListItem.h:
994         (WebKit::WebBackForwardListItem::create):
995         (WebKit::WebBackForwardListItem::itemID):
996         Added itemID.
997
998         * UIProcess/WebPageProxy.cpp:
999         (WebKit::WebPageProxy::WebPageProxy):
1000         (WebKit::WebPageProxy::close):
1001         (WebKit::WebPageProxy::canGoForward):
1002         (WebKit::WebPageProxy::canGoBack):
1003         (WebKit::WebPageProxy::goToBackForwardItem):
1004         (WebKit::WebPageProxy::didReceiveMessage):
1005         (WebKit::WebPageProxy::didReceiveSyncMessage):
1006         (WebKit::WebPageProxy::addItemToBackForwardList):
1007         (WebKit::WebPageProxy::goToItemInBackForwardList):
1008         (WebKit::WebPageProxy::processDidExit):
1009         * UIProcess/WebPageProxy.h:
1010         - Removed m_canGoBack and m_canGoForward booleans and instead use the BackForwardList.
1011         - Forward goToBackForwardItem to the WebProcess.
1012         - Respond to messages from the WebBackForwardListProxy in the WebProcess,
1013           forwarding to the WebBackForwardList.
1014
1015         * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp:
1016         (WebKit::WebBackForwardControllerClient::createBackForwardList):
1017         Start using a WebBackForwardListProxy instead of a BackForwardListImpl.
1018
1019         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1020         (WebKit::WebFrameLoaderClient::dispatchDidAddBackForwardItem):
1021         (WebKit::WebFrameLoaderClient::dispatchDidRemoveBackForwardItem):
1022         (WebKit::WebFrameLoaderClient::dispatchDidChangeBackForwardIndex):
1023         Remove calls backForwardListDidChange() now that we communicate much more
1024         information than just this state.
1025
1026         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
1027         (WebKit::idToHistoryItemMap):
1028         (WebKit::historyItemToIDMap):
1029         (WebKit::generateHistoryItemID):
1030         (WebKit::getIDForHistoryItem):
1031         (WebKit::WebBackForwardListProxy::itemForID):
1032         Add leaking cached maps of HistoryItems to IDs, the life time of these
1033         objects will be improved in a subsequent patch.
1034
1035         (WebKit::WebBackForwardListProxy::WebBackForwardListProxy):
1036         (WebKit::WebBackForwardListProxy::addItem):
1037         (WebKit::WebBackForwardListProxy::goBack):
1038         (WebKit::WebBackForwardListProxy::goForward):
1039         (WebKit::WebBackForwardListProxy::goToItem):
1040         (WebKit::WebBackForwardListProxy::backItem):
1041         (WebKit::WebBackForwardListProxy::currentItem):
1042         (WebKit::WebBackForwardListProxy::forwardItem):
1043         (WebKit::WebBackForwardListProxy::itemAtIndex):
1044         (WebKit::WebBackForwardListProxy::backListWithLimit):
1045         (WebKit::WebBackForwardListProxy::forwardListWithLimit):
1046         (WebKit::WebBackForwardListProxy::capacity):
1047         (WebKit::WebBackForwardListProxy::setCapacity):
1048         (WebKit::WebBackForwardListProxy::enabled):
1049         (WebKit::WebBackForwardListProxy::setEnabled):
1050         (WebKit::WebBackForwardListProxy::backListCount):
1051         (WebKit::WebBackForwardListProxy::forwardListCount):
1052         (WebKit::WebBackForwardListProxy::containsItem):
1053         (WebKit::WebBackForwardListProxy::close):
1054         (WebKit::WebBackForwardListProxy::closed):
1055         (WebKit::WebBackForwardListProxy::removeItem):
1056         (WebKit::WebBackForwardListProxy::entries):
1057         (WebKit::WebBackForwardListProxy::pushStateItem):
1058         * WebProcess/WebPage/WebBackForwardListProxy.h:
1059         Forward functions to the UIProcess.
1060
1061         * WebProcess/WebPage/WebPage.cpp:
1062         (WebKit::WebPage::goToBackForwardItem):
1063         (WebKit::WebPage::didReceiveMessage):
1064         * WebProcess/WebPage/WebPage.h:
1065         Respond to GoToBackForwardItem message.
1066
1067         * mac/WebKit2.exp: Add new API function.
1068
1069 2010-07-09  Anders Carlsson  <andersca@apple.com>
1070
1071         Reviewed by Sam Weinig.
1072
1073         Verify drawing coordinates, add crude painting support
1074         https://bugs.webkit.org/show_bug.cgi?id=41984
1075     
1076         * WebKit2.xcodeproj/project.pbxproj:
1077         Add NetscapePluginMac.cpp.
1078
1079         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1080         (WebKit::NetscapePlugin::NetscapePlugin):
1081         Initialize drawing and event models.
1082
1083         (WebKit::NetscapePlugin::initialize):
1084         Call platformPostInitialize.
1085
1086         (WebKit::NetscapePlugin::destroy):
1087         Call NPP_Destroy.
1088
1089         (WebKit::NetscapePlugin::paint):
1090         Call platformPaint.
1091
1092         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1093         Add member functions.
1094
1095         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.cpp: Added.
1096         (WebKit::NetscapePlugin::platformPostInitialize):
1097         Set default event and drawing models and verify that they are compatible.
1098         
1099         (WebKit::NetscapePlugin::platformPaint):
1100         Send a paint event (assuming the Cocoa event model currently).
1101
1102         * WebProcess/Plugins/PluginView.cpp:
1103         (WebKit::PluginView::paint):
1104         Change the paint rect to be in window coordinates.
1105
1106         (WebKit::PluginView::viewGeometryDidChange):
1107         (WebKit::PluginView::clipRectInWindowCoordinates):
1108         * WebProcess/Plugins/PluginView.h:
1109
1110 2010-07-09  Anders Carlsson  <andersca@apple.com>
1111
1112         Reviewed by Sam Weinig.
1113
1114         Pass a clip rect to the plugin and call NPP_SetWindow
1115         https://bugs.webkit.org/show_bug.cgi?id=41969
1116
1117         * WebProcess/Plugins/DummyPlugin.cpp:
1118         (WebKit::DummyPlugin::geometryDidChange):
1119         * WebProcess/Plugins/DummyPlugin.h:
1120         Add clip rect parameter.
1121
1122         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1123         (WebKit::NetscapePlugin::NetscapePlugin):
1124         Initialize m_npWindow.
1125
1126         (WebKit::NetscapePlugin::callSetWindow):
1127         Call NPP_SetWindow.
1128
1129         (WebKit::NetscapePlugin::initialize):
1130         Set the window type to NPWindowTypeDrawable for now.
1131
1132         (WebKit::NetscapePlugin::geometryDidChange):
1133         Update the frame and clip rects and call NPP_SetWindow.
1134
1135         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1136         Add an NPWindow member variable.
1137
1138         * WebProcess/Plugins/Plugin.h:
1139         Add a clipRect parameter to geometryDidChange.
1140
1141         * WebProcess/Plugins/PluginView.cpp:
1142         (WebKit::PluginView::PluginView):
1143         Add the plug-in element to the constructor.
1144         
1145         (WebKit::PluginView::viewGeometryDidChange):
1146         Compute the clip rect and pass it to the plug-in.
1147
1148         * WebProcess/Plugins/PluginView.h:
1149         (WebKit::PluginView::create):
1150         Pass the plug-in element to the constructor.
1151
1152         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1153         (WebKit::WebFrameLoaderClient::createPlugin):
1154         Pass the plug-in element to PluginView::create.
1155
1156 2010-07-09  Anders Carlsson  <andersca@apple.com>
1157
1158         Reviewed by Simon Fraser.
1159
1160         Instantiate Netscape plug-ins, pass geometry information to Plugin
1161         https://bugs.webkit.org/show_bug.cgi?id=41960
1162
1163         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1164         Handle NPNVsupportsCoreGraphicsBool and NPNVsupportsCocoaBool.
1165
1166         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1167         (WebKit::NetscapePlugin::NetscapePlugin):
1168         Set npp.ndata.
1169
1170         (WebKit::NetscapePlugin::initialize):
1171         Try to instantiate the plug-in by calling NPP_New.
1172
1173         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1174         Store the NetscapePluginModule and the NPP struct.
1175
1176         * WebProcess/Plugins/Netscape/NetscapePluginModule.h:
1177         Add a getter for the NPPluginFuncs vtable.
1178
1179         * WebProcess/Plugins/PluginView.cpp:
1180         (WebKit::PluginView::frameRectsChanged):
1181         Make sure to call viewGeometryDidChange.
1182
1183         (WebKit::PluginView::setParent):
1184         Ditto.
1185
1186         (WebKit::PluginView::viewGeometryDidChange):
1187         Convert the frame rect to window coordinates and pass it to the plug-in.
1188
1189         * WebProcess/Plugins/PluginView.h:
1190         Add function declarations.
1191
1192 2010-07-08  Diego Gonzalez  <diegohcg@webkit.org>
1193
1194         Reviewed by Kenneth Rohde Christiansen.
1195
1196         [Qt] [WebKit2] Make QWKPage call _q_webActionTriggered as a private slot
1197         https://bugs.webkit.org/show_bug.cgi?id=41880
1198
1199         * UIProcess/API/qt/qwkpage.cpp:
1200         * UIProcess/API/qt/qwkpage.h:
1201
1202 2010-07-09  Antti Koivisto  <koivisto@iki.fi>
1203
1204         Not reviewed.
1205
1206         Build fix.
1207
1208         * UIProcess/API/qt/qwkpage.h:
1209
1210 2010-07-08  Brian Weinstein  <bweinstein@apple.com>
1211
1212         WebKit2 build fix for Windows.
1213
1214         * WebProcess/Plugins/PluginView.h: Change the forward declaration of Plugin
1215             to an include.
1216         * win/WebKit2.vcproj: Update the include paths for Release to match Debug, and
1217             add some files to the vcproj that were added on Mac.
1218
1219 2010-07-08  Sam Weinig  <sam@webkit.org>
1220
1221         Attempt to fix the windows build.
1222
1223         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1224         (WebKit::WebFrameLoaderClient::createPlugin):
1225
1226 2010-07-08  Anders Carlsson  <andersca@apple.com>
1227
1228         Reviewed by Sam Weinig.
1229
1230         Add NetscapePlugin class
1231         https://bugs.webkit.org/show_bug.cgi?id=41919
1232
1233         * WebKit2.xcodeproj/project.pbxproj:
1234         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: Added.
1235         (WebKit::NetscapePlugin::NetscapePlugin):
1236         (WebKit::NetscapePlugin::~NetscapePlugin):
1237         (WebKit::NetscapePlugin::initialize):
1238         (WebKit::NetscapePlugin::destroy):
1239         (WebKit::NetscapePlugin::paint):
1240         (WebKit::NetscapePlugin::geometryDidChange):
1241         * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added.
1242         (WebKit::NetscapePlugin::create):
1243         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1244         (WebKit::WebFrameLoaderClient::createPlugin):
1245
1246 2010-07-08  Anders Carlsson  <andersca@apple.com>
1247
1248         Reviewed by Sam Weinig.
1249
1250         Enable notImplemented messages by default and have the various clients explicitly disable them.
1251
1252         * Shared/NotImplemented.h:
1253         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1254         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1255         * WebProcess/WebCoreSupport/WebDragClient.cpp:
1256         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1257         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1258         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1259
1260 2010-07-08  Anders Carlsson  <andersca@apple.com>
1261
1262         Reviewed by Sam Weinig.
1263
1264         Add stubbed out NPN functions
1265         https://bugs.webkit.org/show_bug.cgi?id=41917
1266
1267         * WebKit2.xcodeproj/project.pbxproj:
1268         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: Added.
1269         (WebKit::initializeBrowserFuncs):
1270         (WebKit::netscapeBrowserFuncs):
1271         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h: Added.
1272         * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp:
1273         (WebKit::NetscapePluginModule::tryLoad):
1274
1275 2010-07-08  Anders Carlsson  <andersca@apple.com>
1276
1277         Fix Windows build.
1278
1279         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1280
1281 2010-07-08  Luiz Agostini  <luiz.agostini@openbossa.org>
1282
1283         Reviewed by Kenneth Rohde Christiansen.
1284
1285         [Qt] Spelling and style correction
1286         https://bugs.webkit.org/show_bug.cgi?id=41891
1287
1288         Correcting a spelling and a style mistakes.
1289
1290         * UIProcess/Launcher/ProcessLauncher.h:
1291         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
1292
1293 2010-07-08  Anders Carlsson  <andersca@apple.com>
1294
1295         Reviewed by Sam Weinig.
1296
1297         Implement more of NetscapePluginModule
1298         https://bugs.webkit.org/show_bug.cgi?id=41910
1299
1300         * WebKit2.xcodeproj/project.pbxproj:
1301         * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
1302         (WebKit::NetscapePluginModule::create):
1303         (WebKit::NetscapePluginModule::load):
1304         * WebProcess/Plugins/Netscape/NetscapePluginModule.h:
1305         * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp: Added.
1306         (WebKit::NetscapePluginModule::unload):
1307         (WebKit::pointerToFunction):
1308         (WebKit::NetscapePluginModule::tryLoad):
1309         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1310         (WebKit::WebFrameLoaderClient::createPlugin):
1311
1312 2010-07-08  Anders Carlsson  <andersca@apple.com>
1313
1314         Reviewed by Sam Weinig.
1315
1316         Add stubbed out NetscapePluginModule class
1317         https://bugs.webkit.org/show_bug.cgi?id=41901
1318
1319         * WebKit2.xcodeproj/project.pbxproj:
1320         * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp: Added.
1321         (WebKit::NetscapePluginModule::NetscapePluginModule):
1322         * WebProcess/Plugins/Netscape/NetscapePluginModule.h: Added.
1323         (WebKit::NetscapePluginModule::create):
1324         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1325         (WebKit::WebFrameLoaderClient::createPlugin):
1326
1327 2010-07-08  Luiz Agostini  <luiz.agostini@openbossa.org>
1328
1329         Reviewed by Kenneth Rohde Christiansen.
1330
1331         [Qt] Move socket objects to connection's thread
1332         https://bugs.webkit.org/show_bug.cgi?id=41897
1333
1334         To receive network related notifications in the WorkQueue thread, the
1335         QLocalSocket instances must be moved to that thread.
1336
1337         * Platform/CoreIPC/qt/ConnectionQt.cpp:
1338         (CoreIPC::Connection::open):
1339         * Platform/WorkQueue.h:
1340         * Platform/qt/WorkQueueQt.cpp:
1341         (WorkQueue::moveSocketToWorkThread):
1342
1343 2010-07-08  Alice Liu  <alice.liu@apple.com>
1344
1345         Reviewed by Sam Weinig.
1346
1347         https://bugs.webkit.org/show_bug.cgi?id=41653
1348         Add new WebKitTestRunner project for Windows
1349
1350         * win/WebKit2Generated.make: Add files needed for WebKitTestRunner
1351
1352 2010-07-08  Anders Carlsson  <andersca@apple.com>
1353
1354         Reviewed by Sam Weinig.
1355
1356         Add a GetPluginHostConnection WebProcessProxy message
1357         https://bugs.webkit.org/show_bug.cgi?id=41893
1358         
1359         * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
1360         (WebProcessProxyMessage::):
1361         * UIProcess/WebProcessProxy.cpp:
1362         (WebKit::WebProcessProxy::getPluginHostConnection):
1363         (WebKit::WebProcessProxy::didReceiveMessage):
1364         (WebKit::WebProcessProxy::didReceiveSyncMessage):
1365         * UIProcess/WebProcessProxy.h:
1366         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1367         (WebKit::WebFrameLoaderClient::createPlugin):
1368
1369 2010-07-08  Anders Carlsson  <andersca@apple.com>
1370
1371         Reviewed by Sam Weinig.
1372
1373         Add more parameters to Plugin::initialize
1374         https://bugs.webkit.org/show_bug.cgi?id=41890
1375
1376         * WebProcess/Plugins/DummyPlugin.cpp:
1377         (WebKit::DummyPlugin::initialize):
1378         * WebProcess/Plugins/DummyPlugin.h:
1379         * WebProcess/Plugins/Plugin.h:
1380         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1381         (WebKit::WebFrameLoaderClient::createPlugin):
1382
1383 2010-07-08  Anders Carlsson  <andersca@apple.com>
1384
1385         Fix build.
1386
1387         * WebProcess/Plugins/DummyPlugin.h:
1388
1389 2010-07-08  Anders Carlsson  <andersca@apple.com>
1390
1391         Reviewed by Sam Weinig.
1392
1393         Add a Plugin abstract base class and a DummyPlugin that implements it
1394         https://bugs.webkit.org/show_bug.cgi?id=41885
1395
1396         * WebKit2.xcodeproj/project.pbxproj:
1397         Add files.
1398
1399         * WebProcess/Plugins/DummyPlugin.cpp: Added.
1400         (WebKit::DummyPlugin::paint):
1401         Paint a red rectangle.
1402         
1403         * WebProcess/Plugins/Plugin.cpp: Added.
1404         * WebProcess/Plugins/Plugin.h: Added.
1405         Add Plugin, an abstract baseclass.
1406
1407         * WebProcess/Plugins/PluginView.cpp:
1408         (WebKit::PluginView::PluginView):
1409         (WebKit::PluginView::~PluginView):
1410         (WebKit::PluginView::paint):
1411         (WebKit::PluginView::viewGeometryDidChange):
1412         * WebProcess/Plugins/PluginView.h:
1413         (WebKit::PluginView::create):
1414         Add a Plugin member function and forward PluginView calls to it.
1415
1416         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1417         (WebKit::WebFrameLoaderClient::createPlugin):
1418         Make a DummyPlugin and pass it to the PluginView.
1419
1420         * win/WebKit2.vcproj:
1421         Add files.
1422         
1423 2010-07-08  Anders Carlsson  <andersca@apple.com>
1424
1425         Reviewed by Sam Weinig.
1426
1427         Add stubbed out PluginView class
1428         https://bugs.webkit.org/show_bug.cgi?id=41879
1429
1430         * WebKit2.xcodeproj/project.pbxproj:
1431         Add PluginView.cpp and PluginView.h
1432
1433         * WebProcess/Plugins/PluginView.cpp: Added.
1434         (WebKit::PluginView::PluginView):
1435         (WebKit::PluginView::~PluginView):
1436         (WebKit::PluginView::setFrameRect):
1437         (WebKit::PluginView::paint):
1438         (WebKit::PluginView::viewGeometryDidChange):
1439         (WebKit::PluginView::invalidateRect):
1440         Stub out these functions.
1441
1442         * WebProcess/Plugins/PluginView.h: Added.
1443         (WebKit::PluginView::create):
1444         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1445         (WebKit::WebFrameLoaderClient::createPlugin):
1446         Create a plug-in view.
1447         
1448         * win/WebKit2.vcproj:
1449         Add PluginView.cpp and PluginView.h.
1450
1451 2010-07-08  Steve Falkenburg  <sfalken@apple.com>
1452
1453         Reviewed by Adam Roben.
1454
1455         WebKit2 on Windows needs a version resource
1456         https://bugs.webkit.org/show_bug.cgi?id=41870
1457         <rdar://problem/8170501>
1458
1459         * win/WebKit2.rc: Added.
1460         * win/WebKit2.vcproj:
1461         * win/WebKit2WebProcess.rc: Added.
1462         * win/WebKit2WebProcess.vcproj:
1463
1464 2010-07-08  Sam Weinig  <sam@webkit.org>
1465
1466         Reviewed by Anders Carlsson.
1467
1468         Patch for https://bugs.webkit.org/show_bug.cgi?id=41874
1469         Add stubbed out WebBackForwardListProxy
1470
1471         - No behavior change.
1472         - Rename the old WebBackForwardListProxy to WebBackForwardList since it
1473           will be the implementation, not the proxy.
1474
1475         * UIProcess/API/C/WKAPICast.h:
1476         * UIProcess/API/C/WKBackForwardList.cpp:
1477         * UIProcess/API/C/WKPage.cpp:
1478         * UIProcess/WebBackForwardList.cpp: Copied from UIProcess/WebBackForwardListProxy.cpp.
1479         * UIProcess/WebBackForwardList.h: Copied from UIProcess/WebBackForwardListProxy.h.
1480         (WebKit::WebBackForwardList::create):
1481         * UIProcess/WebBackForwardListProxy.cpp: Removed.
1482         * UIProcess/WebBackForwardListProxy.h: Removed.
1483         * UIProcess/WebPageProxy.cpp:
1484         (WebKit::WebPageProxy::WebPageProxy):
1485         * UIProcess/WebPageProxy.h:
1486         (WebKit::WebPageProxy::backForwardList):
1487         * WebKit2.xcodeproj/project.pbxproj:
1488         * WebProcess/WebPage/WebBackForwardListProxy.cpp: Added.
1489         * WebProcess/WebPage/WebBackForwardListProxy.h: Added.
1490         (WebKit::WebBackForwardListProxy::create):
1491         * win/WebKit2.vcproj:
1492
1493 2010-07-08  Sam Weinig  <sam@webkit.org>
1494
1495         Reviewed by Anders Carlsson.
1496
1497         Pass Page to BackForwardControllerClient::createBackForwardList since it
1498         may be called before implementations of BackForwardControllerClient have
1499         access to a Page.
1500
1501         * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp:
1502         (WebKit::WebBackForwardControllerClient::createBackForwardList):
1503         * WebProcess/WebCoreSupport/WebBackForwardControllerClient.h:
1504
1505 2010-07-08  Anders Carlsson  <andersca@apple.com>
1506
1507         Reviewed by Sam Weinig.
1508
1509         Fix fallout from Darin's adoptRef assertion changes.
1510
1511         * UIProcess/WebContext.cpp:
1512         (WebKit::WebContext::sharedProcessContext):
1513         (WebKit::WebContext::sharedThreadContext):
1514         * WebProcess/WebPage/WebFrame.cpp:
1515         (WebKit::WebFrame::createMainFrame):
1516         (WebKit::WebFrame::createSubframe):
1517         (WebKit::WebFrame::create):
1518         (WebKit::WebFrame::WebFrame):
1519         * WebProcess/WebPage/WebFrame.h:
1520
1521 2010-07-08  Steve Falkenburg  <sfalken@apple.com>
1522
1523         Reviewed by Mark Rowe.
1524
1525         WebKit2 should enable DEP (Data Execution Prevention) on Windows via /NXCOMPAT
1526         https://bugs.webkit.org/show_bug.cgi?id=41837
1527         <rdar://problem/8170505>
1528
1529         * win/WebKit2WebProcess.vcproj:
1530
1531 2010-07-08  Sam Weinig  <sam@webkit.org>
1532
1533         Reviewed by Anders Carlsson.
1534
1535         Patch for https://bugs.webkit.org/show_bug.cgi?id=41826
1536         Convert BackForwardList to an abstract base class and add BackForwardListImpl
1537         as the concrete implementation of it.
1538
1539         * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp:
1540         (WebKit::WebBackForwardControllerClient::createBackForwardList):
1541
1542 2010-07-08  Luiz Agostini  <luiz@webkit.org>, Kenneth Rohde Christiansen <kenneth@webkit.org>
1543
1544         Reviewed by Antti Koivisto.
1545
1546         [Qt] Improve QtWebkit2 secondary process launching procedure
1547         https://bugs.webkit.org/show_bug.cgi?id=41853
1548
1549         Changing secondary process launching procedure to make sure that the method
1550         ProcessLauncher::didFinishLaunchingProcess will only be called after secondary
1551         process has been launched and the connection has been stablished between the
1552         UIProcess and WebProcess.
1553
1554         This solves the timing issues ocasionaly observed when launching MiniBrowser.
1555
1556         QLocalServer object and related code has been removed from the class Connection.
1557         Server instances of the Connection class now get the QLocalSocket via ProcessLauncher.
1558
1559         * Platform/CoreIPC/Connection.h:
1560         * Platform/CoreIPC/qt/ConnectionQt.cpp:
1561         (CoreIPC::Connection::platformInitialize):
1562         (CoreIPC::Connection::platformInvalidate):
1563         (CoreIPC::Connection::open):
1564
1565         Using QProcess* as PlatformProcessIdentifier.
1566
1567         * Platform/PlatformProcessIdentifier.h:
1568
1569         A new singleton class named ProcessLauncherHelper was created to handle the QLocalServer
1570         object used to receive connections. This class launches the process and waits for it to connect
1571         before calling ProcessLauncher::didFinishLaunchingProcess.
1572
1573         * UIProcess/Launcher/ProcessLauncher.h:
1574         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
1575         (WebKit::ProcessLauncherHelper::launch):
1576         (WebKit::ProcessLauncherHelper::takePendingConnection):
1577         (WebKit::ProcessLauncherHelper::ProcessLauncherHelper):
1578         (WebKit::ProcessLauncherHelper::instance):
1579         (WebKit::ProcessLauncherHelper::newConnection):
1580         (WebKit::ProcessLauncher::launchProcess):
1581         (WebKit::ProcessLauncher::terminateProcess):
1582         (_qt_takePendingConnection):
1583
1584 2010-07-08  Antti Koivisto  <koivisto@iki.fi>
1585
1586         Reviewed by Kenneth Rohde Christiansen.
1587
1588         [Qt] Initial WebKit2 implementation
1589         https://bugs.webkit.org/show_bug.cgi?id=40233
1590     
1591         Random build fixes.
1592
1593         * Shared/qt/WebEventFactoryQt.cpp:
1594         * UIProcess/API/qt/ClientImpl.cpp:
1595         * UIProcess/API/qt/qwkpage.cpp:
1596         * UIProcess/API/qt/qwkpage.h:
1597         * UIProcess/DrawingAreaProxy.h:
1598         * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
1599         * WebProcess/WebProcess.cpp:
1600
1601 2010-07-07  Zoltan Horvath  <zoltan@webkit.org>
1602
1603         Reviewed by Kenneth Rohde Christiansen.
1604
1605         [Qt] Terminate QtWebProcess on exit
1606         https://bugs.webkit.org/show_bug.cgi?id=41766
1607
1608         Call WKPageTerminate to terminate QtWebProcess on exit.
1609
1610         * UIProcess/API/qt/qwkpage.cpp:
1611         (QWKPage::~QWKPage):
1612
1613 2010-07-07  Steve Falkenburg  <sfalken@apple.com>
1614
1615         Windows release build fix.
1616         Don't generate public symbols since this is exceeding address space on our builders.
1617
1618         * win/WebKit2.vcproj:
1619
1620 2010-07-07  Sam Weinig  <sam@webkit.org>
1621
1622         Reviewed by Anders Carlsson.
1623
1624         Patch for https://bugs.webkit.org/show_bug.cgi?id=41772
1625         Add basic piping for BackForwardControllerClient.
1626
1627         - Add very basic WebBackForwardControllerClient.
1628
1629         * WebKit2.xcodeproj/project.pbxproj:
1630         * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp: Added.
1631         (WebKit::WebBackForwardControllerClient::backForwardControllerDestroyed):
1632         (WebKit::WebBackForwardControllerClient::createBackForwardList):
1633         * WebProcess/WebCoreSupport/WebBackForwardControllerClient.h: Added.
1634         (WebKit::WebBackForwardControllerClient::WebBackForwardControllerClient):
1635         * WebProcess/WebPage/WebPage.cpp:
1636         (WebKit::WebPage::WebPage):
1637         * win/WebKit2.vcproj:
1638
1639 2010-07-07  Antti Koivisto  <koivisto@iki.fi>
1640
1641         Reviewed by Kenneth Rohde Christiansen.
1642
1643         [Qt] Initial WebKit2 implementation
1644         https://bugs.webkit.org/show_bug.cgi?id=40233
1645         
1646         Add Qt section to the prefix header.
1647
1648         * WebKit2Prefix.h:
1649
1650 2010-07-07  Antti Koivisto  <koivisto@iki.fi>
1651
1652         Not reviewed.
1653
1654         Fix build, remove some left over debugging code.
1655
1656         * Platform/CoreIPC/qt/ConnectionQt.cpp:
1657         (CoreIPC::Connection::readyReadHandler):
1658         (CoreIPC::Connection::sendOutgoingMessage):
1659
1660 2010-07-07  Antti Koivisto  <koivisto@iki.fi>
1661
1662         Reviewed by Kenneth Rohde Christiansen.
1663
1664         [Qt] Initial WebKit2 implementation
1665         https://bugs.webkit.org/show_bug.cgi?id=40233
1666         
1667         Implement WebPage for Qt.
1668
1669         * WebProcess/WebPage/qt/WebPageQt.cpp: Added.
1670         (WebKit::WebPage::platformInitialize):
1671         (WebKit::):
1672         (WebKit::WebPage::interpretKeyEvent):
1673
1674
1675 2010-07-06  Anders Carlsson  <andersca@apple.com>
1676
1677         Fix Windows WebKit2 build.
1678
1679         * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
1680         (WebKit::PluginInfoStore::mimeTypeFromExtension):
1681
1682 2010-07-06  Anders Carlsson  <andersca@apple.com>
1683
1684         Reviewed by Sam Weinig.
1685
1686         Add PluginInfoStore::findPlugin
1687         https://bugs.webkit.org/show_bug.cgi?id=41719
1688
1689         * UIProcess/Plugins/PluginInfoStore.cpp:
1690         (WebKit::PluginInfoStore::getPlugins):
1691         (WebKit::PluginInfoStore::findPluginForMIMEType):
1692         (WebKit::PluginInfoStore::findPluginForExtension):
1693         (WebKit::pathExtension):
1694         (WebKit::PluginInfoStore::findPlugin):
1695         * UIProcess/Plugins/PluginInfoStore.h:
1696         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
1697         (WebKit::PluginInfoStore::mimeTypeFromExtension):
1698
1699 2010-07-06  Sam Weinig  <sam@webkit.org>
1700
1701         Reviewed by Anders Carlsson.
1702
1703         Add injected bundle API for exposing console messages.
1704
1705         - Split WKBundlePageClient into multiple clients matching WKPage.
1706           (For now we only have a loader client and a UI client)
1707
1708         * WebKit2.xcodeproj/project.pbxproj:
1709         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1710         (WKBundlePageSetLoaderClient):
1711         (WKBundlePageSetUIClient):
1712         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1713         * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp: Removed.
1714         * WebProcess/InjectedBundle/InjectedBundlePageClient.h: Removed.
1715         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: Copied from WebProcess/InjectedBundle/InjectedBundlePageClient.cpp.
1716         (WebKit::InjectedBundlePageLoaderClient::InjectedBundlePageLoaderClient):
1717         (WebKit::InjectedBundlePageLoaderClient::initialize):
1718         (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
1719         (WebKit::InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
1720         (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame):
1721         (WebKit::InjectedBundlePageLoaderClient::didCommitLoadForFrame):
1722         (WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame):
1723         (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame):
1724         (WebKit::InjectedBundlePageLoaderClient::didReceiveTitleForFrame):
1725         (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
1726         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: Copied from WebProcess/InjectedBundle/InjectedBundlePageClient.h.
1727         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Added.
1728         (WebKit::InjectedBundlePageUIClient::InjectedBundlePageUIClient):
1729         (WebKit::InjectedBundlePageUIClient::initialize):
1730         (WebKit::InjectedBundlePageUIClient::addMessageToConsole):
1731         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Added.
1732         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1733         (WebKit::WebChromeClient::addMessageToConsole):
1734         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1735         (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
1736         (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
1737         (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
1738         (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
1739         (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
1740         (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
1741         (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
1742         (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
1743         * WebProcess/WebPage/WebPage.cpp:
1744         (WebKit::WebPage::initializeInjectedBundleLoaderClient):
1745         (WebKit::WebPage::initializeInjectedBundleUIClient):
1746         * WebProcess/WebPage/WebPage.h:
1747         (WebKit::WebPage::injectedBundleLoaderClient):
1748         (WebKit::WebPage::injectedBundleUIClient):
1749         * mac/WebKit2.exp:
1750         * win/WebKit2.vcproj:
1751
1752 2010-07-06  Sam Weinig  <sam@webkit.org>
1753
1754         Reviewed by Anders Carlsson.
1755
1756         Patch for https://bugs.webkit.org/show_bug.cgi?id=41707
1757         Add ability to dump frame inner text for the test runner
1758
1759         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1760         (WKBundleFrameCopyInnerText):
1761         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
1762         * WebProcess/WebPage/WebFrame.cpp:
1763         (WebKit::WebFrame::innerText):
1764         * WebProcess/WebPage/WebFrame.h:
1765         * mac/WebKit2.exp:
1766
1767 2010-07-06  Anders Carlsson  <andersca@apple.com>
1768
1769         Reviewed by Sam Weinig.
1770
1771         Only export a single WebKitMain function for the Web Process to call
1772         https://bugs.webkit.org/show_bug.cgi?id=41702
1773
1774         * Shared/CommandLine.h:
1775         Add windows CommandLine::parse overload.
1776
1777         * Shared/win/CommandLineWin.cpp: Added.
1778         (WebKit::CommandLine::parse):
1779         Move parse overload from WebProcess/win/WebProcessMain.cpp.
1780
1781         * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
1782         (WebKit::ProcessLauncher::launchProcess):
1783         Pass the right mode to.
1784
1785         * WebKit2.xcodeproj/project.pbxproj:
1786         Update for moves.
1787         
1788         * WebProcess/Launching/mac/WebProcessMain.mm: Removed.
1789         * WebProcess/Launching/win/WebProcessWinMain.cpp: Removed.
1790         * WebProcess/WebKitMain.cpp: Added.
1791         (WebKitMain):
1792         (enableTerminationOnHeapCorruption):
1793         Add WebKitMain functions for Mac and Windows.
1794
1795         * WebProcess/WebProcessMain.h: Added.
1796         * WebProcess/mac/WebProcessMainMac.mm: Added.
1797         (WebKit::WebProcessMain):
1798         Add Mac version of WebProcessMain.
1799
1800         * WebProcess/win/WebProcessMain.cpp: Removed.
1801         * WebProcess/win/WebProcessMain.h: Removed.
1802         * WebProcess/win/WebProcessMainWin.cpp: Added.
1803         (WebKit::WebProcessMain):
1804         Add Windows version of WebProcessMain.
1805
1806         * mac/MainMac.cpp: Added.
1807         (main):
1808         Add Mac WebProcess main function.
1809
1810         * mac/WebKit2.exp:
1811         Remove functions that we don't need to export.
1812
1813         * win/MainWin.cpp: Added.
1814         (wWinMain):
1815         Add Windows WebProcess main function.
1816
1817         * win/WebKit2.vcproj:
1818         * win/WebKit2WebProcess.vcproj:
1819         Update for moves.
1820
1821 2010-07-05  Luiz Agostini  <luiz.agostini@openbossa.org>
1822
1823         Reviewed by Kenneth Rohde Christiansen.
1824
1825         [Qt] WebKit2 triple click
1826         https://bugs.webkit.org/show_bug.cgi?id=41629
1827
1828         QtWebkit2 triple click implementation.
1829
1830         * UIProcess/API/qt/qwkpage.cpp:
1831         (QWKPagePrivate::mousePressEvent):
1832         (QWKPagePrivate::mouseDoubleClickEvent):
1833         (QWKPage::timerEvent):
1834         * UIProcess/API/qt/qwkpage.h:
1835         * UIProcess/API/qt/qwkpage_p.h:
1836
1837 2010-07-05  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
1838
1839         Reviewed by Antti Koivisto.
1840
1841         [Qt] Initial WebKit2 implementation
1842         https://bugs.webkit.org/show_bug.cgi?id=40233
1843
1844         Add stubs
1845
1846         * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp: Copied from WebKit2/UIProcess/Plugins/win/PluginInfoStoreWin.cpp.
1847         (WebKit::PluginInfoStore::pluginDirectories):
1848         (WebKit::PluginInfoStore::pluginPathsInDirectory):
1849         (WebKit::PluginInfoStore::getPluginInfo):
1850         (WebKit::PluginInfoStore::shouldUsePlugin):
1851         * WebProcess/InjectedBundle/InjectedBundle.h:
1852         * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp: Added.
1853         (WebKit::InjectedBundle::load):
1854
1855 2010-07-05  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
1856
1857         Reviewed by Antti Koivisto.
1858
1859         [Qt] Initial WebKit2 implementation
1860         https://bugs.webkit.org/show_bug.cgi?id=40233
1861
1862         Add WebErrorsQt
1863
1864         * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: Added.
1865         (WebKit::):
1866         (WebKit::cancelledError):
1867         (WebKit::blockedError):
1868         (WebKit::cannotShowURLError):
1869         (WebKit::interruptForPolicyChangeError):
1870         (WebKit::cannotShowMIMETypeError):
1871         (WebKit::fileDoesNotExistError):
1872
1873 2010-07-05  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
1874
1875         Reviewed by Antti Koivisto.
1876
1877         [Qt] Initial WebKit2 implementation
1878         https://bugs.webkit.org/show_bug.cgi?id=40233
1879
1880         Add Qt C API integration.
1881
1882         * UIProcess/API/cpp/qt/WKStringQt.cpp: Added.
1883         (WKStringCreateWithQString):
1884         (WKStringCopyQString):
1885         * UIProcess/API/cpp/qt/WKStringQt.h: Added.
1886         * UIProcess/API/cpp/qt/WKURLQt.cpp: Added.
1887         (WKURLCreateWithQUrl):
1888         (WKURLCopyQUrl):
1889         * UIProcess/API/cpp/qt/WKURLQt.h: Added.
1890
1891 2010-07-05  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
1892
1893         Reviewed by Antti Koivisto.
1894
1895         [Qt] Initial WebKit2 implementation
1896         https://bugs.webkit.org/show_bug.cgi?id=40233
1897
1898         Add the Qt process launcher.
1899
1900         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Added.
1901         (WebKit::ProcessLauncher::launchProcess):
1902         (WebKit::ProcessLauncher::terminateProcess):
1903         (WebKit::webThreadBody):
1904         (WebKit::ProcessLauncher::createWebThread):
1905         (webProcessMain):
1906
1907 2010-07-05  Antti Koivisto  <koivisto@iki.fi>
1908
1909         Reviewed by Kenneth Rohde Christiansen.
1910
1911         [Qt] Initial WebKit2 implementation
1912         https://bugs.webkit.org/show_bug.cgi?id=40233
1913         
1914         Implement ChunkedUpdateDrawingArea + Proxy for Qt. Not built yet.
1915
1916         * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
1917         * UIProcess/qt: Added.
1918         * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp: Added.
1919         (WebKit::ChunkedUpdateDrawingAreaProxy::page):
1920         (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
1921         (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore):
1922         (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
1923         (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
1924         * WebProcess/WebPage/qt: Added.
1925         * WebProcess/WebPage/qt/ChunkedUpdateDrawingAreaQt.cpp: Added.
1926         (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
1927
1928 2010-07-04  Anders Carlsson  <andersca@apple.com>
1929
1930         Reviewed by Dan Bernstein.
1931
1932         Add simple command line parser and pass mode argument to the web process
1933         https://bugs.webkit.org/show_bug.cgi?id=41586
1934
1935         * Shared/CommandLine.h:
1936         (WebKit::CommandLine::operator[]):
1937         Add CommandLine class.
1938
1939         * Shared/mac/CommandLineMac.cpp:
1940         (WebKit::CommandLine::parse):
1941         Implement Mac version of CommandLine::parse.
1942
1943         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1944         (WebKit::ProcessLauncher::launchProcess):
1945         Add "legacywebprocess" mode to the posix_spawn call.
1946
1947         * WebKit2.xcodeproj/project.pbxproj:
1948         Add CommandLine to the xcode project.
1949
1950         * WebProcess/Launching/mac/WebProcessMain.mm:
1951         (webProcessMain):
1952         (main):
1953         Parse the command line and check the mode.
1954
1955 2010-07-04  Maciej Stachowiak  <mjs@apple.com>
1956
1957         Reviewed by Mark Rowe.
1958
1959         WebProcess crashes in release for simple layout tests
1960         https://bugs.webkit.org/show_bug.cgi?id=41575
1961
1962         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1963         (WKBundlePageCopyRenderTreeExternalRepresentation): ref external representation StringImpl*
1964         before taking it out of its parent String, to avoid returning freed memory.
1965
1966 2010-07-03  Maciej Stachowiak  <mjs@apple.com>
1967
1968         Rubber stamped by Anders Carlsson.
1969
1970         Add stdint.h include to fix WebKitTestRunner build.
1971
1972         * UIProcess/API/C/WKPage.h:
1973
1974 2010-07-02  Luiz Agostini  <luiz.agostini@openbossa.org>
1975
1976         Reviewed by Kenneth Rohde Christiansen.
1977
1978         [Qt] Wrong method name in file  Connection.h
1979         https://bugs.webkit.org/show_bug.cgi?id=41536
1980
1981         Method openConnectionHandler was spelled as openConnection in class Connection.
1982
1983         * Platform/CoreIPC/Connection.h:
1984
1985 2010-07-02  Luiz Agostini  <luiz.agostini@openbossa.org>
1986
1987         Reviewed by Sam Weinig.
1988
1989         Adding notification and touch events methods to WebChromeClient
1990         https://bugs.webkit.org/show_bug.cgi?id=41527
1991
1992         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1993         (WebKit::WebChromeClient::notificationPresenter):
1994         (WebKit::WebChromeClient::needTouchEvents):
1995         * WebProcess/WebCoreSupport/WebChromeClient.h:
1996
1997 2010-07-02  Luiz Agostini  <luiz.agostini@openbossa.org>
1998
1999         Reviewed by Sam Weinig.
2000
2001         Removing CoreFoundation.h include from WKFrame.h
2002         https://bugs.webkit.org/show_bug.cgi?id=41528
2003
2004         * UIProcess/API/C/WKFrame.h:
2005
2006 2010-07-02  Sam Weinig  <sam@webkit.org>
2007
2008         Reviewed by Oliver Hunt.
2009
2010         Patch for https://bugs.webkit.org/show_bug.cgi?id=41540
2011         WebKit2: Add InjectedCode API to get a list of subframes
2012
2013         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
2014         (WKBundleFrameCopyChildFrames):
2015         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
2016         * WebProcess/WebPage/WebFrame.cpp:
2017         (WebKit::childFrameRef):
2018         (WebKit::childFrameDeref):
2019         (WebKit::WebFrame::childFrames):
2020         * WebProcess/WebPage/WebFrame.h:
2021         * mac/WebKit2.exp:
2022
2023 2010-07-02  Sam Weinig  <sam@webkit.org>
2024
2025         Reviewed by Anders Carlsson.
2026
2027         Turn off the Objective-C garbage collection for the WebProcess.
2028
2029         * Configurations/WebProcess.xcconfig:
2030         * WebProcess/Launching/mac/WebProcessMain.mm:
2031         (main): Assert that GC is off.
2032
2033 2010-07-02  Sam Weinig  <sam@webkit.org>
2034
2035         Reviewed by Anders Carlsson.
2036
2037         There is no longer a reason to check that the process is valid when posting
2038         a message to the bundle, the process code will take care of that for us.
2039
2040         * UIProcess/WebContext.cpp:
2041         (WebKit::WebContext::postMessageToInjectedBundle):
2042
2043 2010-07-02  Sam Weinig  <sam@webkit.org>
2044
2045         Reviewed by Anders Carlsson.
2046
2047         Use send instead of connection()->send(), now that connections() are created
2048         asynchronously it can be null at this point and the message needs to be queued.
2049
2050         * UIProcess/mac/WebProcessProxyMac.mm:
2051         (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
2052
2053 2010-07-01  Steve Falkenburg  <sfalken@apple.com>
2054
2055         Even more Windows build fixing.
2056         Removed bogus post-build event commands.
2057         Removed unnecessary link libraries.
2058
2059         * win/WebKit2.vcproj:
2060
2061 2010-07-01  Steve Falkenburg  <sfalken@apple.com>
2062
2063         Fix Windows while not breaking Qt (didn't realize this was building for Qt).
2064
2065         * WebProcess/WebProcess.cpp:
2066
2067 2010-07-01  Steve Falkenburg  <sfalken@apple.com>
2068
2069         Windows build fix.
2070
2071         * win/WebKit2Generated.make:
2072
2073 2010-07-01  Steve Falkenburg  <sfalken@apple.com>
2074
2075         Windows build fix.
2076
2077         * WebProcess/WebProcess.cpp:
2078
2079 2010-07-01  Sam Weinig  <sam@webkit.org>
2080
2081         Reviewed by Jon Honeycutt.
2082
2083         Make WebKit2 compile (though not work) on Leopard.
2084
2085         * Platform/WorkQueue.h:
2086         * Platform/mac/WorkQueueMac.cpp:
2087         (WorkQueue::EventSource::EventSource):
2088         (WorkQueue::scheduleWork):
2089         (WorkQueue::registerMachPortEventHandler):
2090         (WorkQueue::unregisterMachPortEventHandler):
2091         (WorkQueue::platformInitialize):
2092         (WorkQueue::platformInvalidate):
2093         * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
2094         (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext):
2095         * UIProcess/mac/WebProcessProxyMac.mm:
2096         (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
2097         * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
2098         (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
2099         (WebKit::LayerBackedDrawingArea::setNeedsDisplay):
2100         * WebProcess/WebPage/LayerBackedDrawingArea.h:
2101         * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
2102         (WebKit::LayerBackedDrawingArea::platformClear):
2103         (WebKit::LayerBackedDrawingArea::attachCompositingContext):
2104
2105 2010-07-01  Sam Weinig  <sam@webkit.org>
2106
2107         Reviewed by Anders Carlsson.
2108
2109         https://bugs.webkit.org/show_bug.cgi?id=41491
2110         Add first stab at back/forward list API.
2111
2112         * UIProcess/API/C/WKAPICast.h:
2113         * UIProcess/API/C/WKBackForwardList.cpp: Added.
2114         * UIProcess/API/C/WKBackForwardList.h: Added.
2115         * UIProcess/API/C/WKBackForwardListItem.cpp: Added.
2116         * UIProcess/API/C/WKBackForwardListItem.h: Added.
2117         * UIProcess/API/C/WKBase.h:
2118         * UIProcess/API/C/WKPage.cpp:
2119         * UIProcess/API/C/WKPage.h:
2120         * UIProcess/API/C/WebKit2.h:
2121         * UIProcess/WebBackForwardListItem.cpp: Added.
2122         * UIProcess/WebBackForwardListItem.h: Added.
2123         * UIProcess/WebBackForwardListProxy.cpp: Added.
2124         * UIProcess/WebBackForwardListProxy.h: Added.
2125         * UIProcess/WebPageProxy.cpp:
2126         * UIProcess/WebPageProxy.h:
2127         * WebKit2.xcodeproj/project.pbxproj:
2128         * win/WebKit2.vcproj:
2129
2130 2010-07-01  Anders Carlsson  <andersca@apple.com>
2131
2132         Reviewed by Sam Weinig.
2133
2134         Make process launching asynchronous
2135         https://bugs.webkit.org/show_bug.cgi?id=41489
2136
2137         * Platform/CoreIPC/Connection.h:
2138         Make OutgoingMessage public.
2139
2140         * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
2141         (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
2142         Don't wait for a paint reply when the process is starting up.
2143
2144         * UIProcess/Launcher/ProcessLauncher.cpp: Added.
2145         Add new ProcessLauncher class.
2146
2147         (WebKit::processLauncherWorkQueue):
2148         Returns the work queue where process launching will happen.
2149
2150         (WebKit::ProcessLauncher::ProcessLauncher):
2151         Schedule launching the process.
2152
2153         (WebKit::ProcessLauncher::didFinishLaunchingProcess):
2154         Call the client method.
2155         
2156         (WebKit::ProcessLauncher::invalidate):
2157         Set the client to 0.
2158
2159         * UIProcess/Launcher/ProcessLauncher.h: Added.
2160         * UIProcess/Launcher/WebProcessLauncher.h: Removed.
2161         Rename WebProcessLauncher.h -> ProcessLauncher.h
2162
2163         * UIProcess/Launcher/mac/ProcessLauncherMac.mm: Added.
2164         * UIProcess/Launcher/mac/WebProcessLauncher.mm: Removed.
2165         Rename WebProcessLauncher.mm -> ProcessLauncherMac.mm, update for ProcessLauncher changes.
2166
2167         * UIProcess/Launcher/win/ProcessLauncherWin.cpp: Added.
2168         * UIProcess/Launcher/win/WebProcessLauncher.cpp: Removed.
2169         Rename WebProcessLauncher.cpp -> ProcessLauncherWin.cpp, update for ProcessLauncher changes.
2170         
2171         * UIProcess/WebProcessProxy.cpp:
2172         (WebKit::WebProcessProxy::~WebProcessProxy):
2173         Delete any unsent messages.
2174
2175         (WebKit::WebProcessProxy::connect):
2176         Use the new ProcessLauncher.
2177
2178         (WebKit::WebProcessProxy::sendMessage):
2179         If we're waiting for the process to launch, the messages need to be enqueued.
2180
2181         (WebKit::WebProcessProxy::didFinishLaunching):
2182         Send the outgoing messages.
2183
2184         * WebKit2.xcodeproj/project.pbxproj:
2185         * win/WebKit2.vcproj:
2186         Update for renames.
2187
2188 2010-07-01  Simon Fraser  <simon.fraser@apple.com>
2189
2190         Reviewed by Anders Carlsson.
2191
2192         Get accelerated compositing working with webkit2
2193         https://bugs.webkit.org/show_bug.cgi?id=41084
2194         
2195         Start up the CA render server in the UI process (currently, at launch time), and
2196         pass the server port over to the web process for use by the layer-backed drawing area.
2197         
2198         Fix some style issues pointed out by Dan Bernstein.
2199         
2200         Implement the WebChromeClient methods that pass the attach/detach calls through
2201         to the drawing area.
2202
2203         * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
2204         * UIProcess/API/mac/WKView.mm:
2205         (-[WKView _startAcceleratedCompositing:]):
2206         * UIProcess/API/mac/WKViewInternal.h:
2207         * UIProcess/WebProcessProxy.cpp:
2208         (WebKit::WebProcessProxy::WebProcessProxy):
2209         (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
2210         * UIProcess/WebProcessProxy.h:
2211         * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
2212         * UIProcess/mac/WebProcessProxyMac.mm: Added.
2213         (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
2214         * WebKit2.xcodeproj/project.pbxproj:
2215         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2216         (WebKit::WebChromeClient::attachRootGraphicsLayer):
2217         (WebKit::WebChromeClient::scheduleCompositingLayerSync):
2218         * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
2219         (WebKit::LayerBackedDrawingArea::attachCompositingContext):
2220         * WebProcess/WebProcess.cpp:
2221         (WebKit::WebProcess::WebProcess):
2222         (WebKit::WebProcess::didReceiveMessage):
2223         * WebProcess/WebProcess.h:
2224         (WebKit::WebProcess::compositingRenderServerPort):
2225
2226 2010-07-01  Simon Fraser  <simon.fraser@apple.com>
2227
2228         Reviewed by Anders Carlsson.
2229
2230         Get accelerated compositing working with webkit2
2231         https://bugs.webkit.org/show_bug.cgi?id=41084
2232         
2233         Add a new kind of DrawingArea, which is a LayerBackedDrawingArea, which will be used
2234         when the page goes into accelerated compositing mode. It is not wired up yet.
2235
2236         * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: New 'attach' and 'detach' messages
2237         related to accelerated compositing.
2238
2239         * UIProcess/API/mac/WKView.mm:
2240         (-[WKView _startAcceleratedCompositing:]):
2241         (-[WKView _stopAcceleratedCompositing]):
2242         * UIProcess/API/mac/WKViewInternal.h:
2243         Add a subview of the WKView which has layer-backing enabled, and put the drawing area's
2244         layer inside of that.
2245         
2246         * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
2247         (WebKit::ChunkedUpdateDrawingAreaProxy::attachCompositingContext):
2248         (WebKit::ChunkedUpdateDrawingAreaProxy::detachCompositingContext): These methods will never be called
2249         on the ChunkedUpdateDrawingArea. Stub them out.
2250
2251         * UIProcess/DrawingAreaProxy.h:
2252         Add attachCompositingContext() and detachCompositingContext() methods, and a new drawing area
2253         type to the enum.
2254
2255         * UIProcess/LayerBackedDrawingAreaProxy.cpp: Added.
2256         * UIProcess/LayerBackedDrawingAreaProxy.h: Added.
2257         * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm: Added.
2258
2259         * WebKit2.xcodeproj/project.pbxproj: Add LayerBackedDrawingArea files.
2260
2261         * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: Add virtual methods stubs.
2262
2263         * WebProcess/WebPage/DrawingArea.cpp:
2264         (WebKit::DrawingArea::create): Create a LayerBackedDrawingArea if asked.
2265         * WebProcess/WebPage/DrawingArea.h: New LayerBackedDrawingAreaType type, and new virtual
2266         methods related to accelerated compositing.
2267
2268         * WebProcess/WebPage/LayerBackedDrawingArea.cpp: Added.
2269         * WebProcess/WebPage/LayerBackedDrawingArea.h: Added.
2270         * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: Added.
2271
2272 2010-07-01  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
2273
2274        Rubberstamped by Sam Weinig.
2275
2276        Export symbols on Linux with GCC, like JSC does.
2277
2278        * UIProcess/API/C/WKBase.h:
2279        * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
2280
2281 2010-07-01  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
2282
2283         Reviewed by Antti Koivisto.
2284
2285         [Qt] Initial WebKit2 implementation
2286         https://bugs.webkit.org/show_bug.cgi?id=40233
2287
2288         Add implementation of the UI and loader client for Qt.
2289
2290         * UIProcess/API/qt/qwkpage.cpp:
2291         * UIProcess/API/qt/ClientImpl.cpp: Added.
2292         (toQWKPage):
2293         (qt_wk_didStartProvisionalLoadForFrame):
2294         (qt_wk_didReceiveServerRedirectForProvisionalLoadForFrame):
2295         (qt_wk_didFailProvisionalLoadWithErrorForFrame):
2296         (qt_wk_didCommitLoadForFrame):
2297         (qt_wk_didFinishLoadForFrame):
2298         (qt_wk_didFailLoadWithErrorForFrame):
2299         (qt_wk_didReceiveTitleForFrame):
2300         (qt_wk_didFirstLayoutForFrame):
2301         (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame):
2302         (qt_wk_didStartProgress):
2303         (qt_wk_didChangeProgress):
2304         (qt_wk_didFinishProgress):
2305         (qt_wk_didBecomeUnresponsive):
2306         (qt_wk_didBecomeResponsive):
2307         (qt_wk_createNewPage):
2308         (qt_wk_showPage):
2309         (qt_wk_close):
2310         (qt_wk_runJavaScriptAlert):
2311         * UIProcess/API/qt/ClientImpl.h: Added.
2312
2313 2010-07-01  Anders Carlsson  <andersca@apple.com>
2314
2315         Reviewed by Dan Bernstein.
2316
2317         Change the CoreIPC connection identifier to be a HANDLE on Windows
2318         https://bugs.webkit.org/show_bug.cgi?id=41479
2319
2320         * Platform/CoreIPC/Connection.h:
2321         * Platform/CoreIPC/win/ConnectionWin.cpp:
2322         (CoreIPC::Connection::createServerAndClientIdentifiers):
2323         New function that creates a server and client HANDLE.
2324
2325         (CoreIPC::Connection::platformInitialize):
2326         Don't open the connections here.
2327
2328         (CoreIPC::Connection::readEventHandler):
2329         (CoreIPC::Connection::open):
2330         
2331         * UIProcess/Launcher/win/WebProcessLauncher.cpp:
2332         (WebKit::webThreadBody):
2333         Get the handle from the thread.
2334
2335         (WebKit::launchWebProcess):
2336         Mark the client identifier as inheritable and pass it along to the web process.
2337
2338         * WebProcess/win/WebProcessMain.cpp:
2339         (WebKit::CommandLine::CommandLine):
2340         (WebKit::CommandLine::parse):
2341         (WebKit::CommandLine::operator[]):
2342         Add simple command line parser.
2343
2344         (WebKit::WebProcessMain):
2345         Get the handle identifier from the command line.
2346
2347         * WebProcess/win/WebProcessMain.h:
2348
2349 2010-07-01  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
2350
2351         Reviewed by Antti Koivisto.
2352
2353         [Qt] Initial WebKit2 implementation
2354         https://bugs.webkit.org/show_bug.cgi?id=40233
2355
2356         Add initial Qt API for WebKit2
2357
2358         * UIProcess/API/qt/WKView.h: Added.
2359         * UIProcess/API/qt/qgraphicswkview.cpp: Added.
2360         (QGraphicsWKViewPrivate::pageRef):
2361         (QGraphicsWKView::QGraphicsWKView):
2362         (QGraphicsWKView::~QGraphicsWKView):
2363         (QGraphicsWKView::page):
2364         (QGraphicsWKView::paint):
2365         (QGraphicsWKView::setGeometry):
2366         (QGraphicsWKView::load):
2367         (QGraphicsWKView::setUrl):
2368         (QGraphicsWKView::url):
2369         (QGraphicsWKView::title):
2370         (QGraphicsWKView::triggerPageAction):
2371         (QGraphicsWKView::back):
2372         (QGraphicsWKView::forward):
2373         (QGraphicsWKView::reload):
2374         (QGraphicsWKView::stop):
2375         (QGraphicsWKView::itemChange):
2376         (QGraphicsWKView::event):
2377         (QGraphicsWKView::sizeHint):
2378         (QGraphicsWKView::inputMethodQuery):
2379         (QGraphicsWKView::keyPressEvent):
2380         (QGraphicsWKView::keyReleaseEvent):
2381         (QGraphicsWKView::hoverMoveEvent):
2382         (QGraphicsWKView::mouseMoveEvent):
2383         (QGraphicsWKView::mousePressEvent):
2384         (QGraphicsWKView::mouseReleaseEvent):
2385         (QGraphicsWKView::mouseDoubleClickEvent):
2386         (QGraphicsWKView::wheelEvent):
2387         (QGraphicsWKViewPrivate::QGraphicsWKViewPrivate):
2388         (QGraphicsWKView::visibleRect):
2389         * UIProcess/API/qt/qgraphicswkview.h: Added.
2390         * UIProcess/API/qt/qwkpage.cpp: Added.
2391         (QWKPagePrivate::QWKPagePrivate):
2392         (QWKPagePrivate::~QWKPagePrivate):
2393         (QWKPagePrivate::init):
2394         (QWKPagePrivate::toolTipChanged):
2395         (QWKPagePrivate::paint):
2396         (QWKPagePrivate::keyPressEvent):
2397         (QWKPagePrivate::keyReleaseEvent):
2398         (QWKPagePrivate::mouseMoveEvent):
2399         (QWKPagePrivate::mousePressEvent):
2400         (QWKPagePrivate::mouseReleaseEvent):
2401         (QWKPagePrivate::mouseDoubleClickEvent):
2402         (QWKPagePrivate::wheelEvent):
2403         (QWKPagePrivate::updateAction):
2404         (QWKPagePrivate::updateNavigationActions):
2405         (QWKPagePrivate::_q_webActionTriggered):
2406         (QWKPage::QWKPage):
2407         (QWKPage::~QWKPage):
2408         (QWKPage::pageRef):
2409         (QWKPage::setCreateNewPageFunction):
2410         (QWKPage::load):
2411         (QWKPage::setUrl):
2412         (QWKPage::url):
2413         (QWKPage::title):
2414         (QWKPage::setViewportSize):
2415         (QWKPage::requestZoomRect):
2416         (QWKPage::triggerAction):
2417         (QWKPage::action):
2418         * UIProcess/API/qt/qwkpage.h: Added.
2419         * UIProcess/API/qt/qwkpage_p.h: Added.
2420         (QWKPagePrivate::get):
2421         (QWKPagePrivate::processDidExit):
2422         (QWKPagePrivate::processDidRevive):
2423         (QWKPagePrivate::takeFocus):
2424
2425 2010-07-01  John Sullivan  <sullivan@apple.com>
2426
2427         Rubber-stamped by Anders Carlsson.
2428
2429         * mac/WebKit2.exp:
2430         Added _WKFramePolicyListenerDownload and _WKFramePolicyListenerIgnore.
2431
2432 2010-07-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2433
2434         Unreviewed, rolling out r62267.
2435         http://trac.webkit.org/changeset/62267
2436         https://bugs.webkit.org/show_bug.cgi?id=41468
2437
2438         broke stuff (Requested by weinig on #webkit).
2439
2440         * UIProcess/API/C/WKBase.h:
2441         * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
2442
2443 2010-07-01  John Sullivan  <sullivan@apple.com>
2444
2445         Rubber-stamped by Sam Weinig.
2446
2447         * mac/WebKit2.exp:
2448         Added _WKFramePolicyListenerRelease and _WKFramePolicyListenerRetain.
2449
2450 2010-07-01  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
2451
2452         Reviewed by Antti Koivisto.
2453
2454         [Qt] Initial WebKit2 implementation
2455         https://bugs.webkit.org/show_bug.cgi?id=40233
2456
2457         Add our event factory for converting Qt events to something WebKit2
2458         understands.
2459
2460         * Shared/qt/WebEventFactoryQt.cpp: Added.
2461         (WebKit::mouseButtonForEvent):
2462         (WebKit::webEventTypeForEvent):
2463         (WebKit::modifiersForEvent):
2464         (WebKit::WebEventFactory::createWebMouseEvent):
2465         (WebKit::WebEventFactory::createWebWheelEvent):
2466         (WebKit::WebEventFactory::createWebKeyboardEvent):
2467         * Shared/qt/WebEventFactoryQt.h: Added.
2468
2469 2010-07-01  Antti Koivisto  <koivisto@iki.fi>
2470
2471         Reviewed by Kenneth Rohde Christiansen.
2472
2473         [Qt] Initial WebKit2 implementation
2474         https://bugs.webkit.org/show_bug.cgi?id=40233
2475         
2476         Add UpdateChunk. This one is mmap based, using Qt abstractions.
2477
2478         * Shared/qt: Added.
2479         * Shared/qt/UpdateChunk.cpp: Added.
2480         (WebKit::MappedMemory::markUsed):
2481         (WebKit::MappedMemory::markFree):
2482         (WebKit::MappedMemory::isFree):
2483         (WebKit::mapMemory):
2484         (WebKit::mapFile):
2485         (WebKit::UpdateChunk::UpdateChunk):
2486         (WebKit::UpdateChunk::~UpdateChunk):
2487         (WebKit::UpdateChunk::data):
2488         (WebKit::UpdateChunk::encode):
2489         (WebKit::UpdateChunk::decode):
2490         (WebKit::UpdateChunk::createImage):
2491         * Shared/qt/UpdateChunk.h: Added.
2492         (WebKit::UpdateChunk::rect):
2493         (WebKit::UpdateChunk::size):
2494
2495 2010-07-01  Antti Koivisto  <koivisto@iki.fi>
2496
2497         Reviewed by Kenneth Rohde Christiansen.
2498
2499         [Qt] Initial WebKit2 implementation
2500         https://bugs.webkit.org/show_bug.cgi?id=40233
2501         
2502         Include some stdlib headers to fix linux build.
2503
2504         * Platform/CoreIPC/ArgumentDecoder.cpp:
2505         * Platform/CoreIPC/ArgumentEncoder.cpp:
2506         * UIProcess/WebLoaderClient.cpp:
2507         * UIProcess/WebPageProxy.cpp:
2508         * UIProcess/WebUIClient.cpp:
2509
2510 2010-07-01  Antti Koivisto  <koivisto@iki.fi>
2511
2512         Reviewed by Kenneth Rohde Christiansen.
2513
2514         [Qt] Initial WebKit2 implementation
2515         https://bugs.webkit.org/show_bug.cgi?id=40233
2516         
2517         Implement CoreIPC::Connection and PlatformProcessIdentifier for Qt. Not built yet.
2518
2519         * Platform/CoreIPC/Connection.h:
2520         * Platform/CoreIPC/qt: Added.
2521         * Platform/CoreIPC/qt/ConnectionQt.cpp: Added.
2522         (CoreIPC::Connection::platformInitialize):
2523         (CoreIPC::Connection::platformInvalidate):
2524         (CoreIPC::Connection::newConnectionHandler):
2525         (CoreIPC::Connection::readyReadHandler):
2526         (CoreIPC::Connection::openConnection):
2527         (CoreIPC::Connection::open):
2528         (CoreIPC::Connection::sendOutgoingMessage):
2529         * Platform/PlatformProcessIdentifier.h:
2530
2531 2010-07-01  Antti Koivisto  <koivisto@iki.fi>
2532
2533         Reviewed by Kenneth Rohde Christiansen.
2534
2535         [Qt] Initial WebKit2 implementation
2536         https://bugs.webkit.org/show_bug.cgi?id=40233
2537         
2538         Implement WorkQueue for Qt. Not built yet.
2539
2540         * Platform/WorkQueue.h:
2541         * Platform/qt/WorkQueueQt.cpp: Added.
2542         (WorkQueue::WorkItemQt::WorkItemQt):
2543         (WorkQueue::WorkItemQt::~WorkItemQt):
2544         (WorkQueue::WorkItemQt::execute):
2545         (WorkQueue::WorkItemQt::timerEvent):
2546         (WorkQueue::connectSignal):
2547         (WorkQueue::disconnectSignal):
2548         (WorkQueue::platformInitialize):
2549         (WorkQueue::platformInvalidate):
2550         (WorkQueue::scheduleWork):
2551
2552 2010-07-01  Antti Koivisto  <koivisto@iki.fi>
2553
2554         Reviewed by Kenneth Rohde Christiansen.
2555
2556         [Qt] Initial WebKit2 implementation
2557         https://bugs.webkit.org/show_bug.cgi?id=40233
2558         
2559         Implement RunLoop for Qt. Not built yet.
2560
2561         * Platform/RunLoop.h:
2562         * Platform/qt: Added.
2563         * Platform/qt/RunLoopQt.cpp: Added.
2564         (RunLoop::TimerObject::TimerObject):
2565         (RunLoop::TimerObject::performWork):
2566         (RunLoop::TimerObject::wakeUp):
2567         (RunLoop::TimerObject::timerEvent):
2568         (RunLoop::run):
2569         (RunLoop::stop):
2570         (RunLoop::RunLoop):
2571         (RunLoop::~RunLoop):
2572         (RunLoop::wakeUp):
2573         (RunLoop::TimerBase::timerFired):
2574         (RunLoop::TimerBase::TimerBase):
2575         (RunLoop::TimerBase::~TimerBase):
2576         (RunLoop::TimerBase::start):
2577         (RunLoop::TimerBase::stop):
2578         (RunLoop::TimerBase::isActive):
2579
2580 2010-06-30  Sam Weinig  <sam@webkit.org>
2581
2582         Reviewed by Darin Adler.
2583
2584         Patch for https://bugs.webkit.org/show_bug.cgi?id=41426
2585         Add ImmutableArray class and WKArrayRef API to go with it. This will be used
2586         in a few follow up patches.
2587
2588         * Shared/ImmutableArray.cpp: Added.
2589         (WebKit::ImmutableArray::ImmutableArray):
2590         (WebKit::ImmutableArray::~ImmutableArray):
2591         * Shared/ImmutableArray.h: Added.
2592         * UIProcess/API/C/WKAPICast.h:
2593         * UIProcess/API/C/WKArray.cpp: Added.
2594         * UIProcess/API/C/WKArray.h: Added.
2595         * UIProcess/API/C/WKBase.h:
2596         * WebKit2.xcodeproj/project.pbxproj:
2597         * mac/WebKit2.exp:
2598         * win/WebKit2.vcproj:
2599
2600 2010-06-30  Anders Carlsson  <andersca@apple.com>
2601
2602         Reviewed by Adam Roben.
2603
2604         Add WebProcessProxy::send
2605         https://bugs.webkit.org/show_bug.cgi?id=41416
2606
2607         * Platform/CoreIPC/Connection.h:
2608         * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
2609         (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
2610         (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
2611         (WebKit::ChunkedUpdateDrawingAreaProxy::update):
2612         * UIProcess/WebContext.cpp:
2613         (WebKit::WebContext::postMessageToInjectedBundle):
2614         * UIProcess/WebPageProxy.cpp:
2615         (WebKit::WebPageProxy::initializeWebPage):
2616         (WebKit::WebPageProxy::reinitializeWebPage):
2617         (WebKit::WebPageProxy::close):
2618         (WebKit::WebPageProxy::tryClose):
2619         (WebKit::WebPageProxy::loadURL):
2620         (WebKit::WebPageProxy::stopLoading):
2621         (WebKit::WebPageProxy::reload):
2622         (WebKit::WebPageProxy::goForward):
2623         (WebKit::WebPageProxy::goBack):
2624         (WebKit::WebPageProxy::setFocused):
2625         (WebKit::WebPageProxy::setActive):
2626         (WebKit::WebPageProxy::mouseEvent):
2627         (WebKit::WebPageProxy::wheelEvent):
2628         (WebKit::WebPageProxy::keyEvent):
2629         (WebKit::WebPageProxy::receivedPolicyDecision):
2630         (WebKit::WebPageProxy::runJavaScriptInMainFrame):
2631         (WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
2632         (WebKit::WebPageProxy::preferencesDidChange):
2633         * UIProcess/WebProcessProxy.cpp:
2634         (WebKit::WebProcessProxy::WebProcessProxy):
2635         (WebKit::WebProcessProxy::sendMessage):
2636         * UIProcess/WebProcessProxy.h:
2637         (WebKit::WebProcessProxy::connection):
2638         (WebKit::WebProcessProxy::send):
2639
2640 2010-06-29  Anders Carlsson  <andersca@apple.com>
2641
2642         Reviewed by Sam Weinig.
2643
2644         Add a private Message class template
2645         https://bugs.webkit.org/show_bug.cgi?id=41370
2646
2647         * Platform/CoreIPC/Connection.h:
2648         (CoreIPC::Connection::Message::Message):
2649         (CoreIPC::Connection::Message::arguments):
2650
2651 2010-06-28  John Gregg  <johnnyg@google.com>
2652
2653         Unreviewed, build fix (removing merge conflict from previous).
2654
2655         * Configurations/FeatureDefines.xcconfig:
2656
2657 2010-06-23  John Gregg  <johnnyg@google.com>
2658
2659         Reviewed by Kent Tamura.
2660
2661         add ENABLE_DIRECTORY_UPLOAD build support
2662         https://bugs.webkit.org/show_bug.cgi?id=41100
2663
2664         * Configurations/FeatureDefines.xcconfig:
2665
2666 2010-06-28  Sam Weinig  <sam@webkit.org>
2667
2668         Rubber-stamped Geoffrey Garen.
2669
2670         Add WKBundleFrameIsMainFrame to exports file.
2671
2672         * mac/WebKit2.exp:
2673
2674 2010-06-28  Sam Weinig  <sam@webkit.org>
2675
2676         Reviewed by Anders Carlsson.
2677
2678         Patch for https://bugs.webkit.org/show_bug.cgi?id=41288
2679         WebKit2: Add frame API for InjectedBundle code
2680
2681         * WebKit2.xcodeproj/project.pbxproj:
2682         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Added.
2683         (WKBundleFrameIsMainFrame):
2684         (WKBundleFrameGetURL):
2685         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Added.
2686         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2687         (WKBundlePageGetMainFrame):
2688         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2689         * WebProcess/WebPage/WebFrame.cpp:
2690         (WebKit::WebFrame::isMainFrame):
2691         (WebKit::WebFrame::url):
2692         * WebProcess/WebPage/WebFrame.h:
2693         * WebProcess/WebPage/WebPage.cpp:
2694         * WebProcess/WebPage/WebPage.h:
2695         (WebKit::WebPage::mainFrame):
2696         * mac/WebKit2.exp:
2697         * win/WebKit2.vcproj:
2698
2699 2010-06-27  Mark Rowe  <mrowe@apple.com>
2700
2701         Rubber-stamped by Maciej Stachowiak.
2702
2703         Update guards related to blocks to check whether __BLOCKS__ is defined, rather than checking its value.
2704         This matches how similar checks are performed in system headers, and avoids a compile error when __BLOCKS__
2705         is not defined.
2706
2707         * UIProcess/API/C/WKPage.cpp:
2708         * UIProcess/API/C/WKPage.h:
2709         * UIProcess/API/C/WKPagePrivate.h:
2710
2711 2010-06-26  Tony Gentilcore  <tonyg@chromium.org>
2712
2713         Reviewed by Dimitri Glazkov.
2714
2715         Add an ENABLE_WEB_TIMING option for enabling Web Timing support.
2716         https://bugs.webkit.org/show_bug.cgi?id=38924
2717
2718         * Configurations/FeatureDefines.xcconfig:
2719
2720 2010-06-25  Steve Falkenburg  <sfalken@apple.com>
2721
2722         Windows build fix.
2723
2724         * win/WebKit2.vcproj:
2725
2726 2010-06-25  Ada Chan  <adachan@apple.com>
2727
2728         Rubber-stamped by Mark Rowe.
2729
2730         Add additional include search paths relative to $(WebKitLibrariesDir) to fix a build.
2731
2732         * win/WebKit2.vcproj:
2733
2734 2010-06-25  Sam Weinig  <sam@webkit.org>
2735
2736         Reviewed by Anders Carlsson.
2737
2738         WKBundlePageRenderTreeExternalRepresentation really needs to be 
2739         WKBundlePageCopyRenderTreeExternalRepresentation so we don't have dangling
2740         pointers and adhere to naming conventions.
2741
2742         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2743         (WKBundlePageCopyRenderTreeExternalRepresentation):
2744         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
2745         * mac/WebKit2.exp:
2746
2747 2010-06-24  Steve Falkenburg  <sfalken@apple.com>
2748
2749         Windows build fix.
2750
2751         * win/WebKit2.make: Added.
2752         * win/WebKit2.submit.sln: Added.
2753
2754 2010-06-24  Steve Falkenburg  <sfalken@apple.com>
2755
2756         Windows build fix.
2757
2758         * win/WebKit2WebProcess.vcproj:
2759
2760 2010-06-24  Sam Weinig  <sam@webkit.org>
2761
2762         Reviewed by Brady Eidson.
2763
2764         Add WKBundlePageRenderTreeExternalRepresentation for WebKitTestRunner.
2765
2766         * WebKit2.xcodeproj/project.pbxproj:
2767         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2768         (WKBundlePageRenderTreeExternalRepresentation):
2769         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Added.
2770         * WebProcess/WebPage/WebPage.cpp:
2771         (WebKit::WebPage::renderTreeExternalRepresentation):
2772         (WebKit::WebPage::getRenderTreeExternalRepresentation):
2773         * WebProcess/WebPage/WebPage.h:
2774         * mac/WebKit2.exp:
2775         * win/WebKit2.vcproj:
2776
2777 2010-06-24  John Sullivan  <sullivan@apple.com>
2778
2779         Rubber-stamped by Ada Chan.
2780
2781         * mac/WebKit2.exp:
2782         Added _WKNavigationDataRelease and _WKNavigationDataRetain.
2783
2784 2010-06-24  John Sullivan  <sullivan@apple.com>
2785
2786         Rubber-stamped by Anders Carlsson.
2787
2788         * mac/WebKit2.exp:
2789         Added _WKPageReloadFromOrigin.
2790
2791 2010-06-24  Sam Weinig  <sam@webkit.org>
2792
2793         Reviewed by Anders Carlsson.
2794
2795         Fix for https://bugs.webkit.org/show_bug.cgi?id=41168
2796         <rdar://problem/8124605>
2797         Webkit2: Add WKPageReloadFromOrigin() to match old-WebKit functionality
2798
2799         * UIProcess/API/C/WKPage.cpp:
2800         (WKPageReload):
2801         (WKPageReloadFromOrigin):
2802         * UIProcess/API/C/WKPage.h:
2803         * UIProcess/WebPageProxy.cpp:
2804         (WebKit::WebPageProxy::reload):
2805         * UIProcess/WebPageProxy.h:
2806         * WebProcess/WebPage/WebPage.cpp:
2807         (WebKit::WebPage::reload):
2808         (WebKit::WebPage::didReceiveMessage):
2809         * WebProcess/WebPage/WebPage.h:
2810
2811 2010-06-24  Adam Roben  <aroben@apple.com>
2812
2813         Windows build fix
2814
2815         Fixes <http://webkit.org/b/41158>.
2816
2817         Reviewed by Anders Carlsson.
2818
2819         * Shared/win/UpdateChunk.cpp: Updated header name.
2820
2821         * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: Added.
2822         (WebKit::PluginInfoStore::pluginDirectories):
2823         (WebKit::PluginInfoStore::pluginPathsInDirectory):
2824         (WebKit::PluginInfoStore::getPluginInfo):
2825         (WebKit::PluginInfoStore::shouldUsePlugin):
2826         Stubbed these out.
2827
2828         * win/WebKit2.vcproj: Added UIProcess/Plugins to the include path for
2829         all configurations. Added UIProcess/Plugins files to the project.
2830
2831 2010-06-23  Anders Carlsson  <andersca@apple.com>
2832
2833         Reviewed by Sam Weinig.
2834
2835         Have the UI process compute the plug-in data
2836         https://bugs.webkit.org/show_bug.cgi?id=41118
2837
2838         * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
2839         (WebProcessProxyMessage::):
2840         Add GetPlugin message kind.
2841
2842         * Shared/WebCoreArgumentCoders.h:
2843         Add argument coders for PluginInfo and MimeClassInfo.
2844         
2845         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
2846         (WebKit::safeCreateCFString):
2847         (WebKit::PluginInfoStore::pluginPathsInDirectory):
2848         (WebKit::PluginInfoStore::getPluginInfo):
2849         Use safeCreateCFString.
2850         
2851         * UIProcess/WebProcessProxy.cpp:
2852         (WebKit::WebProcessProxy::getPlugins):
2853         Ask the plug-in info store for the plug-in list.
2854
2855         (WebKit::WebProcessProxy::didReceiveSyncMessage):
2856         Handle GetPlugins.
2857
2858         * UIProcess/WebProcessProxy.h:
2859         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2860         (WebKit::WebFrameLoaderClient::objectContentType):
2861         Implement.
2862
2863         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2864         (WebKit::WebPlatformStrategies::populatePluginCache):
2865         Send a sync GetPlugins message.
2866
2867 2010-06-23  Anders Carlsson  <andersca@apple.com>
2868
2869         Reviewed by Dan Bernstein.
2870
2871         Add ArgumentCoder for vectors.
2872
2873         * Platform/CoreIPC/ArgumentCoders.h:
2874         (CoreIPC::):
2875
2876 2010-06-23  Anders Carlsson  <andersca@apple.com>
2877
2878         Reviewed by Dan Bernstein.
2879
2880         Rename WebCoreTypeArgumentMarshalling.h to WebCoreArgumentCoders.h
2881
2882         * Shared/WebCoreArgumentCoders.h: Copied from Shared/WebCoreTypeArgumentMarshalling.h.
2883         * Shared/WebCoreTypeArgumentMarshalling.h: Removed.
2884         * Shared/WebEvent.h:
2885         * Shared/WebNavigationDataStore.h:
2886         * Shared/WebPreferencesStore.h:
2887         * Shared/mac/UpdateChunk.cpp:
2888         * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
2889         * UIProcess/WebContext.cpp:
2890         * UIProcess/WebPageProxy.cpp:
2891         * WebKit2.xcodeproj/project.pbxproj:
2892         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2893         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2894         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2895         * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
2896         * WebProcess/WebPage/WebPage.cpp:
2897         * WebProcess/WebProcess.cpp:
2898
2899 2010-06-23  Anders Carlsson  <andersca@apple.com>
2900
2901         Reviewed by Dan Bernstein.
2902
2903         MessageIDs should always have the most significant bit zeroed out
2904         https://bugs.webkit.org/show_bug.cgi?id=41112
2905
2906         The most significant bit is used by the Mac implementation of CoreIPC, and
2907         should always be zero in MessageID objects.
2908
2909         * Platform/CoreIPC/Connection.cpp:
2910         (CoreIPC::Connection::waitForMessage):
2911         * Platform/CoreIPC/MessageID.h:
2912         (CoreIPC::MessageID::):
2913         (CoreIPC::MessageID::MessageID):
2914         (CoreIPC::MessageID::operator==):
2915         (CoreIPC::MessageID::fromInt):
2916         (CoreIPC::MessageID::isSync):
2917         (CoreIPC::MessageID::stripMostSignificantBit):
2918         * Platform/CoreIPC/mac/ConnectionMac.cpp:
2919         (CoreIPC::Connection::sendOutgoingMessage):
2920         (CoreIPC::createArgumentDecoder):
2921
2922 2010-06-23  John Sullivan  <sullivan@apple.com>
2923
2924         Rubber-stamped by Anders Carlsson.
2925
2926         * mac/WebKit2.exp:
2927         Added yet another symbol needed by Mac clients.
2928
2929 2010-06-23  John Sullivan  <sullivan@apple.com>
2930
2931         Rubber-stamped by Anders Carlsson.
2932
2933         * mac/WebKit2.exp:
2934         Added another symbol needed by Mac clients.
2935
2936 2010-06-23  Anders Carlsson  <andersca@apple.com>
2937
2938         Reviewed by Sam Weinig.
2939
2940         Rename SimpleArgumentCoder.h to ArgumentCoders.h
2941
2942         * Platform/CoreIPC/ArgumentCoders.h: Copied from Platform/CoreIPC/SimpleArgumentCoder.h.
2943         * Platform/CoreIPC/SimpleArgumentCoder.h: Removed.
2944         * Shared/WebCoreTypeArgumentMarshalling.h:
2945         * WebKit2.xcodeproj/project.pbxproj:
2946
2947 2010-06-23  Anders Carlsson  <andersca@apple.com>
2948
2949         Reviewed by Sam Weinig.
2950
2951         Add a plug-in info cache to WebPlatformStrategies
2952         https://bugs.webkit.org/show_bug.cgi?id=41087
2953
2954         This is in preparation for proxying the getPlugins call over to the UI process.
2955
2956         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2957         (WebKit::WebPlatformStrategies::WebPlatformStrategies):
2958         (WebKit::WebPlatformStrategies::populatePluginCache):
2959         (WebKit::WebPlatformStrategies::refreshPlugins):
2960         (WebKit::WebPlatformStrategies::getPluginInfo):
2961         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
2962
2963 2010-06-23  Sam Weinig  <sam@webkit.org>
2964
2965         Reviewed by John Sullivan.
2966
2967         Stop silently ignoring crashes.
2968
2969         * WebProcess/Launching/mac/WebProcessMain.mm:
2970
2971 2010-06-23  Sam Weinig  <sam@webkit.org>
2972
2973         Reviewed by Anders Carlsson.
2974
2975         Add missing include to WKRetainPtr.
2976
2977         * UIProcess/API/cpp/WKRetainPtr.h:
2978
2979 2010-06-23  Sam Weinig  <sam@webkit.org>
2980
2981         Reviewed by Anders Carlsson.
2982
2983         Fix for https://bugs.webkit.org/show_bug.cgi?id=41073
2984         WebKit2: Flesh out more of the InjectedBundle client API
2985
2986         * WebProcess/InjectedBundle/API/c/WKBundle.h:
2987         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2988         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2989         (WebKit::InjectedBundle::willDestroyPage):
2990         * WebProcess/InjectedBundle/InjectedBundle.h:
2991         * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp:
2992         (WebKit::InjectedBundlePageClient::didStartProvisionalLoadForFrame):
2993         (WebKit::InjectedBundlePageClient::didReceiveServerRedirectForProvisionalLoadForFrame):
2994         (WebKit::InjectedBundlePageClient::didFailProvisionalLoadWithErrorForFrame):
2995         (WebKit::InjectedBundlePageClient::didCommitLoadForFrame):
2996         (WebKit::InjectedBundlePageClient::didFinishLoadForFrame):
2997         (WebKit::InjectedBundlePageClient::didFailLoadWithErrorForFrame):
2998         (WebKit::InjectedBundlePageClient::didReceiveTitleForFrame):
2999         * WebProcess/InjectedBundle/InjectedBundlePageClient.h:
3000         * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
3001         (WebKit::InjectedBundle::load): Add some error logging on failure to load the bundle.
3002         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3003         (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
3004         (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
3005         (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
3006         (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
3007         (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
3008         (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
3009         (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
3010         * WebProcess/WebPage/WebPage.cpp:
3011         (WebKit::WebPage::close):
3012         * mac/WebKit2.exp:
3013
3014 2010-06-22  Anders Carlsson  <andersca@apple.com>
3015
3016         Reviewed by Sam Weinig.
3017
3018         Add a SimpleArgumentCoder class template that works on POD types
3019         https://bugs.webkit.org/show_bug.cgi?id=41023
3020
3021         * Platform/CoreIPC/SimpleArgumentCoder.h: Added.
3022         (CoreIPC::SimpleArgumentCoder::encode):
3023         (CoreIPC::SimpleArgumentCoder::decode):
3024         * Shared/WebCoreTypeArgumentMarshalling.h:
3025         (CoreIPC::):
3026         * WebKit2.xcodeproj/project.pbxproj:
3027
3028 2010-06-22  Anders Carlsson  <andersca@apple.com>
3029
3030         Reviewed by Sam Weinig.
3031
3032         Use the ArgumentCoder class template for decoding
3033         https://bugs.webkit.org/show_bug.cgi?id=41021
3034
3035         * Platform/CoreIPC/ArgumentCoder.h:
3036         (CoreIPC::ArgumentCoder::decode):
3037         * Platform/CoreIPC/ArgumentDecoder.h:
3038         (CoreIPC::ArgumentDecoder::decode):
3039         * Shared/WebCoreTypeArgumentMarshalling.h:
3040         (CoreIPC::):
3041
3042 2010-06-22  Anders Carlsson  <andersca@apple.com>
3043
3044         Reviewed by Dan Bernstein.
3045
3046         Change the encode functions to be specializations of a class template
3047         https://bugs.webkit.org/show_bug.cgi?id=41015
3048
3049         * Platform/CoreIPC/ArgumentCoder.h: Added.
3050         (CoreIPC::ArgumentCoder::encode):
3051         * Platform/CoreIPC/ArgumentEncoder.h:
3052         (CoreIPC::ArgumentEncoder::encode):
3053         * Shared/WebCoreTypeArgumentMarshalling.h:
3054         (CoreIPC::):
3055         * WebKit2.xcodeproj/project.pbxproj:
3056
3057 2010-06-22  Anders Carlsson  <andersca@apple.com>
3058
3059         Reviewed by Sam Weinig.
3060
3061         Implement PluginInfoStore::shouldUsePlugin.
3062
3063         * UIProcess/Plugins/PluginInfoStore.h:
3064         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
3065         (WebKit::PluginInfoStore::getPluginInfo):
3066         (WebKit::PluginInfoStore::shouldUsePlugin):
3067         * WebKit2.xcodeproj/project.pbxproj:
3068
3069 2010-06-21  Anders Carlsson  <andersca@apple.com>
3070
3071         Reviewed by Sam Weinig.
3072
3073         Support reading plug-in info from Carbon resources
3074         https://bugs.webkit.org/show_bug.cgi?id=40959
3075
3076         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
3077         (WebKit::ResourceMap::ResourceMap):
3078         (WebKit::ResourceMap::~ResourceMap):
3079         (WebKit::ResourceMap::isValid):
3080         (WebKit::getStringListResource):
3081         (WebKit::getPluginInfoFromCarbonResources):
3082         (WebKit::PluginInfoStore::getPluginInfo):
3083
3084 2010-06-21  Anders Carlsson  <andersca@apple.com>
3085
3086         Build fix.
3087
3088         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
3089         (WebKit::PluginInfoStore::getPluginInfo):
3090
3091 2010-06-21  Anders Carlsson  <andersca@apple.com>
3092
3093         Reviewed by Sam Weinig.
3094
3095         Have PluginInfoStoreMac actually get plug-in info and populate the plug-in list
3096         https://bugs.webkit.org/show_bug.cgi?id=40957
3097
3098         * UIProcess/Plugins/PluginInfoStore.cpp:
3099         (WebKit::PluginInfoStore::loadPluginsIfNecessary):
3100         (WebKit::PluginInfoStore::loadPluginsInDirectory):
3101         (WebKit::PluginInfoStore::loadPlugin):
3102         (WebKit::PluginInfoStore::getPlugins):
3103         * UIProcess/Plugins/PluginInfoStore.h:
3104         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: Added.
3105         (WebKit::PluginInfoStore::pluginDirectories):
3106         (WebKit::PluginInfoStore::pluginPathsInDirectory):
3107         (WebKit::getPluginArchitecture):
3108         (WebKit::getPluginInfoFromPropertyLists):
3109         (WebKit::PluginInfoStore::getPluginInfo):
3110         (WebKit::PluginInfoStore::shouldUsePlugin):
3111         * WebKit2.xcodeproj/project.pbxproj:
3112
3113 2010-06-21  Anders Carlsson  <andersca@apple.com>
3114
3115         Reviewed by Sam Weinig.
3116
3117         Add PluginInfoStore class
3118         https://bugs.webkit.org/show_bug.cgi?id=40949
3119
3120         * Shared/WebPreferencesStore.cpp:
3121         (WebKit::WebPreferencesStore::WebPreferencesStore):
3122         * Shared/WebPreferencesStore.h:
3123         (WebKit::WebPreferencesStore::encode):
3124         (WebKit::WebPreferencesStore::decode):
3125         Add plugInsEnabled to the preferences store.
3126
3127         * UIProcess/Plugins: Added.
3128         * UIProcess/Plugins/PluginInfoStore.cpp: Added.
3129         (WebKit::PluginInfoStore::shared):
3130         (WebKit::PluginInfoStore::PluginInfoStore):
3131         (WebKit::PluginInfoStore::refresh):
3132         (WebKit::PluginInfoStore::getPlugins):
3133         * UIProcess/Plugins/PluginInfoStore.h: Added.
3134         * UIProcess/Plugins/mac: Added.
3135         * WebKit2.xcodeproj/project.pbxproj:
3136         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3137         (WebKit::WebPlatformStrategies::refreshPlugins):
3138         (WebKit::WebPlatformStrategies::getPluginInfo):
3139         * WebProcess/WebPage/WebPage.cpp:
3140         (WebKit::WebPage::WebPage):
3141
3142 2010-06-21  Simon Fraser  <simon.fraser@apple.com>
3143
3144         Reviewed by Anders Carlsson.
3145
3146         Rename DrawingAreaProxyUpdateChunk to ChunkedUpdateDrawingArea
3147         https://bugs.webkit.org/show_bug.cgi?id=40948
3148
3149         Rename UIProcess version of DrawingAreaUpdateChunk to ChunkedUpdateDrawingAreaProxy,
3150         and rename the Mac/Win versions of the various DrawingArea files too.
3151         
3152         Also rename the DrawingAreaUpdateChunkType enum to ChunkedUpdateDrawingAreaType.
3153
3154         * UIProcess/API/mac/WKView.mm:
3155         (-[WKView initWithFrame:pageNamespaceRef:]):
3156         * UIProcess/ChunkedUpdateDrawingArea.cpp: Removed.
3157         * UIProcess/ChunkedUpdateDrawingArea.h: Removed.
3158         * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: Added.
3159         (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
3160         (WebKit::ChunkedUpdateDrawingAreaProxy::~ChunkedUpdateDrawingAreaProxy):
3161         (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
3162         (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
3163         (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
3164         (WebKit::ChunkedUpdateDrawingAreaProxy::didSetSize):
3165         (WebKit::ChunkedUpdateDrawingAreaProxy::update):
3166         (WebKit::ChunkedUpdateDrawingAreaProxy::didReceiveMessage):
3167         * UIProcess/ChunkedUpdateDrawingAreaProxy.h: Added.
3168         (WebKit::ChunkedUpdateDrawingAreaProxy::encode):
3169         * UIProcess/DrawingAreaProxy.h:
3170         (WebKit::DrawingAreaProxy::):
3171         * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm: Added.
3172         (WebKit::ChunkedUpdateDrawingAreaProxy::page):
3173         (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
3174         (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore):
3175         (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
3176         (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
3177         * UIProcess/mac/DrawingAreaProxyUpdateChunkMac.mm: Removed.
3178         * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp: Added.
3179         (WebKit::ChunkedUpdateDrawingAreaProxy::page):
3180         (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
3181         (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore):
3182         (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
3183         (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
3184         * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp: Removed.
3185         * UIProcess/win/WebView.cpp:
3186         (WebKit::WebView::WebView):
3187         * WebKit2.xcodeproj/project.pbxproj:
3188         * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: Added.
3189         (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
3190         (WebKit::ChunkedUpdateDrawingArea::~ChunkedUpdateDrawingArea):
3191         (WebKit::ChunkedUpdateDrawingArea::invalidateWindow):
3192         (WebKit::ChunkedUpdateDrawingArea::invalidateContentsAndWindow):
3193         (WebKit::ChunkedUpdateDrawingArea::invalidateContentsForSlowScroll):
3194         (WebKit::ChunkedUpdateDrawingArea::scroll):
3195         (WebKit::ChunkedUpdateDrawingArea::setNeedsDisplay):
3196         (WebKit::ChunkedUpdateDrawingArea::display):
3197         (WebKit::ChunkedUpdateDrawingArea::scheduleDisplay):
3198         (WebKit::ChunkedUpdateDrawingArea::setSize):
3199         (WebKit::ChunkedUpdateDrawingArea::suspendPainting):
3200         (WebKit::ChunkedUpdateDrawingArea::resumePainting):
3201         (WebKit::ChunkedUpdateDrawingArea::didUpdate):
3202         (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
3203         * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: Added.
3204         * WebProcess/WebPage/DrawingArea.cpp:
3205         (WebKit::DrawingArea::create):
3206         * WebProcess/WebPage/DrawingArea.h:
3207         (WebKit::DrawingArea::):
3208         * WebProcess/WebPage/DrawingAreaUpdateChunk.cpp: Removed.
3209         * WebProcess/WebPage/DrawingAreaUpdateChunk.h: Removed.
3210         * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp: Added.
3211         (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
3212         * WebProcess/WebPage/mac/DrawingAreaUpdateChunkMac.cpp: Removed.
3213         * WebProcess/WebPage/win/ChunkedUpdateDrawingAreaWin.cpp: Added.
3214         (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
3215         * WebProcess/WebPage/win/DrawingAreaUpdateChunkWin.cpp: Removed.
3216         * win/WebKit2.vcproj:
3217
3218 2010-06-21  Simon Fraser  <simon.fraser@apple.com>
3219
3220         Reviewed by Anders Carlsson.
3221
3222         Rename DrawingAreaProxyUpdateChunk to ChunkedUpdateDrawingArea
3223         https://bugs.webkit.org/show_bug.cgi?id=40948
3224         
3225         Rename DrawingAreaUpdateChunk to ChunkedUpdateDrawingArea.
3226
3227         * UIProcess/API/mac/WKView.mm:
3228         (-[WKView initWithFrame:pageNamespaceRef:]):
3229         * UIProcess/ChunkedUpdateDrawingArea.cpp: Added.
3230         (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
3231         (WebKit::ChunkedUpdateDrawingArea::~ChunkedUpdateDrawingArea):
3232         (WebKit::ChunkedUpdateDrawingArea::paint):
3233         (WebKit::ChunkedUpdateDrawingArea::setSize):
3234         (WebKit::ChunkedUpdateDrawingArea::setPageIsVisible):
3235         (WebKit::ChunkedUpdateDrawingArea::didSetSize):
3236         (WebKit::ChunkedUpdateDrawingArea::update):
3237         (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
3238         * UIProcess/ChunkedUpdateDrawingArea.h: Added.
3239         (WebKit::ChunkedUpdateDrawingArea::encode):
3240         * UIProcess/DrawingAreaProxyUpdateChunk.cpp: Removed.
3241         * UIProcess/DrawingAreaProxyUpdateChunk.h: Removed.
3242         * UIProcess/mac/DrawingAreaProxyUpdateChunkMac.mm:
3243         (WebKit::ChunkedUpdateDrawingArea::page):
3244         (WebKit::ChunkedUpdateDrawingArea::ensureBackingStore):
3245         (WebKit::ChunkedUpdateDrawingArea::invalidateBackingStore):
3246         (WebKit::ChunkedUpdateDrawingArea::platformPaint):
3247         (WebKit::ChunkedUpdateDrawingArea::drawUpdateChunkIntoBackingStore):
3248         * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp:
3249         (WebKit::ChunkedUpdateDrawingArea::page):
3250         (WebKit::ChunkedUpdateDrawingArea::ensureBackingStore):
3251         (WebKit::ChunkedUpdateDrawingArea::invalidateBackingStore):
3252         (WebKit::ChunkedUpdateDrawingArea::platformPaint):
3253         (WebKit::ChunkedUpdateDrawingArea::drawUpdateChunkIntoBackingStore):
3254         * UIProcess/win/WebView.cpp:
3255         (WebKit::WebView::WebView):
3256         * WebKit2.xcodeproj/project.pbxproj:
3257         * win/WebKit2.vcproj:
3258
3259 2010-06-21  Sam Weinig  <sam@webkit.org>
3260
3261         Reviewed by Anders Carlsson.
3262
3263         Patch for https://bugs.webkit.org/show_bug.cgi?id=40940
3264         Add message passing support to the WebKit2 API.
3265
3266         Adds message passing for both InjectedBundle -> WebContext
3267         and WebContext -> InjectedBundle.
3268
3269         * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
3270         (WebProcessMessage::):
3271         * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h: Added.
3272         (WebProcessProxyMessage::):
3273         (CoreIPC::):
3274         * UIProcess/API/C/WKContext.cpp:
3275         (WKContextSetInjectedBundleClient):
3276         (WKContextPostMessageToInjectedBundle):
3277         * UIProcess/API/C/WKContext.h:
3278         * UIProcess/WebContext.cpp:
3279         (WebKit::WebContext::initializeInjectedBundleClient):
3280         (WebKit::WebContext::forwardMessageToWebContext):
3281         (WebKit::WebContext::postMessageToInjectedBundle):
3282         * UIProcess/WebContext.h:
3283         * UIProcess/WebContextInjectedBundleClient.cpp: Added.
3284         (WebKit::WebContextInjectedBundleClient::WebContextInjectedBundleClient):
3285         (WebKit::WebContextInjectedBundleClient::initialize):
3286         (WebKit::WebContextInjectedBundleClient::didRecieveMessageFromInjectedBundle):
3287         * UIProcess/WebContextInjectedBundleClient.h: Added.
3288         * UIProcess/WebProcessManager.cpp:
3289         (WebKit::WebProcessManager::processDidClose):
3290         * UIProcess/WebProcessProxy.cpp:
3291         (WebKit::WebProcessProxy::didReceiveInjectedBundleMessage):
3292         (WebKit::WebProcessProxy::didReceiveMessage):
3293         * UIProcess/WebProcessProxy.h:
3294         * WebKit2.xcodeproj/project.pbxproj:
3295         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3296         (WKBundlePostMessage):
3297         * WebProcess/InjectedBundle/API/c/WKBundle.h:
3298         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3299         (WebKit::InjectedBundle::postMessage):
3300         (WebKit::InjectedBundle::didCreatePage):
3301         (WebKit::InjectedBundle::didRecieveMessage):
3302         * WebProcess/InjectedBundle/InjectedBundle.h:
3303         * WebProcess/WebProcess.cpp:
3304         (WebKit::WebProcess::loadInjectedBundle):
3305         (WebKit::WebProcess::forwardMessageToInjectedBundle):
3306         (WebKit::WebProcess::didReceiveMessage):
3307         * WebProcess/WebProcess.h:
3308         * mac/WebKit2.exp:
3309         * win/WebKit2.vcproj:
3310
3311 2010-06-21  Anders Carlsson  <andersca@apple.com>
3312
3313         Reviewed by Sam Weinig.
3314
3315         Make WebKit2 build with clang++
3316
3317         * Platform/CoreIPC/Connection.h:
3318         * UIProcess/API/mac/WKView.mm:
3319         (-[WKView keyUp:]):
3320         (-[WKView keyDown:]):
3321         * UIProcess/WebHistoryClient.h:
3322         * UIProcess/WebPageProxy.h:
3323         * WebProcess/WebPage/WebPage.h:
3324         * WebProcess/WebProcess.h:
3325
3326 2010-06-21  Satish Sampath  <satish@chromium.org>
3327
3328         Reviewed by Steve Block.
3329
3330         Speech Input Patch 0: Added compilation argument to conditionally compile pending patches.
3331
3332         Speech Input Patch 0: Added compilation argument to conditionally compile pending patches.
3333         https://bugs.webkit.org/show_bug.cgi?id=40878
3334
3335         * Configurations/FeatureDefines.xcconfig:
3336
3337 2010-06-20  Jessie Berlin  <jberlin@apple.com>
3338
3339         Reviewed by Dan Bernstein.
3340
3341         Add #if USE(PLATFORM_STRATEGIES) where WebPlatformStrategies is being used.
3342
3343         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3344         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
3345         * WebProcess/WebProcess.cpp:
3346         (WebKit::WebProcess::WebProcess):
3347         Only initialize the web platform strategies if PLATFORM_STRATEGIES is being used.
3348
3349 2010-06-19  Sam Weinig  <sam@webkit.org>
3350
3351         Reviewed by Anders Carlsson.
3352
3353         Fix for https://bugs.webkit.org/show_bug.cgi?id=40882
3354         Add ability to have a WebProcess per WebContext.
3355
3356         - Move to a one-to-one correspondence of WebContexts to WebProcessProxies.
3357         - Add explicit shared contexts for general use.
3358         - Only non-shared contexts can use injected bundles.
3359
3360         * UIProcess/API/C/WKContext.cpp:
3361         (WKContextCreate):
3362         (WKContextCreateWithInjectedBundlePath):
3363         (WKContextGetSharedProcessContext):
3364         (WKContextGetSharedThreadContext):
3365         * UIProcess/API/C/WKContext.h:
3366         * UIProcess/API/C/WKContextPrivate.h:
3367         Change API for WKContext to no longer take a WKProcessModel type and instead
3368         have explicit Create/Get functions for the different kind of contexts. Added
3369         two shared contexts, one threaded, one process, and made the threaded on private
3370         for now.
3371
3372         * UIProcess/API/mac/WKView.mm:
3373         (-[WKView initWithFrame:]):
3374         Make WKViews that don't have an explicit context use the shared process
3375         context by default.
3376
3377         * UIProcess/Launcher/WebProcessLauncher.h:
3378         * UIProcess/Launcher/mac/WebProcessLauncher.mm:
3379         (WebKit::launchWebProcess):
3380         * UIProcess/Launcher/win/WebProcessLauncher.cpp:
3381         (WebKit::launchWebProcess):
3382         Use a boolean argument to note whether we are using a thread or a process
3383         instead of using the process model enum.
3384
3385         * UIProcess/ProcessModel.h:
3386         (WebKit::):
3387         Convert to using explicit Shared modifier for shared contexts.
3388
3389         * UIProcess/WebContext.cpp:
3390         (WebKit::WebContext::sharedProcessContext):
3391         (WebKit::WebContext::sharedThreadContext):
3392         (WebKit::WebContext::ensureWebProcess):
3393         (WebKit::WebContext::createWebPage):
3394         (WebKit::WebContext::reviveIfNecessary):
3395         * UIProcess/WebContext.h:
3396         (WebKit::WebContext::create):
3397         (WebKit::WebContext::process):
3398         * UIProcess/WebPageNamespace.cpp:
3399         (WebKit::WebPageNamespace::createWebPage):
3400         (WebKit::WebPageNamespace::preferencesDidChange):
3401         (WebKit::WebPageNamespace::getStatistics):
3402         * UIProcess/WebPageNamespace.h:
3403         (WebKit::WebPageNamespace::process):
3404         (WebKit::WebPageNamespace::reviveIfNecessary):
3405         Move WebProcessProxy creation logic up into WebContext.
3406
3407         * UIProcess/WebProcessManager.cpp:
3408         (WebKit::WebProcessManager::getWebProcess):
3409         (WebKit::WebProcessManager::processDidClose):
3410         * UIProcess/WebProcessManager.h:
3411         Keep a map of WebContexts to WebProcessProxies in addition to the two
3412         shared processes.
3413
3414         * UIProcess/WebProcessProxy.cpp:
3415         (WebKit::WebProcessProxy::create):
3416         (WebKit::WebProcessProxy::WebProcessProxy):
3417         (WebKit::WebProcessProxy::connect):
3418         (WebKit::WebProcessProxy::didClose):
3419         * UIProcess/WebProcessProxy.h:
3420         Store a WebContext instead of the process model.
3421
3422         * mac/WebKit2.exp:
3423         Add new functions.
3424
3425 2010-06-18  Anders Carlsson  <andersca@apple.com>
3426
3427         Reviewed by Sam Weinig.
3428
3429         Make WebCoreSystemInterface.h a C++ only header
3430         https://bugs.webkit.org/show_bug.cgi?id=40867
3431
3432         * WebKit2.xcodeproj/project.pbxproj:
3433         * WebProcess/WebCoreSupport/mac/WebSystemInterface.h:
3434         * WebProcess/WebCoreSupport/mac/WebSystemInterface.m: Removed.
3435         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: Copied from WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.m.
3436         * mac/WebKit2.exp:
3437
3438 2010-06-18  Anders Carlsson  <andersca@apple.com>
3439
3440         Reviewed by Sam Weinig.
3441
3442         Add platform strategies for WebKit2.
3443         https://bugs.webkit.org/show_bug.cgi?id=40863
3444
3445         * WebKit2.xcodeproj/project.pbxproj:
3446         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added.
3447         (WebKit::WebPlatformStrategies::initialize):
3448         (WebKit::WebPlatformStrategies::WebPlatformStrategies):
3449         (WebKit::WebPlatformStrategies::createPluginStrategy):
3450         (WebKit::WebPlatformStrategies::refreshPlugins):
3451         (WebKit::WebPlatformStrategies::getPluginInfo):
3452         * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added.
3453         * WebProcess/WebProcess.cpp:
3454         (WebKit::WebProcess::WebProcess):
3455
3456 2010-06-18  Sam Weinig  <weinig@apple.com>
3457
3458         Rolling http://trac.webkit.org/changeset/61297 back in.
3459
3460         * WebKit2.xcodeproj/project.pbxproj:
3461         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Added.
3462         (WKBundlePageSetClient):
3463         (WKBundlePageGetMainFrameURL):
3464         * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Added.
3465         * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp: Added.
3466         (WebKit::InjectedBundlePageClient::InjectedBundlePageClient):
3467         (WebKit::InjectedBundlePageClient::initialize):
3468         (WebKit::InjectedBundlePageClient::didClearWindowObjectForFrame):
3469         * WebProcess/InjectedBundle/InjectedBundlePageClient.h: Added.
3470         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3471         (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
3472         * WebProcess/WebPage/WebPage.cpp:
3473         (WebKit::WebPage::initializeInjectedBundleClient):
3474         (WebKit::WebPage::mainFrameURL):
3475         * WebProcess/WebPage/WebPage.h:
3476         (WebKit::WebPage::injectedBundleClient):
3477         * mac/WebKit2.exp:
3478         * win/WebKit2.vcproj:
3479
3480 2010-06-17  Anders Carlsson  <andersca@apple.com>
3481
3482         Reviewed by Sam Weinig.
3483
3484         Fix a race condition during startup where we would never send the InitializeConnection message to the server.
3485
3486         * Platform/CoreIPC/mac/ConnectionMac.cpp:
3487         (CoreIPC::Connection::open):
3488
3489 2010-06-17  Ada Chan  <adachan@apple.com>
3490
3491         Rolling out http://trac.webkit.org/changeset/61297 due to build errors.
3492
3493         * WebKit2.xcodeproj/project.pbxproj:
3494         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Removed.
3495         * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Removed.
3496         * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp: Removed.
3497         * WebProcess/InjectedBundle/InjectedBundlePageClient.h: Removed.
3498         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3499         (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
3500         * WebProcess/WebPage/WebPage.cpp:
3501         * WebProcess/WebPage/WebPage.h:
3502         * mac/WebKit2.exp:
3503         * win/WebKit2.vcproj:
3504
3505 2010-06-15  Sam Weinig  <sam@webkit.org>
3506
3507         Reviewed by Anders Carlsson.
3508
3509         Fix for <rdar://problem/8010805>
3510         Assertion failure ("mainThreadPthread") in isMainThread() mousing over cnn.com in Mini Browser
3511
3512         Don't use WebCore::String::operator NSString*() from the UIProcess, since it uses
3513         StringImpl::createCFString() which expects to be called from WebCore's main thread.
3514
3515         * UIProcess/API/mac/PageClientImpl.h:
3516         * UIProcess/API/mac/PageClientImpl.mm:
3517         (WebKit::nsStringFromWebCoreString):
3518         (WebKit::PageClientImpl::toolTipChanged):
3519         * UIProcess/API/mac/WKView.mm:
3520         (-[WKView view:stringForToolTip:point:userData:]):
3521
3522 2010-06-15  Sam Weinig  <sam@webkit.org>
3523
3524         Reviewed by Anders Carlsson.
3525
3526         Fix for https://bugs.webkit.org/show_bug.cgi?id=40630
3527         WebKit2: Add mechanism to inject code into the WebProcess on startup
3528
3529         Add initial InjectedBundle support.
3530
3531         * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
3532         (WebProcessMessage::):
3533         Add new LoadInjectedBundle message kind.
3534
3535         * UIProcess/API/C/WKContext.cpp:
3536         (toWK):
3537         (WKContextCreate):
3538         (WKContextCreateWithInjectedBundlePath):
3539         * UIProcess/API/C/WKContext.h:
3540         Rename WKContextCreateWithProcessModel to WKContextCreate and add
3541         WKContextCreateWithInjectedBundlePath for creating a context with
3542         a bundle.
3543
3544         * UIProcess/WebContext.cpp:
3545         (WebKit::WebContext::WebContext):
3546         * UIProcess/WebContext.h:
3547         (WebKit::WebContext::create):
3548         (WebKit::WebContext::processModel):
3549         (WebKit::WebContext::bundlePath):
3550         * UIProcess/WebPageNamespace.cpp:
3551         (WebKit::WebPageNamespace::ensureWebProcess):
3552         (WebKit::WebPageNamespace::reviveIfNecessary):
3553         * UIProcess/WebProcessManager.cpp:
3554         (WebKit::WebProcessManager::getWebProcess):
3555         * UIProcess/WebProcessManager.h:
3556         * UIProcess/WebProcessProxy.cpp:
3557         (WebKit::WebProcessProxy::create):
3558         (WebKit::WebProcessProxy::WebProcessProxy):
3559         * UIProcess/WebProcessProxy.h:
3560         Thread the bundle path through process creation.
3561
3562         * WebProcess/InjectedBundle: Added.
3563         * WebProcess/InjectedBundle/API: Added.
3564         * WebProcess/InjectedBundle/API/c: Added.
3565         * WebProcess/InjectedBundle/API/c/WKBundle.cpp: Added.
3566         (WKBundleSetClient):
3567         * WebProcess/InjectedBundle/API/c/WKBundle.h: Added.
3568         * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: Added.
3569         (WebKit::):
3570         (toWK):
3571         (toRef):
3572         * WebProcess/InjectedBundle/API/c/WKBundleBase.h: Added.
3573         * WebProcess/InjectedBundle/API/c/WKBundleInitialize.h: Added.
3574         * WebProcess/InjectedBundle/InjectedBundle.cpp: Added.
3575         (WebKit::InjectedBundle::InjectedBundle):
3576         (WebKit::InjectedBundle::~InjectedBundle):
3577         (WebKit::InjectedBundle::initializeClient):
3578         (WebKit::InjectedBundle::didCreatePage):
3579         * WebProcess/InjectedBundle/InjectedBundle.h: Added.
3580         (WebKit::InjectedBundle::create):
3581         Add bundle boilerplate.
3582
3583         * WebProcess/InjectedBundle/mac: Added.
3584         * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: Added.
3585         (WebKit::InjectedBundle::load):
3586         Load the InjectedBundle using CFBundle.
3587
3588         * WebProcess/InjectedBundle/win: Added.
3589         * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: Added.
3590         (WebKit::pathGetFileName):
3591         (WebKit::directoryName):
3592         (WebKit::InjectedBundle::load):
3593         Load the InjectedBundle using HMODULE.
3594
3595         * WebProcess/WebPage/WebPage.cpp:
3596         (WebKit::WebPage::WebPage):
3597         Add initial bundle callback for page creation. More to come.
3598
3599         * WebProcess/WebProcess.cpp:
3600         (WebKit::WebProcess::loadInjectedBundle):
3601         (WebKit::WebProcess::didReceiveMessage):
3602         * WebProcess/WebProcess.h:
3603         (WebKit::WebProcess::injectedBundle):
3604         Load the InjectedBundle on LoadInjectedBundle message.
3605
3606         * WebKit2.xcodeproj/project.pbxproj:
3607         * mac/WebKit2.exp:
3608         * win/WebKit2.vcproj:
3609         * win/WebKit2Generated.make:
3610         Add the new files.
3611
3612 2010-06-15  Darin Adler  <darin@apple.com>
3613
3614         Reviewed by Adam Barth.
3615
3616         Move functions out of Frame class that were marked "move to Chrome"
3617         https://bugs.webkit.org/show_bug.cgi?id=39636
3618
3619         * WebProcess/WebPage/WebPage.cpp:
3620         (WebKit::WebPage::tryClose): Call shouldClose on FrameLoader instead of
3621         going through Frame.
3622
3623 2010-06-14  Steve Falkenburg  <sfalken@apple.com>
3624
3625         Windows build fix.
3626         Reorder build event to fix cygwin path issue.
3627
3628         * win/WebKit2Generated.vcproj:
3629
3630 2010-06-14  Steve Falkenburg  <sfalken@apple.com>
3631
3632         Windows build fix.
3633         Add build failure stopping code.
3634
3635         * win/WebKit2WebProcess.vcproj:
3636
3637 2010-06-14  Steve Falkenburg  <sfalken@apple.com>
3638
3639         Windows build fix.
3640         Add build failure stopping code.
3641
3642         * win/WebKit2Generated.vcproj:
3643
3644 2010-06-14  Ada Chan  <adachan@apple.com>
3645
3646         Rubber-stamped by Steve Falkenburg.
3647
3648         - Fix the release configuration to use release.vsprops.
3649         - Add Debug_Internal and Debug_All configurations to the WebKit2WebProcess project.
3650         - Fix launchWebProcess() to get the right path to the WebKit2WebProcess executable.
3651
3652         * UIProcess/Launcher/win/WebProcessLauncher.cpp:
3653         (WebKit::launchWebProcess):
3654         * win/WebKit2WebProcess.vcproj:
3655
3656 2010-06-12  Ada Chan  <adachan@apple.com>
3657
3658         Unreviewed fix for a linking error with WebKit2LocalizableStringsBundle for Windows release build.
3659
3660         * WebProcess/win/WebLocalizableStrings.cpp:
3661         (findCachedString):
3662
3663 2010-06-11  Sam Weinig  <sam@webkit.org>
3664
3665         Reviewed by Mark Rowe.
3666
3667         Use -Os for optimized builds instead of -02. -02 wasn't giving the 
3668         right trade off at this time.
3669
3670         * Configurations/Base.xcconfig:
3671
3672 2010-06-11  Sam Weinig  <sam@webkit.org>
3673
3674         Reviewed by Anders Carlsson.
3675
3676         Move WKRetain and WKRelease overloaded functions out of WKRetainPtr
3677         and into the files of the type they overload (eg, WKRetain(WKFrameRef 
3678         moves to WKFrame.h)).
3679
3680         * UIProcess/API/C/WKBase.h:
3681         * UIProcess/API/C/WKContext.h:
3682         * UIProcess/API/C/WKFrame.h:
3683         * UIProcess/API/C/WKFramePolicyListener.h:
3684         * UIProcess/API/C/WKNavigationData.h:
3685         * UIProcess/API/C/WKPage.h:
3686         * UIProcess/API/C/WKPageNamespace.h:
3687         * UIProcess/API/C/WKPreferences.h:
3688         * UIProcess/API/C/WKString.h:
3689         * UIProcess/API/C/WKURL.h:
3690         * UIProcess/API/cpp/WKRetainPtr.h:
3691         * UIProcess/API/win/WKView.h:
3692
3693 2010-06-10  John Sullivan  <sullivan@apple.com>
3694
3695         Reviewed by Dan Bernstein.
3696
3697         * mac/WebKit2.exp:
3698         Added another symbol needed by Mac clients.
3699
3700 2010-06-09  Ilya Tikhonovsky  <loislo@chromium.org>
3701
3702         Unreviewed build fix.
3703
3704         * WebProcess/WebCoreSupport/WebInspectorClient.h:
3705
3706 2010-06-09  Ilya Tikhonovsky  <loislo@chromium.org>
3707
3708         Unreviewed build fix.
3709
3710         WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
3711         data from inspected page to WebInspector as JSON string via http. The native
3712         serialization to JSON string is supported by InspectorValue's classes. This patch
3713         has the implementation of sendMessageToFrontend function. WebKit version of it still
3714         uses ScriptFunctionCall and will be switched to another transport a little bit later.
3715         https://bugs.webkit.org/show_bug.cgi?id=40134
3716
3717         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
3718         (WebKit::WebInspectorClient::sendMessageToFrontend):
3719         * WebProcess/WebCoreSupport/WebInspectorClient.h:
3720
3721 2010-06-08  Anders Carlsson  <andersca@apple.com>
3722
3723         Reviewed by John Sullivan.
3724
3725         <rdar://problem/8071268> WebKit2 URLs are displayed as 1-character strings in log statements
3726
3727         Create a CFString from our WebCore string and then create the CFURL from the CFString.
3728
3729         * UIProcess/API/C/cf/WKURLCF.cpp:
3730         (WKURLCopyCFURL):
3731
3732 2010-06-08  John Sullivan  <sullivan@apple.com>
3733
3734         Rubber-stamped by Anders Carlsson.
3735
3736         * mac/WebKit2.exp:
3737         Added _WKPageGetEstimatedProgress and _WKFrameGetPage
3738
3739 2010-06-08  Anders Carlsson  <andersca@apple.com>
3740
3741         Reviewed by John Sullivan.
3742
3743         Would like a way to query WKPageRef for the current progress value
3744         https://bugs.webkit.org/show_bug.cgi?id=40310
3745         <rdar://problem/8071299>
3746
3747         Add WKPageGetEstimatedProgress. Remove the progress parameter from the didChangeProgress
3748         loader client callback function.
3749
3750         * UIProcess/API/C/WKPage.cpp:
3751         (WKPageGetEstimatedProgress):
3752         * UIProcess/API/C/WKPage.h:
3753         * UIProcess/WebLoaderClient.cpp:
3754         (WebKit::WebLoaderClient::didChangeProgress):
3755         * UIProcess/WebLoaderClient.h:
3756         * UIProcess/WebPageProxy.cpp:
3757         (WebKit::WebPageProxy::WebPageProxy):
3758         (WebKit::WebPageProxy::close):
3759         (WebKit::WebPageProxy::didStartProgress):
3760         (WebKit::WebPageProxy::didChangeProgress):
3761         (WebKit::WebPageProxy::didFinishProgress):
3762         (WebKit::WebPageProxy::processDidExit):
3763         * UIProcess/WebPageProxy.h:
3764         (WebKit::WebPageProxy::estimatedProgress):
3765
3766 2010-06-08  Anders Carlsson  <andersca@apple.com>
3767
3768         Reviewed by John Sullivan.
3769
3770         Would like a way to tell which WKPageRef a WKFrameRef is part of
3771         https://bugs.webkit.org/show_bug.cgi?id=40308
3772         <rdar://problem/8071251>
3773
3774         Add and implement WKFrameGetPage.
3775
3776         * UIProcess/API/C/WKFrame.cpp:
3777         (WKFrameGetPage):
3778         * UIProcess/API/C/WKFrame.h:
3779         * UIProcess/WebFrameProxy.h:
3780         (WebKit::WebFrameProxy::page):
3781
3782 2010-06-08  John Sullivan  <sullivan@apple.com>
3783
3784         Rubber-stamped by Mark Rowe.
3785
3786         * mac/WebKit2.exp:
3787         Added a few more symbols needed by Mac clients.
3788
3789 2010-06-08  MORITA Hajime  <morrita@google.com>
3790
3791         Unreviewed. An attempt to fix test break.
3792
3793         * Configurations/FeatureDefines.xcconfig:
3794
3795 2010-06-06  MORITA Hajime  <morrita@google.com>
3796
3797         Unreviewd, follow up to r60820
3798
3799         https://bugs.webkit.org/show_bug.cgi?id=40219
3800         [Mac] ENABLE_METER_TAG should be enabled
3801         
3802         * Configurations/FeatureDefines.xcconfig:
3803
3804 2010-06-05  Mark Rowe  <mrowe@apple.com>
3805
3806         Rubber-stamped by Dan Bernstein.
3807
3808         <rdar://problem/8063622> Failure to launch WebProcess.app when framework is outside of the build directory
3809
3810         * Configurations/WebProcess.xcconfig:
3811
3812 2010-06-04  John Sullivan  <sullivan@apple.com>
3813
3814         Rubber-stamped by Ada Chan.
3815
3816         Added a couple of symbols needed to start using WKFrameRefs in Mac clients.
3817
3818         * mac/WebKit2.exp:
3819         Added _WKFrameRelease and _WKFrameRetain.
3820
3821 2010-06-04  Ada Chan  <adachan@apple.com>
3822
3823         Reviewed by Anders Carlsson.
3824
3825         http://bugs.webkit.org/show_bug.cgi?id=40186
3826         
3827         Need to close WebPageProxy when the WebView is destroyed.
3828         Also, WebPageProxy shouldn't hold an OwnPtr to the PageClient, which is the WebView on Windows.
3829
3830         * UIProcess/WebPageProxy.cpp:
3831         (WebKit::WebPageProxy::WebPageProxy):
3832         (WebKit::WebPageProxy::setPageClient):
3833         * UIProcess/WebPageProxy.h:
3834         * UIProcess/win/WebView.cpp:
3835         (WebKit::WebView::close):
3836
3837 2010-06-03  Ada Chan  <adachan@apple.com>
3838
3839         Reviewed by Adam Roben.
3840
3841         https://bugs.webkit.org/show_bug.cgi?id=40152
3842         
3843         Need to remove the WebView from WindowMessageBroadcaster's listeners list when the WebView is destroyed.
3844
3845         * UIProcess/API/win/WKView.cpp:
3846         (WKViewSetHostWindow): Expose API to change the host window of a WKView.
3847         (WKViewWindowAncestryDidChange): Expose API to allow clients to notify WebKit when a WKView's window ancestry has changed.
3848         * UIProcess/API/win/WKView.h:
3849         * UIProcess/win/WebView.cpp:
3850         (WebKit::WebView::wndProc): Set the WebView's host window to 0 when it's destroyed.  setHostWindow() will call 
3851         windowAncestryDidChange(), which will remove this WebView from the WindowMessageBroadcaster's listeners list.
3852         (WebKit::WebView::WebView): Initialize m_isBeingDestroyed.
3853         (WebKit::WebView::setHostWindow): Update the window's parent window and call windowAncestryDidChange().
3854         (WebKit::WebView::close): Set the host window to 0.
3855         * UIProcess/win/WebView.h:
3856
3857 2010-06-04  Tony Gentilcore  <tonyg@chromium.org>
3858
3859         Reviewed by Adam Barth.
3860
3861         Utilize new takeFirst() method where appropriate.
3862         https://bugs.webkit.org/show_bug.cgi?id=40089
3863
3864         * Platform/CoreIPC/ArgumentDecoder.cpp:
3865         (CoreIPC::ArgumentDecoder::removeAttachment):
3866
3867 2010-06-03  Ada Chan  <adachan@apple.com>
3868
3869         Reviewed by Anders Carlsson.
3870
3871         Add UIProcess\API\cpp to the list of additional include directories.
3872         Allow WKViewRef to work with WKRetainPtr on Windows.
3873
3874         * UIProcess/API/cpp/WKRetainPtr.h:
3875         * win/WebKit2.vcproj:
3876
3877 2010-06-01  Alice Liu  <alice.liu@apple.com>
3878
3879         Build fix. Not reviewed
3880
3881         * win/WebKit2Generated.make: Added WKRetainPtr.h
3882
3883 2010-06-01  John Sullivan  <sullivan@apple.com>
3884
3885         Rubber-stamped by Anders Carlsson.
3886
3887         Added _WKRetainPtr to .exp file, and added .exp file to Xcode project.
3888
3889         * WebKit2.xcodeproj/project.pbxproj:
3890         Added mac/WebKit2.exp.
3891         
3892         * mac/WebKit2.exp:
3893         Added _WKRetainPtr.
3894
3895 2010-06-01  John Sullivan  <sullivan@apple.com>
3896
3897         Rubber-stamped by Anders Carlsson.
3898
3899         Fixed typo/wordo that prevented a certain flavor of constructor from compiling.
3900
3901         * UIProcess/API/cpp/WKRetainPtr.h:
3902         (WebKit::WKRetainPtr::WKRetainPtr):
3903         Changed the mysterious "retainWKPtr" to "WKRetain".
3904
3905 2010-05-28  John Sullivan  <sullivan@apple.com>
3906
3907         Rubber-stamped by Dan Bernstein.
3908
3909         Add a using declaration for AdoptWK to match the one just added for WKRetainPtr.
3910
3911         * UIProcess/API/cpp/WKRetainPtr.h:
3912
3913 2010-05-28  Sam Weinig  <sam@webkit.org>
3914
3915         Reviewed by Anders Carlsson.
3916
3917         Add a using declaration for WKRetainPtr matching what we do for our
3918         other smart pointers and fix the destructor.
3919
3920         * UIProcess/API/cpp/WKRetainPtr.h:
3921         (WebKit::WKRetainPtr::~WKRetainPtr):
3922
3923 2010-05-25  Ada Chan  <adachan@apple.com>
3924
3925         Reviewed by Darin Adler.
3926
3927         https://bugs.webkit.org/show_bug.cgi?id=39686
3928
3929         Fix the ProjectGUID of the WebKit2 project so it doesn't conflict with the one in WebKit.        
3930
3931         * WebKit2.sln:
3932         * win/WebKit2.vcproj:
3933
3934 2010-05-24  Ada Chan  <adachan@apple.com>
3935
3936         Rubber-stamped by Mark Rowe.
3937         
3938         Build fix for 32bit systems.
3939
3940         * mac/WebKit2.exp:
3941
3942 2010-05-21  Mark Rowe  <mrowe@apple.com>
3943
3944         Reviewed by Oliver Hunt.
3945
3946         Teach WebKit2 to build in the Production configuration.
3947
3948         * Configurations/Base.xcconfig: Restrict WebKit2 to Intel, and disable the order file.
3949         * Configurations/BaseTarget.xcconfig: Fix the path to the umbrella framework directory.
3950         This path is used to locate WebCore.framework, so it needs to be relative to WebKit.framework
3951         rather than WebKit2.framework.
3952         * Configurations/WebKit2.xcconfig: Update the install path.  Add an exports file.
3953         * Configurations/WebProcess.xcconfig: Update the install path.
3954         * WebKit2.xcodeproj/project.pbxproj: Add a Production configuration.
3955         * mac/WebKit2.exp: Added.
3956
3957 2010-05-21  Steve Block  <steveblock@google.com>
3958
3959         Unreviewed build fix for WebKit2
3960
3961         Pass 0 to Page constructor for DeviceOrientationClient.
3962         See http://trac.webkit.org/changeset/59935
3963
3964         * WebProcess/WebPage/WebPage.cpp:
3965         (WebKit::WebPage::WebPage):
3966
3967 2010-05-11  Mark Rowe  <mrowe@apple.com>
3968
3969         Fix the world.
3970
3971         In r59162 a change was made to WebCore's FeatureDefines.xcconfig that enabled FILE_READER and FILE_WRITER.
3972         The author and reviewer of that patch ignored the carefully-worded warning at the top of that file asking
3973         that changes to the file be kept in sync across JavaScriptCore, WebCore and WebKit, as well as being kept
3974         in sync with build-webkit.  This led to WebCore and WebKit having different views of Document's vtable
3975         and results in crashes in Safari shortly after launch when virtual function calls resulted in the wrong
3976         function in WebCore being called.
3977
3978         We fix this by bringing the FeatureDefines.xcconfig files in to sync.  Based on the ChangeLog message and
3979         other changes in r59162 it appears that enabling FILE_WRITER was unintentional so that particular change
3980         has been reverted.
3981
3982         * Configurations/FeatureDefines.xcconfig:
3983
3984 2010-05-04  Anders Carlsson  <andersca@apple.com>
3985
3986         Reviewed by Dan Bernstein.
3987
3988         [WebKit2] The web process doesn't need to paint when the web view is hidden.
3989         https://bugs.webkit.org/show_bug.cgi?id=38549
3990
3991         * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
3992         (DrawingAreaMessage::):
3993         Add SuspendPainting/ResumePainting messages.
3994         
3995         * UIProcess/DrawingAreaProxyUpdateChunk.cpp:
3996         (WebKit::DrawingAreaProxyUpdateChunk::setPageIsVisible):
3997         Suspend and resume painting accordingly.
3998         
3999         * WebProcess/WebPage/DrawingAreaUpdateChunk.cpp:
4000         (WebKit::DrawingAreaUpdateChunk::DrawingAreaUpdateChunk):
4001         Initialize m_shouldPaint to true.
4002         
4003         (WebKit::DrawingAreaUpdateChunk::display):
4004         Return if m_shouldPaint is false.
4005         
4006         (WebKit::DrawingAreaUpdateChunk::scheduleDisplay):
4007         Ditto.
4008         
4009         (WebKit::DrawingAreaUpdateChunk::setSize):
4010         Assert that we should paint here.
4011
4012         (WebKit::DrawingAreaUpdateChunk::suspendPainting):
4013         Set m_shouldPaint to false and stop the timer.
4014         
4015         (WebKit::DrawingAreaUpdateChunk::resumePainting):
4016         Set m_shouldPaint to true and paint if needed.
4017
4018         (WebKit::DrawingAreaUpdateChunk::didReceiveMessage):
4019         handle SuspendPainting/ResumePainting messages.
4020
4021         * WebProcess/WebPage/DrawingAreaUpdateChunk.h:
4022
4023 2010-05-03  Anders Carlsson  <andersca@apple.com>
4024
4025         Reviewed by Jon Honeycutt.
4026
4027         [WebKit2] WKView should respond to WM_SHOWWINDOW messages
4028         https://bugs.webkit.org/show_bug.cgi?id=38496
4029
4030         * UIProcess/win/WebView.cpp:
4031         (WebKit::WebView::wndProc):
4032         Add case for WM_SHOWWINDOW.
4033
4034         (WebKit::WebView::onShowWindowEvent):
4035         Update the page visibility accordingly.
4036
4037         * UIProcess/win/WebView.h:
4038
4039 2010-05-03  Anders Carlsson  <andersca@apple.com>
4040
4041         Reviewed by Dan Bernstein.
4042
4043         Get rid of PageClient::isPageVisible and pass visibility directly in setPageIsVisible
4044         https://bugs.webkit.org/show_bug.cgi?id=38493
4045
4046         * UIProcess/API/mac/PageClientImpl.h:
4047         * UIProcess/API/mac/PageClientImpl.mm:
4048         Remove isPageVisible.
4049         
4050         * UIProcess/API/mac/WKView.mm:
4051         (isViewVisible):
4052         New function (moved here from PageClientImpl).
4053         
4054         (-[WKView _updateVisibility]):
4055         Call didChangeVisibility.
4056         
4057         (-[WKView viewDidMoveToWindow]):
4058         (-[WKView viewDidHide]):
4059         (-[WKView viewDidUnhide]):
4060         Call _updateVisibility.
4061         
4062         * UIProcess/DrawingAreaProxy.h:
4063         Rename didChangeVisibility to setPageIsVisible and add an isVisible parameter.
4064         
4065         * UIProcess/DrawingAreaProxyUpdateChunk.cpp:
4066         (WebKit::DrawingAreaProxyUpdateChunk::setPageIsVisible):
4067         Don't call WebPageProxy::isVisible.
4068
4069         * UIProcess/DrawingAreaProxyUpdateChunk.h:
4070         
4071         * UIProcess/PageClient.h:
4072         Remove isPageVisible.
4073
4074         * UIProcess/WebPageProxy.cpp:
4075         * UIProcess/WebPageProxy.h:
4076         Remove isVisible.
4077
4078 2010-05-03  Anders Carlsson  <andersca@apple.com>
4079
4080         Reviewed by Adam Roben.
4081
4082         Implement PageClient::isPageVisible on Windows.
4083         https://bugs.webkit.org/show_bug.cgi?id=38483
4084
4085         * UIProcess/PageClient.h:
4086         * UIProcess/win/WebView.cpp:
4087         (WebKit::WebView::isPageVisible):
4088         * UIProcess/win/WebView.h:
4089
4090 2010-05-03  Anders Carlsson  <andersca@apple.com>
4091
4092         Fix Windows build.
4093
4094         * Platform/CoreIPC/win/ConnectionWin.cpp:
4095         (CoreIPC::Connection::sendOutgoingMessage):
4096         * Shared/win/UpdateChunk.cpp:
4097         (WebKit::UpdateChunk::UpdateChunk):
4098         (WebKit::UpdateChunk::encode):
4099         (WebKit::UpdateChunk::decode):
4100         * Shared/win/UpdateChunk.h:
4101         (WebKit::UpdateChunk::rect):
4102         * UIProcess/DrawingAreaProxy.h:
4103         * UIProcess/DrawingAreaProxyUpdateChunk.h:
4104         * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp:
4105         (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
4106         * WebProcess/WebPage/win/DrawingAreaUpdateChunkWin.cpp:
4107         (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk):
4108         * WebProcess/win/WebProcessMain.cpp:
4109
4110 2010-04-30  Anders Carlsson  <andersca@apple.com>
4111
4112         Reviewed by Sam Weinig.
4113
4114         https://bugs.webkit.org/show_bug.cgi?id=38415
4115         Have the WKView notify the DrawingAreaProxy when its visibility changes.
4116
4117         * UIProcess/API/mac/PageClientImpl.h:
4118         * UIProcess/API/mac/PageClientImpl.mm:
4119         (WebKit::PageClientImpl::isPageVisible):
4120         * UIProcess/API/mac/WKView.mm:
4121         (-[WKView viewDidMoveToWindow]):
4122         (-[WKView viewDidHide]):
4123         (-[WKView viewDidUnhide]):
4124         * UIProcess/DrawingAreaProxy.h:
4125         * UIProcess/DrawingAreaProxyUpdateChunk.cpp:
4126         (WebKit::DrawingAreaProxyUpdateChunk::DrawingAreaProxyUpdateChunk):
4127         (WebKit::DrawingAreaProxyUpdateChunk::didChangeVisibility):
4128         * UIProcess/DrawingAreaProxyUpdateChunk.h:
4129         * UIProcess/PageClient.h:
4130         * UIProcess/WebPageProxy.cpp:
4131         (WebKit::WebPageProxy::isVisible):
4132         * UIProcess/WebPageProxy.h:
4133
4134 2010-05-03  Jens Alfke  <snej@chromium.org>
4135
4136         Reviewed by Darin Fisher.
4137
4138         [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient
4139         https://bugs.webkit.org/show_bug.cgi?id=38397
4140
4141         No tests (functionality is exposed only through native WebKit API.)
4142
4143         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
4144         (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
4145
4146 2010-05-01  Sam Weinig  <sam@webkit.org>
4147
4148         Reviewed by Anders Carlsson.
4149
4150         Fix for https://bugs.webkit.org/show_bug.cgi?id=38471
4151         Add generic callback mechanism
4152
4153         Added GenericCallback class replacing RenderTreeExternalRepresentationCallback
4154         and ScriptReturnValueCallback.
4155         
4156         Also,
4157         - Standardize C API callbacks to take the context last.
4158         - Standardize C API callbacks to not have the _f suffix (now the block
4159           variants have a _b suffix).
4160         - Re-write toWK and toRef methods as a set of template functions using
4161           the generic API->implementation mapping information.
4162
4163         * UIProcess/API/C/WKAPICast.h:
4164         * UIProcess/API/C/WKPage.cpp:
4165         (WKPageRunJavaScriptInMainFrame):
4166         (callRunJavaScriptBlockAndRelease):
4167         (disposeRunJavaScriptBlock):
4168         (WKPageRunJavaScriptInMainFrame_b):
4169         (WKPageRenderTreeExternalRepresentation):
4170         (WKPageRenderTreeExternalRepresentation_b):
4171         * UIProcess/API/C/WKPage.h:
4172         * UIProcess/API/C/WKPagePrivate.h:
4173         * UIProcess/GenericCallback.h: Added.
4174         (WebKit::GenericCallback::create):
4175         (WebKit::GenericCallback::~GenericCallback):
4176         (WebKit::GenericCallback::performCallbackWithReturnValue):
4177         (WebKit::GenericCallback::invalidate):
4178         (WebKit::GenericCallback::callbackID):
4179         (WebKit::GenericCallback::generateCallbackID):
4180         (WebKit::GenericCallback::GenericCallback):
4181         * UIProcess/RenderTreeExternalRepresentationCallback.cpp: Removed.
4182         * UIProcess/RenderTreeExternalRepresentationCallback.h: Removed.
4183         * UIProcess/ScriptReturnValueCallback.cpp: Removed.
4184         * UIProcess/ScriptReturnValueCallback.h: Removed.
4185         * UIProcess/WebPageProxy.cpp:
4186         (WebKit::WebPageProxy::didRunJavaScriptInMainFrame):
4187         (WebKit::WebPageProxy::didGetRenderTreeExternalRepresentation):
4188         * UIProcess/WebPageProxy.h:
4189         * WebKit2.xcodeproj/project.pbxproj:
4190         * win/WebKit2.vcproj:
4191
4192 2010-04-30  Sam Weinig  <sam@webkit.org>
4193
4194         Fix the build.
4195
4196         * Platform/CoreIPC/mac/ConnectionMac.cpp: Add missing #include.
4197
4198 2010-04-30  Sam Weinig  <sam@webkit.org>
4199
4200         Reviewed by Anders Carlsson.
4201
4202         https://bugs.webkit.org/show_bug.cgi?id=38413
4203         Add callback based API to get the textual representation of the RenderTree.
4204
4205         - Also ensures that any pending callbacks are invalidated if the WebPage
4206           closes (expectedly or unexpectedly).
4207         - A follow up patch will unify the callback mechanism with a common base
4208           class.
4209
4210         * Shared/CoreIPCSupport/WebPageMessageKinds.h:
4211         (WebPageMessage::):
4212         * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
4213         (WebPageProxyMessage::):
4214         * UIProcess/API/C/WKPage.cpp:
4215         (WKPageRunJavaScriptInMainFrame_f):
4216         (WKPageRenderTreeExternalRepresentation_f):
4217         (callRenderTreeExternalRepresentationBlockAndDispose):
4218         (disposeRenderTreeExternalRepresentationBlock):
4219         (WKPageRenderTreeExternalRepresentation):
4220         * UIProcess/API/C/WKPagePrivate.h: Added.
4221         * UIProcess/RenderTreeExternalRepresentationCallback.cpp: Added.
4222         (WebKit::generateCallbackID):
4223         (WebKit::RenderTreeExternalRepresentationCallback::RenderTreeExternalRepresentationCallback):
4224         (WebKit::RenderTreeExternalRepresentationCallback::~RenderTreeExternalRepresentationCallback):
4225         (WebKit::RenderTreeExternalRepresentationCallback::performCallbackWithReturnValue):
4226         (WebKit::RenderTreeExternalRepresentationCallback::invalidate):
4227         * UIProcess/RenderTreeExternalRepresentationCallback.h: Added.
4228         (WebKit::RenderTreeExternalRepresentationCallback::create):
4229         (WebKit::RenderTreeExternalRepresentationCallback::callbackID):
4230         * UIProcess/ScriptReturnValueCallback.cpp:
4231         (WebKit::ScriptReturnValueCallback::~ScriptReturnValueCallback):
4232         (WebKit::ScriptReturnValueCallback::performCallbackWithReturnValue):
4233         (WebKit::ScriptReturnValueCallback::invalidate):
4234         * UIProcess/ScriptReturnValueCallback.h:
4235         * UIProcess/WebPageProxy.cpp:
4236         (WebKit::WebPageProxy::close):
4237         (WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
4238         (WebKit::WebPageProxy::didReceiveMessage):
4239         (WebKit::WebPageProxy::didRunJavaScriptInMainFrame):
4240         (WebKit::WebPageProxy::didGetRenderTreeExternalRepresentation):
4241         (WebKit::WebPageProxy::processDidExit):
4242         * UIProcess/WebPageProxy.h:
4243         * WebKit2.xcodeproj/project.pbxproj:
4244         * WebProcess/WebPage/WebPage.cpp:
4245         (WebKit::WebPage::getRenderTreeExternalRepresentation):
4246         (WebKit::WebPage::didReceiveMessage):
4247         * WebProcess/WebPage/WebPage.h:
4248         * win/WebKit2.vcproj:
4249
4250 2010-04-30  Sam Weinig  <sam@webkit.org>
4251
4252         Reviewed by Anders Carlsson.
4253
4254         Fix for https://bugs.webkit.org/show_bug.cgi?id=38406
4255         Add support for sending messages with a size greater than 4096 bytes
4256
4257         Adds support by putting message bodies that are larger than 4096 bytes
4258         in OOL memory.
4259
4260         * Platform/CoreIPC/Connection.cpp:
4261         (CoreIPC::Connection::sendMessage):
4262         (CoreIPC::Connection::waitForMessage):
4263         (CoreIPC::Connection::sendSyncMessage):
4264         (CoreIPC::Connection::dispatchMessages):
4265         * Platform/CoreIPC/Connection.h:
4266         (CoreIPC::Connection::OutgoingMessage::OutgoingMessage):
4267         (CoreIPC::Connection::OutgoingMessage::messageID):
4268         (CoreIPC::Connection::send):
4269         (CoreIPC::Connection::sendSync):
4270         * Platform/CoreIPC/MessageID.h:
4271         (CoreIPC::MessageID::):
4272         (CoreIPC::MessageID::MessageID):
4273         (CoreIPC::MessageID::equalIgnoringFlags):
4274         (CoreIPC::MessageID::copyAddingFlags):
4275         (CoreIPC::MessageID::fromInt):
4276         (CoreIPC::MessageID::toInt):
4277         (CoreIPC::MessageID::isMessageBodyOOL):
4278         * Platform/CoreIPC/mac/ConnectionMac.cpp:
4279         (CoreIPC::Connection::sendOutgoingMessage):
4280         (CoreIPC::createArgumentDecoder):
4281
4282 2010-04-28  Mike Thole  <mthole@apple.com>
4283
4284         Build fix, not reviewed.
4285
4286         Fix WebKit2 build by stubbing out WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace().
4287
4288         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
4289         (WebKit::WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
4290         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
4291
4292 2010-04-28  Sam Weinig  <sam@webkit.org>
4293
4294         Reviewed by Mark Rowe.
4295
4296         Only build on SnowLeopard and later when using the Makefile.
4297
4298         * Makefile:
4299
4300 2010-04-27  Sam Weinig  <sam@webkit.org>
4301
4302         Reviewed by Maciej Stachowiak.
4303
4304         Fix for https://bugs.webkit.org/show_bug.cgi?id=38238
4305         Allow both WebKit and WebKit2 to link to the same WebCore.framework
4306
4307         * Configurations/WebKit2.xcconfig: Remove the OTHER_LDFLAGS. We don't
4308         need to set WebCore as a sub_umbrella of WebKit2, since we are not
4309         reexporting any of its symbols.
4310
4311 2010-04-27  Sam Weinig  <sam@webkit.org>
4312
4313         Reviewed by Geoffrey Garen.
4314
4315         Add comment about not using StringImpl::createCFString in WKStringCopyCFString.
4316
4317         * UIProcess/API/C/cf/WKStringCF.cpp:
4318         (WKStringCopyCFString):
4319
4320 2010-04-27  Sam Weinig  <sam@webkit.org>
4321
4322         Reviewed by Geoffrey Garen.
4323
4324         Remove call to StringImpl::createCFString and instead use CFStringCreateWithCharacters
4325         directly. StringImpl::createCFString only an optimization when called
4326         from the thread that WebCore is running on, which is never the case for
4327         WKStringCopyCFString. We should revisit this later, perhaps adding a
4328         threadspecific allocator. We also now honor the passed in allocator.
4329
4330         * UIProcess/API/C/cf/WKStringCF.cpp:
4331         (WKStringCopyCFString):
4332
4333 2010-04-25  Sam Weinig  <sam@webkit.org>
4334
4335         Reviewed by Maciej Stachowiak.
4336
4337         Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
4338         Disentangle initializing the main thread from initializing threading
4339
4340         * UIProcess/Launcher/mac/WebProcessLauncher.mm:
4341         (WebKit::webThreadBody): Add call to initializeMainThread.
4342         * UIProcess/Launcher/win/WebProcessLauncher.cpp:
4343         (WebKit::webThreadBody): Ditto.
4344         * WebProcess/Launching/mac/WebProcessMain.mm:
4345         (main): Ditto.
4346         * WebProcess/win/WebProcessMain.cpp:
4347         (WebKit::WebProcessMain): Ditto.
4348
4349 2010-04-23  Sam Weinig  <sam@webkit.org>
4350
4351         Reviewed by Anders Carlsson.
4352
4353         https://bugs.webkit.org/show_bug.cgi?id=38065
4354         Merge mac and win DrawingAreaProxyUpdateChunk implementations.
4355
4356         * UIProcess/API/mac/WKView.mm:
4357         (-[WKView drawRect:]):
4358         * UIProcess/DrawingAreaProxy.cpp: Copied from UIProcess/mac/DrawingAreaProxy.mm.
4359         * UIProcess/DrawingAreaProxy.h: Copied from UIProcess/mac/DrawingAreaProxy.h.
4360         * UIProcess/DrawingAreaProxyUpdateChunk.cpp: Copied from UIProcess/mac/DrawingAreaProxyUpdateChunk.mm.
4361         (WebKit::DrawingAreaProxyUpdateChunk::DrawingAreaProxyUpdateChunk):
4362         (WebKit::DrawingAreaProxyUpdateChunk::paint):
4363         (WebKit::DrawingAreaProxyUpdateChunk::setSize):
4364         (WebKit::DrawingAreaProxyUpdateChunk::didSetSize):
4365         (WebKit::DrawingAreaProxyUpdateChunk::update):
4366         (WebKit::DrawingAreaProxyUpdateChunk::didReceiveMessage):
4367         * UIProcess/DrawingAreaProxyUpdateChunk.h: Copied from UIProcess/mac/DrawingAreaProxyUpdateChunk.h.
4368         * UIProcess/mac/DrawingAreaProxy.h: Removed.
4369         * UIProcess/mac/DrawingAreaProxy.mm: Removed.
4370         * UIProcess/mac/DrawingAreaProxyUpdateChunk.h: Removed.
4371         * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm: Removed.
4372         * UIProcess/mac/DrawingAreaProxyUpdateChunkMac.mm: Copied from UIProcess/mac/DrawingAreaProxyUpdateChunk.mm.
4373         (WebKit::DrawingAreaProxyUpdateChunk::page):
4374         (WebKit::DrawingAreaProxyUpdateChunk::invalidateBackingStore):
4375         (WebKit::DrawingAreaProxyUpdateChunk::platformPaint):
4376         (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
4377         * UIProcess/win/DrawingAreaProxy.cpp: Removed.
4378         * UIProcess/win/DrawingAreaProxy.h: Removed.
4379         * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp: Copied from UIProcess/win/DrawingAreaProxy.cpp.
4380         (WebKit::DrawingAreaProxyUpdateChunk::page):
4381         (WebKit::DrawingAreaProxyUpdateChunk::ensureBackingStore):
4382         (WebKit::DrawingAreaProxyUpdateChunk::invalidateBackingStore):
4383         (WebKit::DrawingAreaProxyUpdateChunk::platformPaint):
4384         (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
4385         * UIProcess/win/WebView.cpp:
4386         (WebKit::WebView::WebView):
4387         (WebKit::WebView::onPaintEvent):
4388         * WebKit2.xcodeproj/project.pbxproj:
4389         * win/WebKit2.vcproj:
4390
4391 2010-04-23  Sam Weinig  <sam@webkit.org>
4392
4393         Reviewed by Anders Carlsson.
4394
4395         Fix for https://bugs.webkit.org/show_bug.cgi?id=38059
4396         Merge mac and win DrawingAreaUpdateChunk implementations.
4397
4398         * UIProcess/win/DrawingAreaProxy.cpp:
4399         (WebKit::DrawingAreaProxy::didSetSize):
4400         (WebKit::DrawingAreaProxy::didReceiveMessage):
4401         * UIProcess/win/DrawingAreaProxy.h:
4402         * WebKit2.xcodeproj/project.pbxproj:
4403         * WebProcess/WebPage/DrawingAreaUpdateChunk.cpp: Copied from WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp.
4404         (WebKit::DrawingAreaUpdateChunk::setSize):
4405         * WebProcess/WebPage/DrawingAreaUpdateChunk.h: Copied from WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h.
4406         * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp: Removed.
4407         * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h: Removed.
4408         * WebProcess/WebPage/mac/DrawingAreaUpdateChunkMac.cpp: Copied from WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp.
4409         * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp: Removed.
4410         * WebProcess/WebPage/win/DrawingAreaUpdateChunk.h: Removed.
4411         * WebProcess/WebPage/win/DrawingAreaUpdateChunkWin.cpp: Copied from WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp.
4412         (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk):
4413         * win/WebKit2.vcproj:
4414
4415 2010-04-23  Anders Carlsson  <andersca@apple.com>
4416
4417         Reviewed by Sam Weinig.
4418
4419         Remove an assert. (It's not valid when resizing).
4420
4421         * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp:
4422         (WebKit::DrawingAreaUpdateChunk::didUpdate):
4423
4424 2010-04-23  Anders Carlsson  <andersca@apple.com>
4425
4426         Fix build.
4427
4428         * UIProcess/win/DrawingAreaProxy.cpp:
4429         (WebKit::DrawingAreaProxy::paint):
4430         (WebKit::DrawingAreaProxy::setSize):
4431         (WebKit::DrawingAreaProxy::didReceiveMessage):
4432         * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp:
4433         (WebKit::DrawingAreaUpdateChunk::setSize):
4434         (WebKit::DrawingAreaUpdateChunk::didReceiveMessage):
4435
4436 2010-04-22  Anders Carlsson  <andersca@apple.com>
4437
4438         Reviewed by Sam Weinig.
4439
4440         Remove an assert. (It's not valid when resizing).
4441
4442         * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
4443         (WebKit::DrawingAreaUpdateChunk::didUpdate):
4444
4445 2010-04-22  Sam Weinig  <sam@webkit.org>
4446
4447         Reviewed by Anders Carlsson.
4448
4449         Merge the prefix headers.
4450
4451         * Configurations/BaseTarget.xcconfig:
4452         * WebKit2.xcodeproj/project.pbxproj:
4453         * WebKit2Prefix.h:
4454         * WebKit2_Prefix.pch: Removed.
4455
4456 2010-04-22  Anders Carlsson  <andersca@apple.com>
4457
4458         Reviewed by Sam Weinig.
4459
4460         Don't pass the new size when calling didSetSize, it's possible to get
4461         the size from the update chunk.
4462
4463         * UIProcess/mac/DrawingAreaProxyUpdateChunk.h:
4464         * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm:
4465         (WebKit::DrawingAreaProxyUpdateChunk::didSetSize):
4466         (WebKit::DrawingAreaProxyUpdateChunk::didReceiveMessage):
4467         * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
4468         (WebKit::DrawingAreaUpdateChunk::setSize):
4469
4470 2010-04-22  Anders Carlsson  <andersca@apple.com>
4471
4472         Reviewed by Sam Weinig.
4473
4474         Rename SetFrame and DidSetFrame to SetSize and DidSetSize.
4475
4476         * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
4477         (DrawingAreaMessage::):
4478         * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: