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