Add URLRequest API for WebKit2
[WebKit-https.git] / WebKit2 / ChangeLog
1 2010-08-30  Sam Weinig  <sam@webkit.org>
2
3         Reviewed by Anders Carlsson.
4
5         Add URLRequest API for WebKit2
6         https://bugs.webkit.org/show_bug.cgi?id=44910
7
8         Add WebURLRequest class and WKURLRequestRef C API to go with it. Right now,
9         instance of WKURLRequestRef are manipulated via platform types, a la the
10         WKStringRef and WKURLRef types.
11
12         - Pipes WKPageLoadURLRequest through to the WebProcess.
13
14         * Shared/APIObject.h:
15         * Shared/CoreIPCSupport/WebPageMessageKinds.h:
16         * Shared/WebCoreArgumentCoders.h:
17         * Shared/WebURLRequest.cpp: Added.
18         (WebKit::WebURLRequest::WebURLRequest):
19         * Shared/WebURLRequest.h: Added.
20         (WebKit::WebURLRequest::create):
21         (WebKit::WebURLRequest::resourceRequest):
22         (WebKit::WebURLRequest::type):
23         * Shared/mac/WebCoreArgumentCodersMac.mm: Added.
24         (CoreIPC::encodeResourceRequest):
25         (CoreIPC::decodeResourceRequest):
26         * Shared/mac/WebURLRequestMac.mm: Added.
27         (WebKit::WebURLRequest::WebURLRequest):
28         (WebKit::WebURLRequest::platformRequest):
29         * Shared/qt/WebCoreArgumentCodersQt.cpp: Added.
30         (CoreIPC::encodeResourceRequest):
31         (CoreIPC::decodeResourceRequest):
32         * Shared/qt/WebURLRequestQt.cpp: Added.
33         (WebKit::WebURLRequest::WebURLRequest):
34         (WebKit::WebURLRequest::platformRequest):
35         * Shared/win/WebCoreArgumentCodersWin.cpp: Added.
36         (CoreIPC::encodeResourceRequest):
37         (CoreIPC::decodeResourceRequest):
38         * Shared/win/WebURLRequestWin.cpp: Added.
39         (WebKit::WebURLRequest::WebURLRequest):
40         (WebKit::WebURLRequest::platformRequest):
41         * UIProcess/API/C/WKAPICast.h:
42         * UIProcess/API/C/WKBase.h:
43         * UIProcess/API/C/WKPage.cpp:
44         (WKPageLoadURLRequest):
45         * UIProcess/API/C/WKPage.h:
46         * UIProcess/API/C/WKURLRequest.cpp: Added.
47         (WKURLRequestGetTypeID):
48         * UIProcess/API/C/WKURLRequest.h: Added.
49         * UIProcess/API/C/WebKit2.h:
50         * UIProcess/API/C/cf/WKURLRequestCF.cpp: Added.
51         (WKURLRequestCreateWithCFURLRequest):
52         (WKURLRequestCopyCFURLRequest):
53         * UIProcess/API/C/cf/WKURLRequestCF.h: Added.
54         * UIProcess/API/C/mac: Added.
55         * UIProcess/API/C/mac/WKURLRequestNS.h: Added.
56         * UIProcess/API/C/mac/WKURLRequestNS.mm: Added.
57         (WKURLRequestCreateWithNSURLRequest):
58         (WKURLRequestCopyNSURLRequest):
59         * UIProcess/WebPageProxy.cpp:
60         (WebKit::WebPageProxy::loadURL):
61         (WebKit::WebPageProxy::loadURLRequest):
62         * UIProcess/WebPageProxy.h:
63         * WebKit2.pro:
64         * WebKit2.xcodeproj/project.pbxproj:
65         * WebProcess/WebPage/WebPage.cpp:
66         (WebKit::WebPage::loadURL):
67         (WebKit::WebPage::loadURLRequest):
68         (WebKit::WebPage::didReceiveMessage):
69         * WebProcess/WebPage/WebPage.h:
70         * win/WebKit2.vcproj:
71         * win/WebKit2Generated.make:
72
73 2010-08-30  Anders Carlsson  <andersca@apple.com>
74
75         Reviewed by Sam Weinig.
76
77         WorkQueue leaks its dispatch queue
78         <rdar://problem/8358509>
79         https://bugs.webkit.org/show_bug.cgi?id=44689
80
81         * Platform/mac/WorkQueueMac.cpp:
82         (WorkQueue::platformInvalidate):
83
84 2010-08-27  Sam Weinig  <sam@webkit.org>
85
86         Reviewed by Dan Bernstein.
87
88         Add UserContent API to WebKit2 InjectedBundle
89         <rdar://problem/8367587>
90         https://bugs.webkit.org/show_bug.cgi?id=44810
91
92         The new API differs from the version in WebKit1 in that the function do not take
93         a group name since we currently do not expose a way to make multiple PageGroups in
94         the API.
95
96         * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
97         (toUserScriptInjectionTime):
98         (toUserContentInjectedFrames):
99         Add conversion functions for enums.
100
101         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
102         (WKBundleAddUserScript):
103         (WKBundleAddUserStyleSheet):
104         (WKBundleRemoveUserScript):
105         (WKBundleRemoveUserStyleSheet):
106         (WKBundleRemoveUserScripts):
107         (WKBundleRemoveUserStyleSheets):
108         (WKBundleRemoveAllUserContent):
109         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
110         * WebProcess/InjectedBundle/InjectedBundle.cpp:
111         (WebKit::toStringVector):
112         (WebKit::InjectedBundle::addUserScript):
113         (WebKit::InjectedBundle::addUserStyleSheet):
114         (WebKit::InjectedBundle::removeUserScript):
115         (WebKit::InjectedBundle::removeUserStyleSheet):
116         (WebKit::InjectedBundle::removeUserScripts):
117         (WebKit::InjectedBundle::removeUserStyleSheets):
118         (WebKit::InjectedBundle::removeAllUserContent):
119         * WebProcess/InjectedBundle/InjectedBundle.h:
120         Forward API to PageGroup.
121
122         * WebProcess/WebProcess.cpp:
123         (WebKit::WebProcess::sharedPageGroup):
124         (WebKit::WebProcess::visitedLinkStateChanged):
125         (WebKit::WebProcess::allVisitedLinkStateChanged):
126         * WebProcess/WebProcess.h: Ad accessor for global PageGroup.
127
128 2010-08-27  Sam Weinig  <sam@webkit.org>
129
130         Reviewed by Gavin Barraclough.
131
132         Move WKBundle didCreatePage callback to outside the WebPage
133         constructor to avoid adoptRef errors.
134
135         * WebProcess/WebPage/WebPage.cpp:
136         (WebKit::WebPage::create):
137         (WebKit::WebPage::WebPage):
138
139 2010-08-27  Brady Eidson  <beidson@apple.com>
140
141         Reviewed by Sam Weinig.
142
143         <rdar://problem/8147879> - Null URL passed to WebKit2 HistoryDelegate
144
145         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
146         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): WK2 now loads initial about:blank document's synchronously,
147           without consulting the policy delegate.
148         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Ditto.
149
150 2010-08-27  Adam Roben  <aroben@apple.com>
151
152         Handle ERROR_IO_INCOMPLETE more correctly in Connection
153
154         We still don't know exactly why we're getting this error, but at least
155         we can do something sensible when we do.
156
157         Fixes <http://webkit.org/b/44776> Occasional crash in
158         Connection::readEventHandler or assertion failure in
159         Connection::writeEventHandler due to ERROR_IO_INCOMPLETE
160
161         Reviewed by Sam Weinig.
162
163         * Platform/CoreIPC/win/ConnectionWin.cpp:
164         (CoreIPC::Connection::readEventHandler): Bail out of this function
165         entirely when we get ERROR_IO_INCOMPLETE. We'll get called back later
166         when the read completes. Continuing in the function at this point
167         would cause us to treat an incomplete read as a complete one, leading
168         to a crash. Added an assertion to make the crash more understandable
169         in the future.
170         (CoreIPC::Connection::writeEventHandler): Bail out when we get
171         ERROR_IO_INCOMPLETE. We'll get called back later when the write
172         completes.
173
174 2010-08-27  Adam Roben  <aroben@apple.com>
175
176         Make the web process pause on launch when the
177         WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH environment variable is set
178
179         This is a bit easier to use than holding Ctrl-Alt-Shift during launch,
180         since the process can sometimes take a long time to launch under the
181         debugger. Ctrl-Alt-Shift still works, however.
182
183         Fixes <http://webkit.org/b/44774> Would like an easier way to pause
184         the web process on launch
185
186         Reviewed by Sam Weinig.
187
188         * WebProcess/WebKitMain.cpp:
189         (WebKitMain):
190
191 2010-08-27  Sam Weinig  <sam@webkit.org>
192
193         Rubber-stamped by Adam Roben.
194
195         * WebKit2.xcodeproj/project.pbxproj: Make WKBundleScriptWorld.h public.
196
197 2010-08-26  Daniel Bates  <dbates@rim.com>
198
199         Attempt to fix the Qt WebKit2 build.
200
201         * WebProcess/WebPage/qt/WebPageQt.cpp:
202         (WebKit::WebPage::performDefaultBehaviorForKeyEvent): Pass m_page.get() to WebKit::scroll()
203         instead of m_page since it expects a raw pointer.
204
205 2010-08-26  Gavin Barraclough  <barraclough@apple.com>
206
207         Speculative windows build fix.
208
209         * UIProcess/win/WebView.cpp:
210         (WebKit::WebView::WebView):
211
212 2010-08-26  Sam Weinig  <sam@webkit.org>
213
214         Reviewed by Darin Adler.
215
216         Adopt more uses OwnPtr/OwnArray in WebKit2.
217         https://bugs.webkit.org/show_bug.cgi?id=44728
218
219         Also clears up weird create vs. adoption semantics. Now both create
220         and adopt both don't ref their pointers, adoption is just about the
221         buffer.
222
223         * Shared/ImmutableArray.cpp:
224         (WebKit::ImmutableArray::ImmutableArray):
225         (WebKit::ImmutableArray::~ImmutableArray):
226         * Shared/ImmutableArray.h:
227         (WebKit::ImmutableArray::adopt):
228         * Shared/ImmutableDictionary.cpp:
229         (WebKit::ImmutableDictionary::keys):
230         * Shared/WebData.h:
231         * UIProcess/API/mac/PageClientImpl.h:
232         * UIProcess/API/mac/PageClientImpl.mm:
233         (WebKit::PageClientImpl::create):
234         * UIProcess/API/mac/WKView.mm:
235         (-[WKView initWithFrame:pageNamespaceRef:]):
236         (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaProxy::]):
237         * UIProcess/API/qt/qgraphicswkview.cpp:
238         (QGraphicsWKView::QGraphicsWKView):
239         * UIProcess/API/qt/qwkpage.cpp:
240         (QWKPagePrivate::init):
241         * UIProcess/API/qt/qwkpage_p.h:
242         * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
243         (WebKit::ChunkedUpdateDrawingAreaProxy::create):
244         * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
245         * UIProcess/LayerBackedDrawingAreaProxy.cpp:
246         (WebKit::LayerBackedDrawingAreaProxy::create):
247         * UIProcess/LayerBackedDrawingAreaProxy.h:
248         * UIProcess/WebBackForwardList.cpp:
249         (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
250         (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
251         * UIProcess/WebContext.cpp:
252         (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
253         * WebProcess/InjectedBundle/InjectedBundle.cpp:
254         (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
255         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
256         (WebKit::WebChromeClient::createPopupMenu):
257         (WebKit::WebChromeClient::createSearchPopupMenu):
258         * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
259         (WebKit::WebPopupMenu::create):
260         * WebProcess/WebCoreSupport/WebPopupMenu.h:
261         * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
262         (WebKit::WebSearchPopupMenu::create):
263         (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
264         * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
265         * WebProcess/WebPage/WebFrame.cpp:
266         (WebKit::WebFrame::childFrames):
267         * WebProcess/WebPage/WebPage.cpp:
268         (WebKit::WebPage::WebPage):
269         (WebKit::WebPage::close):
270         * WebProcess/WebPage/WebPage.h:
271         (WebKit::WebPage::corePage):
272         * WebProcess/WebPage/mac/WebPageMac.mm:
273         (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
274         * WebProcess/WebPage/win/WebPageWin.cpp:
275         (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
276
277 2010-08-26  Alexey Proskuryakov  <ap@apple.com>
278
279         Reviewed by Sam Weinig.
280
281         https://bugs.webkit.org/show_bug.cgi?id=44726
282         <rdar://problem/7935518> WebFrameProxies aren't destroyed until a page is destroyed
283
284         Since frames can be moved across documents, they are not really a Page level concept.
285         Moved frame tracking to WebProcess/WebProcessProxy.
286
287         * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
288         (WebProcessProxyMessage::):
289         * UIProcess/WebPageProxy.cpp:
290         (WebKit::WebPageProxy::close):
291         (WebKit::WebPageProxy::getStatistics):
292         (WebKit::WebPageProxy::didReceiveMessage):
293         (WebKit::WebPageProxy::didReceiveSyncMessage):
294         (WebKit::WebPageProxy::didCreateMainFrame):
295         (WebKit::WebPageProxy::didCreateSubFrame):
296         (WebKit::WebPageProxy::processDidExit):
297         * UIProcess/WebPageProxy.h:
298         * UIProcess/WebProcessProxy.cpp:
299         (WebKit::WebProcessProxy::didReceiveMessage):
300         (WebKit::WebProcessProxy::didReceiveSyncMessage):
301         (WebKit::WebProcessProxy::didClose):
302         (WebKit::WebProcessProxy::webFrame):
303         (WebKit::WebProcessProxy::frameCreated):
304         (WebKit::WebProcessProxy::frameDestroyed):
305         (WebKit::WebProcessProxy::disconnectFramesFromPage):
306         (WebKit::WebProcessProxy::frameCountInPage):
307         * UIProcess/WebProcessProxy.h:
308         * WebProcess/WebPage/WebFrame.cpp:
309         (WebKit::WebFrame::WebFrame):
310         (WebKit::WebFrame::invalidate):
311         * WebProcess/WebPage/WebPage.cpp:
312         (WebKit::WebPage::didReceiveMessage):
313         * WebProcess/WebPage/WebPage.h:
314         * WebProcess/WebProcess.cpp:
315         (WebKit::WebProcess::webFrame):
316         (WebKit::WebProcess::addWebFrame):
317         (WebKit::WebProcess::removeWebFrame):
318         * WebProcess/WebProcess.h:
319
320 2010-08-26  Sam Weinig  <sam@webkit.org>
321
322         Reviewed by Darin Adler.
323
324         Add PassOwnArrayPtr
325         https://bugs.webkit.org/show_bug.cgi?id=44627
326
327         * UIProcess/WebContext.cpp:
328         (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
329         * WebProcess/InjectedBundle/InjectedBundle.cpp:
330         (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
331
332 2010-08-26  Peter Kasting  <pkasting@google.com>
333
334         Reviewed by Dimitri Glazkov.
335
336         Misc. cleanup split off from bug 32356.
337         https://bugs.webkit.org/show_bug.cgi?id=44696
338
339         * WebProcess/WebPage/qt/WebPageQt.cpp:
340         (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
341
342 2010-08-25  Brent Fulgham  <bfulgham@webkit.org>
343
344         Build fix, no review.
345
346         Add conditional guards around Safari-specific
347         include files.
348
349         * WebProcess/WebPage/win/WebPageWin.cpp:
350
351 2010-08-25  Adam Roben  <aroben@apple.com>
352
353         Clean up Connection::open on Windows
354
355         Fixes <http://webkit.org/b/44185>.
356
357         Reviewed by Steve Falkenburg.
358
359         * Platform/CoreIPC/win/ConnectionWin.cpp:
360         (CoreIPC::Connection::platformInitialize): Set m_isConnected to true
361         since the pipe got connected before it was even given to us.
362         (CoreIPC::Connection::readEventHandler): Removed code that will never
363         run now that m_isConnected is always true when this function is
364         called. Since no outgoing messages will have been queued before
365         m_isConnected is set to true, there's no need to send them explicitly
366         here; they'll get sent as they're queued.
367         (CoreIPC::Connection::open): Removed the call to ::ConnectNamedPipe,
368         since the pipe is already connected by this point. Changed to schedule
369         a read in the server and client the same way (rather than using
370         ::SetEvent in the server).
371
372 2010-08-19  Adam Roben  <aroben@apple.com>
373
374         Call NP_GetEntryPoints before NP_Initialize on Windows
375
376         Doing otherwise will cause Flash and QuickTime to crash inside
377         NP_Initialize.
378
379         Fixes <http://webkit.org/b/44270> <rdar://problem/8330393> Crash in
380         NP_Initialize when loading QuickTime when running
381         plugins/embed-attributes-setting.html in WebKit2 on Windows
382
383         Reviewed by John Sullivan.
384
385         * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
386         (WebKit::NetscapePluginModule::tryLoad): On Windows, first call
387         NP_GetEntryPoints, then NP_Initialize. Do the reverse on Mac to
388         prevent Silverlight (e.g.) from crashing (see r38858).
389
390 2010-08-25  Balazs Kelemen  <kb@inf.u-szeged.hu>
391
392         Reviewed by Kenneth Rohde Christiansen.
393
394         [Qt] Implement WebKit::Module for qt
395         https://bugs.webkit.org/show_bug.cgi?id=44527
396
397         * Platform/Module.h:
398         * Platform/qt/ModuleQt.cpp:
399         (WebKit::Module::load):
400         (WebKit::Module::unload):
401         (WebKit::Module::platformFunctionPointer):
402
403 2010-08-24  Sam Weinig  <sam@webkit.org>
404
405         Reviewed by Mark Rowe.
406
407         WebKit2 should launch the WebProcess in 32-bit mode if the UIProcess is in 32-bit mode
408         <rdar://problem/8348100>
409         https://bugs.webkit.org/show_bug.cgi?id=44537
410
411         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
412         (WebKit::ProcessLauncher::launchProcess): Use posix_spawnattr_setbinpref_np
413         to tell posix_spawn to launch the WebProcess in 32-bit mode when the UIProcess
414         is running in 32-bit mode.
415
416 2010-08-24  Mark Rowe  <mrowe@apple.com>
417
418         Rubber-stamped by Sam Weinig.
419
420         Set the install path of WebKit2.framework to the build directory for debug and release builds
421         to match our other frameworks.
422
423         * WebKit2.xcodeproj/project.pbxproj:
424
425 2010-08-24  Sam Weinig  <sam@webkit.org>
426
427         Reviewed by John Sullivan.
428
429         Update profile.
430
431         * WebProcess/com.apple.WebProcess.sb:
432
433 2010-08-23  Darin Adler  <darin@apple.com>
434
435         Reviewed by Geoff Garen.
436
437         * WebProcess/InjectedBundle/API/c/WKBundleNode.cpp:
438         (WKBundleNodeGetParent): Update since parent now returns a
439         ContainerNode*. The toRef function is a bit too picky to convert
440         it without a bit of help.
441
442 2010-08-23  Sheriff Bot  <webkit.review.bot@gmail.com>
443
444         Unreviewed, rolling out r65703.
445         http://trac.webkit.org/changeset/65703
446         https://bugs.webkit.org/show_bug.cgi?id=44460
447
448         "Causing lots of crashes on Snow Leopard when running the
449         layout tests" (Requested by eseidel2 on #webkit).
450
451         * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
452         (WebKit::NetscapePluginModule::tryLoad):
453
454 2010-08-23  Jon Honeycutt  <jhoneycutt@apple.com>
455
456         Layout tests do not run when using WebKitTestRunner in a Debug build.
457         https://bugs.webkit.org/show_bug.cgi?id=44409
458
459         Reviewed by Dan Bernstein.
460
461         * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
462         (WebKit::ProcessLauncher::launchProcess):
463         Use WebKit2WebProcess_debug.exe when building Debug.
464
465 2010-08-23  Daniel Bates  <dbates@rim.com>
466
467         Rubber-stamped by Adam Roben.
468
469         Substitute "sizeof("javascript:") - 1" for the hardcoded constant 11 when
470         extracting the JavaScript code portion of a JavaScript URL so as to make
471         it clearer that the 11 represents the length of the scheme portion of
472         a JavaScript URL.
473
474         * WebProcess/Plugins/PluginView.cpp:
475         (WebKit::PluginView::performJavaScriptURLRequest):
476
477 2010-08-23  Balazs Kelemen  <kb@inf.u-szeged.hu>
478
479         Reviewed by Ariya Hidayat.
480
481         [Qt] Find needed forwarding headers for WebKit2 automatically
482         https://bugs.webkit.org/show_bug.cgi?id=44336
483
484         * DerivedSources.pro: Use the new enumerate-included-framework-headers script for generating
485         the list of forwarding headers we want to create.
486
487 2010-08-23  Zoltan Horvath  <zoltan@webkit.org>
488
489         [Qt] Build fix.
490
491         * DerivedSources.pro:
492         * WebKit2.pro:
493         * WebProcess/Plugins/Netscape/qt: Added.
494         * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp: Added.
495         (WebKit::NetscapePlugin::platformPostInitialize):
496         (WebKit::NetscapePlugin::platformPaint):
497         (WebKit::toNP):
498         (WebKit::NetscapePlugin::platformHandleMouseEvent):
499         (WebKit::NetscapePlugin::platformHandleWheelEvent):
500         (WebKit::NetscapePlugin::platformSetFocus):
501         (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
502         (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
503
504 2010-08-22  Juha Savolainen  <juha.savolainen@weego.fi>
505
506         Reviewed by Kenneth Rohde Christiansen.
507
508         [Qt] Add QTouchEvents support for WebKit2
509         https://bugs.webkit.org/show_bug.cgi?id=44330
510
511         This patch adds support for QTouchEvents in WebKit2. A new WebEvent-class
512         is created for touchevents, WebTouchEvent. Also touchpoints needed a new
513         class, WebPlatformTouchPoint. This is similar solution like in other
514         events(like MouseEvent) on WebKit2. These classes are introduced in WebEvent.h 
515         Also there was a need to create an empty constructor to PlatformTouchPoint-class.
516
517         * DerivedSources.pro:
518         * Shared/CoreIPCSupport/WebPageMessageKinds.h:
519         (WebPageMessage::):
520         * Shared/WebEvent.h:
521         (WebKit::WebEvent::):
522         (WebKit::WebTouchPoint::):
523         (WebKit::WebTouchPoint::WebTouchPoint):
524         (WebKit::WebTouchPoint::id):
525         (WebKit::WebTouchPoint::state):
526         (WebKit::WebTouchPoint::screenPosX):
527         (WebKit::WebTouchPoint::screenPosY):
528         (WebKit::WebTouchPoint::posX):
529         (WebKit::WebTouchPoint::posY):
530         (WebKit::WebTouchPoint::setState):
531         (WebKit::WebTouchPoint::encode):
532         (WebKit::WebTouchPoint::decode):
533         (WebKit::WebTouchEvent::WebTouchEvent):
534         (WebKit::WebTouchEvent::type):
535         (WebKit::WebTouchEvent::touchPoints):
536         (WebKit::WebTouchEvent::encode):
537         (WebKit::WebTouchEvent::decode):
538         (WebKit::WebTouchEvent::isTouchEventType):
539         * Shared/WebEventConversion.cpp:
540         (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):
541         (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
542         (WebKit::platform):
543         * Shared/WebEventConversion.h:
544         * Shared/qt/WebEventFactoryQt.cpp:
545         (WebKit::webEventTypeForEvent):
546         (WebKit::WebEventFactory::createWebTouchEvent):
547         * Shared/qt/WebEventFactoryQt.h:
548         * UIProcess/API/qt/qgraphicswkview.cpp:
549         (QGraphicsWKView::event):
550         (QGraphicsWKView::touchEvent):
551         * UIProcess/API/qt/qgraphicswkview.h:
552         * UIProcess/API/qt/qwkpage.cpp:
553         (QWKPagePrivate::touchEvent):
554         * UIProcess/API/qt/qwkpage_p.h:
555         * UIProcess/WebPageProxy.cpp:
556         (WebKit::WebPageProxy::touchEvent):
557         * UIProcess/WebPageProxy.h:
558         * WebProcess/WebPage/WebPage.cpp:
559         (WebKit::WebPage::touchEvent):
560         (WebKit::WebPage::didReceiveMessage):
561         * WebProcess/WebPage/WebPage.h:
562
563 2010-08-21  Sam Weinig  <sam@webkit.org>
564
565         Reviewed by Dan Bernstein.
566
567         Remove specialized retain/release functions in favor of a single one for WKTypeRefs
568         https://bugs.webkit.org/show_bug.cgi?id=44386
569
570         * UIProcess/API/C/WKArray.cpp:
571         (WKArrayGetSize):
572         * UIProcess/API/C/WKArray.h:
573         * UIProcess/API/C/WKBackForwardList.cpp:
574         (WKBackForwardListCopyForwardListWithLimit):
575         * UIProcess/API/C/WKBackForwardList.h:
576         * UIProcess/API/C/WKBackForwardListItem.cpp:
577         (WKBackForwardListItemCopyTitle):
578         * UIProcess/API/C/WKBackForwardListItem.h:
579         * UIProcess/API/C/WKBase.h:
580         * UIProcess/API/C/WKContext.cpp:
581         * UIProcess/API/C/WKContext.h:
582         * UIProcess/API/C/WKData.cpp:
583         (WKDataGetSize):
584         * UIProcess/API/C/WKData.h:
585         * UIProcess/API/C/WKDictionary.cpp:
586         (WKDictionaryCopyKeys):
587         * UIProcess/API/C/WKDictionary.h:
588         * UIProcess/API/C/WKError.h:
589         * UIProcess/API/C/WKFormSubmissionListener.cpp:
590         (WKFormSubmissionListenerContinue):
591         * UIProcess/API/C/WKFormSubmissionListener.h:
592         * UIProcess/API/C/WKFrame.cpp:
593         (WKFrameGetPage):
594         * UIProcess/API/C/WKFrame.h:
595         * UIProcess/API/C/WKFramePolicyListener.cpp:
596         (WKFramePolicyListenerIgnore):
597         * UIProcess/API/C/WKFramePolicyListener.h:
598         * UIProcess/API/C/WKNavigationData.cpp:
599         (WKNavigationDataCopyURL):
600         * UIProcess/API/C/WKNavigationData.h:
601         * UIProcess/API/C/WKPage.cpp:
602         * UIProcess/API/C/WKPage.h:
603         * UIProcess/API/C/WKPageNamespace.cpp:
604         (WKPageNamespaceGetContext):
605         * UIProcess/API/C/WKPageNamespace.h:
606         * UIProcess/API/C/WKPreferences.cpp:
607         (WKPreferencesCreate):
608         (WKPreferencesGetLocalStorageEnabled):
609         * UIProcess/API/C/WKPreferences.h:
610         * UIProcess/API/C/WKString.cpp:
611         * UIProcess/API/C/WKString.h:
612         * UIProcess/API/C/WKType.cpp:
613         (WKRetain):
614         (WKRelease):
615         * UIProcess/API/C/WKType.h:
616         * UIProcess/API/C/WKURL.cpp:
617         (WKURLGetTypeID):
618         * UIProcess/API/C/WKURL.h:
619         * UIProcess/API/cpp/WKRetainPtr.h:
620         * UIProcess/API/win/WKView.cpp:
621         * UIProcess/API/win/WKView.h:
622         * UIProcess/WebPreferences.cpp:
623         (WebKit::WebPreferences::shared):
624         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
625         (WKBundleNodeHandleGetTypeID):
626         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h:
627         * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
628         (WKBundleScriptWorldNormalWorld):
629         * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h:
630
631 2010-08-20  Balazs Kelemen  <kb@inf.u-szeged.hu>
632
633         Reviewed by Antonio Gomes.
634
635         [Qt] Implement cursor change in WebKit2
636         https://bugs.webkit.org/show_bug.cgi?id=44263
637
638         Implemented PageClient::setCursor.
639         * UIProcess/API/qt/qgraphicswkview.cpp: Added updateCursor slot to be connected to the QWKPage::setCursor signal.
640         (QGraphicsWKView::QGraphicsWKView):
641         (QGraphicsWKView::updateCursor): Sets the cursor of the widget.
642         * UIProcess/API/qt/qgraphicswkview.h:
643         * UIProcess/API/qt/qwkpage.cpp:
644         (QWKPagePrivate::setCursor): Added implementation for PageClient::setCursor. Emitting singal through the QWKPage.
645         * UIProcess/API/qt/qwkpage.h: Added setCursor signal.
646         * UIProcess/API/qt/qwkpage_p.h:
647
648 2010-08-19  David Kilzer  <ddkilzer@apple.com>
649
650         BUILD FIX: Fix Mac build after Windows WebKit2 changes for Netscape Plug-ins
651
652         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
653         (WebKit::NetscapePlugin::platformPaint): Changed frameRect() to
654         m_frameRect.
655
656 2010-08-19  Adam Roben  <aroben@apple.com>
657
658         Send mouse events to windowless plugins on Windows
659
660         This seems to have been the last issue blocking us from playing videos
661         on vimeo.com.
662
663         Fixes <http://webkit.org/b/44276> <rdar://problem/8330398> Can't click
664         play button in vimeo.com Flash video player in WebKit2 on Windows
665
666         Reviewed by Sam Weinig.
667
668         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
669         (WebKit::toNP): Added. Converts a WebMouseEvent to an NPEvent. Code
670         was adapted from WebCore's PluginViewWin.cpp.
671
672         (WebKit::NetscapePlugin::platformHandleMouseEvent):
673         (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
674         (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
675         Convert the WebMouseEvent to an NPEvent and send it to the plugin.
676
677 2010-08-19  Adam Roben  <aroben@apple.com>
678
679         Add support for painting windowless plugins on Windows
680
681         This gets the video on the front page of vimeo.com painting (though
682         you can't make it play because we don't support mouse events yet).
683
684         Fixes <http://webkit.org/b/44274> <rdar://problem/8330395> Windowless
685         plugins don't paint in WebKit2 on Windows
686
687         Reviewed by Sam Weinig.
688
689         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
690         (WebKit::NPN_GetValue): Tell the plugin that we support windowless
691         mode on Windows.
692         (WebKit::NPN_SetValue): Implemented handling of NPPVpluginWindowBool
693         by calling through to NetscapePlugin::setIsWindowed.
694
695         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
696         (WebKit::NetscapePlugin::NetscapePlugin): Added initialization of
697         m_isWindowed. It defaults to false on Mac and true on other platforms,
698         matching WebCore's PluginView.
699
700         * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added m_isWindowed.
701         (WebKit::NetscapePlugin::setIsWindowed): Added standard setter.
702
703         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
704         (WebKit::NetscapePlugin::platformPaint): Moved Mac-specific context
705         translation code here from PluginView::paint.
706
707         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
708         (WebKit::NetscapePlugin::platformPaint): Implemented. Code was ported
709         from WebCore's PluginViewWin.cpp.
710
711         * WebProcess/Plugins/Plugin.h: Updated the comment for Plugin::paint
712         to explain the coordinate system of the context.
713
714         * WebProcess/Plugins/PluginView.cpp:
715         (WebKit::PluginView::paint): Changed to translate the context from
716         document to window coordinates. We were previously trying to translate
717         to plugin-local coordinates, but this only worked for documents whose
718         origin was the same as the window's origin (i.e., the main frame). The
719         plugin takes care of any further translations needed. (Mac translates
720         the context into plugin-local coordinates, and Windows leaves it in
721         window coordinates.)
722
723 2010-08-19  Adam Roben  <aroben@apple.com>
724
725         Implement PluginInfoStore::pluginsDirectories
726
727         This makes WebKit2 able to find and load Flash on Windows.
728
729         Note that we aren't yet respecting the MozillaPlugins registry key.
730         That's covered by <http://webkit.org/b/44271>.
731
732         Fixes <http://webkit.org/b/43510> <rdar://problem/8273827> WebKit2
733         should load plugins from the same directories as old-WebKit
734
735         Reviewed by Jon Honeycutt and Ada Chan.
736
737         * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
738         (WebKit::parseVersionString):
739         (WebKit::compareVersions):
740         (WebKit::safariPluginsDirectory):
741         (WebKit::addMozillaPluginDirectories):
742         (WebKit::addWindowsMediaPlayerPluginDirectory):
743         (WebKit::addQuickTimePluginDirectory):
744         (WebKit::addAdobeAcrobatPluginDirectory):
745         (WebKit::addMacromediaPluginDirectories):
746         (WebKit::PluginInfoStore::pluginsDirectories):
747         Ported (and ever-so-slightly cleaned up) code from WebCore's
748         PluginDatabaseWin.cpp.
749
750 2010-08-19  Adam Roben  <aroben@apple.com>
751
752         Call NP_GetEntryPoints before NP_Initialize on Windows
753
754         Doing otherwise will cause Flash and QuickTime to crash inside
755         NP_Initialize.
756
757         Fixes <http://webkit.org/b/44270> <rdar://problem/8330393> Crash in
758         NP_Initialize when loading QuickTime when running
759         plugins/embed-attributes-setting.html in WebKit2 on Windows
760
761         Reviewed by Sam Weinig.
762
763         * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
764         (WebKit::NetscapePluginModule::tryLoad): On Windows, first call
765         NP_GetEntryPoints, then NP_Initialize. Do the reverse on Mac to
766         prevent Silverlight (e.g.) from crashing (see r38858).
767
768 2010-08-19  Adam Roben  <aroben@apple.com>
769
770         Add NetscapePluginWin.cpp
771
772         Fixes <http://webkit.org/b/44269> <rdar://problem/8330391>
773         NetscapePlugin.h contains functions that should be in
774         NetscapePluginWin.cpp
775
776         Reviewed by Sam Weinig.
777
778         * WebProcess/Plugins/Netscape/NetscapePlugin.h: Moved functions from
779         here...
780         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: ...to here.
781
782         * win/WebKit2.vcproj: Added NetscapePluginWin.cpp and let VS reorder
783         the file list.
784
785 2010-08-19  Sam Weinig  <sam@webkit.org>
786
787         Reviewed by Adam Roben.
788
789         Add modifier key info to policy client functions in WebKit2
790         <rdar://problem/8185298>
791         https://bugs.webkit.org/show_bug.cgi?id=44280
792
793         * UIProcess/API/C/WKAPICast.h:
794         Add conversion function for modifiers and rename an incorrectly named
795         toWK to toRef.
796
797         * UIProcess/API/C/WKPage.h:
798         Add WKEventModifiers enum.
799
800         * UIProcess/WebPageProxy.cpp:
801         (WebKit::WebPageProxy::didReceiveMessage):
802         (WebKit::WebPageProxy::decidePolicyForNavigationAction):
803         (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
804         * UIProcess/WebPageProxy.h:
805         * UIProcess/WebPolicyClient.cpp:
806         (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
807         (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
808         * UIProcess/WebPolicyClient.h:
809         Pipe through modifier info.
810
811         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
812         (WebKit::modifiersForNavigationAction):
813         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
814         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
815         Get modifier info out of the NavigationInfo class in the same manner as
816         WebKit1.
817
818 2010-08-18  Sam Weinig  <sam@webkit.org>
819
820         Reviewed by Adam Roben.
821
822         Add ability to get all the keys from a WKDictionaryRef
823         https://bugs.webkit.org/show_bug.cgi?id=44221
824
825         * Shared/ImmutableDictionary.cpp:
826         (WebKit::ImmutableDictionary::keys):
827         * Shared/ImmutableDictionary.h:
828         Add keys function.
829
830         * UIProcess/API/C/WKDictionary.cpp:
831         (WKDictionaryCopyKeys):
832         * UIProcess/API/C/WKDictionary.h:
833         Wrap keys function.
834
835 2010-08-18  Sam Weinig  <sam@webkit.org>
836
837         Reviewed by Jon Honeycutt.
838
839         Add ability to set custom userAgent for WebKit2
840         https://bugs.webkit.org/show_bug.cgi?id=44215
841
842         * Shared/CoreIPCSupport/WebPageMessageKinds.h:
843         (WebPageMessage::):
844         * UIProcess/API/C/WKPage.cpp:
845         (WKPageSetCustomUserAgent):
846         * UIProcess/API/C/WKPage.h:
847         * UIProcess/WebPageProxy.cpp:
848         (WebKit::WebPageProxy::setCustomUserAgent):
849         * UIProcess/WebPageProxy.h:
850         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
851         (WebKit::WebFrameLoaderClient::userAgent):
852         * WebProcess/WebPage/WebPage.cpp:
853         (WebKit::WebPage::setCustomUserAgent):
854         (WebKit::WebPage::userAgent):
855         (WebKit::WebPage::didReceiveMessage):
856         * WebProcess/WebPage/WebPage.h:
857
858 2010-08-18  Sam Weinig  <sam@webkit.org>
859
860         Rubber-stamped by John Sullivan.
861
862         Make WKBundleNodeHandleRef usable from WKRetainPtr.
863
864         * WebKit2.xcodeproj/project.pbxproj: Make WKBundleNodeHandle.h public.
865         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h: Add WKRetain/WKRelease overloads.
866
867 2010-08-18  Zoltan Horvath  <zoltan@webkit.org>
868
869         Reviewed by Kenneth Rohde Christiansen.
870
871         [Qt] Forwards QtWebProcess' stdout, stderr onto the UI process
872         https://bugs.webkit.org/show_bug.cgi?id=44159
873
874         For debugging purposes forwards stdout and stderr of QtWebProcess onto the UI process.
875
876         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
877         (WebKit::ProcessLauncherHelper::launch):
878
879 2010-08-17  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
880
881         Reviewed by Darin Adler.
882
883         Add NetworkingContext to avoid layer violations
884         https://bugs.webkit.org/show_bug.cgi?id=42292
885
886         Preparation: Just add the files to the build system.
887
888         * WebKit2.xcodeproj/project.pbxproj: Added new files.
889         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: Added.
890         Placeholder with tentative code that might be changed when landing
891         the rest of it.
892         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: Added.
893         Empty placeholder for now.
894
895 2010-08-16  Jon Honeycutt  <jhoneycutt@apple.com>
896
897         Allow some tests to pass in WebKitTestRunner before SharedMemory and
898         PluginInfoStore are implemented on Windows.
899
900         Reviewed by Sam Weinig.
901
902         * Platform/win/SharedMemoryWin.cpp:
903         Disable not implemented warnings.
904         * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
905         Ditto.
906
907 2010-08-16  Gavin Barraclough  <barraclough@apple.com>
908
909         Rubber stamped by Sam Weinig
910
911         Remove unnecessary includes from UString.h, add new includes as necessary.
912
913         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
914
915 2010-08-16  Sam Weinig  <sam@webkit.org>
916
917         Fix windows build.
918
919         * Shared/win/CommandLineWin.cpp:
920
921 2010-08-16  Sam Weinig  <sam@webkit.org>
922
923         Reviewed by Gavin Barraclough.
924
925         Remove #includes of <WebCore/PlatformString.h> in favor of <wtf/text/WTFString.h>
926
927         * Platform/Module.cpp:
928         * Platform/Module.h:
929         * Shared/CommandLine.h:
930         * Shared/WebCoreArgumentCoders.h:
931         * Shared/WebEvent.h:
932         * Shared/WebNavigationDataStore.h:
933         * Shared/WebPreferencesStore.h:
934         * Shared/WebString.h:
935         * Shared/WebURL.h:
936         * Shared/mac/CommandLineMac.cpp:
937         * Shared/qt/UpdateChunk.cpp:
938         * UIProcess/API/C/WKContext.cpp:
939         * UIProcess/API/C/cf/WKStringCF.cpp:
940         * UIProcess/API/C/cf/WKURLCF.cpp:
941         * UIProcess/API/cpp/qt/WKStringQt.cpp:
942         * UIProcess/API/cpp/qt/WKURLQt.cpp:
943         * UIProcess/API/mac/PageClientImpl.mm:
944         * UIProcess/API/qt/qgraphicswkview.cpp:
945         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
946         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
947         * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
948         * UIProcess/WebBackForwardListItem.cpp:
949         * UIProcess/WebBackForwardListItem.h:
950         * UIProcess/WebContext.h:
951         * UIProcess/WebContextInjectedBundleClient.cpp:
952         * UIProcess/WebFrameProxy.cpp:
953         * UIProcess/WebFrameProxy.h:
954         * UIProcess/WebPageProxy.h:
955         * UIProcess/WebPolicyClient.cpp:
956         * UIProcess/WebProcessProxy.cpp:
957         * UIProcess/WebUIClient.cpp:
958         * UIProcess/win/WebView.cpp:
959         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
960         * WebProcess/InjectedBundle/InjectedBundle.h:
961         * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
962         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
963         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
964         * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
965         * WebProcess/Plugins/JSNPObject.cpp:
966         * WebProcess/Plugins/NPJSObject.cpp:
967         * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
968         * WebProcess/Plugins/Netscape/NetscapePluginModule.h:
969         * WebProcess/WebCoreSupport/WebChromeClient.h:
970         * WebProcess/WebKitMain.cpp:
971         * WebProcess/win/WebProcessMainWin.cpp:
972
973 2010-08-16  Sam Weinig  <sam@webkit.org>
974
975         Reviewed by Gavin Barraclough.
976
977         Null CFURLRef returned from provisionalURL after searching on zillow.com
978         <rdar://problem/8261812>
979         https://bugs.webkit.org/show_bug.cgi?id=44072
980
981         Conversion from WKURLRef to CFRURLRef was breaking on URLs using characters
982         such as '{'.
983
984         * UIProcess/API/C/cf/WKURLCF.cpp:
985         (WKURLCopyCFURL): Use code similar to that found in KURLCFNet.cpp for conversion.
986
987 2010-08-16  Sam Weinig  <sam@webkit.org>
988
989         Reviewed by Gavin Barraclough.
990
991         Remove unnecessary copy constructor, assignment operator and swap function.
992         The defaults (for all except swap) should do just fine.
993
994         * Shared/WebPreferencesStore.cpp:
995         * Shared/WebPreferencesStore.h:
996
997 2010-08-16  Balazs Kelemen  <kb@inf.u-szeged.hu>
998
999         Reviewed by Kenneth Rohde Christiansen.
1000
1001         Handle content size change in WebKit2
1002         Re-landing after fix.
1003
1004         https://bugs.webkit.org/show_bug.cgi?id=43198
1005
1006         Based on the work of Antti Koivisto.
1007         Send message to the UI client when the contents size has changed through the WebChromeClient
1008         and propagate it to the WKPageUIClient.
1009
1010         * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
1011         (WebPageProxyMessage::): Added ContentsSizeChanged message kind.
1012         * UIProcess/API/C/WKPage.h: Added WKPageContentsSizeChangedCallback callback to the WKPageUIClient.
1013         * UIProcess/API/qt/qwkpage.cpp:
1014         (QWKPage::QWKPage): Initialize the new callback to 0.
1015         * UIProcess/WebPageProxy.cpp:
1016         (WebKit::WebPageProxy::didReceiveMessage): Handle ContentsSizeChanged message. Calls contetsSizeChanged.
1017         (WebKit::WebPageProxy::contentsSizeChanged): Added. Propagate the event to the the UI client.
1018         * UIProcess/WebPageProxy.h:
1019         * UIProcess/WebUIClient.cpp:
1020         (WebKit::WebUIClient::contentsSizeChanged): Added. Propagate the event forward to the WKPageUIClient.
1021         * UIProcess/WebUIClient.h:
1022         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1023         (WebKit::WebChromeClient::contentsSizeChanged): Implemented.
1024
1025 2010-08-16  Sheriff Bot  <webkit.review.bot@gmail.com>
1026
1027         Unreviewed, rolling out r65419.
1028         http://trac.webkit.org/changeset/65419
1029         https://bugs.webkit.org/show_bug.cgi?id=44053
1030
1031         Broke the Windows build (Requested by bbandix on #webkit).
1032
1033         * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
1034         (WebPageProxyMessage::):
1035         * UIProcess/API/C/WKPage.h:
1036         * UIProcess/API/qt/qwkpage.cpp:
1037         (QWKPage::QWKPage):
1038         * UIProcess/WebPageProxy.cpp:
1039         (WebKit::WebPageProxy::didReceiveMessage):
1040         * UIProcess/WebPageProxy.h:
1041         * UIProcess/WebUIClient.cpp:
1042         * UIProcess/WebUIClient.h:
1043         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1044         (WebKit::WebChromeClient::contentsSizeChanged):
1045
1046 2010-08-16  Balazs Kelemen  <kb@inf.u-szeged.hu>
1047
1048         Reviewed by Kenneth Rohde Christiansen.
1049
1050         Handle content size change in WebKit2
1051
1052         https://bugs.webkit.org/show_bug.cgi?id=43198
1053
1054         Based on the work of Antti Koivisto.
1055         Send message to the UI client when the contents size has changed through the WebChromeClient
1056         and propagate it to the WKPageUIClient.
1057
1058         * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
1059         (WebPageProxyMessage::): Added ContentsSizeChanged message kind.
1060         * UIProcess/API/C/WKPage.h: Added WKPageContentsSizeChangedCallback callback to the WKPageUIClient.
1061         * UIProcess/API/qt/qwkpage.cpp:
1062         (QWKPage::QWKPage): Initialize the new callback to 0.
1063         * UIProcess/WebPageProxy.cpp:
1064         (WebKit::WebPageProxy::didReceiveMessage): Handle ContentsSizeChanged message. Calls contetsSizeChanged.
1065         (WebKit::WebPageProxy::contentsSizeChanged): Added. Propagate the event to the the UI client.
1066         * UIProcess/WebPageProxy.h:
1067         * UIProcess/WebUIClient.cpp:
1068         (WebKit::WebUIClient::contentsSizeChanged): Added. Propagate the event forward to the WKPageUIClient.
1069         * UIProcess/WebUIClient.h:
1070         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1071         (WebKit::WebChromeClient::contentsSizeChanged): Implemented.
1072
1073 2010-08-16  Balazs Kelemen  <kb@inf.u-szeged.hu>
1074
1075         Unreviewed Qt WebKit2 build fix.
1076
1077         * UIProcess/qt/WebContextQt.cpp:
1078         (WebKit::WebContext::platformSetUpWebProcess): Added empty stub implementation.
1079         * WebKit2.pro: Enumerate new files, include WebKit.pri for correct define macro set.
1080
1081 2010-08-15  Dan Bernstein  <mitz@apple.com>
1082
1083         Revised build fix from r65363 based on suggestion from Darin Adler.
1084
1085         * UIProcess/API/C/WKArray.h: Include stddef.h.
1086         * UIProcess/API/C/WKBase.h: Uninclude ctype.h.
1087         * UIProcess/API/C/WKData.h: Include stddef.h.
1088         * UIProcess/API/C/WKDictionary.h: Ditto.
1089
1090 2010-08-14  Dan Bernstein  <mitz@apple.com>
1091
1092         Reviewed by Anders Carlsson in Sweden.
1093
1094         Clean build of WebKitTestRunner fails with “'size_t' has not been declared” in WKArray.h
1095         https://bugs.webkit.org/show_bug.cgi?id=44005
1096
1097         * UIProcess/API/C/WKBase.h: Include ctype.h.
1098
1099 2010-08-13  Sam Weinig  <sam@webkit.org>
1100
1101         Fix build.
1102
1103         * WebKit2.xcodeproj/project.pbxproj: Make WKDictionary.h public.
1104
1105 2010-08-13  Sam Weinig  <sam@webkit.org>
1106
1107         Reviewed by Brady Eidson.
1108
1109         Pass values map to willSubmitForm in WebKit2 API
1110         Part of <rdar://problem/8255932>
1111         https://bugs.webkit.org/show_bug.cgi?id=43995
1112
1113         * Platform/CoreIPC/ArgumentCoders.h:
1114         (CoreIPC::):
1115         Add overload for std::pair.
1116
1117         * Shared/ImmutableDictionary.h:
1118         (WebKit::ImmutableDictionary::adopt):
1119         Fix function signature by removing size parameter.
1120
1121         * UIProcess/API/C/WKPage.h:
1122         Add dictionary parameter to callback.
1123
1124         * UIProcess/WebFormClient.cpp:
1125         (WebKit::WebFormClient::willSubmitForm):
1126         Create an ImmutableDictionary from the vector of string pairs.
1127
1128         * UIProcess/WebFormClient.h:
1129         * UIProcess/WebPageProxy.cpp:
1130         (WebKit::WebPageProxy::didReceiveMessage):
1131         (WebKit::WebPageProxy::willSubmitForm):
1132         * UIProcess/WebPageProxy.h:
1133         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1134         (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
1135         Plumb through the values vector.
1136
1137 2010-08-13  Sam Weinig  <sam@webkit.org>
1138
1139         Reviewed by Brady Eidson.
1140
1141         Add dictionary API type
1142         https://bugs.webkit.org/show_bug.cgi?id=43990
1143
1144         Add an immutable dictionary type (WKStringRef -> WKTypeRef).
1145
1146         * Shared/APIObject.h:
1147         (WebKit::APIObject::):
1148         Add new APIType.
1149
1150         * Shared/ImmutableDictionary.cpp: Added.
1151         (WebKit::ImmutableDictionary::ImmutableDictionary):
1152         (WebKit::ImmutableDictionary::~ImmutableDictionary):
1153         * Shared/ImmutableDictionary.h: Added.
1154         (WebKit::ImmutableDictionary::create):
1155         (WebKit::ImmutableDictionary::adopt):
1156         (WebKit::ImmutableDictionary::get):
1157         (WebKit::ImmutableDictionary::size):
1158         (WebKit::ImmutableDictionary::):
1159         (WebKit::ImmutableDictionary::type):
1160         Add basic implementation
1161
1162         * UIProcess/API/C/WKAPICast.h:
1163         (WebKit::):
1164         Add new mappings.
1165
1166         * UIProcess/API/C/WKBase.h:
1167         Add new opaque type.
1168
1169         * UIProcess/API/C/WKDictionary.cpp: Added.
1170         (WKDictionaryGetTypeID):
1171         (WKDictionaryGetItemForKey):
1172         (WKDictionaryGetSize):
1173         (WKDictionaryRetain):
1174         (WKDictionaryRelease):
1175         * UIProcess/API/C/WKDictionary.h: Added.
1176         Add API wrappings.
1177     
1178         * UIProcess/API/C/WebKit2.h:
1179         Add missing public headers.
1180
1181         * WebKit2.xcodeproj/project.pbxproj:
1182         * win/WebKit2.vcproj:
1183         * win/WebKit2Generated.make:
1184         Add new files.
1185
1186 2010-08-13  Sam Weinig  <sam@webkit.org>
1187
1188         Reviewed by Jon Honeycutt.
1189
1190         Add form submission listener to WebKit2
1191         Part of <rdar://problem/8255932>
1192         https://bugs.webkit.org/show_bug.cgi?id=43947
1193
1194         * Shared/APIObject.h:
1195         Add TypeFormSubmissionListener APIType.
1196         
1197         * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
1198         Add WillSubmitForm message kind.
1199
1200         * UIProcess/API/C/WKAPICast.h:
1201         Add new mappings for WKFormSubmissionListenerRef -> WebFormSubmissionListener
1202
1203         * UIProcess/API/C/WKBase.h:
1204         Add OpaqueWKFormSubmissionListener and rename the other opaque types to match.
1205
1206         * UIProcess/API/C/WKFormSubmissionListener.cpp: Added.
1207         (WKFormSubmissionListenerGetTypeID):
1208         (WKFormSubmissionListenerContinue):
1209         (WKFormSubmissionListenerRetain):
1210         (WKFormSubmissionListenerRelease):
1211         * UIProcess/API/C/WKFormSubmissionListener.h: Added.
1212         Add C wrapper for WebFormSubmissionListener.
1213
1214         * UIProcess/API/C/WKPage.cpp:
1215         (WKPageSetPageFormClient):
1216         * UIProcess/API/C/WKPage.h:
1217         Add WKPageFormClient with willSubmitForm callback. Additional callbacks will be added as
1218         needed.
1219
1220         * UIProcess/API/C/WebKit2.h:
1221         Add include for WKFormSubmissionListener.h
1222
1223         * UIProcess/WebFormClient.cpp: Added.
1224         (WebKit::WebFormClient::WebFormClient):
1225         (WebKit::WebFormClient::initialize):
1226         (WebKit::WebFormClient::willSubmitForm):
1227         * UIProcess/WebFormClient.h: Added.
1228         Add client for form related delagations.
1229
1230         * UIProcess/WebFormSubmissionListenerProxy.cpp: Added.
1231         (WebKit::WebFormSubmissionListenerProxy::WebFormSubmissionListenerProxy):
1232         (WebKit::WebFormSubmissionListenerProxy::continueSubmission):
1233         * UIProcess/WebFormSubmissionListenerProxy.h: Added.
1234         (WebKit::WebFormSubmissionListenerProxy::create):
1235         (WebKit::WebFormSubmissionListenerProxy::type):
1236         * UIProcess/WebFrameListenerProxy.cpp: Copied from UIProcess/WebFramePolicyListenerProxy.cpp.
1237         Add new type of listener for form submissions. It inherits from the new base class
1238         for listeners, WebFrameListenerProxy.
1239
1240         (WebKit::WebFrameListenerProxy::WebFrameListenerProxy):
1241         (WebKit::WebFrameListenerProxy::~WebFrameListenerProxy):
1242         (WebKit::WebFrameListenerProxy::invalidate):
1243         (WebKit::WebFrameListenerProxy::receivedPolicyDecision):
1244         * UIProcess/WebFrameListenerProxy.h: Copied from UIProcess/WebFramePolicyListenerProxy.h.
1245         Move logic that would have to be shared between WebFramePolicyListenerProxy and
1246         WebFormSubmissionListenerProxy into shared base class.
1247
1248         * UIProcess/WebFramePolicyListenerProxy.cpp:
1249         (WebKit::WebFramePolicyListenerProxy::WebFramePolicyListenerProxy):
1250         * UIProcess/WebFramePolicyListenerProxy.h:
1251         (WebKit::WebFramePolicyListenerProxy::create):
1252         (WebKit::WebFramePolicyListenerProxy::type):
1253         Move to inheriting from WebFrameListenerProxy.
1254
1255         * UIProcess/WebFrameProxy.cpp:
1256         (WebKit::WebFrameProxy::disconnect):
1257         (WebKit::WebFrameProxy::receivedPolicyDecision):
1258         (WebKit::WebFrameProxy::setUpPolicyListenerProxy):
1259         (WebKit::WebFrameProxy::setUpFormSubmissionListenerProxy):
1260         * UIProcess/WebFrameProxy.h:
1261         Change listener functions to act on WebFrameListenerProxys and add setUpFormSubmissionListenerProxy.
1262
1263         * UIProcess/WebPageProxy.cpp:
1264         (WebKit::WebPageProxy::initializeFormClient):
1265         (WebKit::WebPageProxy::didReceiveMessage):
1266         (WebKit::WebPageProxy::willSubmitForm):
1267         * UIProcess/WebPageProxy.h:
1268         Plumb through willSubmitForm call as we do with the other listeners.
1269
1270         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1271         (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
1272         Ditto.
1273
1274         * WebKit2.xcodeproj/project.pbxproj: Add new files.
1275         * win/WebKit2.vcproj: Add new files.
1276         * win/WebKit2Generated.make: Ditto.
1277
1278 2010-08-13  Gavin Barraclough  <barraclough@apple.com>
1279
1280         Reviewed by Sam Weinig
1281
1282         Unify UString::UTF8String() & String::utf8() methods,
1283         remove UString::cost() & make atArrayIndex a free function.
1284
1285         * WebProcess/Plugins/JSNPObject.cpp:
1286         (WebKit::npIdentifierFromIdentifier):
1287         * WebProcess/Plugins/NPJSObject.cpp:
1288         (WebKit::NPJSObject::enumerate):
1289         * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
1290         (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
1291
1292 2010-08-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1293
1294         Unreviewed, rolling out r65295.
1295         http://trac.webkit.org/changeset/65295
1296         https://bugs.webkit.org/show_bug.cgi?id=43950
1297
1298         It broke 4 sputnik tests (Requested by Ossy on #webkit).
1299
1300         * WebProcess/Plugins/JSNPObject.cpp:
1301         (WebKit::npIdentifierFromIdentifier):
1302         * WebProcess/Plugins/NPJSObject.cpp:
1303         (WebKit::NPJSObject::enumerate):
1304         * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
1305         (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
1306
1307 2010-08-12  Gavin Barraclough  <barraclough@apple.com>
1308
1309         Reviewed by Sam Weinig
1310
1311         Unify UString::UTF8String() & String::utf8() methods,
1312         remove UString::cost() & make atArrayIndex a free function.
1313
1314         * WebProcess/Plugins/JSNPObject.cpp:
1315         (WebKit::npIdentifierFromIdentifier):
1316         * WebProcess/Plugins/NPJSObject.cpp:
1317         (WebKit::NPJSObject::enumerate):
1318         * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
1319         (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
1320
1321 2010-08-12  Maciej Stachowiak  <mjs@apple.com>
1322
1323         Reviewed by Sam Weinig.
1324
1325         WebKit2 crashes when WebFrame outlives WebPage
1326         https://bugs.webkit.org/show_bug.cgi?id=43939
1327
1328         * WebProcess/WebCoreSupport/WebChromeClient.h:
1329         (WebKit::WebChromeClient::page): Add this method, to allow
1330         WebFrame to retrieve its WebPage following WebCore pointers.
1331         * WebProcess/WebPage/WebFrame.cpp:
1332         (WebKit::WebFrame::WebFrame): Do not initialize m_page (it's gone).
1333         (WebKit::WebFrame::page): Don't use the data member, get it from
1334         WebCore.
1335         (WebKit::WebFrame::invalidate): Use method to get page() and null check.
1336         (WebKit::WebFrame::isMainFrame): ditto
1337         * WebProcess/WebPage/WebFrame.h:
1338
1339 2010-08-12  Jon Honeycutt  <jhoneycutt@apple.com>
1340
1341         WebKit2 needs to initialize SafariTheme
1342         https://bugs.webkit.org/show_bug.cgi?id=43901
1343
1344         Reviewed by Sam Weinig.
1345
1346         * WebProcess/win/WebProcessMainWin.cpp:
1347         (WebKit::initializeSafariTheme):
1348         Copied from old WebKit.
1349         (WebKit::WebProcessMain):
1350         If we're using SafariTheme, initialize it.
1351
1352 2010-08-12  Jon Honeycutt  <jhoneycutt@apple.com>
1353
1354         WebKitTestRunner needs to run tests without using native controls
1355         https://bugs.webkit.org/show_bug.cgi?id=43772
1356
1357         Reviewed by Sam Weinig.
1358
1359         * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
1360         (WebProcessMessage::):
1361         Add a new message.
1362
1363         * UIProcess/API/C/win/WKContextPrivateWin.h: Added.
1364         Declare WKContextSetShouldPaintNativeControls().
1365
1366         * UIProcess/API/C/win/WKContextWin.cpp: Added.
1367         (WKContextSetShouldPaintNativeControls):
1368         Call the WebContext's setShouldPaintNativeControls().
1369
1370         * UIProcess/WebContext.cpp:
1371         (WebKit::WebContext::WebContext):
1372         Initialize m_shouldPaintNativeControls.
1373         (WebKit::WebContext::ensureWebProcess):
1374         If we created a web process, call platformSetUpWebProcess().
1375
1376         * UIProcess/WebContext.h:
1377         Declare new functions and a member to store whether we should paint
1378         native controls.
1379
1380         * UIProcess/mac/WebContextMac.mm:
1381         (WebKit::WebContext::platformSetUpWebProcess):
1382         Stubbed.
1383
1384         * UIProcess/win/WebContextWin.cpp:
1385         (WebKit::WebContext::setShouldPaintNativeControls):
1386         Set m_shouldPaintNativeControls. If we have a valid web process, send a
1387         SetShouldPaintNativeControls message.
1388         (WebKit::WebContext::platformSetUpWebProcess):
1389         Send a SetShouldPaintNativeControls message.
1390
1391         * WebProcess/WebProcess.cpp:
1392         (WebKit::WebProcess::didReceiveMessage):
1393         If this is a SetShouldPaintNativeControls message, decode the argument,
1394         and call Settings::setShouldPaintNativeControls().
1395
1396         * win/WebKit2.vcproj:
1397         Add WKContextPrivateWin.h and WKContextWin.cpp to project.
1398
1399         * win/WebKit2Generated.make:
1400         Copy WKContextPrivateWin.h.
1401
1402 2010-08-11  Sam Weinig  <sam@webkit.org>
1403
1404         Reviewed by Gavin Barraclough.
1405
1406         Add SPI to stop loading from the InjectedBundle.
1407
1408         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1409         (WKBundlePageStopLoading):
1410         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
1411         * WebProcess/WebPage/WebPage.h:
1412
1413 2010-08-11  Sam Weinig  <sam@webkit.org>
1414
1415         Reviewed by Gavin Barraclough.
1416
1417         WKPageStopLoading always asserts
1418
1419         * WebProcess/WebPage/WebPage.cpp:
1420         (WebKit::WebPage::didReceiveMessage): Switch break to return, break made us
1421         hit the ASSERT_NOT_REACHED at the end of the function.
1422
1423 2010-08-11  Balazs Kelemen  <kb@inf.u-szeged.hu>
1424
1425         Unreviewed build fix.
1426
1427         [Qt] Update WebKit2 build environment, add stub implementation of SharedMemory.
1428
1429         * DerivedSources.pro:
1430         * Platform/qt/SharedMemoryQt.cpp: Added.
1431         (WebKit::SharedMemory::Handle::Handle):
1432         (WebKit::SharedMemory::Handle::~Handle):
1433         (WebKit::SharedMemory::Handle::encode):
1434         (WebKit::SharedMemory::Handle::decode):
1435         (WebKit::SharedMemory::create):
1436         (WebKit::SharedMemory::~SharedMemory):
1437         (WebKit::SharedMemory::createHandle):
1438         (WebKit::SharedMemory::systemPageSize):
1439         * WebKit2.pro:
1440         * WebKit2Prefix.h:
1441
1442 2010-08-11  Mark Rowe  <mrowe@apple.com>
1443
1444         Build fix.  Update references to StringHash.h.
1445
1446         * Shared/CommandLine.h:
1447         * UIProcess/WebContext.h:
1448         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1449         * WebProcess/win/WebProcessMainWin.cpp:
1450
1451 2010-08-10  Darin Adler  <darin@apple.com>
1452
1453         Reviewed by Sam Weinig.
1454
1455         Add leakRef and clear to all RefPtr variants
1456         https://bugs.webkit.org/show_bug.cgi?id=42389
1457
1458         * UIProcess/API/cpp/WKRetainPtr.h: Changed all uses of "template <...>" to
1459         "template<...>". Defined many of the inlined functions outside the class
1460         definition, to avoid style checker warnings about multiple statements on
1461         a single line and for slightly better clarity of the class definition itself.
1462         Renamed releaseRef to leakRef. Added a releaseRef that calls leakRef so we
1463         don't have to rename all callers at once. Added a clear function.
1464
1465 2010-08-10  Balazs Kelemen  <kb@inf.u-szeged.hu>
1466
1467         Reviewed by Antonio Gomes.
1468
1469         [Qt] Build WebKit2 into a static lib
1470
1471         https://bugs.webkit.org/show_bug.cgi?id=43621
1472
1473         * WebKit2.pri: Added. Defined addWebKit2Lib function that defines how to link against the static lib.
1474         * WebKit2.pro:  Build specification for the WebKit2 framework.
1475         * WebProcess.pro: Copied from WebKit2/WebKit2.pro. Build specification for the WebProcess binary.
1476
1477 2010-08-09  Sam Weinig  <sam@webkit.org>
1478
1479         Reviewed by Geoffrey Garen.
1480
1481         Add zoom support for injected bundle
1482         https://bugs.webkit.org/show_bug.cgi?id=43759
1483
1484         Add SPI to change the zoom factor for a page.
1485
1486         * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
1487         (toZoomMode):
1488         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1489         (WKBundlePageGetZoomFactor):
1490         (WKBundlePageSetZoomFactor):
1491         (WKBundlePageSetZoomMode):
1492         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
1493         * WebProcess/WebPage/WebPage.cpp:
1494         (WebKit::WebPage::zoomFactor):
1495         (WebKit::WebPage::setZoomFactor):
1496         (WebKit::WebPage::setZoomMode):
1497         * WebProcess/WebPage/WebPage.h:
1498
1499 2010-08-06  Gavin Barraclough  <barraclough@apple.com>
1500
1501         Rubber stamped by Sam Weinig
1502
1503         Bug 43594 - Add string forwards to Forward.h
1504         This allows us to remove forward declarations for these classes from
1505         WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
1506
1507         * UIProcess/PageClient.h:
1508         * UIProcess/VisitedLinkProvider.h:
1509         * UIProcess/WebContextInjectedBundleClient.h:
1510         * UIProcess/WebFrameProxy.h:
1511         * UIProcess/WebHistoryClient.h:
1512         * UIProcess/WebLoaderClient.h:
1513         * UIProcess/WebPolicyClient.h:
1514         * UIProcess/WebProcessProxy.h:
1515         * UIProcess/WebUIClient.h:
1516         * UIProcess/win/WebView.h:
1517         * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
1518         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
1519         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
1520         * WebProcess/Plugins/NPRuntimeObjectMap.h:
1521         * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
1522         * WebProcess/Plugins/PluginController.h:
1523         * WebProcess/WebPage/WebFrame.h:
1524         * WebProcess/WebPage/WebPage.h:
1525         * WebProcess/WebProcess.h:
1526
1527 2010-08-09  Balazs Kelemen  <kb@inf.u-szeged.hu>
1528
1529         Reviewed by Kenneth Rohde Christiansen.
1530
1531         [Qt] No need for PageClientImpl
1532
1533         https://bugs.webkit.org/show_bug.cgi?id=43728
1534
1535         Remove PageClientImpl, take the implementation of WebKit::PageClient into QWKPagePrivate.
1536
1537         * UIProcess/API/qt/qwkpage.cpp:
1538         (QWKPagePrivate::QWKPagePrivate):
1539         (QWKPagePrivate::toolTipChanged):
1540         * UIProcess/API/qt/qwkpage_p.h:
1541         (QWKPagePrivate::pageDidEnterAcceleratedCompositing):
1542         (QWKPagePrivate::pageDidLeaveAcceleratedCompositing):
1543         (QWKPagePrivate::processDidExit):
1544         (QWKPagePrivate::processDidRevive):
1545         (QWKPagePrivate::setCursor):
1546         (QWKPagePrivate::takeFocus):
1547
1548 2010-08-07  Sam Weinig  <sam@webkit.org>
1549
1550         Reviewed by Anders Carlsson.
1551
1552         WebKitTestRunner needs to print onunload handler information
1553         <rdar://problem/8213831>
1554         https://bugs.webkit.org/show_bug.cgi?id=42703
1555
1556         Add SPI to get the number of pending unload events.
1557
1558         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1559         (WKBundleFrameGetPendingUnloadCount):
1560         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
1561         * WebProcess/WebPage/WebFrame.cpp:
1562         (WebKit::WebFrame::pendingUnloadCount):
1563         * WebProcess/WebPage/WebFrame.h:
1564
1565 2010-08-07  Sam Weinig  <sam@webkit.org>
1566
1567         Reviewed by Anders Carlsson.
1568
1569         Add additional loader client functions need to complete WebKitTestRunner
1570         https://bugs.webkit.org/show_bug.cgi?id=43684
1571
1572         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1573         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
1574         (WebKit::InjectedBundlePageLoaderClient::didCancelClientRedirectForFrame):
1575         (WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame):
1576         (WebKit::InjectedBundlePageLoaderClient::didChangeLocationWithinPageForFrame):
1577         (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame):
1578         (WebKit::InjectedBundlePageLoaderClient::didHandleOnloadEventsForFrame):
1579         (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
1580         (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
1581         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
1582         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1583         (WebKit::WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
1584         (WebKit::WebFrameLoaderClient::dispatchDidCancelClientRedirect):
1585         (WebKit::WebFrameLoaderClient::dispatchWillPerformClientRedirect):
1586         (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
1587         (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
1588         (WebKit::WebFrameLoaderClient::didDisplayInsecureContent):
1589         (WebKit::WebFrameLoaderClient::didRunInsecureContent):
1590
1591 2010-08-07  Sam Weinig  <sam@webkit.org>
1592
1593         Another fix for the windows build.
1594
1595         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1596         (WebKit::NetscapePlugin::isAcceleratedCompositingEnabled):
1597
1598 2010-08-07  Sam Weinig  <sam@webkit.org>
1599
1600         Fix windows build.
1601
1602         * WebProcess/Plugins/PluginView.cpp:
1603         (WebKit::PluginView::platformLayer):
1604         * WebProcess/Plugins/PluginView.h:
1605
1606 2010-08-07  Sam Weinig  <sam@webkit.org>
1607
1608         Reviewed by Anders Carlsson.
1609
1610         WebKitTestRunner needs GCController
1611         <rdar://problem/8213834>
1612         https://bugs.webkit.org/show_bug.cgi?id=42701
1613
1614         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
1615         (WKBundleGarbageCollectJavaScriptObjects):
1616         (WKBundleGarbageCollectJavaScriptObjectsOnAlternateThreadForDebugging):
1617         (WKBundleGetJavaScriptObjectsCount):
1618         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
1619         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1620         (WebKit::InjectedBundle::garbageCollectJavaScriptObjects):
1621         (WebKit::InjectedBundle::garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging):
1622         (WebKit::InjectedBundle::javaScriptObjectsCount):
1623         * WebProcess/InjectedBundle/InjectedBundle.h:
1624
1625 2010-08-07  Anders Carlsson  <andersca@apple.com>
1626
1627         Reviewed by Sam Weinig.
1628
1629         CA drawing model support for Mac Plugins
1630         https://bugs.webkit.org/show_bug.cgi?id=43678
1631         <rdar://problem/7929701>
1632
1633         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1634         (WebKit::NPN_GetValue):
1635         Handle WKNVSupportsCompositingCoreAnimationPluginsBool and 
1636         NPNVsupportsCoreAnimationBool and return true if accelerated compositing is enabled.
1637
1638         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1639         (WebKit::NetscapePlugin::isAcceleratedCompositingEnabled):
1640         Call PluginController::isAcceleratedCompositingEnabled.
1641
1642         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1643         (WebKit::NetscapePlugin::platformPostInitialize):
1644         If the plug-in uses the Core Animation drawing model, ask it for its layer.
1645
1646         (WebKit::NetscapePlugin::platformPaint):
1647         Don't send draw events if the Core Animation drawing model is used.
1648
1649         (WebKit::NetscapePlugin::pluginLayer):
1650         Return the plug-in layer.
1651
1652         * WebProcess/Plugins/Plugin.h:
1653         Add a pluginLayer pure virtual member function.
1654
1655         * WebProcess/Plugins/PluginController.h:
1656         Add an isAcceleratedCompositingEnabled pure virtual member function.
1657
1658         * WebProcess/Plugins/PluginView.cpp:
1659         (WebKit::PluginView::initializePlugin):
1660         If the plug-in has a layer, enter compositing mode.
1661
1662         (WebKit::PluginView::platformLayer):
1663         Ask the plug-in for its layer.
1664
1665         (WebKit::PluginView::isAcceleratedCompositingEnabled):
1666         Call Settings::acceleratedCompositingEnabled.
1667
1668         * WebProcess/Plugins/PluginView.h:
1669
1670 2010-08-06  Sam Weinig  <sam@webkit.org>
1671
1672         Reviewed by Anders Carlsson.
1673
1674         Delete key doesn't go Back in WebKit2
1675         <rdar://problem/8272978>
1676         https://bugs.webkit.org/show_bug.cgi?id=43665
1677
1678         - Adds support for delete key going back (mac only for now)
1679         - Adds support for command-left/command right going back/forward
1680         - Flesh out scrolling due to arrow keys on the mac to match old webkit.
1681         - Made performDefaultBehaviorForKeyEvent platform specific and added
1682           a boolean return value which will be used later to inform the UI process
1683           about what events have been processed.
1684
1685         * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
1686         (WebPageProxyMessage::):
1687         * UIProcess/API/mac/WKView.mm:
1688         (-[WKView _wantsKeyDownForEvent:]):
1689         * UIProcess/WebPageProxy.cpp:
1690         (WebKit::WebPageProxy::didReceiveSyncMessage):
1691         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
1692         (WebKit::WebBackForwardListProxy::backItem):
1693         (WebKit::WebBackForwardListProxy::forwardItem):
1694         * WebProcess/WebPage/WebPage.cpp:
1695         (WebKit::WebPage::keyEvent):
1696         * WebProcess/WebPage/WebPage.h:
1697         * WebProcess/WebPage/mac/WebPageMac.mm:
1698         (WebKit::scroll):
1699         (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
1700         * WebProcess/WebPage/qt/WebPageQt.cpp:
1701         (WebKit::scroll):
1702         (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
1703         * WebProcess/WebPage/win/WebPageWin.cpp:
1704         (WebKit::scroll):
1705         (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
1706
1707 2010-08-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1708
1709         Unreviewed, rolling out r64904.
1710         http://trac.webkit.org/changeset/64904
1711         https://bugs.webkit.org/show_bug.cgi?id=43671
1712
1713         Broke the Qt Windows builders. (Requested by bbandix on
1714         #webkit).
1715
1716         * WebKit2.pri: Removed.
1717         * WebKit2.pro:
1718         * WebProcess.pro: Removed.
1719
1720 2010-08-07  Balazs Kelemen  <kb@inf.u-szeged.hu>
1721
1722         Reviewed by Eric Seidel.
1723
1724         NPAPI headers should be included through npruntime_internal.h
1725
1726         https://bugs.webkit.org/show_bug.cgi?id=43620
1727
1728         * DerivedSources.pro:
1729         * WebProcess/Plugins/NPJSObject.h:
1730         * WebProcess/Plugins/NPRuntimeUtilities.h:
1731         * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
1732
1733 2010-08-07  Balazs Kelemen  <kb@inf.u-szeged.hu>
1734
1735         Reviewed by Eric Seidel.
1736
1737         [Qt] Build WebKit2 into a static lib
1738
1739         https://bugs.webkit.org/show_bug.cgi?id=43621
1740
1741         * WebKit2.pri: Added. Defined addWebKit2Lib function that defines how to link against the static lib.
1742         * WebKit2.pro:  Build specification for the WebKit2 framework.
1743         * WebProcess.pro: Copied from WebKit2/WebKit2.pro. Build specification for the WebProcess binary.
1744
1745 2010-08-05  Jon Honeycutt  <jhoneycutt@apple.com>
1746
1747         WebKitTestRunner needs to be able to set the font smoothing type
1748         https://bugs.webkit.org/show_bug.cgi?id=43406
1749
1750         Reviewed by Adam Roben.
1751
1752         * Shared/FontSmoothingLevel.h: Added.
1753         (WebKit::):
1754
1755         * Shared/WebPreferencesStore.cpp:
1756         (WebKit::WebPreferencesStore::WebPreferencesStore):
1757         Initialize fontSmoothingLevel.
1758         (WebKit::WebPreferencesStore::swap):
1759         Copy fontSmoothingLevel.
1760
1761         * Shared/WebPreferencesStore.h:
1762         (WebKit::WebPreferencesStore::encode):
1763         Encode fontSmoothingLevel.
1764         (WebKit::WebPreferencesStore::decode):
1765         Decode it.
1766
1767         * UIProcess/API/C/WKPreferencesPrivate.cpp: Added.
1768         (WKPreferencesSetFontSmoothingLevel):
1769         Get the font smoothing level from the WKFontSmoothingLevel, and call
1770         WebPreferences::setFontSmoothingLevel().
1771         (WKPreferencesGetFontSmoothingLevel):
1772         Get the font smoothing level from WebPreferences, and translate it to a
1773         WKFontSmoothingLevel.
1774
1775         * UIProcess/API/C/WKPreferencesPrivate.h: Added.
1776         Declare the font smoothing levels, and declare functions to get and set
1777         the level.
1778
1779         * UIProcess/WebPreferences.cpp:
1780         (WebKit::WebPreferences::setFontSmoothingLevel):
1781         Set fontSmoothingLevel and call update().
1782         (WebKit::WebPreferences::fontSmoothingLevel):
1783         Return the level.
1784
1785         * UIProcess/WebPreferences.h:
1786         Declare getter and setter for fontSmoothingLevel.
1787
1788         * WebKit2.xcodeproj/project.pbxproj:
1789         Add new files to project.
1790
1791         * WebProcess/WebPage/WebPage.cpp:
1792         (WebKit::WebPage::preferencesDidChange):
1793         Call platformPreferencesDidChange().
1794
1795         * WebProcess/WebPage/WebPage.h:
1796         Declare platformPreferencesDidChange().
1797
1798         * WebProcess/WebPage/mac/WebPageMac.mm:
1799         (WebKit::WebPage::platformPreferencesDidChange):
1800         Stubbed.
1801
1802         * WebProcess/WebPage/qt/WebPageQt.cpp:
1803         (WebKit::WebPage::platformPreferencesDidChange):
1804         Stubbed.
1805
1806         * WebProcess/WebPage/win/WebPageWin.cpp:
1807         (WebKit::WebPage::platformPreferencesDidChange):
1808         On CG platforms, call wkSetFontSmoothingLevel(). This matches the code
1809         in old WebKit's WebPreferences. Set the font rendering mode to either
1810         normal (CG) or alternative (GDI) based on the font smoothing level. This
1811         matches what was done in old WebKit's WebView.
1812
1813         * win/WebKit2.vcproj:
1814         Add FontSmoothingLevel.h and WKPreferencesPrivate.{h,cpp} to project.
1815
1816         * win/WebKit2Generated.make:
1817         Copy WKPreferencesPrivate.h.
1818
1819 2010-08-06  Anders Carlsson  <andersca@apple.com>
1820
1821         Build fixes.
1822
1823         * Platform/win/SharedMemoryWin.cpp:
1824         (WebKit::SharedMemory::Handle::encode):
1825         (WebKit::SharedMemory::Handle::decode):
1826         * Shared/qt/UpdateChunk.cpp:
1827         (WebKit::UpdateChunk::encode):
1828         (WebKit::UpdateChunk::decode):
1829         * Shared/qt/UpdateChunk.h:
1830         * Shared/win/UpdateChunk.cpp:
1831         (WebKit::UpdateChunk::encode):
1832         (WebKit::UpdateChunk::decode):
1833         * Shared/win/UpdateChunk.h:
1834
1835 2010-08-06  Anders Carlsson  <andersca@apple.com>
1836
1837         Reviewed by Sam Weinig.
1838
1839         Change all ArgumentEncoder and ArgumentDecoder references to pointers
1840         https://bugs.webkit.org/show_bug.cgi?id=43651
1841
1842         * Platform/CoreIPC/ArgumentCoder.h:
1843         * Platform/CoreIPC/ArgumentDecoder.h:
1844         * Platform/CoreIPC/Arguments.h:
1845         * Platform/CoreIPC/Attachment.cpp:
1846         * Platform/CoreIPC/Attachment.h:
1847         * Platform/CoreIPC/mac/MachPort.h:
1848         * Platform/SharedMemory.h:
1849         * Platform/mac/SharedMemoryMac.cpp:
1850         * Shared/DrawingAreaBase.cpp:
1851         * Shared/DrawingAreaBase.h:
1852         * Shared/WebEvent.h:
1853         * Shared/WebNavigationDataStore.h:
1854         * Shared/WebPreferencesStore.h:
1855         * Shared/mac/UpdateChunk.cpp:
1856         * Shared/mac/UpdateChunk.h:
1857         * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
1858         * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
1859         * UIProcess/DrawingAreaProxy.h:
1860         * UIProcess/LayerBackedDrawingAreaProxy.cpp:
1861         * UIProcess/LayerBackedDrawingAreaProxy.h:
1862         * UIProcess/WebContext.cpp:
1863         * UIProcess/WebContext.h:
1864         * UIProcess/WebPageProxy.cpp:
1865         * UIProcess/WebPageProxy.h:
1866         * UIProcess/WebProcessProxy.cpp:
1867         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1868         * WebProcess/InjectedBundle/InjectedBundle.h:
1869         * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
1870         * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
1871         * WebProcess/WebPage/DrawingArea.h:
1872         * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
1873         * WebProcess/WebPage/LayerBackedDrawingArea.h:
1874         * WebProcess/WebPage/WebPage.cpp:
1875         * WebProcess/WebPage/WebPage.h:
1876         * WebProcess/WebProcess.cpp:
1877
1878 2010-08-06  Anders Carlsson  <andersca@apple.com>
1879
1880         Reviewed by Sam Weinig.
1881
1882         Don't try to allocate a vector unless we know the buffer can contain it
1883         https://bugs.webkit.org/show_bug.cgi?id=43647
1884
1885         * Platform/CoreIPC/ArgumentCoders.h:
1886         (CoreIPC::):
1887         Check that the argument decoder buffer actually can hold all the vector elements.
1888
1889         * Platform/CoreIPC/ArgumentDecoder.cpp:
1890         (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughtToContain):
1891         Align the current position to the given alignment, add the size and check if the position is
1892         past the end of the buffer.
1893
1894         * Platform/CoreIPC/ArgumentDecoder.h:
1895         (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughtToContain):
1896         Get the size and alignment and call the other bufferIsLargeEnoughtToContain overload.
1897
1898 2010-08-06  Anders Carlsson  <andersca@apple.com>
1899
1900         Reviewed by Adam Roben.
1901
1902         Detect invalid CoreIPC messages and call didReceiveInvalidMessage
1903         https://bugs.webkit.org/show_bug.cgi?id=43643
1904         <rdar://problem/7891069>
1905
1906         * Platform/CoreIPC/ArgumentDecoder.cpp:
1907         (CoreIPC::ArgumentDecoder::alignBufferPosition):
1908         If we can't correctly align the buffer position, mark the decoder as invalid.
1909
1910         * Platform/CoreIPC/ArgumentDecoder.h:
1911         (CoreIPC::ArgumentDecoder::isInvalid):
1912         Check if the argument decoder is valid.
1913
1914         (CoreIPC::ArgumentDecoder::markInvalid):
1915         Mark the argument decoder as invalid, by setting its buffer position past its end position.
1916
1917         * Platform/CoreIPC/Connection.cpp:
1918         (CoreIPC::Connection::dispatchMessages):
1919         Check if m_client is null before dispatching messages. If an argument decoder was marked invalid, call
1920         Connection::Client::didReceiveInvalidMessage.
1921
1922         * Platform/CoreIPC/Connection.h:
1923         (CoreIPC::Connection::Message::releaseArguments):
1924         Rename destroy to releaseArguments and make it return a PassOwnPtr.
1925
1926         * UIProcess/WebProcessProxy.cpp:
1927         (WebKit::WebProcessProxy::~WebProcessProxy):
1928         Call releaseArguments instead of destroy.
1929
1930         (WebKit::WebProcessProxy::didReceiveInvalidMessage):
1931         Kill the web process and invalidate its connection.
1932
1933         * WebProcess/WebProcess.cpp:
1934         (WebKit::WebProcess::didReceiveInvalidMessage):
1935         Don't do anything, if the UI process is sending invalid messages there's not much we can do.
1936
1937         * WebProcess/WebProcess.h:
1938
1939 2010-08-06  Anders Carlsson  <andersca@apple.com>
1940
1941         Reviewed by Adam Roben.
1942
1943         Add CoreIPC::MessageReceiver class
1944         https://bugs.webkit.org/show_bug.cgi?id=43637
1945
1946         * Platform/CoreIPC/Connection.h:
1947         (CoreIPC::Connection::MessageReceiver::~MessageReceiver):
1948         Add MessageReceiver class and make Client inherit from it.
1949
1950         (CoreIPC::Connection::MessageReceiver::didReceiveSyncMessage):
1951         Change didReceiveSyncMessage from being a pure virtual member function and make it
1952         assert by default instead.
1953
1954         * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
1955         * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
1956         Remove ChunkedUpdateDrawingAreaProxy::didReceiveSyncMessage.
1957
1958         * Shared/DrawingAreaBase.h:
1959         Include "Connection.h" instead.
1960
1961         * UIProcess/DrawingAreaProxy.h:
1962         (WebKit::DrawingAreaProxy::didReceiveSyncMessage):
1963         Change didReceiveSyncMessage from being a pure virtual member function and make it
1964         assert by default instead.
1965
1966         * WebProcess/WebProcess.cpp:
1967         * WebProcess/WebProcess.h:
1968         Remove didReceiveSyncMessage.
1969
1970 2010-08-06  Jessie Berlin  <jberlin@apple.com>
1971
1972         Roll out http://trac.webkit.org/changeset/64801, which broke the Safari Windows Build.
1973         Unreviewed.
1974
1975         * UIProcess/PageClient.h:
1976         * UIProcess/VisitedLinkProvider.h:
1977         * UIProcess/WebContextInjectedBundleClient.h:
1978         * UIProcess/WebFrameProxy.h:
1979         * UIProcess/WebHistoryClient.h:
1980         * UIProcess/WebLoaderClient.h:
1981         * UIProcess/WebPolicyClient.h:
1982         * UIProcess/WebProcessProxy.h:
1983         * UIProcess/WebUIClient.h:
1984         * UIProcess/win/WebView.h:
1985         * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
1986         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
1987         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
1988         * WebProcess/Plugins/NPRuntimeObjectMap.h:
1989         * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
1990         * WebProcess/Plugins/PluginController.h:
1991         * WebProcess/WebPage/WebFrame.h:
1992         * WebProcess/WebPage/WebPage.h:
1993         * WebProcess/WebProcess.h:
1994
1995 2010-08-05  Sam Weinig  <sam@webkit.org>
1996
1997         Reviewed by Anders Carlsson.
1998
1999         Add form client for injected bundle code
2000         https://bugs.webkit.org/show_bug.cgi?id=43603
2001
2002         * WebKit2.xcodeproj/project.pbxproj:
2003         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2004         (WKBundlePageSetFormClient):
2005         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2006         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: Added.
2007         (WebKit::InjectedBundlePageFormClient::InjectedBundlePageFormClient):
2008         (WebKit::InjectedBundlePageFormClient::initialize):
2009         (WebKit::InjectedBundlePageFormClient::textFieldDidBeginEditing):
2010         (WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing):
2011         (WebKit::InjectedBundlePageFormClient::textDidChangeInTextField):
2012         (WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea):
2013         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h: Added.
2014         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2015         (WebKit::WebEditorClient::textFieldDidBeginEditing):
2016         (WebKit::WebEditorClient::textFieldDidEndEditing):
2017         (WebKit::WebEditorClient::textDidChangeInTextField):
2018         (WebKit::WebEditorClient::textDidChangeInTextArea):
2019         * WebProcess/WebPage/WebPage.cpp:
2020         (WebKit::WebPage::initializeInjectedBundleFormClient):
2021         * WebProcess/WebPage/WebPage.h:
2022         (WebKit::WebPage::injectedBundleFormClient):
2023         * win/WebKit2.vcproj:
2024
2025 2010-08-05  Sam Weinig  <sam@webkit.org>
2026
2027         Reviewed by Anders Carlsson.
2028
2029         Add ability to get a JSValueRef for a node handle and a world
2030         https://bugs.webkit.org/show_bug.cgi?id=43591
2031
2032         - Add API to get a JSValueRef for a world, node and frame (the
2033           frame is currently necessary to pick the right globalObject for
2034           the node wrapper).
2035         - Add API to a JSGlobalContextRef for a world and a frame.
2036
2037         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
2038         (WKBundleFrameGetJavaScriptContextForWorld):
2039         (WKBundleFrameGetJavaScriptWrapperForNodeForWorld):
2040         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
2041         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h:
2042         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
2043         (WebKit::InjectedBundleNodeHandle::coreNode):
2044         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
2045         * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
2046         (WebKit::InjectedBundleScriptWorld::coreWorld):
2047         * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
2048         * WebProcess/WebPage/WebFrame.cpp:
2049         (WebKit::WebFrame::jsContext):
2050         (WebKit::WebFrame::jsContextForWorld):
2051         (WebKit::WebFrame::jsWrapperForWorld):
2052         * WebProcess/WebPage/WebFrame.h:
2053
2054 2010-08-05  Gavin Barraclough  <barraclough@apple.com>
2055
2056         Rubber stamped by Sam Weinig
2057
2058         Bug 43594 - Add string forwards to Forward.h
2059         This allows us to remove forward declarations for these classes from
2060         WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
2061
2062         * UIProcess/PageClient.h:
2063         * UIProcess/VisitedLinkProvider.h:
2064         * UIProcess/WebContextInjectedBundleClient.h:
2065         * UIProcess/WebFrameProxy.h:
2066         * UIProcess/WebHistoryClient.h:
2067         * UIProcess/WebLoaderClient.h:
2068         * UIProcess/WebPolicyClient.h:
2069         * UIProcess/WebProcessProxy.h:
2070         * UIProcess/WebUIClient.h:
2071         * UIProcess/win/WebView.h:
2072         * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
2073         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
2074         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
2075         * WebProcess/Plugins/NPRuntimeObjectMap.h:
2076         * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
2077         * WebProcess/Plugins/PluginController.h:
2078         * WebProcess/WebPage/WebFrame.h:
2079         * WebProcess/WebPage/WebPage.h:
2080         * WebProcess/WebProcess.h:
2081
2082 2010-08-05  Anders Carlsson  <andersca@apple.com>
2083
2084         Reviewed by Sam Weinig.
2085
2086         Use the visited link provider for visited links
2087         https://bugs.webkit.org/show_bug.cgi?id=43583
2088
2089         * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
2090         (WebProcessMessage::):
2091         Remove AddVisitedLink.
2092
2093         * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
2094         (WebProcessProxyMessage::):
2095         Remove PopulateVisitedLinks and add AddVisitedLink.
2096
2097         * UIProcess/WebContext.cpp:
2098         (WebKit::WebContext::sharedProcessContext):
2099         Initialize the main run loop before creating the context.
2100         
2101         (WebKit::WebContext::sharedThreadContext):
2102         Ditto.
2103         
2104         (WebKit::WebContext::create):
2105         Ditto.
2106
2107         (WebKit::WebContext::WebContext):
2108         Initialize the visited link provider.
2109
2110         (WebKit::WebContext::processDidFinishLaunching):
2111         Ask the visited link provider to populate visited links.
2112
2113         (WebKit::WebContext::addVisitedLink):
2114         Ask the visited link provider to add the visited link.
2115
2116         * UIProcess/WebProcessProxy.cpp:
2117         (WebKit::WebProcessProxy::addVisitedLink):
2118         Call WebContext::addVisitedLink.
2119
2120         (WebKit::WebProcessProxy::didReceiveMessage):
2121         Handle AddVisitedLink.
2122
2123         (WebKit::WebProcessProxy::didFinishLaunching):
2124         Call WebContext::processdidFinishLaunching.
2125
2126         * UIProcess/WebProcessProxy.h:
2127         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2128         (WebKit::WebChromeClient::populateVisitedLinks):
2129         Don't send the WebProcessProxyMessage::PopulateVisitedLinks message.
2130
2131         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2132         (WebKit::WebPlatformStrategies::isLinkVisited):
2133         Call WebProcess::isLinkVisited.
2134         
2135         (WebKit::WebPlatformStrategies::addVisitedLink):
2136         Call WebProcess::addVisitedLink.
2137
2138         * WebProcess/WebProcess.cpp:
2139         (WebKit::WebProcess::setVisitedLinkTable):
2140         Create a shared memory object and tell the visited link table about it.
2141
2142         (WebKit::WebProcess::visitedLinkStateChanged):
2143         Go through the link hashes and call Page::visitedStateChanged.
2144
2145         (WebKit::WebProcess::allVisitedLinkStateChanged):
2146         Call Page::allVisitedStateChanged.
2147
2148         (WebKit::WebProcess::isLinkVisited):
2149         Call VisitedLinkTable::isLinkVisited.
2150
2151         (WebKit::WebProcess::addVisitedLink):
2152         Inform the UI process about the added link.
2153
2154         (WebKit::WebProcess::didReceiveMessage):
2155         Handle new messages.
2156
2157 2010-08-05  Steve Falkenburg  <sfalken@apple.com>
2158
2159         Windows build fix.
2160         Add missing include path.
2161
2162         * win/WebKit2Common.vsprops:
2163
2164 2010-08-05  Brady Eidson  <beidson@apple.com>
2165
2166         Rubberstamped by Sam Weinig.
2167
2168         Export WKError.h
2169
2170         * WebKit2.xcodeproj/project.pbxproj:
2171
2172 2010-08-05  Steve Falkenburg  <sfalken@apple.com>
2173
2174         Windows build fix.
2175         Correct vcproj nesting.
2176
2177         * win/WebKit2.vcproj:
2178
2179 2010-08-05  Sam Weinig  <sam@webkit.org>
2180
2181         Reviewed by Gavin Barraclough.
2182
2183         Add script world API for injected bundles
2184         https://bugs.webkit.org/show_bug.cgi?id=43577
2185
2186         * Shared/APIObject.h:
2187         (WebKit::APIObject::):
2188         * WebKit2.xcodeproj/project.pbxproj:
2189         * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
2190         (WebKit::):
2191         * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
2192         * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp: Added.
2193         (WKBundleScriptWorldGetTypeID):
2194         (WKBundleScriptWorldCreateWorld):
2195         (WKBundleScriptWorldNormalWorld):
2196         (WKBundleScriptWorldRetain):
2197         (WKBundleScriptWorldRelease):
2198         * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h: Added.
2199         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
2200         * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp: Added.
2201         (WebKit::allWorlds):
2202         (WebKit::InjectedBundleScriptWorld::create):
2203         (WebKit::InjectedBundleScriptWorld::getOrCreate):
2204         (WebKit::InjectedBundleScriptWorld::normalWorld):
2205         (WebKit::InjectedBundleScriptWorld::InjectedBundleScriptWorld):
2206         (WebKit::InjectedBundleScriptWorld::~InjectedBundleScriptWorld):
2207         * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h: Added.
2208         (WebKit::InjectedBundleScriptWorld::type):
2209         * win/WebKit2.vcproj:
2210         * win/WebKit2Generated.make:
2211
2212 2010-08-05  Sam Weinig  <sam@webkit.org>
2213
2214         Reviewed Anders Carlsson.
2215
2216         Add DOM Node wrapper class for injected bundle
2217         https://bugs.webkit.org/show_bug.cgi?id=43524
2218
2219         - This class should not expose any DOM APIs, but just be a handle that can be used to get a JS
2220           wrapper for the node in a specific world.
2221
2222         * Shared/APIObject.h:
2223         (WebKit::APIObject::):
2224         * WebKit2.xcodeproj/project.pbxproj:
2225         * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
2226         (WebKit::):
2227         * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
2228         * WebProcess/InjectedBundle/API/c/WKBundleNode.h:
2229         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: Added.
2230         (WKBundleNodeHandleGetTypeID):
2231         (WKBundleNodeHandleRetain):
2232         (WKBundleNodeHandleRelease):
2233         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h: Added.
2234         * WebProcess/InjectedBundle/DOM: Added.
2235         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: Added.
2236         (WebKit::domHandleCache):
2237         (WebKit::getDOMHandle):
2238         (WebKit::setDOMHandle):
2239         (WebKit::removeDOMHandle):
2240         (WebKit::InjectedBundleNodeHandle::getOrCreate):
2241         (WebKit::InjectedBundleNodeHandle::create):
2242         (WebKit::InjectedBundleNodeHandle::InjectedBundleNodeHandle):
2243         (WebKit::InjectedBundleNodeHandle::~InjectedBundleNodeHandle):
2244         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: Added.
2245         (WebKit::InjectedBundleNodeHandle::type):
2246         * win/WebKit2.vcproj:
2247         * win/WebKit2Generated.make:
2248
2249 2010-08-05  Anders Carlsson  <andersca@apple.com>
2250
2251         Build fix.
2252
2253         * Platform/mac/SharedMemoryMac.cpp:
2254
2255 2010-08-05  Anders Carlsson  <andersca@apple.com>
2256
2257         Reviewed by Sam Weinig.
2258
2259         Add VisitedLinkProvider class
2260         https://bugs.webkit.org/show_bug.cgi?id=43570
2261
2262         * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
2263         (WebProcessMessage::):
2264         Add SetVisitedLinkTable, VisitedLinkStateChanged and AllVisitedLinkStateChanged.
2265
2266         * UIProcess/VisitedLinkProvider.cpp: Added.
2267         (WebKit::VisitedLinkProvider::VisitedLinkProvider):
2268         Initialize table.
2269
2270         (WebKit::VisitedLinkProvider::populateVisitedLinksIfNeeded):
2271         Ask the context to populate visited links.
2272
2273         (WebKit::VisitedLinkProvider::addVisitedLink):
2274         Add the link hash to the set of pending visited links and start the timer.
2275
2276         (WebKit::nextPowerOf2):
2277         Add helper function.
2278
2279         (WebKit::tableSizeForKeyCount):
2280         Given a key count, returns a table size. The table size is always a power of two, and
2281         is chosen so that the table is always at least half empty.
2282
2283         (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
2284         First, check if we need to resize the hash table and allocate new shared memory for it if that is the case.
2285         Then, go through the pending link hash vector and insert all the elements in the table. Finally, notify the web
2286         process about visited links whose state have changed.
2287
2288         * WebProcess/WebProcess.cpp:
2289         (WebKit::WebProcess::didReceiveMessage):
2290         Add case statements.
2291
2292         * win/WebKit2.vcproj:
2293         * WebKit2.xcodeproj/project.pbxproj:
2294         Add VisitedLinkProvider.cpp and VisitedLinkProvider.h.
2295
2296 2010-08-05  Anders Carlsson  <andersca@apple.com>
2297
2298         Reviewed by Sam Weinig.
2299
2300         Add VisitedLinkTable class
2301         https://bugs.webkit.org/show_bug.cgi?id=43566
2302
2303         * Shared/VisitedLinkTable.cpp: Added.
2304         (WebKit::VisitedLinkTable::VisitedLinkTable):
2305         (WebKit::VisitedLinkTable::~VisitedLinkTable):
2306         Add out of line constructors so we won't have to include SharedMemory.h in the 
2307         VisitedLinkTable.h header.
2308
2309         (WebKit::isPowerOf2):
2310         Add helper function.
2311
2312         (WebKit::VisitedLinkTable::setSharedMemory):
2313         Set the new shared memory and update the table size and hash.
2314
2315         (WebKit::doubleHash):
2316         Add helper function from the WTF HashTable.
2317
2318         (WebKit::VisitedLinkTable::addLinkHash):
2319         Add a link hash to the table.
2320
2321         (WebKit::VisitedLinkTable::isLinkVisited):
2322         See if there is an entry for the given link hash.
2323
2324         * Shared/VisitedLinkTable.h: Added.
2325         (WebKit::VisitedLinkTable::sharedMemory):
2326         * WebKit2.xcodeproj/project.pbxproj:
2327         * win/WebKit2.vcproj:
2328         Add VisitedLinkTable.cpp and VisitedLinkTable.h
2329
2330 2010-08-04  Anders Carlsson  <andersca@apple.com>
2331
2332         Reviewed by Adam Roben.
2333
2334         Add shared memory abstraction
2335         https://bugs.webkit.org/show_bug.cgi?id=43535
2336         <rdar://problem/8275295>
2337
2338         * Platform/SharedMemory.h: Added.
2339         (WebKit::SharedMemory::):
2340         (WebKit::SharedMemory::size):
2341         Return the size, in bytes, of the shared memory object.
2342         
2343         (WebKit::SharedMemory::data):
2344         Return a pointer to the shared memory object.
2345         
2346         * Platform/mac/SharedMemoryMac.cpp: Added.
2347         (WebKit::SharedMemory::Handle):
2348         A shared memory handle, which can be passed in a CoreIPC Connection.
2349
2350         (WebKit::SharedMemory::create):
2351         Allocate the shared memory.
2352
2353         (WebKit::SharedMemory::~SharedMemory):
2354         Deallocate the shared memory.
2355
2356         (WebKit::SharedMemory::createHandle):
2357         Create a mach port and pass it to the handle.
2358
2359         (WebKit::SharedMemory::systemPageSize):
2360         Return the system page size, in bytes.
2361         
2362         * Platform/win/SharedMemoryWin.cpp: Added.
2363         Add stubbed out version.
2364
2365         * WebKit2.xcodeproj/project.pbxproj:
2366         * win/WebKit2.vcproj:
2367         Add files.
2368
2369 2010-08-05  Jian Li  <jianli@chromium.org>
2370
2371         Reviewed by David Levin.
2372
2373         Unify blob related feature defines to ENABLE(BLOB).
2374         https://bugs.webkit.org/show_bug.cgi?id=43081
2375
2376         * Configurations/FeatureDefines.xcconfig:
2377
2378 2010-08-05  Balazs Kelemen  <kb@inf.u-szeged.hu>
2379
2380         Rubber-stamped by Kenneth Rohde Christiansen.
2381
2382         [Qt] Remove redundant include paths from WebKit2.pro.
2383
2384         * WebKit2.pro:
2385
2386 2010-08-04  Adam Roben  <aroben@apple.com>
2387
2388         Teach WebKit2 how to load the TestNetscapePlugin
2389
2390         Fixes <http://webkit.org/b/43513> WebKitTestRunner on Windows fails to
2391         load TestNetscapePlugin
2392
2393         Reviewed by Jon Honeycutt.
2394
2395         * Platform/Module.cpp:
2396         (WebKit::Module::Module): Initialize m_module on Windows.
2397
2398         * Platform/Module.h: Added m_module on Windows.
2399
2400         * Platform/win/ModuleWin.cpp:
2401         (WebKit::Module::load): Implemented using ::LoadLibraryExW.
2402         (WebKit::Module::unload): Implemented using ::FreeLibrary.
2403         (WebKit::Module::platformFunctionPointer): Implemented using
2404         ::GetProcAddress.
2405
2406         * Platform/win/RunLoopWin.cpp:
2407         (RunLoop::TimerBase::timerFired): Kill the native timer before calling
2408         the fired callback. This makes all our timers non-repeating, but
2409         that's all we need currently.
2410         (RunLoop::TimerBase::start): Added an assertion to help us figure out
2411         when we need to implement repeating timers. Also fixed a typo.
2412
2413         * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
2414         (WebKit::PluginInfoStore::pluginsDirectories): Added a FIXME.
2415
2416         (WebKit::PathWalker::PathWalker):
2417         (WebKit::PathWalker::~PathWalker):
2418         (WebKit::PathWalker::isValid):
2419         (WebKit::PathWalker::data):
2420         (WebKit::PathWalker::step):
2421         Added. This class wraps the ::FindFirstFile/::FindNextFile APIs.
2422
2423         (WebKit::PluginInfoStore::pluginPathsInDirectory): Implemented by
2424         porting logic from
2425         WebCore::PluginDatabase::getPluginPathsInDirectories.
2426         (WebKit::getVersionInfo): Copied from PluginDatabaseWin.cpp.
2427         (WebKit::PluginInfoStore::getPluginInfo): Implemented by porting logic
2428         from WebCore::PluginPackage::fetchInfo.
2429         (WebKit::PluginInfoStore::shouldUsePlugin): Changed to always return
2430         true for now. Added a FIXME about implementing this for real.
2431
2432         * UIProcess/WebProcessProxy.cpp:
2433         (WebKit::WebProcessProxy::didReceiveSyncMessage):
2434         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2435         (WebKit::WebFrameLoaderClient::createPlugin):
2436         Removed PLATFORM(MAC) guards around plugin code.
2437
2438         * win/WebKit2.vcproj: Let VS sort the file.
2439
2440 2010-08-05  Antti Koivisto  <koivisto@iki.fi>
2441
2442         Reviewed by Kenneth Rohde Christiansen.
2443
2444         Use toCopiedRef for making WK objects
2445         https://bugs.webkit.org/show_bug.cgi?id=43552
2446
2447         * UIProcess/API/cpp/qt/WKStringQt.cpp:
2448         (WKStringCreateWithQString):
2449         * UIProcess/API/cpp/qt/WKURLQt.cpp:
2450         (WKURLCreateWithQUrl):
2451
2452 2010-08-04  Brady Eidson  <beidson@apple.com>
2453
2454         Reviewed by Sam Weinig.
2455
2456         Change callback APIs to include an Error object in one callback, instead of having a second callback for failure.
2457         https://bugs.webkit.org/show_bug.cgi?id=43522
2458
2459         This includes adding a WKErrorRef object which - for now - either exists or doesn't.
2460         In the future, it may contain useful information about the error.
2461         
2462         * WebKit2.xcodeproj/project.pbxproj:
2463         * win/WebKit2.vcproj:
2464         * win/WebKit2Generated.make:
2465         
2466         * Shared/APIObject.h:
2467         (WebKit::APIObject::):
2468         * UIProcess/API/C/WKAPICast.h:
2469         * UIProcess/API/C/WKBase.h:
2470         
2471         * Shared/WebError.h: Added.
2472         (WebKit::WebError::create):
2473         (WebKit::WebError::WebError):
2474         (WebKit::WebError::type):
2475         
2476         * UIProcess/API/C/WKError.cpp: Added.
2477         (WKErrorGetTypeID):
2478         * UIProcess/API/C/WKError.h: Added.
2479         
2480         * UIProcess/API/C/WKPage.cpp:
2481         (WKPageRunJavaScriptInMainFrame):
2482         (callRunJavaScriptBlockAndRelease):
2483         (WKPageRunJavaScriptInMainFrame_b):
2484         (WKPageRenderTreeExternalRepresentation):
2485         (callRenderTreeExternalRepresentationBlockAndDispose):
2486         (WKPageRenderTreeExternalRepresentation_b):
2487         * UIProcess/API/C/WKPage.h:
2488         * UIProcess/API/C/WKPagePrivate.h:
2489         
2490         * UIProcess/GenericCallback.h:
2491         (WebKit::GenericCallback::create):
2492         (WebKit::GenericCallback::performCallbackWithReturnValue):
2493         (WebKit::GenericCallback::invalidate):
2494         (WebKit::GenericCallback::GenericCallback):
2495
2496 2010-08-04  Ada Chan  <adachan@apple.com>
2497
2498         Windows build fix        
2499
2500         * win/WebKit2Generated.make:
2501
2502 2010-08-04  John Sullivan  <sullivan@apple.com>
2503
2504         Build fix, rubber-stamped by Brady Eidson.
2505
2506         * WebKit2.xcodeproj/project.pbxproj:
2507         Made WKData.h a public header.
2508
2509 2010-08-04  Adam Roben  <aroben@apple.com>
2510
2511         Windows build fix
2512
2513         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2514         (WebKit::NPN_SetValue): Removed unreachable code.
2515
2516 2010-08-04  Adam Roben  <aroben@apple.com>
2517
2518         Windows build fix
2519
2520         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2521         (WebKit::NPN_SetValue): Added some case statements that are compiled
2522         on Windows to avoid a warning about having default but not cases.
2523
2524 2010-08-04  Adam Roben  <aroben@apple.com>
2525
2526         Windows build fix
2527
2528         * win/WebKit2.vcproj: Added NetscapeBrowserFuncs.
2529
2530 2010-08-04  Adam Roben  <aroben@apple.com>
2531
2532         Windows build fix
2533
2534         The functions in NetscapePluginModuleWin.cpp have been moved to
2535         NetscapePluginModule.cpp.
2536
2537         * WebProcess/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Removed.
2538         * win/WebKit2.vcproj: Removed NetscapePluginModuleWin.
2539
2540 2010-08-04  Adam Roben  <aroben@apple.com>
2541
2542         Move bundle-loading code from NetscapePluginModule to a new Module
2543         class
2544
2545         This allows more NetscapePluginModule code to be cross-platform.
2546
2547         Fixes <http://webkit.org/b/43497> NetscapePluginModule::try/unload
2548         should be cross-platform
2549
2550         Reviewed by Anders Carlsson.
2551
2552         * Platform/Module.cpp: Added.
2553         (WebKit::Module::Module): Store our path.
2554         (WebKit::Module::~Module): Unload our native module.
2555
2556         * Platform/Module.h: Added.
2557         (WebKit::Module::leakBundle): Does what it says.
2558         (WebKit::Module::functionPointer): Returns a pointer to the named
2559         function, with the right type.
2560
2561         * Platform/mac/ModuleMac.mm: Added.
2562         (WebKit::Module::load): Code was moved here from
2563         NetscapePluginModule::tryLoad.
2564         (WebKit::Module::unload): Just clears our bundle.
2565         (WebKit::Module::platformFunctionPointer): Code was moved here from
2566         NetscapePluginModuleMac.cpp.
2567
2568         * Platform/qt/ModuleQt.cpp: Added.
2569         (WebKit::Module::load):
2570         (WebKit::Module::unload):
2571         (WebKit::Module::platformFunctionPointer):
2572         * Platform/win/ModuleWin.cpp: Added.
2573         (WebKit::Module::load):
2574         (WebKit::Module::unload):
2575         (WebKit::Module::platformFunctionPointer):
2576         Just stubbed out these functions.
2577
2578         * WebKit2.xcodeproj/project.pbxproj: Added Module.
2579
2580         * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
2581         (WebKit::NetscapePluginModule::tryLoad):
2582         (WebKit::NetscapePluginModule::unload):
2583         Moved here from NetscapePluginModuleMac.cpp. Now uses the
2584         cross-platform m_module member.
2585
2586         * WebProcess/Plugins/Netscape/NetscapePluginModule.h: Replaced
2587         m_bundle with m_module.
2588
2589         * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp: Removed.
2590
2591         * win/WebKit2.vcproj: Added Module.
2592
2593 2010-08-04  Brady Eidson  <beidson@apple.com>
2594
2595         Reviewed by Sam Weinig.
2596
2597         Lay the groundwork for saving/restoring page session state to WK2
2598         https://bugs.webkit.org/show_bug.cgi?id=43495
2599
2600         * WebKit2.xcodeproj/project.pbxproj:
2601         * win/WebKit2.vcproj:
2602
2603         * Shared/APIObject.h:
2604         (WebKit::APIObject::):
2605         * UIProcess/API/C/WKAPICast.h:
2606         * UIProcess/API/C/WKBase.h:
2607         
2608         Arbitrary byte buffer:
2609         * Shared/WebData.h: Added.
2610         (WebKit::WebData::create):
2611         (WebKit::WebData::bytes):
2612         (WebKit::WebData::size):
2613         (WebKit::WebData::WebData):
2614         (WebKit::WebData::type):
2615         
2616         API facing object to act as a byte buffer:
2617         * UIProcess/API/C/WKData.cpp: Added.
2618         (WKDataGetTypeID):
2619         (WKDataCreate):
2620         (WKDataGetBytes):
2621         (WKDataGetSize):
2622         (WKDataRetain):
2623         (WKDataRelease):
2624         * UIProcess/API/C/WKData.h: Added.
2625
2626         API for saving/restoring state:
2627         * UIProcess/API/C/WKPage.cpp:
2628         (WKPageCopySessionState):
2629         (WKPageRestoreFromSessionState):
2630         * UIProcess/API/C/WKPage.h:
2631
2632         These will be filled in later:
2633         * UIProcess/WebPageProxy.cpp:
2634         (WebKit::WebPageProxy::sessionState):
2635         (WebKit::WebPageProxy::restoreFromSessionState):
2636         * UIProcess/WebPageProxy.h:
2637
2638
2639 2010-08-04  Sam Weinig  <sam@webkit.org>
2640
2641         Reviewed by Anders Carlsson.
2642
2643         Set correct default minimumFontSize.
2644
2645         * Shared/WebPreferencesStore.cpp:
2646         (WebKit::WebPreferencesStore::WebPreferencesStore):
2647
2648 2010-08-03  Adam Roben  <aroben@apple.com>
2649
2650         Turn on PLATFORM_STRATEGIES on Windows
2651
2652         Fixes <http://webkit.org/b/43431>.
2653
2654         Reviewed by Anders Carlsson.
2655
2656         * win/WebKit2.vcproj: Added WebPlatformStrategies. Also let VS reorder
2657         this file as it saw fit.
2658
2659 2010-08-03  Balazs Kelemen  <kb@inf.u-szeged.hu>
2660
2661         Reviewed by Kenneth Rohde Christiansen.
2662
2663         [Qt] Close the WebProcess
2664
2665         https://bugs.webkit.org/show_bug.cgi?id=41690
2666
2667         * Platform/CoreIPC/qt/ConnectionQt.cpp:
2668         (CoreIPC::Connection::open): Registered connectionDidClose to be called when the client disconnected.
2669         * Platform/qt/RunLoopQt.cpp:
2670         (RunLoop::stop): Implemented by calling QCoreApplication::exit.
2671
2672 2010-08-03  Jon Honeycutt  <jhoneycutt@apple.com>
2673
2674         WebKitTestRunner needs to activate the Mac font ascent hack
2675         https://bugs.webkit.org/show_bug.cgi?id=43404
2676
2677         Reviewed by Darin Adler.
2678
2679         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
2680         (WKBundleActivateMacFontAscentHack):
2681         Get the InjectedBundle, and calls its activateMacFontAscentHack().
2682
2683         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
2684         Declare WKBundleActivateMacFontAscentHack().
2685
2686         * WebProcess/InjectedBundle/InjectedBundle.h:
2687         Declare activateMacFontAscentHack().
2688
2689         * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
2690         (WebKit::InjectedBundle::activateMacFontAscentHack):
2691         Stubbed.
2692
2693         * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
2694         (WebKit::InjectedBundle::activateMacFontAscentHack):
2695         Stubbed.
2696
2697         * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
2698         (WebKit::InjectedBundle::activateMacFontAscentHack):
2699         Activate the ascent hack.
2700
2701 2010-08-03  Simon Fraser  <simon.fraser@apple.com>
2702
2703         Fix typo in typo fix.
2704
2705         * Shared/DrawingAreaBase.h:
2706         (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo):
2707         (WebKit::DrawingAreaBase::DrawingAreaBase):
2708
2709 2010-08-03  Simon Fraser  <simon.fraser@apple.com>
2710
2711         Fix typo in previous commit.
2712
2713         * Shared/DrawingAreaBase.h:
2714         (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo):
2715         (WebKit::DrawingAreaBase::DrawingAreaBase):
2716
2717 2010-08-03  Simon Fraser  <simon.fraser@apple.com>
2718
2719         Reviewed by Anders Carlsson.
2720
2721         Compositing iframe layout test crashes in WebKit2
2722         https://bugs.webkit.org/show_bug.cgi?id=42860
2723         
2724         Fix assertion caused by a DrawingArea handling a message that was targetted at an older DrawingArea
2725         that it has replaced.
2726         
2727         This was done by assigning a unique ID to each DrawingAreaProxy that gets created, and passing
2728         this ID, along with the type, to the WebProcess via an encoded DrawingAreaInfo. Each message
2729         also includes this ID. Messages with an ID that doesn't match that of the current DrawingArea are ignored.
2730         
2731         Refactored some common code and data into a DrawingAreaBase class which is shared, and adding
2732         encode/decode of DrawingAreaInfo.
2733
2734         * Shared/DrawingAreaBase.cpp: Added.
2735         (WebKit::DrawingAreaBase::encode):
2736         (WebKit::DrawingAreaBase::decode):
2737         * Shared/DrawingAreaBase.h: Added.
2738         (WebKit::DrawingAreaBase::):
2739         (WebKit::DrawingAreaBase::~DrawingAreaBase):
2740         (WebKit::DrawingAreaBase::type):
2741         (WebKit::DrawingAreaBase::id):
2742         (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo):
2743         (WebKit::DrawingAreaBase::DrawingAreaBase):
2744         (CoreIPC::):
2745         * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
2746         (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
2747         (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
2748         (WebKit::ChunkedUpdateDrawingAreaProxy::update):
2749         * UIProcess/DrawingAreaProxy.cpp:
2750         (WebKit::DrawingAreaProxy::DrawingAreaProxy):
2751         (WebKit::DrawingAreaProxy::nextDrawingAreaID):
2752         * UIProcess/DrawingAreaProxy.h:
2753         * UIProcess/LayerBackedDrawingAreaProxy.cpp:
2754         (WebKit::LayerBackedDrawingAreaProxy::setSize):
2755         (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible):
2756         (WebKit::LayerBackedDrawingAreaProxy::update):
2757         * UIProcess/LayerBackedDrawingAreaProxy.h:
2758         * UIProcess/WebPageProxy.cpp:
2759         (WebKit::WebPageProxy::didReceiveSyncMessage):
2760         * WebKit2.xcodeproj/project.pbxproj:
2761         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2762         (WebKit::WebChromeClient::createWindow):
2763         * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
2764         (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
2765         (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
2766         * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
2767         * WebProcess/WebPage/DrawingArea.cpp:
2768         (WebKit::DrawingArea::create):
2769         (WebKit::DrawingArea::DrawingArea):
2770         * WebProcess/WebPage/DrawingArea.h:
2771         * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
2772         (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
2773         (WebKit::LayerBackedDrawingArea::didReceiveMessage):
2774         * WebProcess/WebPage/LayerBackedDrawingArea.h:
2775         * WebProcess/WebPage/WebPage.cpp:
2776         (WebKit::WebPage::create):
2777         (WebKit::WebPage::WebPage):
2778         (WebKit::WebPage::changeAcceleratedCompositingMode):
2779         * WebProcess/WebPage/WebPage.h:
2780         * WebProcess/WebProcess.cpp:
2781         (WebKit::WebProcess::createWebPage):
2782         (WebKit::WebProcess::didReceiveMessage):
2783         * WebProcess/WebProcess.h:
2784         * win/WebKit2.vcproj:
2785
2786 2010-08-03  Alex Milowski  <alex@milowski.com>
2787
2788         Reviewed by Beth Dakin.
2789
2790         Changed the ENABLE_MATHML value to enable MathML by default.
2791
2792         * Configurations/FeatureDefines.xcconfig:
2793
2794 2010-08-03  Simon Fraser  <simon.fraser@apple.com>
2795
2796         Reviewed by Sam Weinig.
2797
2798         Compositing iframe layout test crashes in WebKit2
2799         https://bugs.webkit.org/show_bug.cgi?id=42860
2800         
2801         Part one of the fix: make DrawingArea ref-counted, so that the object
2802         can survide a swap in drawing areas inside the run loop observer callback.
2803
2804         * WebProcess/WebPage/DrawingArea.cpp:
2805         (WebKit::DrawingArea::create):
2806         * WebProcess/WebPage/DrawingArea.h:
2807         * WebProcess/WebPage/WebPage.h:
2808         * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
2809         (WebKit::LayerBackedDrawingArea::platformClear):
2810         (WebKit::LayerBackedDrawingArea::updateLayoutRunLoopObserverCallback):
2811         (WebKit::LayerBackedDrawingArea::updateLayoutRunLoopObserverFired):
2812
2813 2010-08-03  Anders Carlsson  <andersca@apple.com>
2814
2815         Reviewed by Adam Roben.
2816
2817         Frequent ASSERT_NOT_REACHED in Connection::processIncomingMessage when running regression tests
2818         https://bugs.webkit.org/show_bug.cgi?id=42926
2819         <rdar://problem/8237329>
2820
2821         Remove this assert, it's bogus. It would fire when a reply came in on the connection queue before 
2822         waitForReply was called on the client thread, but that case is already covered.
2823
2824         * Platform/CoreIPC/Connection.cpp:
2825         (CoreIPC::Connection::processIncomingMessage):
2826
2827 2010-08-03  Adam Roben  <aroben@apple.com>
2828
2829         Compile out two Mac-only localized strings on non-Mac platforms
2830
2831         Fixes <http://webkit.org/b/43433> copyImageUnknownFileLabel and
2832         AXARIAContentGroupText should only be compiled on Mac
2833
2834         Reviewed by Anders Carlsson.
2835
2836         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2837         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
2838         Wrapped copyImageUnknownFileLabel and AXARIAContentGroupText in
2839         PLATFORM(MAC).
2840
2841 2010-08-03  Balazs Kelemen  <kb@inf.u-szeged.hu>
2842
2843         [Qt] Unreviewed typo fix in the WebKit2/DerivedSources.pro project file.
2844
2845         Use QMAKE_MKDIR as the command for directory creation.
2846
2847         * DerivedSources.pro:
2848
2849 2010-08-02  Brady Eidson  <beidson@apple.com>
2850
2851         Reviewed by Anders Carlsson.
2852
2853         Add VisitedLinkStrategy for each platform to implement
2854         https://bugs.webkit.org/show_bug.cgi?id=43393
2855
2856         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2857         (WebKit::WebPlatformStrategies::createVisitedLinkStrategy):
2858         (WebKit::WebPlatformStrategies::isLinkVisited): Call back into PageGroup's visited links, for now.
2859         (WebKit::WebPlatformStrategies::addVisitedLink): Ditto.
2860         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
2861
2862 2010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
2863
2864         Reviewed by Darin Fisher.
2865
2866         PopupMenu refactoring in preparation to WebKit2
2867         https://bugs.webkit.org/show_bug.cgi?id=42592
2868
2869         Classes WebPopupMenu and WebSearchPopupMenu inherit from PopupMenu and
2870         SearchPopupMenu respectively. At this point they are just empty implementations.
2871
2872         * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Added.
2873         (WebKit::WebPopupMenu::WebPopupMenu):
2874         (WebKit::WebPopupMenu::~WebPopupMenu):
2875         (WebKit::WebPopupMenu::disconnectClient):
2876         (WebKit::WebPopupMenu::show):
2877         (WebKit::WebPopupMenu::hide):
2878         (WebKit::WebPopupMenu::updateFromElement):
2879         * WebProcess/WebCoreSupport/WebPopupMenu.h: Added.
2880         * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Added.
2881         (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
2882         (WebKit::WebSearchPopupMenu::popupMenu):
2883         (WebKit::WebSearchPopupMenu::saveRecentSearches):
2884         (WebKit::WebSearchPopupMenu::loadRecentSearches):
2885         (WebKit::WebSearchPopupMenu::enabled):
2886         * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Added.
2887
2888         As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
2889         instances, concrete classes that inherit from ChromeClient needed to be changed to
2890         implement the new methods.
2891
2892         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2893         (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
2894         (WebKit::WebChromeClient::createPopupMenu):
2895         (WebKit::WebChromeClient::createSearchPopupMenu):
2896         * WebProcess/WebCoreSupport/WebChromeClient.h:
2897
2898         build issues:
2899
2900         * WebKit2.xcodeproj/project.pbxproj:
2901         * win/WebKit2.vcproj:
2902
2903 2010-08-02  Anders Carlsson  <andersca@apple.com>
2904
2905         Reviewed by Sam Weinig.
2906
2907         Fix plug-in test failures and remove tests from the Skipped list
2908         https://bugs.webkit.org/show_bug.cgi?id=43389
2909
2910         * WebProcess/Plugins/JSNPMethod.cpp:
2911         JSNPMethod::s_info should specify InternalFunction::info as its parent.
2912
2913         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2914         (WebKit::NetscapePlugin::cancelStreamLoad):
2915         Special-case the manual stream and call PluginController::cancelManualStreamLoad.
2916
2917         * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
2918         (WebKit::NetscapePluginStream::stop):
2919         It's OK to call stop on a stream that hasn't been started. Remove assertion and return early.
2920         
2921         * WebProcess/Plugins/PluginController.h:
2922         Add cancelManualStreamLoad.
2923
2924         * WebProcess/Plugins/PluginView.cpp:
2925         (WebKit::PluginView::cancelManualStreamLoad):
2926         Tell the document loader to cancel the main resource load.
2927
2928         * WebProcess/WebPage/WebFrame.cpp:
2929         (WebKit::WebFrame::innerText):
2930         Check for a null document element.
2931
2932 2010-08-02  Anders Carlsson  <andersca@apple.com>
2933
2934         Reviewed by Sam Weinig.
2935
2936         Add support for loading manual streams
2937         https://bugs.webkit.org/show_bug.cgi?id=43380
2938
2939         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2940         (WebKit::NetscapePlugin::NetscapePlugin):
2941         Initialize m_loadManually to false.
2942
2943         (WebKit::NetscapePlugin::removePluginStream):
2944         Special case the manual stream.
2945
2946         (WebKit::NetscapePlugin::initialize):
2947         Don't request the stream if we're already loading.
2948
2949         (WebKit::NetscapePlugin::manualStreamDidReceiveResponse):
2950         Create the manual stream and pass the response to it.
2951
2952         (WebKit::NetscapePlugin::manualStreamDidReceiveData):
2953         Pass the data to the manual stream.
2954
2955         (WebKit::NetscapePlugin::manualStreamDidFinishLoading):
2956         Call the manual stream.
2957
2958         (WebKit::NetscapePlugin::manualStreamDidFail):
2959         Ditto.
2960
2961         * WebProcess/Plugins/Plugin.h:
2962         Add pure virtual member functions for manual stream loading.
2963
2964         * WebProcess/Plugins/PluginView.cpp:
2965         (WebKit::buildHTTPHeaders):
2966         Put code in a function so both PluginView::Stream::didReceiveResponse and 
2967         manualLoadDidReceiveResponse can call it.
2968
2969         (WebKit::PluginView::Stream::didReceiveResponse):
2970         Call buildHTTPHeaders.
2971
2972         (WebKit::PluginView::Stream::didFinishLoading):
2973         Protect the plug-in when calling destroyStream.
2974
2975         (WebKit::PluginView::manualLoadDidReceiveResponse):
2976         Call Plugin::manualStreamDidReceiveResponse.
2977
2978         (WebKit::PluginView::manualLoadDidReceiveData):
2979         Call Plugin::manualStreamDidReceiveData.
2980
2981         (WebKit::PluginView::manualLoadDidFinishLoading):
2982         Call Plugin::manualStreamDidFinishLoading.
2983
2984         (WebKit::PluginView::manualLoadDidFail):
2985         Call Plugin::manualStreamDidFail.
2986
2987         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2988         (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
2989         Initialize m_hasSentResponseToPluginView to false.
2990
2991         (WebKit::WebFrameLoaderClient::setMainDocumentError):
2992         Call PluginView::manualLoadDidFail.
2993
2994         (WebKit::WebFrameLoaderClient::committedLoad):
2995         Call PluginView::manualLoadDidReceiveResponse.
2996
2997         (WebKit::WebFrameLoaderClient::finishedLoading):
2998         Call PluginView::manualLoadDidFinishLoading.
2999
3000         (WebKit::WebFrameLoaderClient::redirectDataToPlugin):
3001         Keep track of the plug-in view.
3002
3003 2010-08-02  Brady Eidson  <beidson@apple.com>
3004
3005         Reviewed by Anders Carlsson.
3006
3007         Basic WK2 visited link coloring
3008         https://bugs.webkit.org/show_bug.cgi?id=43377
3009
3010         Add simple API that allows the WK2 app to add 1 visited link at a time.
3011         For now, this just pipes each individual LinkHash down to WebCore.
3012         
3013         * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
3014         (WebProcessMessage::):
3015
3016         * UIProcess/API/C/WKContext.cpp:
3017         (WKContextAddVisitedLink):
3018         * UIProcess/API/C/WKContext.h:
3019
3020         * UIProcess/WebContext.cpp:
3021         (WebKit::WebContext::addVisitedLink):
3022         * UIProcess/WebContext.h:
3023
3024         * WebProcess/WebProcess.cpp:
3025         (WebKit::WebProcess::addVisitedLinkHash):
3026         (WebKit::WebProcess::didReceiveMessage):
3027         * WebProcess/WebProcess.h:
3028
3029 2010-08-02  Darin Adler  <darin@apple.com>
3030
3031         Reviewed by Sam Weinig.
3032
3033         WebKitTestRunner needs layoutTestController.setCanOpenWindows
3034         https://bugs.webkit.org/show_bug.cgi?id=42321
3035
3036         WebKitTestRunner needs layoutTestController.setCloseRemainingWindowsWhenComplete
3037         https://bugs.webkit.org/show_bug.cgi?id=42779
3038
3039         Implemented window.close, added a function that does a similar operation on behalf
3040         of injected bundle code named WKBundlePageClose, and fixed the reference counting of
3041         the result of the createNewPage client function.
3042
3043         * UIProcess/API/cpp/WKRetainPtr.h: Added clear. Tweaked formatting. Renamed
3044         releaseRef to leakRef.
3045
3046         * UIProcess/API/mac/WKView.mm:
3047         (-[WKView _updateVisibility]): Handle the case where drawing area is 0. This
3048         came up in WebKitTestRunner and other functions handle drawing area of 0.
3049
3050         * UIProcess/WebPageProxy.cpp:
3051         (WebKit::WebPageProxy::didReceiveSyncMessage): Update now that createNewPage
3052         returns a PassRefPtr.
3053         (WebKit::WebPageProxy::createNewPage): Changed to return a PassRefPtr.
3054         * UIProcess/WebPageProxy.h: Ditto.
3055
3056         * UIProcess/WebUIClient.cpp:
3057         (WebKit::WebUIClient::createNewPage): Changed to return a PassRefPtr and adopt
3058         the WKPageRef passed from the client. This follows the "create rule".
3059         * UIProcess/WebUIClient.h: Ditto.
3060
3061         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3062         (WKBundlePageClose): Added.
3063         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Added WKBundlePageClose
3064         and re-sorted the other functions in this file.
3065
3066         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3067         (WebKit::WebChromeClient::closeWindowSoon): Implemented this.
3068
3069         * WebProcess/WebPage/WebPage.cpp:
3070         (WebKit::WebPage::WebPage): Called setJavaScriptCanOpenWindowsAutomatically(true).
3071         I suppose we will need to revisit this later when we implement pop-up blocking.
3072         (WebKit::WebPage::tryClose): Factored out the part of this that sends a message
3073         to the other process.
3074         (WebKit::WebPage::sendClose): This is where the part that sends a message went.
3075         * WebProcess/WebPage/WebPage.h: Added sendClose, used by both closeWindowSoon
3076         and WKBundlePageClose.
3077
3078 2010-08-02  John Sullivan  <sullivan@apple.com>
3079
3080         https://bugs.webkit.org/show_bug.cgi?id=43369
3081         WebBackForwardList::forwardListAsImmutableArrayWithLimit can return partly-uninitialized array
3082         
3083         Reviewed by Ada Chan.
3084
3085         * UIProcess/WebBackForwardList.cpp:
3086         (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
3087         Use a simpler and correct expression to determine "last".
3088
3089 2010-08-02  Anders Carlsson  <andersca@apple.com>
3090
3091         Reviewed by Sam Weinig.
3092
3093         Protect the plug-in from being destroyed while in plug-in code
3094         https://bugs.webkit.org/show_bug.cgi?id=43370
3095
3096         Add a PluginProtector to NPRuntimeObjectMap and use it in JSNPObject.
3097         
3098         * WebProcess/Plugins/JSNPObject.cpp:
3099         (WebKit::JSNPObject::callMethod):
3100         (WebKit::JSNPObject::callObject):
3101         (WebKit::JSNPObject::callConstructor):
3102         (WebKit::JSNPObject::put):
3103         (WebKit::JSNPObject::getOwnPropertyNames):
3104         (WebKit::JSNPObject::propertyGetter):
3105         Add PluginProtector declarations.
3106
3107         * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
3108         (WebKit::NPRuntimeObjectMap::PluginProtector::PluginProtector):
3109         Ref the plug-in view (unless it's being destroyed).
3110
3111         (WebKit::NPRuntimeObjectMap::PluginProtector::~PluginProtector):
3112         * WebProcess/Plugins/NPRuntimeObjectMap.h:
3113
3114         * WebProcess/Plugins/PluginView.cpp:
3115         (WebKit::PluginView::PluginView):
3116         Initialize m_isBeingDestroyed.
3117
3118         (WebKit::PluginView::~PluginView):
3119         Set m_isBeingDestroyed to true.
3120
3121         (WebKit::PluginView::scriptObject):
3122         Don't crash if the plug-in failed to initialize.
3123
3124         (WebKit::PluginView::evaluate):
3125         Remove comment.
3126
3127         * WebProcess/Plugins/PluginView.h:
3128         (WebKit::PluginView::isBeingDestroyed):
3129
3130 2010-08-02  Anders Carlsson  <andersca@apple.com>
3131
3132         Reviewed by Sam Weinig.
3133
3134         Cache JSNPObjects and fix bugs in the object map
3135         https://bugs.webkit.org/show_bug.cgi?id=43368
3136
3137         * WebProcess/Plugins/JSNPObject.cpp:
3138         (WebKit::JSNPObject::JSNPObject):
3139         Assert that we're not trying to wrap an NPJSObject.
3140
3141         (WebKit::JSNPObject::~JSNPObject):
3142         Tell the object map that we're gone.
3143
3144         (WebKit::JSNPObject::invalidate):
3145         Release the NPObject and null out the pointer.
3146
3147         * WebProcess/Plugins/NPJSObject.cpp:
3148         (WebKit::NPJSObject::create):
3149         Assert that we're not trying to wrap a JSNPObject.
3150
3151         * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
3152         (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
3153         If we're passed a JSNPObject, just extract its NPObject.
3154
3155         (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
3156         If we're passed an NPJSObject, just extract its JSObject. Otherwise, check if we already have
3157         a JSObject for this NPObject and return it.
3158
3159         (WebKit::NPRuntimeObjectMap::jsNPObjectDestroyed):
3160         Remove the object from the map.
3161
3162         (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue):
3163         getOrCreateJSObject now checks for wrapped objects.
3164
3165         (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
3166         getOrCreateNPObject now checks for wrapped objects.
3167
3168         (WebKit::NPRuntimeObjectMap::invalidate):
3169         Invalidate JSNPObjects as well.
3170
3171 2010-08-02  Jeremy Orlow  <jorlow@chromium.org>
3172
3173         Speculative revert of 64425 due to Chromium instability
3174         https://bugs.webkit.org/show_bug.cgi?id=43347
3175
3176         * WebKit2.xcodeproj/project.pbxproj:
3177         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3178         * WebProcess/WebCoreSupport/WebChromeClient.h:
3179         * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Removed.
3180         * WebProcess/WebCoreSupport/WebPopupMenu.h: Removed.
3181         * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Removed.
3182         * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Removed.
3183         * win/WebKit2.vcproj:
3184
3185 2010-08-02  Balazs Kelemen  <kb@inf.u-szeged.hu>
3186
3187         Reviewed by Simon Hausmann.
3188
3189         [Qt] Generate forwarding headers for WebKit2
3190
3191         https://bugs.webkit.org/show_bug.cgi?id=43336
3192
3193         * DerivedSources.pro: Added.
3194
3195 2010-08-01  Anders Carlsson  <andersca@apple.com>
3196
3197         Reviewed by Sam Weinig.
3198
3199         Implement NPN_SetException
3200         https://bugs.webkit.org/show_bug.cgi?id=43320
3201
3202         * WebProcess/Plugins/JSNPObject.cpp:
3203         (WebKit::JSNPObject::callConstructor):
3204         (WebKit::JSNPObject::put):
3205         (WebKit::JSNPObject::getOwnPropertyNames):
3206         (WebKit::JSNPObject::propertyGetter):
3207         Call NPRuntimeObjectMap::moveGlobalExceptionToExecState.
3208
3209         * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
3210         (WebKit::globalExceptionString):
3211         Add static global.
3212
3213         (WebKit::NPRuntimeObjectMap::setGlobalException):
3214         Set the global exception string.
3215
3216         (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
3217         Create an error from the exception string.
3218
3219         * WebProcess/Plugins/NPRuntimeObjectMap.h:
3220         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
3221         (WebKit::NPN_SetException):
3222         Call NetscapePlugin::setException.
3223
3224         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3225         (WebKit::NetscapePlugin::setException):
3226         Call NPRuntimeObjectMap::setGlobalException.
3227
3228 2010-08-01  Sam Weinig  <sam@webkit.org>
3229
3230         Roll r64446 out. It broke the test runner.
3231
3232         * UIProcess/WebContext.cpp:
3233         (WebKit::WebContext::postMessageToInjectedBundle):
3234
3235 2010-08-01  Sam Weinig  <sam@webkit.org>
3236
3237         Reviewed by Anders Carlsson.
3238
3239         Don't send user messages to the injected bundle if the process is not active
3240         https://bugs.webkit.org/show_bug.cgi?id=43317
3241
3242         * UIProcess/WebContext.cpp:
3243         (WebKit::WebContext::postMessageToInjectedBundle):
3244
3245 2010-08-01  Sam Weinig  <sam@webkit.org>
3246
3247         Reviewed by Anders Carlsson.
3248
3249         Add ability to reset frame names for WebKitTestRunner
3250         https://bugs.webkit.org/show_bug.cgi?id=43316
3251
3252         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3253         (WKBundlePageClearMainFrameName):
3254         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
3255         * WebProcess/WebPage/WebPage.cpp:
3256         (WebKit::WebPage::clearMainFrameName):
3257         * WebProcess/WebPage/WebPage.h:
3258
3259 2010-08-01  Anders Carlsson  <andersca@apple.com>
3260
3261         Reviewed by Sam Weinig.
3262
3263         Minor NPRuntime fixes
3264         https://bugs.webkit.org/show_bug.cgi?id=43318
3265
3266         * WebProcess/Plugins/JSNPObject.h:
3267         (WebKit::JSNPObject::npObject):
3268         * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
3269         (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
3270         If we see an JSNPObject, extract the NPObject.
3271
3272         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
3273         (WebKit::NPN_GetProperty):
3274         Don't check for whether the property exists before getting it.
3275
3276 2010-08-01  Anders Carlsson  <andersca@apple.com>
3277
3278         Reviewed by Sam Weinig.
3279
3280         Implement NPN_RemoveProperty
3281         https://bugs.webkit.org/show_bug.cgi?id=43315
3282
3283         * WebProcess/Plugins/NPJSObject.cpp:
3284         (WebKit::NPJSObject::removeProperty):
3285         Try to remove the property.
3286
3287         (WebKit::NPJSObject::npClass):
3288         Add NP_RemoveProperty.
3289
3290         (WebKit::NPJSObject::NP_RemoveProperty):
3291         Call NPJSObject::removeProperty.
3292
3293         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
3294         (WebKit::NPN_RemoveProperty):
3295         Call the NPClass::removeProperty function.
3296
3297 2010-07-31  Sam Weinig  <sam@webkit.org>
3298
3299         Reviewed by Darin Adler.
3300
3301         Crash due to calling StringImpl::createCFString() from non-main thread in plug-in code
3302         https://bugs.webkit.org/show_bug.cgi?id=43306
3303         <rdar://problem/8259687>
3304
3305         * UIProcess/Plugins/PluginInfoStore.cpp:
3306         (WebKit::PluginInfoStore::getMIMETypeForExtension):
3307         (WebKit::PluginInfoStore::findPlugin):
3308         * UIProcess/Plugins/PluginInfoStore.h:
3309         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
3310         (WebKit::safeCreateCFString):
3311         (WebKit::PluginInfoStore::getMIMETypeForExtension):
3312         Bypass MIMETypeRegistry in the UIProcess until we can safely convert Strings
3313         to CFStringRefs.
3314
3315 2010-07-31  Sam Weinig  <sam@webkit.org>
3316
3317         Reviewed by Dan Bernstein.
3318
3319         Patch for https://bugs.webkit.org/show_bug.cgi?id=43305
3320         Add back WKBundleFrameCopyInnerText to fix ~50 test failures
3321         due to SVGElements not having the innerText function.
3322
3323         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
3324         (WKBundleFrameCopyInnerText):
3325         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
3326         * WebProcess/WebPage/WebFrame.cpp:
3327         (WebKit::WebFrame::innerText):
3328         * WebProcess/WebPage/WebFrame.h:
3329
3330 2010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
3331
3332         Reviewed by Darin Fisher.
3333
3334         PopupMenu refactoring in preparation to WebKit2
3335         https://bugs.webkit.org/show_bug.cgi?id=42592
3336
3337         Classes WebPopupMenu and WebSearchPopupMenu inherit from PopupMenu and
3338         SearchPopupMenu respectively. At this point they are just empty implementations.
3339
3340         * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Added.
3341         (WebKit::WebPopupMenu::WebPopupMenu):
3342         (WebKit::WebPopupMenu::~WebPopupMenu):
3343         (WebKit::WebPopupMenu::disconnectClient):
3344         (WebKit::WebPopupMenu::show):
3345         (WebKit::WebPopupMenu::hide):
3346         (WebKit::WebPopupMenu::updateFromElement):
3347         * WebProcess/WebCoreSupport/WebPopupMenu.h: Added.
3348         * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Added.
3349         (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
3350         (WebKit::WebSearchPopupMenu::popupMenu):
3351         (WebKit::WebSearchPopupMenu::saveRecentSearches):
3352         (WebKit::WebSearchPopupMenu::loadRecentSearches):
3353         (WebKit::WebSearchPopupMenu::enabled):
3354         * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Added.
3355
3356         As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
3357         instances, concrete classes that inherit from ChromeClient needed to be changed to
3358         implement the new methods.
3359
3360         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3361         (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
3362         (WebKit::WebChromeClient::createPopupMenu):
3363         (WebKit::WebChromeClient::createSearchPopupMenu):
3364         * WebProcess/WebCoreSupport/WebChromeClient.h:
3365
3366         build issues:
3367
3368         * WebKit2.xcodeproj/project.pbxproj:
3369         * win/WebKit2.vcproj:
3370
3371 2010-07-31  Sheriff Bot  <webkit.review.bot@gmail.com>
3372
3373         Unreviewed, rolling out r64422.
3374         http://trac.webkit.org/changeset/64422
3375         https://bugs.webkit.org/show_bug.cgi?id=43304
3376
3377         Build fixes are needed for Snow Leopard and Windows.
3378         (Requested by lca on #webkit).
3379
3380         * WebKit2.xcodeproj/project.pbxproj:
3381         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3382         * WebProcess/WebCoreSupport/WebChromeClient.h:
3383         * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Removed.
3384         * WebProcess/WebCoreSupport/WebPopupMenu.h: Removed.
3385         * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Removed.
3386         * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Removed.
3387         * win/WebKit2.vcproj:
3388
3389 2010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
3390
3391         Reviewed by Darin Fisher.
3392
3393         PopupMenu refactoring in preparation to WebKit2
3394         https://bugs.webkit.org/show_bug.cgi?id=42592
3395
3396         Classes WebPopupMenu and WebSearchPopupMenu inherit from PopupMenu and
3397         SearchPopupMenu respectively. At this point they are just empty implementations.
3398
3399         * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Added.
3400         (WebKit::WebPopupMenu::WebPopupMenu):
3401         (WebKit::WebPopupMenu::~WebPopupMenu):
3402         (WebKit::WebPopupMenu::disconnectClient):
3403         (WebKit::WebPopupMenu::show):
3404         (WebKit::WebPopupMenu::hide):
3405         (WebKit::WebPopupMenu::updateFromElement):
3406         * WebProcess/WebCoreSupport/WebPopupMenu.h: Added.
3407         * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Added.
3408         (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
3409         (WebKit::WebSearchPopupMenu::popupMenu):
3410         (WebKit::WebSearchPopupMenu::saveRecentSearches):
3411         (WebKit::WebSearchPopupMenu::loadRecentSearches):
3412         (WebKit::WebSearchPopupMenu::enabled):
3413         * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Added.
3414
3415         As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
3416         instances, concrete classes that inherit from ChromeClient needed to be changed to
3417         implement the new methods.
3418
3419         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3420         (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
3421         (WebKit::WebChromeClient::createPopupMenu):
3422         (WebKit::WebChromeClient::createSearchPopupMenu):
3423         * WebProcess/WebCoreSupport/WebChromeClient.h:
3424
3425         build issues:
3426
3427         * WebKit2.xcodeproj/project.pbxproj:
3428         * win/WebKit2.vcproj:
3429
3430 2010-07-30  Darin Fisher  <darin@chromium.org>
3431
3432         Reviewed by Darin Adler.
3433
3434         Eliminate BackForwardList::pushStateItem
3435         https://bugs.webkit.org/show_bug.cgi?id=43282
3436
3437         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
3438         * WebProcess/WebPage/WebBackForwardListProxy.h:
3439
3440 2010-07-30  Joseph Pecoraro  <joepeck@webkit.org>
3441
3442         Reviewed by David Kilzer.
3443
3444         Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
3445         https://bugs.webkit.org/show_bug.cgi?id=40627
3446
3447         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3448         (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
3449         * WebProcess/WebCoreSupport/WebChromeClient.h:
3450
3451 2010-07-30  Sam Weinig  <sam@webkit.org>
3452
3453         Reviewed by Maciej Stachowiak.
3454
3455         Patch for https://bugs.webkit.org/show_bug.cgi?id=43290
3456         Add structured message passing from the injected bundle to UIProcess
3457
3458         * Platform/CoreIPC/MessageID.h:
3459         * Shared/CoreIPCSupport/WebContextMessageKinds.h: Added.
3460         * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
3461         (WebProcessProxyMessage::):
3462         * UIProcess/API/C/WKContext.h:
3463         * UIProcess/WebContext.cpp:
3464         (WebKit::):
3465         (WebKit::PostMessageEncoder::PostMessageDecoder::PostMessageDecoder):
3466         (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
3467         (WebKit::WebContext::didReceiveMessageFromInjectedBundle):
3468         (WebKit::WebContext::didReceiveMessage):
3469         * UIProcess/WebContext.h:
3470         * UIProcess/WebContextInjectedBundleClient.cpp:
3471         (WebKit::WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle):
3472         * UIProcess/WebContextInjectedBundleClient.h:
3473         * UIProcess/WebProcessProxy.cpp:
3474         (WebKit::WebProcessProxy::didReceiveMessage):
3475         (WebKit::WebProcessProxy::didReceiveSyncMessage):
3476         * UIProcess/WebProcessProxy.h:
3477         * WebKit2.xcodeproj/project.pbxproj:
3478         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3479         (WKBundlePostMessage):
3480         * WebProcess/InjectedBundle/API/c/WKBundle.h:
3481         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3482         (WebKit::):
3483         (WebKit::InjectedBundle::InjectedBundle):
3484         (WebKit::InjectedBundle::~InjectedBundle):
3485         (WebKit::InjectedBundle::initializeClient):
3486         (WebKit::InjectedBundle::postMessage):
3487         (WebKit::InjectedBundle::setShouldTrackVisitedLinks):
3488         (WebKit::InjectedBundle::removeAllVisitedLinks):
3489         (WebKit::InjectedBundle::didCreatePage):
3490         (WebKit::InjectedBundle::willDestroyPage):
3491         (WebKit::InjectedBundle::didReceiveMessage):
3492         * WebProcess/InjectedBundle/InjectedBundle.h:
3493
3494 2010-07-30  Andy Estes  <aestes@apple.com>
3495
3496         Reviewed by David Kilzer.
3497
3498         Add support to Xcode for compiling WebKit against iOS SDKs.
3499         https://bugs.webkit.org/show_bug.cgi?id=42796
3500
3501         * Configurations/FeatureDefines.xcconfig:
3502
3503 2010-07-30  Brady Eidson  <beidson@apple.com>
3504
3505         Reviewed by Sam Weinig.
3506
3507         Cast the return value for the templated ImmutableArray::at().
3508
3509         * Shared/ImmutableArray.h:
3510         (WebKit::ImmutableArray::at):
3511
3512 2010-07-30  Sam Weinig  <sam@webkit.org>
3513
3514         Reviewed by Anders Carlsson.
3515
3516         Patch for https://bugs.webkit.org/show_bug.cgi?id=43283
3517         Add APIObject template introspection support.
3518
3519         Add a way to get the type the APIObject::Type from the APIObject subclass typenames
3520         for template fun. Use this to make a type checking version of ImmutableArray::at.
3521
3522         * Shared/ImmutableArray.h:
3523         (WebKit::ImmutableArray::at):
3524         (WebKit::ImmutableArray::type):
3525         * Shared/WebString.h:
3526         (WebKit::WebString::type):
3527         * Shared/WebURL.h:
3528         (WebKit::WebURL::type):
3529         * UIProcess/API/C/WKArray.cpp:
3530         (WKArrayGetTypeID):
3531         * UIProcess/API/C/WKBackForwardList.cpp:
3532         (WKBackForwardListGetTypeID):
3533         * UIProcess/API/C/WKBackForwardListItem.cpp:
3534         (WKBackForwardListItemGetTypeID):
3535         * UIProcess/API/C/WKContext.cpp:
3536         (WKContextGetTypeID):
3537         * UIProcess/API/C/WKFrame.cpp:
3538         (WKFrameGetTypeID):
3539         * UIProcess/API/C/WKFramePolicyListener.cpp:
3540         (WKFramePolicyListenerGetTypeID):
3541         * UIProcess/API/C/WKNavigationData.cpp:
3542         (WKNavigationDataGetTypeID):
3543         * UIProcess/API/C/WKPage.cpp:
3544         (WKPageGetTypeID):
3545         * UIProcess/API/C/WKPageNamespace.cpp:
3546         (WKPageNamespaceGetTypeID):
3547         * UIProcess/API/C/WKPreferences.cpp:
3548         (WKPreferencesGetTypeID):
3549         * UIProcess/API/C/WKString.cpp:
3550         (WKStringGetTypeID):
3551         * UIProcess/API/C/WKURL.cpp:
3552         (WKURLGetTypeID):
3553         * UIProcess/WebBackForwardList.h:
3554         (WebKit::WebBackForwardList::type):
3555         * UIProcess/WebBackForwardListItem.h:
3556         (WebKit::WebBackForwardListItem::type):
3557         * UIProcess/WebContext.h:
3558         (WebKit::WebContext::type):
3559         * UIProcess/WebFramePolicyListenerProxy.h:
3560         (WebKit::WebFramePolicyListenerProxy::type):
3561         * UIProcess/WebFrameProxy.h:
3562         (WebKit::WebFrameProxy::type):
3563         * UIProcess/WebNavigationData.h:
3564         (WebKit::WebNavigationData::type):
3565         * UIProcess/WebPageNamespace.h:
3566         (WebKit::WebPageNamespace::type):
3567         * UIProcess/WebPageProxy.h:
3568         (WebKit::WebPageProxy::type):
3569         * UIProcess/WebPreferences.h:
3570         (WebKit::WebPreferences::type):
3571         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3572         (WKBundleGetTypeID):
3573         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
3574         (WKBundleFrameGetTypeID):
3575         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3576         (WKBundlePageGetTypeID):
3577         * WebProcess/InjectedBundle/InjectedBundle.h:
3578         (WebKit::InjectedBundle::type):
3579         * WebProcess/WebPage/WebFrame.h:
3580         (WebKit::WebFrame::type):
3581         * WebProcess/WebPage/WebPage.h:
3582         (WebKit::WebPage::type):
3583
3584 2010-07-30  Sam Weinig  <sam@webkit.org>
3585
3586         Reviewed by Anders Carlsson.
3587
3588         Patch for https://bugs.webkit.org/show_bug.cgi?id=43275
3589         Make WKArrayRef more usable.
3590
3591         - Add Create functions.
3592         - Make WKArrayGetItemAtIndex return a WKTypeRef.
3593
3594         * UIProcess/API/C/WKArray.cpp:
3595         (WKArrayCreate):
3596         (WKArrayCreateAdoptingValues):
3597         (WKArrayGetItemAtIndex):
3598         * UIProcess/API/C/WKArray.h:
3599
3600 2010-07-30  Ada Chan  <adachan@apple.com>
3601
3602         Reviewed by John Sullivan.
3603
3604         Fix issue with populating the back list when limit is a huge number.
3605         https://bugs.webkit.org/show_bug.cgi?id=43270
3606
3607         * UIProcess/WebBackForwardList.cpp:
3608         (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
3609
3610 2010-07-29  Sam Weinig  <sam@webkit.org>
3611
3612         Reviewed by Anders Carlsson.
3613
3614         Patch for https://bugs.webkit.org/show_bug.cgi?id=43274
3615         Add first pass of structured message passing.
3616
3617         - Only supports passing messages from the UIProcess -> InjectedBundle
3618         - Only supports passing Strings, Arrays, and WebPage references (NOTE: There
3619           currently isn't a way to make an array).
3620         - Changed ImmutableArray to operate on APIObjects instead of void*'s and 
3621           removed the retain/release abstraction.
3622
3623         * Platform/CoreIPC/MessageID.h:
3624         (CoreIPC::):
3625         * Shared/CoreIPCSupport/InjectedBundleMessageKinds.h: Added.
3626         (InjectedBundleMessage::):
3627         (CoreIPC::):
3628         * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
3629         (WebProcessMessage::):
3630         * Shared/ImmutableArray.cpp:
3631         (WebKit::ImmutableArray::ImmutableArray):
3632         (WebKit::ImmutableArray::~ImmutableArray):
3633         * Shared/ImmutableArray.h:
3634         (WebKit::ImmutableArray::create):
3635         (WebKit::ImmutableArray::adopt):
3636         (WebKit::ImmutableArray::at):
3637         * UIProcess/API/C/WKBase.h:
3638         * UIProcess/API/C/WKContext.cpp:
3639         (WKContextPostMessageToInjectedBundle):
3640         * UIProcess/API/C/WKContext.h:
3641         * UIProcess/API/C/WKType.cpp:
3642         (WKGetTypeID):
3643         * UIProcess/API/C/WebKit2.h:
3644         * UIProcess/WebBackForwardList.cpp:
3645         (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
3646         (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
3647         * UIProcess/WebContext.cpp:
3648         (WebKit::WebContext::postMessageToInjectedBundle):
3649         (WebKit::WebContext::didReceiveMessageFromInjectedBundle):
3650         * UIProcess/WebContext.h:
3651         * WebKit2.xcodeproj/project.pbxproj:
3652         * WebProcess/InjectedBundle/API/c/WKBundle.h:
3653         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3654         (WebKit::InjectedBundle::didReceiveMessage):
3655         * WebProcess/InjectedBundle/InjectedBundle.h:
3656         * WebProcess/WebPage/WebFrame.cpp:
3657         (WebKit::WebFrame::childFrames):
3658         * WebProcess/WebProcess.cpp:
3659         (WebKit::WebProcess::didReceiveMessage):
3660         * WebProcess/WebProcess.h:
3661         * win/WebKit2.vcproj:
3662
3663 2010-07-30  Anders Carlsson  <andersca@apple.com>
3664
3665         Reviewed by Sam Weinig.