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