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