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