1 2011-02-16 Anders Carlsson <andersca@apple.com>
3 Reviewed by Adam Roben.
5 Always disable the responsiveness timer when showing a popup menu
6 https://bugs.webkit.org/show_bug.cgi?id=54578
7 <rdar://problem/9009170>
9 * UIProcess/WebPageProxy.cpp:
10 (WebKit::WebPageProxy::showPopupMenu):
12 2011-02-16 Anders Carlsson <andersca@apple.com>
14 Reviewed by Adam Roben.
16 Assertion failure in DrawingAreaImpl::display when calling WKPageForceRepaint on a page that uses accelerated compositing
17 https://bugs.webkit.org/show_bug.cgi?id=54575
18 <rdar://problem/8979594>
20 * WebProcess/WebPage/DrawingAreaImpl.cpp:
21 (WebKit::DrawingAreaImpl::forceRepaint):
22 If there is a layer tree host, ask it to force a repaint instead.
24 * WebProcess/WebPage/LayerTreeHost.h:
25 * WebProcess/WebPage/mac/LayerTreeHostMac.h:
26 * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
27 (WebKit::LayerTreeHostMac::forceRepaint):
28 Flush any layer changes, then flush and synchronize the current CA transaction.
30 2011-02-16 Alexey Proskuryakov <ap@apple.com>
32 Reviewed by Anders Carlsson.
34 https://bugs.webkit.org/show_bug.cgi?id=54572
35 REGRESSION (WebKit2): Print Backgrounds checkbox has no effect for DOM initiated printing
37 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::preferencesDidChange): Preferences need
38 to be propagated to Web process during synchronous printing.
40 2011-02-15 Anders Carlsson <andersca@apple.com>
42 Reviewed by Sam Weinig.
44 WebPluginSiteDataManager should work with plug-in process
45 https://bugs.webkit.org/show_bug.cgi?id=54523
46 <rdar://problem/8689312>
48 * PluginProcess/PluginProcess.cpp:
49 (WebKit::PluginProcess::removeWebProcessConnection):
50 Call startShutdownTimerIfNecessary().
52 (WebKit::PluginProcess::getSitesWithData):
53 Ask the plug-in module for the sites with data and send them back
54 in a PluginProcessProxy::DidGetSitesWithData message.
56 (WebKit::PluginProcess::clearSiteData):
57 Clear site data and send back a DidClearSiteData message.
59 (WebKit::PluginProcess::startShutdownTimerIfNecessary):
60 Factor code out from removeWebProcessConnection.
62 * PluginProcess/PluginProcess.messages.in:
65 * UIProcess/Plugins/PluginInfoStore.cpp:
66 (WebKit::PluginInfoStore::plugins):
67 New function for getting all plug-ins.
69 * UIProcess/Plugins/PluginProcessManager.cpp:
70 (WebKit::PluginProcessManager::getPluginProcessConnection):
71 Call getOrCreatePluginProcess.
73 (WebKit::PluginProcessManager::getSitesWithData):
74 Get a plug-in process proxy and call getSitesWithData.
76 (WebKit::PluginProcessManager::clearSiteData):
77 Get a plug-in process proxy and call clearSiteData.
79 (WebKit::PluginProcessManager::getOrCreatePluginProcess):
80 Factor code to create a plug-in process out into a separate function.
82 * UIProcess/Plugins/PluginProcessProxy.cpp:
83 (WebKit::PluginProcessProxy::getSitesWithData):
84 (WebKit::PluginProcessProxy::clearSiteData):
85 Update the pending reply struct. If the process is still launching,
86 enqueue the request. Otherwise, just send the message.
88 (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
89 Make sure that pending replies are sent out.
91 (WebKit::PluginProcessProxy::didFinishLaunching):
92 Send our pending requests.
94 (WebKit::PluginProcessProxy::didGetSitesWithData):
95 (WebKit::PluginProcessProxy::didClearSiteData):
96 Call down to the plug-in site data manager.
98 * UIProcess/Plugins/PluginProcessProxy.messages.in:
99 Add DidGetSitesWithData and DidClearSiteData messages.
101 * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
102 (WebKit::WebPluginSiteDataManager::GetSitesWithDataState::GetSitesWithDataState):
103 Initialize the state.
105 (WebKit::WebPluginSiteDataManager::GetSitesWithDataState::getSitesWithDataForNextPlugin):
106 If the plug-in queue is empty, call didGetSitesWithDataForAllPlugins. Otherwise, ask
107 the plug-in process manager to get sites for the next plug-in.
109 (WebKit::WebPluginSiteDataManager::GetSitesWithDataState::didGetSitesWithDataForSinglePlugin):
110 Update the sites set and get sites for the next plug-in.
112 (WebKit::WebPluginSiteDataManager::ClearSiteDataState::ClearSiteDataState):
113 Initialize the state.
115 (WebKit::WebPluginSiteDataManager::ClearSiteDataState::clearSiteDataForNextPlugin):
116 If the plug-in queue is empty, call didClearSiteDataForAllPlugins. Otherwise, ask
117 the plug-in process manager to get sites for the next plug-in.
119 (WebKit::WebPluginSiteDataManager::ClearSiteDataState::didClearSiteDataForSinglePlugin):
120 Update the sites set and ask the next plug-in to clear site data.
122 (WebKit::WebPluginSiteDataManager::~WebPluginSiteDataManager):
123 Assert that all maps are empty.
125 (WebKit::WebPluginSiteDataManager::invalidate):
126 Delete and clear the pending state maps.
128 (WebKit::WebPluginSiteDataManager::getSitesWithData):
129 In the ENABLE(PLUGIN_PROCESS) case, allocate a new GetSitesWithDataState object and
130 tell it to get sites for the next plug-in. Otherwise, make sure that the web process
131 is alive before sending a GetSitesWithPluginData message.
133 (WebKit::WebPluginSiteDataManager::clearSiteData):
134 In the ENABLE(PLUGIN_PROCESS) case, allocate a new ClearSiteDataState object and
135 tell it to get sites for the next plug-in. Otherwise, make sure that the web process
136 is alive before sending a ClearPluginSiteData message.
138 (WebKit::WebPluginSiteDataManager::didGetSitesWithDataForSinglePlugin):
139 Call down to the GetSitesWithDataState object.
141 (WebKit::WebPluginSiteDataManager::didGetSitesWithDataForAllPlugins):
142 Free the GetSitesWithDataState object and invoke the callback.
144 (WebKit::WebPluginSiteDataManager::didClearSiteDataForSinglePlugin):
145 Call down to the GetSitesWithDataState object.
147 (WebKit::WebPluginSiteDataManager::didClearSiteDataForAllPlugins):
148 Free the GetSitesWithDataState object and invoke the callback.
150 * UIProcess/WebContext.cpp:
151 (WebKit::WebContext::processDidClose):
152 Don't invalidate the plug-in site data manager if we're using a plug-in process.
154 * WebProcess/WebProcess.cpp:
155 (WebKit::WebProcess::getSitesWithPluginData):
156 (WebKit::WebProcess::clearPluginSiteData):
157 Call shutdownIfPossible().
159 2011-02-15 Jon Honeycutt <jhoneycutt@apple.com>
161 Copy over new WebKit 2 header.
163 Rubber-stamped by Alice Liu.
165 * win/WebKit2Generated.make:
167 2011-02-15 Anders Carlsson <andersca@apple.com>
169 Reviewed by Darin Adler.
171 Implement WKPluginSiteDataManagerClearSiteData
172 https://bugs.webkit.org/show_bug.cgi?id=54512
173 <rdar://problem/8689312>
175 * UIProcess/API/C/WKPluginSiteDataManager.cpp:
176 (WKPluginSiteDataManagerGetTypeID):
179 (toNPClearSiteDataFlags):
180 Convert WKClearSiteDataFlags to NPP_ClearSiteData flags.
182 (WKPluginSiteDataManagerClearSiteData):
183 (WKPluginSiteDataManagerClearAllSiteData):
184 Call through to WebPluginSiteDataManager::clearSiteData.
186 * UIProcess/API/C/WKPluginSiteDataManager.h:
187 Change the clear functions to take a completion callback.
189 * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
190 (WebKit::WebPluginSiteDataManager::clearSiteData):
191 Ask the plug-in info store for all plug-in paths and send a
192 ClearPluginSiteData message to the web process.
194 (WebKit::WebPluginSiteDataManager::didClearSiteData):
197 * UIProcess/WebContext.cpp:
198 (WebKit::WebContext::didClearPluginSiteData):
199 Call through to the plug-in site data manager.
201 * UIProcess/WebContext.messages.in:
202 Add ClearPluginSiteData message.
204 * WebProcess/WebProcess.cpp:
205 (WebKit::WebProcess::clearPluginSiteData):
206 Iterate over all the plug-in paths, creating plug-in modules and calling
207 clearSiteData for each one.
209 * WebProcess/WebProcess.h:
210 * WebProcess/WebProcess.messages.in:
211 Add DidClearPluginSiteData message.
213 2011-02-15 Anders Carlsson <andersca@apple.com>
215 Reviewed by Jon Honeycutt.
217 Implement WKPluginSiteDataManagerGetSitesWithData
218 https://bugs.webkit.org/show_bug.cgi?id=54510
219 <rdar://problem/8689312>
221 * UIProcess/API/C/WKContext.cpp:
222 (WKContextGetPluginSiteDataManager):
223 Call WebContext::pluginSiteDataManager.
225 * UIProcess/API/C/WKPluginSiteDataManager.cpp:
226 (WKPluginSiteDataManagerGetSitesWithData):
227 Call WebPluginSiteDataManager::getSitesWithData.
229 * UIProcess/Plugins/PluginInfoStore.cpp:
230 (WebKit::PluginInfoStore::getPluginPaths):
231 * UIProcess/Plugins/PluginInfoStore.h:
232 Populate the paths argument with the paths of all plug-ins.
234 * UIProcess/Plugins/WebPluginSiteDataManager.cpp: Added.
235 (WebKit::WebPluginSiteDataManager::invalidate):
236 Invalidate the callbacks map.
238 (WebKit::WebPluginSiteDataManager::getSitesWithData):
239 Ask the plug-in info store for all plug-in paths and send a
240 GetSitesWithPluginData message to the web process.
242 (WebKit::WebPluginSiteDataManager::didGetSitesWithPluginData):
245 * UIProcess/Plugins/WebPluginSiteDataManager.h: Added.
246 (WebKit::WebPluginSiteDataManager::clearContext):
249 * UIProcess/WebContext.cpp:
250 (WebKit::WebContext::WebContext):
251 Initialize m_pluginSiteDataManager.
253 (WebKit::WebContext::~WebContext):
254 Invalidate the plug-in site data manager and clear its context.
256 (WebKit::WebContext::processDidClose):
257 Invalidate the plug-in site data manager.
259 (WebKit::WebContext::didGetSitesWithPluginData):
260 Call through to the plug-in site data manager.
262 * UIProcess/WebContext.h:
263 * UIProcess/WebContext.messages.in:
264 Add GetSitesWithPluginData message.
267 * WebKit2.xcodeproj/project.pbxproj:
268 * win/WebKit2.vcproj:
271 * WebProcess/WebProcess.cpp:
272 (WebKit::WebProcess::getSitesWithPluginData):
273 Iterate over all plug-in paths and get the sites from all plug-ins.
275 * WebProcess/WebProcess.h:
276 * WebProcess/WebProcess.messages.in:
277 Add DidGetSitesWithPluginData.
279 2011-02-15 Anders Carlsson <andersca@apple.com>
285 2011-02-15 Anders Carlsson <andersca@apple.com>
289 * win/WebKit2.vcproj:
291 2011-02-14 Oliver Hunt <oliver@apple.com>
293 Reviewed by Gavin Barraclough and Geoff Garen.
295 Refactor handles and weak pointers to become nicer and more automatic
296 https://bugs.webkit.org/show_bug.cgi?id=54415
298 Update code to new Global<> API, and refactor to get global data to
301 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
302 (WebKit::NPJSObject::create):
303 (WebKit::NPJSObject::NPJSObject):
304 (WebKit::NPJSObject::initialize):
305 (WebKit::NPJSObject::invokeDefault):
306 (WebKit::NPJSObject::construct):
307 (WebKit::NPJSObject::invoke):
308 * WebProcess/Plugins/Netscape/NPJSObject.h:
309 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
310 (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
311 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
312 (WebKit::NPRuntimeObjectMap::evaluate):
313 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
314 * WebProcess/Plugins/PluginView.cpp:
315 (WebKit::PluginView::windowScriptNPObject):
316 (WebKit::PluginView::pluginElementNPObject):
318 2011-02-15 Anders Carlsson <andersca@apple.com>
320 Reviewed by Jon Honeycutt.
322 Add stubbed out WKPluginSiteDataManagerRef API
323 https://bugs.webkit.org/show_bug.cgi?id=54504
325 * Shared/API/c/WKBase.h:
326 * Shared/APIObject.h:
327 * UIProcess/API/C/WKAPICast.h:
328 * UIProcess/API/C/WKContext.cpp:
329 (WKContextGetPluginSiteDataManager):
330 * UIProcess/API/C/WKContext.h:
331 * UIProcess/API/C/WKPluginSiteDataManager.cpp: Added.
332 (WKPluginSiteDataManagerGetTypeID):
333 (WKPluginSiteDataManagerGetSitesWithData):
334 (WKPluginSiteDataManagerClearSiteData):
335 (WKPluginSiteDataManagerClearAllSiteData):
336 * UIProcess/API/C/WKPluginSiteDataManager.h: Added.
338 * WebKit2.xcodeproj/project.pbxproj:
339 * win/WebKit2.vcproj:
341 2011-02-15 Jia Pu <jpu@apple.com>
343 Reviewed by Darin Adler.
345 Autocorrection should respect undo.
346 https://bugs.webkit.org/show_bug.cgi?id=52221
347 <rdar://problem/8663399>
349 Please see WebCore/ChangeLog for detailed description.
351 * WebProcess/WebCoreSupport/WebEditorClient.h: Updated for the new function declared in EditorClient.
353 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
354 (WebKit::WebEditorClient::recordAutocorrectionResponse): Ditto.
356 * WebProcess/WebPage/WebPage.cpp:
357 (WebKit::WebPage::replaceSelectionWithText): Adopted new signature of ReplaceSelectionCommand::create().
359 2011-02-15 Jessie Berlin <jberlin@apple.com>
361 Reviewed by Darin Adler.
363 WebKit2: Use the Database directory location specified in NSUserDefaults.
364 https://bugs.webkit.org/show_bug.cgi?id=54496
366 * UIProcess/mac/WebContextMac.mm:
367 (WebKit::WebContext::platformDefaultDatabaseDirectory):
368 Use the same logic as WebKit1's WebDatabaseManager::databasesDirectoryPath.
370 2011-02-15 Simon Fraser <simon.fraser@apple.com>
372 Reviewed by Anders Carlsson, Darin Adler.
374 Layers stick around in DrawingAreaImpl until we switch out of compositing
375 https://bugs.webkit.org/show_bug.cgi?id=54498
377 When leaving compositing mode soon, remove all the child layers
378 of the nonCompositedContent layer right away, so they don't stick
381 * WebProcess/WebPage/DrawingAreaImpl.cpp:
382 (WebKit::DrawingAreaImpl::setRootCompositingLayer):
383 * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
384 (WebKit::LayerTreeHostMac::setRootCompositingLayer):
386 2011-02-15 Kenneth Russell <kbr@google.com>
388 Reviewed by Darin Fisher.
390 Allow controlling minimum DOMTimer interval on a per-page basis
391 https://bugs.webkit.org/show_bug.cgi?id=54312
393 * WebProcess/WebPage/WebPage.cpp:
394 (WebKit::WebPage::WebPage):
396 2011-02-15 Anders Carlsson <andersca@apple.com>
398 Reviewed by Sam Weinig.
400 Add sitesWithData and clearSiteData to NetscapePluginModule
401 https://bugs.webkit.org/show_bug.cgi?id=54492
403 * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
404 (WebKit::NetscapePluginModule::NetscapePluginModule):
405 (WebKit::NetscapePluginModule::pluginCreated):
406 (WebKit::NetscapePluginModule::pluginDestroyed):
407 (WebKit::NetscapePluginModule::sitesWithData):
408 (WebKit::NetscapePluginModule::clearSiteData):
409 (WebKit::NetscapePluginModule::tryGetSitesWithData):
410 (WebKit::NetscapePluginModule::tryClearSiteData):
411 (WebKit::NetscapePluginModule::incrementLoadCount):
412 (WebKit::NetscapePluginModule::decrementLoadCount):
413 * Shared/Plugins/Netscape/NetscapePluginModule.h:
415 2011-02-15 Sam Weinig <sam@webkit.org>
419 * Shared/win/WebCoreArgumentCodersWin.cpp:
420 (CoreIPC::encodeResourceRequest):
422 2011-02-15 Alexey Proskuryakov <ap@apple.com>
424 Reviewed by Darin Adler.
426 https://bugs.webkit.org/show_bug.cgi?id=54480
427 <rdar://problem/8975229> REGRESSION (WebKit2): A web page remains unresponsive for a long
430 Nothing was painted until moving the mouse over browser chrome, deactivating the window,
431 or taking some other drastic measure like that.
433 * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::setAutodisplay):
434 Call -[NSView displayIfNeeded] after enabling autodisplay. For some reason, this makes
435 WebCore push updates again.
437 2011-02-15 Sam Weinig <sam@webkit.org>
439 Reviewed by Darin Adler.
441 Crash loading fast/loader/empty-embed-src-attribute.html
442 <rdar://problem/9005541>
443 https://bugs.webkit.org/show_bug.cgi?id=54483
445 Add the ability to encode/decode and empty ResourceRequest.
447 * Shared/mac/WebCoreArgumentCodersMac.mm:
448 (CoreIPC::encodeResourceRequest):
449 (CoreIPC::decodeResourceRequest):
450 (CoreIPC::decodeResourceResponse): Add missing false check for the
452 * Shared/win/WebCoreArgumentCodersWin.cpp:
453 (CoreIPC::encodeResourceRequest):
454 (CoreIPC::decodeResourceRequest):
455 (CoreIPC::decodeResourceResponse): Add missing false check for the
458 2011-02-15 Andreas Kling <kling@webkit.org>
460 Unreviewed Qt build fix after r78588.
462 * UIProcess/API/qt/qwkpage.cpp:
463 (QWKPage::QWKPage): Add WKPageLoaderClient::shouldGoToHistoryItem.
465 2011-02-15 Enrica Casucci <enrica@apple.com>
467 Reviewed by Darin Adler.
469 Stop using deprecated API to flip the dragImage.
470 <rdar://problem/8930897>
471 https://bugs.webkit.org/show_bug.cgi?id=54477
473 NSImage setFlipped is a deprecated API. We replace it with
474 drawInRect:fromRect:operation:fraction:respectFlipped:hints.
476 * UIProcess/API/mac/PageClientImpl.mm:
477 (WebKit::PageClientImpl::setDragImage): Removed call to setFlipped.
478 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
479 (WebKit::WebDragClient::startDrag): The image is now drawn with
480 drawInRect:fromRect:operation:fraction:respectFlipped:hints.
482 2011-02-15 Brady Eidson <beidson@apple.com>
484 Reviewed by Darin Adler.
486 <rdar://problem/9002047> and https://bugs.webkit.org/show_bug.cgi?id=54426
487 WebFrameLoaderClient::shouldGoToHistoryItem needs implementation
489 Expose HistoryItem -> ItemID mapping for the message:
490 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
491 (WebKit::WebBackForwardListProxy::idForItem):
492 * WebProcess/WebPage/WebBackForwardListProxy.h:
494 Sync message to the UIProcess for the answer:
495 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
496 (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem):
498 Call out to the WebLoaderClient for the answer:
499 * UIProcess/WebPageProxy.cpp:
500 (WebKit::WebPageProxy::shouldGoToBackForwardListItem):
501 * UIProcess/WebPageProxy.h:
502 * UIProcess/WebPageProxy.messages.in:
504 Call out to the client application for the answer:
505 * UIProcess/WebLoaderClient.cpp:
506 (WebKit::WebLoaderClient::shouldGoToBackForwardListItem):
507 * UIProcess/WebLoaderClient.h:
509 Add API for the client application to listen for this:
510 * UIProcess/API/C/WKPage.h:
512 2011-02-15 Sam Weinig <sam@webkit.org>
514 Reviewed by Anders Carlsson.
516 Fix Anders typo. false -> 0.
518 * Platform/mac/SharedMemoryMac.cpp:
519 (WebKit::SharedMemory::create):
521 2011-02-15 Andras Becsi <abecsi@webkit.org>
523 Reviewed by NOBODY Csaba Osztrogonác.
525 [Qt] Redesign the build system
526 https://bugs.webkit.org/show_bug.cgi?id=51339
530 Introduce CodeGenerators.pri and add common includepaths to WebCore.pri,
531 thus unnecessary duplications can be removed from project files.
533 * WebKit2.pro: Simplify and deduplicate includepaths.
535 2011-01-26 MORITA Hajime <morrita@google.com>
537 Reviewed by Ryosuke Niwa.
539 Refactoring: Extract TextCheckerClient from EditorClient
540 https://bugs.webkit.org/show_bug.cgi?id=53213
542 * Shared/WebCoreArgumentCoders.h:
543 * UIProcess/TextChecker.h:
544 * WebProcess/WebCoreSupport/WebEditorClient.h:
545 (WebKit::WebEditorClient::textChecker):
546 * Scripts/webkit2/messages.py: Re-arranged the include file
548 2011-02-07 Ryosuke Niwa <rniwa@webkit.org>
550 Reviewed by Adam Barth.
552 Add EditorClient callbacks to override isDOMPasteAllowed and javaScriptCanAccessClipboard
553 https://bugs.webkit.org/show_bug.cgi?id=52417
555 Added two callback functions, canCopyCut and canPaste to EditorClient. They are currently
558 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
559 (WebKit::WebEditorClient::canCopyCut): Added.
560 (WebKit::WebEditorClient::canPaste): Added.
561 * WebProcess/WebCoreSupport/WebEditorClient.h:
563 2011-02-14 Anders Carlsson <andersca@apple.com>
565 Reviewed by Dan Bernstein.
567 Add WKPageSetMemoryCacheClientCallsEnabled API
568 https://bugs.webkit.org/show_bug.cgi?id=54422
570 * UIProcess/API/C/WKPage.cpp:
571 (WKPageSetMemoryCacheClientCallsEnabled):
572 * UIProcess/API/C/WKPage.h:
573 * UIProcess/WebPageProxy.cpp:
574 (WebKit::WebPageProxy::setMemoryCacheClientCallsEnabled):
575 * UIProcess/WebPageProxy.h:
576 * WebProcess/WebPage/WebPage.cpp:
577 (WebKit::WebPage::setMemoryCacheMessagesEnabled):
578 * WebProcess/WebPage/WebPage.h:
579 * WebProcess/WebPage/WebPage.messages.in:
581 2011-02-14 Sam Weinig <sam@webkit.org>
583 Reviewed by Anders Carlsson.
585 WebKit2: View not updated completely when coming back from a cached back/forward navigation
586 <rdar://problem/8787264>
587 https://bugs.webkit.org/show_bug.cgi?id=54419
589 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
590 (WebKit::WebFrameLoaderClient::restoreViewState): Invalidate the entire page
591 when completing a restore from the back/forward cache.
593 2011-02-14 Anders Carlsson <andersca@apple.com>
595 Reviewed by Dan Bernstein.
597 Shared memory should be made shared immediately
598 https://bugs.webkit.org/show_bug.cgi?id=54413
599 <rdar://problem/8972153>
601 Under some circumstances, mach_make_memory_entry_64 may only return parts of a
602 memory allocation. Work around this by creating a mach port representing the shared memory
603 right away. Also, hand out this mach port in createHandle when using the default memory protection.
605 * Platform/SharedMemory.h:
606 * Platform/mac/SharedMemoryMac.cpp:
607 (WebKit::SharedMemory::create):
608 (WebKit::SharedMemory::~SharedMemory):
609 (WebKit::SharedMemory::createHandle):
611 2011-02-14 Adam Roben <aroben@apple.com>
613 React to accelerated compositing changes and allocation failures in DrawingAreaImpl::display
615 Fixes <http://webkit.org/b/54398> DrawingAreaImpl::display handles error cases poorly.
617 Reviewed by Darin Adler and Anders Carlsson.
619 * WebProcess/WebPage/DrawingAreaImpl.cpp:
620 (WebKit::DrawingAreaImpl::display): Bail out if the layout we perform puts us into
621 accelerated compositing mode. Moved the layout earlier in this function so we can bail
622 before doing other work that would be unnecessary in this case. Moved the allocation of the
623 ShareableBitmap earlier so we will leave our state (e.g., dirty region) intact even if the
626 2011-02-14 Adam Roben <aroben@apple.com>
628 Add a way to flash backing store and view updates
630 The new WKPageSetDebugPaintFlags SPI can be used to control whether backing store and/or
631 view updates are flashed. A blueish color is used for view updates, and a purpleish color is
632 used for backing store updates. The flashing currently only works on Windows.
634 Fixes <http://webkit.org/b/54303>.
636 Reviewed by Anders Carlsson.
638 * UIProcess/API/C/WKPage.cpp:
639 (WKPageSetDebugPaintFlags):
640 (WKPageGetDebugPaintFlags):
641 * UIProcess/API/C/WKPagePrivate.h:
642 Added. These call through to WebPageProxy.
644 * UIProcess/API/mac/PageClientImpl.h:
645 * UIProcess/API/mac/PageClientImpl.mm:
646 (WebKit::PageClientImpl::flashBackingStoreUpdates):
647 * UIProcess/API/qt/qwkpage.cpp:
648 (QWKPagePrivate::flashBackingStoreUpdates):
649 * UIProcess/API/qt/qwkpage_p.h:
650 Stubbed out new PageClient functions.
652 * UIProcess/DrawingAreaProxyImpl.cpp:
653 (WebKit::DrawingAreaProxyImpl::incorporateUpdate): Tell the WebPageProxy to flash the
654 backing store updates we're performing.
656 * UIProcess/PageClient.h: Added flashBackingStoreUpdates.
658 * UIProcess/WebPageProxy.cpp:
659 (WebKit::WebPageProxy::flashBackingStoreUpdates): Call through to the PageClient.
660 (WebKit::WebPageProxy::viewUpdatesFlashColor): Return the blueish color used for view
662 (WebKit::WebPageProxy::backingStoreUpdatesFlashColor): Return the purpleish color used for
663 backing store updates.
665 * UIProcess/WebPageProxy.h:
666 (WebKit::WebPageProxy::setDebugPaintFlags):
667 (WebKit::WebPageProxy::debugPaintFlags):
668 Added these simple accessors.
670 * UIProcess/win/WebView.cpp:
671 (WebKit::flashRects):
672 (WebKit::createBrush):
673 New helper functions.
675 (WebKit::WebView::onPaintEvent): Flash the dirty region if requested.
676 (WebKit::WebView::flashBackingStoreUpdates): Added. Calls through to flashRects.
678 * UIProcess/win/WebView.h: Added flashBackingStoreUpdates.
680 * win/WebKit2Generated.make: Export WKPagePrivate.h so clients can use it.
682 2011-02-14 Adam Roben <aroben@apple.com>
684 Add some .messages.in and script files to WebKit2 projects
686 This is just for convenience. It doesn't affect the build.
688 * win/WebKit2.vcproj: Also let VS resort some files.
689 * win/WebKit2Generated.vcproj:
691 2011-02-14 Balazs Kelemen <kbalazs@webkit.org>
693 Reviewed by Csaba Osztrogonác.
695 [Qt] Need implementation of ResourceRequest and ResourceResponse serialization
696 https://bugs.webkit.org/show_bug.cgi?id=54339
698 Add dummy implementation with FIXME and let the core go with it for now.
699 * Shared/qt/WebCoreArgumentCodersQt.cpp:
700 (CoreIPC::decodeResourceRequest):
701 (CoreIPC::decodeResourceResponse):
703 2011-02-13 Anders Carlsson <andersca@apple.com>
705 Reviewed by Maciej Stachowiak.
709 <rdar://problem/8995361>
710 CrashTracer: [USER] 47 crashes in WebProcess at com.apple.WebKit2: WebKit::WebPage::layoutIfNeeded + 4
712 * WebProcess/WebPage/DrawingAreaImpl.cpp:
713 (WebKit::DrawingAreaImpl::~DrawingAreaImpl):
714 Invalidate the layer tree host.
716 2011-02-13 Anders Carlsson <andersca@apple.com>
718 Reviewed by Dan Bernstein.
720 The plug-in process heap should be executable by default
721 https://bugs.webkit.org/show_bug.cgi?id=54364
722 <rdar://problem/8990563>
724 * UIProcess/Launcher/ProcessLauncher.h:
725 Add executableHeap flag.
727 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
728 (WebKit::ProcessLauncher::launchProcess):
729 Set the right posix_spawn flag if executableHeap is true.
731 * UIProcess/Plugins/PluginProcessProxy.cpp:
732 (WebKit::PluginProcessProxy::PluginProcessProxy):
733 Initialize executableHeap to true.
735 * UIProcess/WebProcessProxy.cpp:
736 (WebKit::WebProcessProxy::connect):
737 Initialize executableHeap to false.
739 2011-02-13 Anders Carlsson <andersca@apple.com>
741 Reviewed by Sam Weinig.
743 Messages waited on are never dispatched
744 https://bugs.webkit.org/show_bug.cgi?id=54362
745 <rdar://problem/8995051>
747 * Platform/CoreIPC/Connection.cpp:
748 (CoreIPC::Connection::processIncomingMessage):
749 Get the argument encoder from the incoming message.
751 2011-02-13 Jeremy Moskovich <jeremy@chromium.org>
753 Reviewed by Adam Barth.
755 Add a compile-time option to completely disable WebArchive support.
756 https://bugs.webkit.org/show_bug.cgi?id=52712
758 Add an ENABLE(WEB_ARCHIVE) compile-time setting and use it for all WebArchive code.
760 * WebProcess/WebPage/WebPage.cpp:
761 (WebKit::WebPage::updatePreferences):
763 2011-02-13 Alexey Proskuryakov <ap@apple.com>
765 Reviewed by Dan Bernstein.
767 https://bugs.webkit.org/show_bug.cgi?id=54348
768 Crash when printing a document with no pages
770 * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::drawPagesToPDF): Don't fail on a fake
771 page that computePagesForPrinting() added to a pageless document.
773 2011-02-13 Chris Fleizach <cfleizach@apple.com>
775 Reviewed and landed by Sam Weinig.
777 AX: Update WK2 usage of remote accessibility api
778 https://bugs.webkit.org/show_bug.cgi?id=54220
780 Rename some of the remote accessibility methods to be more accurate.
781 Make sure to unregister the AccessibilityWebPageObject on dealloc.
782 Send the window remote token along with the WKView remote token.
784 * UIProcess/API/mac/PageClientImpl.h:
785 * UIProcess/API/mac/PageClientImpl.mm:
786 (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):
787 * UIProcess/API/mac/WKView.mm:
788 (-[WKView _updateRemoteAccessibilityRegistration:]):
789 (-[WKView initWithFrame:contextRef:pageGroupRef:]):
790 (-[WKView viewDidMoveToWindow]):
791 (-[WKView _processDidCrash]):
792 (-[WKView _pageClosed]):
793 (-[WKView _setAccessibilityWebProcessToken:]):
794 * UIProcess/API/mac/WKViewInternal.h:
795 * UIProcess/PageClient.h:
796 * UIProcess/WebPageProxy.cpp:
797 (WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
798 (WebKit::WebPageProxy::registerUIProcessAccessibilityTokens):
799 * UIProcess/WebPageProxy.h:
800 * UIProcess/WebPageProxy.messages.in:
801 * WebProcess/WebPage/WebPage.h:
802 * WebProcess/WebPage/WebPage.messages.in:
803 * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm:
804 (-[AccessibilityWebPageObject dealloc]):
805 * WebProcess/WebPage/mac/WebPageMac.mm:
806 (WebKit::WebPage::platformInitialize):
807 (WebKit::WebPage::registerUIProcessAccessibilityTokens):
809 2011-02-11 Alexey Proskuryakov <ap@apple.com>
811 Reviewed by Anders Carlsson.
813 https://bugs.webkit.org/show_bug.cgi?id=54335
814 <rdar://problem/8895141> Make window.print() work with WebKit2
816 * Platform/CoreIPC/Connection.h: Corrected a typo in FIXME comment.
818 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
819 (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
820 (WebKit::ChunkedUpdateDrawingAreaProxy::update):
821 (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize):
822 * UIProcess/TiledDrawingAreaProxy.cpp:
823 (WebKit::TiledDrawingAreaProxy::sizeDidChange):
824 (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
825 (WebKit::TiledDrawingAreaProxy::takeSnapshot):
826 (WebKit::TiledDrawingAreaProxy::removeTile):
827 * UIProcess/LayerBackedDrawingAreaProxy.cpp:
828 (WebKit::LayerBackedDrawingAreaProxy::sizeDidChange):
829 (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible):
830 (WebKit::LayerBackedDrawingAreaProxy::update):
831 * UIProcess/WebContext.cpp:
832 (WebKit::WebContext::ensureWebProcess):
833 (WebKit::WebContext::postMessageToInjectedBundle):
834 Updated for send() -> deprecatedSend() rename.
836 * UIProcess/WebPageProxy.h:
837 * UIProcess/WebPageProxy.cpp:
838 (WebKit::WebPageProxy::WebPageProxy): Added a flag that's true while serving window.print().
839 (WebKit::WebPageProxy::printFrame): Set and unset m_isPerformingDOMPrintOperation.
840 (WebKit::WebPageProxy::beginPrinting): Force message processing in web process when serving
842 (WebKit::WebPageProxy::endPrinting): Ditto.
843 (WebKit::WebPageProxy::computePagesForPrinting): Ditto.
844 (WebKit::WebPageProxy::drawRectToPDF): Ditto.
845 (WebKit::WebPageProxy::drawPagesToPDF): Ditto.
847 * UIProcess/WebProcessProxy.cpp:
848 (WebKit::WebProcessProxy::~WebProcessProxy):
849 (WebKit::WebProcessProxy::sendMessage):
850 (WebKit::WebProcessProxy::didFinishLaunching):
851 When waiting for a web process to launch, store message flags, too. This is not practically
852 important for DispatchMessageEvenWhenWaitingForSyncReply, but it's easier to store flags
853 than to remember about this pitfall.
855 * UIProcess/WebProcessProxy.h:
856 (WebKit::WebProcessProxy::send): Added a flags argument, matching Connection::send().
857 (WebKit::WebProcessProxy::deprecatedSend): Renamed one of send() overloads, because it was
858 conflicting with the other one after adding a flags argument. This matches a change previously
859 made to CoreIPC::Connection.
861 2011-02-12 Chris Marrin <cmarrin@apple.com>
863 Reviewed by Dan Bernstein.
865 Crash in RenderLayerCompositor::updateCompositingLayers when loading some sites
866 https://bugs.webkit.org/show_bug.cgi?id=54345
868 Some sites flip between composited and non-comosited state while loading. When the timing is
869 right, when we flip out of compositing we will need to do a display while tossing all the
870 compositing layers. This causes us to reenter RenderLayerCompositor::computeCompositingRequirements()
871 while we are in the middle of tossing layers, which leads to a crash.
873 The solution is to defer the logic of exiting compositing mode until the DrawingArea is finished
874 doing its display, using a timer.
876 * WebProcess/WebPage/DrawingAreaImpl.cpp:
877 (WebKit::DrawingAreaImpl::DrawingAreaImpl):
878 (WebKit::DrawingAreaImpl::setRootCompositingLayer):
879 (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
880 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
881 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingModeSoon):
882 * WebProcess/WebPage/DrawingAreaImpl.h:
884 2011-02-12 Kevin Decker <kdecker@apple.com>
886 Reviewed by Dan Bernstein.
889 https://bugs.webkit.org/show_bug.cgi?id=54341 - optionally scale snapshots in document view coordinates
891 * WebProcess/WebPage/WebPage.cpp:
892 (WebKit::WebPage::scaledSnapshotInDocumentCoordinates): Fixed the order of the scale and translate.
894 2011-02-12 Kevin Decker <kdecker@apple.com>
896 Reviewed by Dan Bernstein.
898 https://bugs.webkit.org/show_bug.cgi?id=54341 - optionally scale snapshots in document view coordinates
899 <rdar://problem/8990069>
901 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
902 (WKBundlePageCreateScaledSnapshotInDocumentCoordinates): Added.
903 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Added above new function.
904 * WebProcess/WebPage/WebPage.cpp:
905 (WebKit::WebPage::scaledSnapshotInDocumentCoordinates): Added.
906 (WebKit::WebPage::snapshotInDocumentCoordinates): Call scaledSnapshotInDocumentCoordinates with a scale of 1.
907 * WebProcess/WebPage/WebPage.h: Added scaledSnapshotInDocumentCoordinates().
909 2011-02-11 Anders Carlsson <andersca@apple.com>
911 Reviewed by Maciej Stachowiak.
913 Can’t open local files on reload or navigation from the back/forward cache
914 https://bugs.webkit.org/show_bug.cgi?id=54332
915 <rdar://problem/8903076>
917 * UIProcess/WebInspectorProxy.cpp:
918 (WebKit::WebInspectorProxy::isInspectorPage):
919 * UIProcess/WebInspectorProxy.h:
920 Check whether the given page is a web inspector page.
922 * UIProcess/WebPageProxy.cpp:
923 (WebKit::WebPageProxy::initializeSandboxExtensionHandle):
924 If this is a web inspector page, we don't want to make a sandbox extension.
926 (WebKit::WebPageProxy::reattachToWebProcessWithItem):
927 (WebKit::WebPageProxy::goForward):
928 (WebKit::WebPageProxy::goBack):
929 (WebKit::WebPageProxy::goToBackForwardItem):
930 Pass a sandbox extension along when sending the message.
932 * UIProcess/WebPageProxy.h:
933 Make initializeSandboxExtensionHandle a member function.
935 * UIProcess/cf/WebPageProxyCF.cpp:
936 (WebKit::WebPageProxy::restoreFromSessionStateData):
937 Pass a sandbox extension along.
939 * WebProcess/WebPage/WebPage.cpp:
940 (WebKit::WebPage::goForward):
941 (WebKit::WebPage::goBack):
942 (WebKit::WebPage::goToBackForwardItem):
943 Hand the sandbox extension to the sandbox extension tracker.
945 (WebKit::WebPage::restoreSessionAndNavigateToCurrentItem):
946 Pass the sandbox extension to goToBackForwardItem.
948 (WebKit::shouldReuseCommittedSandboxExtension):
949 New function that checks whether a committed sandbox extension should be re-used. We
950 do this for page reloads, as well as regular page navigations when both the committed
951 and provisional documents have file URLs.
953 (WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad):
954 Reuse the committed sandbox extension if necessary.
956 * WebProcess/WebPage/WebPage.h:
957 * WebProcess/WebPage/WebPage.messages.in:
959 2011-02-11 Anders Carlsson <andersca@apple.com>
961 Fix Snow Leopard build.
963 * PluginProcess/PluginProcess.cpp:
964 (WebKit::PluginProcess::didFailToSendSyncMessage):
965 * WebProcess/WebProcess.cpp:
966 (WebKit::WebProcess::didFailToSendSyncMessage):
968 2011-02-11 Yael Aharon <yael.aharon@nokia.com>
970 Unreviewed Qt webkit2 build fix after r78392.
972 * WebProcess/WebProcess.h:
974 2011-02-11 Anders Carlsson <andersca@apple.com>
976 Reviewed by Sam Weinig.
978 WebProcess hung communicating with the plug-in process
979 https://bugs.webkit.org/show_bug.cgi?id=54328
980 <rdar://problem/8854075>
982 * UIProcess/Plugins/PluginProcessProxy.cpp:
983 (WebKit::PluginProcessProxy::createWebProcessConnection):
984 Add the DispatchMessageEvenWhenWaitingForSyncReply message send flag when sending the
985 PluginProcess::CreateWebProcessConnection message, since the plug-in process can be busy waiting
986 for a sync reply from the web process.
988 2011-02-11 Anders Carlsson <andersca@apple.com>
990 Reviewed by Sam Weinig.
992 Incoming synchronous messages should always be processed regardless of connection waiting for a reply
993 https://bugs.webkit.org/show_bug.cgi?id=54326
995 * Platform/CoreIPC/Connection.cpp:
996 (CoreIPC::Connection::SyncMessageState::getOrCreate):
997 Assert that the map has a non-null SyncMessageState object.
999 (CoreIPC::Connection::SyncMessageState::SyncMessageState):
1000 Initialize m_waitForSyncReplyCount.
1002 (CoreIPC::Connection::SyncMessageState::beginWaitForSyncReply):
1003 Increment m_waitForSyncReplyCount.
1005 (CoreIPC::Connection::SyncMessageState::endWaitForSyncReply):
1006 Decrement m_waitForSyncReplyCount. If it's 0, enqueue any incoming sync messages.
1008 (CoreIPC::Connection::SyncMessageState::processIncomingMessage):
1009 If this is a message that needs to be dispatched, add it to the queue and wake up the client run loop.
1011 (CoreIPC::Connection::SyncMessageState::dispatchMessages):
1012 Go through the queue of incoming messages and dispatch them.
1014 (CoreIPC::Connection::sendSyncMessage):
1015 call beginWaitForSyncReply/endWaitForSyncReply.
1017 (CoreIPC::Connection::waitForSyncReply):
1020 (CoreIPC::Connection::processIncomingMessage):
1021 Call SyncMessageState::processIncomingMessage.
1023 (CoreIPC::Connection::enqueueIncomingMessage):
1024 Add helper function for enqueuing an incoming message.
1026 * Platform/CoreIPC/Connection.h:
1027 (CoreIPC::Connection::Message::destinationID):
1029 2011-02-11 Sam Weinig <sam@webkit.org>
1031 Reviewed by Maciej Stachowiak.
1033 WebKit2: Going to Ars Technica crashes WebProcess in WebCore::ResourceRequestBase::url() const + 9
1034 <rdar://problem/8978832>
1036 Speculative fix for crash accessing a bad ResourceRequest in policy
1037 client code. Remove early returns from dispatchDecidePolicyForMIMEType
1038 and dispatchDecidePolicyForNavigationAction that are not present in the WebKit1
1039 equivalent code. This should be safe, now that the IPC calls are synchronous.
1041 Also removes some invalid assertions in WebFrameProxy that were getting hit. It is okay
1042 for the url to empty.
1044 * UIProcess/WebFrameProxy.cpp:
1045 (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
1046 (WebKit::WebFrameProxy::didFailProvisionalLoad):
1047 (WebKit::WebFrameProxy::didFailLoad):
1048 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1049 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
1050 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
1052 2011-02-11 Alexey Proskuryakov <ap@apple.com>
1054 Reviewed by Darin Adler and Anders Carlsson.
1056 https://bugs.webkit.org/show_bug.cgi?id=53593
1057 <rdar://problem/8948380> Crash beneath HistoryController::recursiveSetProvisionalItem in web
1058 process (preceded by assertion failure) if UI process exits while
1059 Messages::WebPage::RestoreSessionAndNavigateToCurrentItem is being handled
1061 Can't test exiting the UI process.
1063 * Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::sendSyncMessage):
1064 * Platform/CoreIPC/Connection.h: (CoreIPC::Connection::Client::didFailToSendSyncMessage):
1065 Notify connection client when the connection fails to send a sync message.
1067 * WebProcess/WebProcess.cpp: (WebKit::WebProcess::didFailToSendSyncMessage):
1068 * WebProcess/WebProcess.h:
1069 Quit the web process immediately if it tried to send a sync message to a dead UI process.
1070 It never needs to continue and handle an unexpected null "reply".
1072 * PluginProcess/PluginProcess.cpp: (WebKit::PluginProcess::didFailToSendSyncMessage):
1073 * PluginProcess/PluginProcess.h:
1074 Ditto. There is no need for a plug-in to keep running even briefly if it couldn't get a
1075 reply to a sync message.
1077 2011-02-11 Anders Carlsson <andersca@apple.com>
1079 Reviewed by Sam Weinig.
1081 Add a way to send async messages that can't get out of order with sync ones
1082 https://bugs.webkit.org/show_bug.cgi?id=54319
1083 <rdar://problem/8894844>
1085 * Platform/CoreIPC/Connection.cpp:
1086 (CoreIPC::Connection::sendMessage):
1087 sendMessage now takes a messageSendFlags. Update the messageID if the
1088 messageSendFlags contain DispatchMessageEvenWhenWaitingForSyncReply.
1090 (CoreIPC::Connection::waitForSyncReply):
1091 Process asynchronous messages as well.
1093 (CoreIPC::Connection::processIncomingMessage):
1094 Check if a message should be dispatched even when we're waiting for a
1097 * Platform/CoreIPC/Connection.h:
1098 (CoreIPC::Connection::send):
1099 Send now takes a messageSendFlags parameter.
1101 * Platform/CoreIPC/MessageID.h:
1102 (CoreIPC::MessageID::messageIDWithAddedFlags):
1103 Return a new MessageID object with the given flags added.
1105 (CoreIPC::MessageID::shouldDispatchMessageWhenWaitingForSyncReply):
1108 2011-02-11 Sam Weinig <sam@webkit.org>
1110 Reviewed by Anders Carlsson.
1112 Crash with dynamic popup menu use
1113 <rdar://problem/8716952>
1115 Invalidate popup menus when forcing them closed, since they might still be
1116 in their tracking loop.
1118 * UIProcess/WebPageProxy.cpp:
1119 (WebKit::WebPageProxy::showPopupMenu):
1120 (WebKit::WebPageProxy::hidePopupMenu):
1121 * UIProcess/WebPopupMenuProxy.h:
1122 (WebKit::WebPopupMenuProxy::invalidate):
1123 * UIProcess/mac/WebPopupMenuProxyMac.mm:
1124 (WebKit::WebPopupMenuProxyMac::showPopupMenu):
1125 * UIProcess/win/WebPopupMenuProxyWin.cpp:
1126 (WebKit::WebPopupMenuProxyWin::showPopupMenu):
1127 (WebKit::WebPopupMenuProxyWin::setFocusedIndex):
1129 2011-02-11 Anders Carlsson <andersca@apple.com>
1131 Reviewed by Adam Roben.
1133 Actually initialize m_syncMessageState.
1135 * Platform/CoreIPC/Connection.cpp:
1136 (CoreIPC::Connection::Connection):
1138 2011-02-11 Anders Carlsson <andersca@apple.com>
1140 Reviewed by Adam Roben.
1142 Move the binary semaphore into SyncMessageState
1143 https://bugs.webkit.org/show_bug.cgi?id=54311
1145 With this change, all connections that belong to the same run loop will use same binary semaphore.
1146 This is in preparation for making any connection be able to wakeup the client run loop.
1148 * Platform/CoreIPC/Connection.cpp:
1149 (CoreIPC::Connection::SyncMessageState::wakeUpClientRunLoop):
1150 (CoreIPC::Connection::SyncMessageState::wait):
1151 (CoreIPC::Connection::waitForSyncReply):
1152 (CoreIPC::Connection::processIncomingMessage):
1153 (CoreIPC::Connection::connectionDidClose):
1154 * Platform/CoreIPC/Connection.h:
1156 2011-02-11 Anders Carlsson <andersca@apple.com>
1158 Reviewed by Adam Roben.
1160 Add a SyncMessageState class to CoreIPC::Connection
1161 https://bugs.webkit.org/show_bug.cgi?id=54309
1163 SyncMessageState objects are shared between all connections scheduled on
1164 a given run loop. It will be used to keep track of state when waiting
1165 for replies for a synchronous message.
1167 * Platform/CoreIPC/Connection.cpp:
1168 (CoreIPC::Connection::SyncMessageState::syncMessageStateMap):
1169 (CoreIPC::Connection::SyncMessageState::syncMessageStateMapMutex):
1170 Add a global RunLoop -> SyncMessageState map and a mutex for locking.
1172 (CoreIPC::Connection::SyncMessageState::getOrCreate):
1173 Look in the map for an existing SyncMessageState object and create a new
1174 one if none is found.
1176 (CoreIPC::Connection::SyncMessageState::SyncMessageState):
1177 Initialize m_runLoop.
1179 (CoreIPC::Connection::SyncMessageState::~SyncMessageState):
1180 Remove the object from the map.
1182 2011-02-11 Enrica Casucci <enrica@apple.com>
1184 Reviewed by Darin Adler.
1186 crashes in WebProcess at WebCore::Range::startPosition const + 16
1187 https://bugs.webkit.org/show_bug.cgi?id=54294
1188 <rdar://problem/8982710>
1190 I don't have a repro case for this bugs, but the side-by-side
1191 comparison of the IME support implementation in WebKit and WebKi2
1192 shows a missing null check on a Range that could very well explain
1194 I tried running platform/mac/editing/input tests with a version of WebKit
1195 without the null check and I can reproduce a crash with the same signature.
1196 These tests are not yet enabled for WebKit2.
1198 * WebProcess/WebPage/mac/WebPageMac.mm:
1199 (WebKit::WebPage::firstRectForCharacterRange):
1201 2011-02-11 Jeff Miller <jeffm@apple.com>
1203 Reviewed by Steve Falkenburg.
1205 Eliminate /DELAYLOAD:msimg32.dll ignored warning when building WebKit project
1206 https://bugs.webkit.org/show_bug.cgi?id=54296
1208 * win/WebKit2Common.vsprops: Remove msimg32.dll from the list of DelayLoadDLLs.
1210 2011-02-11 Chandra Vallala <chandra.vallala@motorola.com> and Alejandro G. Castro <alex@igalia.com>
1212 Reviewed by Martin Robinson.
1214 [GTK] Implement UpdateChunk, ChunkedUpdateDrawingArea/Proxy
1216 https://bugs.webkit.org/show_bug.cgi?id=54080
1219 * Shared/gtk/UpdateChunk.cpp: Added.
1220 (WebKit::UpdateChunk::UpdateChunk):
1221 (WebKit::UpdateChunk::~UpdateChunk):
1222 (WebKit::UpdateChunk::encode):
1223 (WebKit::UpdateChunk::decode):
1224 (WebKit::UpdateChunk::createImage):
1225 * Shared/gtk/UpdateChunk.h: Added.
1226 (WebKit::UpdateChunk::rect):
1227 (WebKit::UpdateChunk::isEmpty):
1228 (WebKit::UpdateChunk::size):
1229 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
1230 (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
1231 Initialize the surface.
1232 * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
1233 * UIProcess/DrawingAreaProxy.h: Added cairo variables.
1234 * UIProcess/gtk/ChunkedUpdateDrawingAreaProxyGtk.cpp: Added.
1235 (WebKit::ChunkedUpdateDrawingAreaProxy::page):
1236 (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
1237 (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore):
1238 (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
1239 (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
1240 * WebProcess/WebPage/gtk/ChunkedUpdateDrawingAreaGtk.cpp: Added.
1241 (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
1243 2011-02-10 Anders Carlsson <andersca@apple.com>
1245 Reviewed by Dan Bernstein.
1247 Repro crash with Sony Google TV ad at Gizmodo
1248 https://bugs.webkit.org/show_bug.cgi?id=54150
1249 <rdar://problem/8782346>
1251 Re-landing this fix, bug without the test case, since it causes hangs on the bots.
1252 https://bugs.webkit.org/show_bug.cgi?id=54171 tracks adding back the test.
1254 Since PluginView::evaluate can cause the plug-in element to go away, we need to protect it.
1256 * WebProcess/Plugins/PluginView.cpp:
1257 (WebKit::PluginView::~PluginView):
1258 Null out m_pluginElement here so we'll catch crashes earlier.
1260 (WebKit::PluginView::evaluate):
1261 Add a plug-in protector.
1263 2011-02-10 Alice Liu <alice.liu@apple.com>
1265 Reviewed by Enrica Casucci and Adele Peterson.
1267 WebKit2 pages gobble up cmd-I as an editing command in some cases where it shouldn't
1268 https://bugs.webkit.org/show_bug.cgi?id=54254
1270 * UIProcess/API/mac/WKView.mm:
1271 (-[WKView _handleStyleKeyEquivalent:]):
1272 Return early if we're not in an editable region.
1274 2011-02-10 Andreas Kling <kling@webkit.org>
1276 Unreviewed Qt build fix.
1278 waitFor() -> deprecatedWaitFor()
1280 * UIProcess/TiledDrawingAreaProxy.cpp:
1281 (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete):
1283 2011-02-10 Anders Carlsson <andersca@apple.com>
1285 Reviewed by Adam Roben.
1287 Move code to dispatch an incoming message out into a new function
1288 https://bugs.webkit.org/show_bug.cgi?id=54239
1290 This also fixes a leak where we wouldn't free ArgumentDecoder objects
1291 after a connection has been invalidated.
1293 * Platform/CoreIPC/Connection.cpp:
1294 (CoreIPC::Connection::dispatchMessage):
1295 (CoreIPC::Connection::dispatchMessages):
1296 * Platform/CoreIPC/Connection.h:
1298 2011-02-10 Anders Carlsson <andersca@apple.com>
1300 Try again to fix the Qt build.
1302 * UIProcess/TiledDrawingAreaProxy.cpp:
1303 (WebKit::TiledDrawingAreaProxy::sizeDidChange):
1304 (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
1305 (WebKit::TiledDrawingAreaProxy::takeSnapshot):
1306 (WebKit::TiledDrawingAreaProxy::removeTile):
1308 2011-02-10 Anders Carlsson <andersca@apple.com>
1310 Attempt to fix the Qt build.
1312 * UIProcess/TiledDrawingAreaProxy.cpp:
1313 (WebKit::TiledDrawingAreaProxy::sizeDidChange):
1314 (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
1315 (WebKit::TiledDrawingAreaProxy::requestTileUpdate):
1316 (WebKit::TiledDrawingAreaProxy::takeSnapshot):
1317 (WebKit::TiledDrawingAreaProxy::removeTile):
1318 * WebProcess/WebPage/TiledDrawingArea.cpp:
1319 (WebKit::TiledDrawingArea::display):
1320 (WebKit::TiledDrawingArea::setSize):
1321 (WebKit::TiledDrawingArea::updateTile):
1322 (WebKit::TiledDrawingArea::tileUpdateTimerFired):
1323 (WebKit::TiledDrawingArea::didReceiveMessage):
1325 2011-02-10 Adam Roben <aroben@apple.com>
1327 Handle a null FindIndicator correctly
1329 We are passed a null FindIndicator when the find indicator becomes hidden.
1331 Fixes <http://webkit.org/b/54213> <rdar://problem/8983261> REGRESSION (r78198): Crash in
1332 FindIndicator::contentImage when scrolling page
1334 Reviewed by Steve Falkenburg.
1336 * Platform/win/SharedMemoryWin.cpp:
1337 (WebKit::SharedMemory::Handle::isNull): Implemented.
1338 (WebKit::SharedMemory::create): Bail out if the handle is null, just like Mac does.
1339 Otherwise assert that ::MapViewOfFile succeeded. This doesn't fix the bug, but should help
1342 * UIProcess/win/WebView.cpp:
1343 (WebKit::WebView::setFindIndicator): Null-check the FindIndicator before dereferencing it.
1344 Also changed the function to store the FindIndicator in a RefPtr.
1346 2011-02-10 Anders Carlsson <andersca@apple.com>
1348 Reviewed by Sam Weinig.
1350 Add 'deprecated' to the deprecated CoreIPC functions
1351 https://bugs.webkit.org/show_bug.cgi?id=54223
1353 * Platform/CoreIPC/Connection.cpp:
1354 (CoreIPC::Connection::sendMessage):
1355 * Platform/CoreIPC/Connection.h:
1356 (CoreIPC::Connection::send):
1357 (CoreIPC::Connection::deprecatedSendSync):
1358 (CoreIPC::Connection::deprecatedSend):
1359 (CoreIPC::Connection::deprecatedWaitFor):
1360 * Platform/CoreIPC/mac/ConnectionMac.cpp:
1361 (CoreIPC::Connection::open):
1362 * PluginProcess/PluginProcess.cpp:
1363 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
1364 (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
1365 * UIProcess/Plugins/PluginProcessProxy.cpp:
1366 (WebKit::PluginProcessProxy::createWebProcessConnection):
1367 * WebProcess/InjectedBundle/InjectedBundle.cpp:
1368 (WebKit::InjectedBundle::postMessage):
1369 (WebKit::InjectedBundle::postSynchronousMessage):
1370 * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
1371 (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
1372 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
1373 (WebKit::ChunkedUpdateDrawingArea::display):
1374 (WebKit::ChunkedUpdateDrawingArea::setSize):
1375 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
1376 (WebKit::LayerBackedDrawingArea::setSize):
1377 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
1378 (WebKit::LayerBackedDrawingArea::attachCompositingContext):
1380 2011-02-10 Sam Weinig <sam@webkit.org>
1382 Reviewed by Anders Carlsson.
1384 Window resizer does not have a border when there are scrollbars in WebKit2 windows
1385 <rdar://problem/8488476>
1386 https://bugs.webkit.org/show_bug.cgi?id=54222
1388 * UIProcess/API/mac/PageClientImpl.h:
1389 * UIProcess/API/mac/PageClientImpl.mm:
1390 (WebKit::PageClientImpl::didChangeScrollbarsForMainFrame):
1391 * UIProcess/API/mac/WKView.mm:
1392 (-[WKView _updateGrowBoxForWindowFrameChange]):
1393 (-[WKView _didChangeScrollbarsForMainFrame]):
1394 * UIProcess/API/mac/WKViewInternal.h:
1395 * UIProcess/API/qt/qwkpage_p.h:
1396 (QWKPagePrivate::didChangeScrollbarsForMainFrame):
1397 * UIProcess/PageClient.h:
1398 * UIProcess/WebPageProxy.cpp:
1399 (WebKit::WebPageProxy::didChangeScrollbarsForMainFrame):
1400 * UIProcess/win/WebView.cpp:
1401 (WebKit::WebView::didChangeScrollbarsForMainFrame):
1402 * UIProcess/win/WebView.h:
1404 2011-02-10 Ivan Krstić <ike@apple.com>
1406 Reviewed by Adam Roben.
1408 Rename remaining instances of _HOME sandbox parameter.
1409 <rdar://problem/8983428>
1411 * WebProcess/com.apple.WebProcess.sb:
1413 2011-02-10 Chris Fleizach <cfleizach@apple.com>
1415 Reviewed by Anders Carlsson.
1417 AX: AX needs to stop using WebCoreViewFactory
1418 https://bugs.webkit.org/show_bug.cgi?id=54153
1420 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1421 (InitWebCoreSystemInterface):
1423 2011-02-10 Sam Weinig <sam@webkit.org>
1425 Reviewed by Anders Carlsson.
1427 Sandbox violations trying to read crypto preferences.
1428 <rdar://problem/8981151>
1430 * WebProcess/com.apple.WebProcess.sb:
1432 2011-02-10 Peter Varga <pvarga@webkit.org>
1434 Reviewed by Csaba Osztrogonác.
1436 Remove PCRE source from trunk
1437 https://bugs.webkit.org/show_bug.cgi?id=54188
1441 2011-02-09 Adam Roben <aroben@apple.com>
1443 Turn on the new drawing area on Windows
1445 Fixes <http://webkit.org/b/53805> <rdar://problem/8960666> WebKit2 on Windows should use
1446 DrawingAreaProxyImpl
1448 Reviewed by Darin Adler.
1450 * UIProcess/win/WebView.cpp:
1451 (WebKit::useNewDrawingArea): Return true!
1453 2011-02-09 Adam Roben <aroben@apple.com>
1455 Hook up WM_PRINT to the new drawing area
1457 Fixes <http://webkit.org/b/54145> <rdar://problem/8979559> WM_PRINT doesn't work with new
1458 drawing area (assertion failure in DrawingAreaProxyImpl in Debug builds)
1460 Reviewed by Darin Adler.
1462 * UIProcess/win/WebView.cpp:
1463 (WebKit::WebView::paint): Added. Code came from onPaintEvent.
1465 (WebKit::WebView::onPaintEvent):
1466 (WebKit::WebView::onPrintClientEvent):
1467 Changed to call paint.
1469 * UIProcess/win/WebView.h: Added paint. Also separated message handler functions into their
1472 2011-02-09 Adam Roben <aroben@apple.com>
1474 Notice when the backing store goes away after DidSetSize
1476 Fixes <http://webkit.org/b/54142> <rdar://problem/8979365> Crash in
1477 DrawingAreaProxyImpl::paint when WKView paints after being resized while hidden
1479 Reviewed by Darin Adler.
1481 * UIProcess/DrawingAreaProxyImpl.cpp:
1482 (WebKit::DrawingAreaProxyImpl::paint): Null-check m_backingStore after waiting for
1483 DidSetSize, as m_backingStore can go away when we receive that message. This is the bug fix.
1484 Also moved the accelerated compositing check inside the block where we wait for DidSetSize.
1485 If we didn't wait for DidSetSize, we already know that we're not in accelerated compositing
1486 mode (and asserted so earlier in this function).
1488 2011-02-09 Adam Roben <aroben@apple.com>
1490 Decode a null SharedMemory::Handle correctly on Windows
1492 Fixes <http://webkit.org/b/54141> <rdar://problem/8979195> WKView draws at wrong size,
1493 performs badly if is resized while hidden (assertion fails in
1494 BackingStore::incorporateUpdate in Debug builds)
1496 Reviewed by Darin Adler.
1498 * Platform/win/SharedMemoryWin.cpp:
1499 (WebKit::getDuplicatedHandle): Added. Code came from decode. The only changes were to
1500 null-check sourceHandle (this is the bug fix) and to assert when ::DuplicateHandle fails
1501 (which would have caught the bug earlier).
1502 (WebKit::SharedMemory::Handle::decode): Changed to use getDuplicatedHandle.
1504 2011-02-09 Adam Roben <aroben@apple.com>
1506 Don't invalidate outside of the WebPage's bounds
1508 Fixes <http://webkit.org/b/54123> <rdar://problem/8978383> Assertion failure in
1509 BackingStore::BackingStore if a new WebPage becomes active before receiving a size
1511 Reviewed by Darin Adler.
1513 * WebProcess/WebPage/DrawingAreaImpl.cpp:
1514 (WebKit::DrawingAreaImpl::setNeedsDisplay): Intersect the dirty rect with our bounds before
1515 doing anything else.
1516 (WebKit::DrawingAreaImpl::display): Added an assertion to help catch the bad case a little
1519 2011-02-10 Eric Seidel <eric@webkit.org>
1521 Unreviewed, rolling out r78157.
1522 http://trac.webkit.org/changeset/78157
1523 https://bugs.webkit.org/show_bug.cgi?id=54150
1525 Fails on a bunch of bots
1527 * WebProcess/Plugins/PluginView.cpp:
1528 (WebKit::PluginView::~PluginView):
1529 (WebKit::PluginView::evaluate):
1531 2011-02-09 Brian Weinstein <bweinstein@apple.com>
1533 Rubber-stamped by Sam Weinig.
1535 Fix a typo in WebSecurityOrigin::protocol.
1537 * Shared/WebSecurityOrigin.h:
1538 (WebKit::WebSecurityOrigin::protocol): This should return the protocol, not the domain.
1540 2011-02-09 Sam Weinig <sam@webkit.org>
1542 Reviewed by Darin Adler.
1544 File uploads do not work within the sandbox
1545 <rdar://problem/8950518>
1546 https://bugs.webkit.org/show_bug.cgi?id=54154
1548 * UIProcess/WebPageProxy.cpp:
1549 (WebKit::WebPageProxy::didChooseFilesForOpenPanel):
1550 * WebProcess/WebPage/WebPage.cpp:
1551 (WebKit::WebPage::extendSandboxForFileFromOpenPanel):
1552 * WebProcess/WebPage/WebPage.h:
1553 * WebProcess/WebPage/WebPage.messages.in:
1555 2011-02-09 Alexey Proskuryakov <ap@apple.com>
1557 Reviewed by Darin Adler.
1559 https://bugs.webkit.org/show_bug.cgi?id=54148
1560 <rdar://problem/8973887> REGRESSION (WebKit2): Opening two print dialogs causes havoc
1562 * UIProcess/API/mac/WKPrintingView.h: Moved _isForcingPreviewUpdate into a static variable,
1563 because dispatching a notification affects all WKPrintingViews at once.
1564 * UIProcess/API/mac/WKPrintingView.mm:
1565 (-[WKPrintingView _updatePreview]): Updated for new variable name.
1566 (-[WKPrintingView knowsPageRange:]): Don't break if the method is called twice in a row
1567 (we already had this logic when printing from separate thread, but not for preview).
1568 (-[WKPrintingView drawRect:]): Changed all LOG messages to have view object address for
1570 (-[WKPrintingView rectForPage:]): Ditto.
1571 (-[WKPrintingView beginDocument]): Ditto.
1572 (-[WKPrintingView endDocument]): Ditto.
1574 2011-02-09 Anders Carlsson <andersca@apple.com>
1576 Reviewed by Sam Weinig.
1578 Repro crash with Sony Google TV ad at Gizmodo
1579 https://bugs.webkit.org/show_bug.cgi?id=54150
1581 Since PluginView::evaluate can cause the plug-in element to go away, we need to protect it.
1583 * WebProcess/Plugins/PluginView.cpp:
1584 (WebKit::PluginView::~PluginView):
1585 Null out m_pluginElement here so we'll catch crashes earlier.
1587 (WebKit::PluginView::evaluate):
1588 Add a plug-in protector.
1590 2011-02-09 Sam Weinig <sam@webkit.org>
1592 Reviewed by Maciej Stachowiak.
1594 Google Maps says it has horizontal scrollbars when it doesn't
1595 <rdar://problem/8978005>
1597 We were updating the main frame's scrollbar state for changes to
1598 frames other than the main frame.
1600 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1601 (WebKit::WebChromeClient::contentsSizeChanged):
1602 * WebProcess/WebCoreSupport/WebChromeClient.h:
1603 (WebKit::WebChromeClient::WebChromeClient):
1604 Change to bail out early if we are not looking at the main frame. Also
1605 fix some silly typos and rename the variables to be more specific.
1607 2011-02-09 Ivan Krstić <ike@apple.com>
1609 Reviewed by Sam Weinig.
1611 Allow read-only access to mouse preferences from sandboxed WebProcess.
1612 <rdar://problem/8975279>
1614 * WebProcess/com.apple.WebProcess.sb:
1616 2011-02-09 Steve Falkenburg <sfalken@apple.com>
1623 2011-02-09 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
1625 Reviewed by Martin Robinson.
1627 [GTK] Implement Module class for WebKit2
1628 https://bugs.webkit.org/show_bug.cgi?id=48510
1631 * Platform/Module.h: Added GModule handle for GTK port.
1632 * Platform/gtk/ModuleGtk.cpp: Initial code using GModule calls.
1633 (WebKit::Module::load):
1634 (WebKit::Module::unload):
1635 (WebKit::Module::platformFunctionPointer):
1637 2011-02-09 Chandra Vallala <chandra.vallala@motorola.com> and Alejandro G. Castro <alex@igalia.com>
1639 Reviewed by Martin Robinson.
1641 [GTK] Implement WKBaseGtk API for Webkit2
1642 https://bugs.webkit.org/show_bug.cgi?id=54081
1644 * GNUmakefile.am: Added new files to compilation.
1645 * Shared/API/c/WKBase.h: Included WKBaseGtk.h in this file.
1646 * Shared/API/c/gtk: Added.
1647 * Shared/API/c/gtk/WKBaseGtk.h: Added. Declaration of WKViewRef
1649 * UIProcess/API/C/WKAPICast.h: Included WKAPICastGtk.h in this
1651 * UIProcess/API/C/gtk: Added.
1652 * UIProcess/API/C/gtk/WKAPICastGtk.h: Added. Type definition
1653 template for WKViewRef to WebView and vice-versa.
1654 * UIProcess/API/C/gtk/WKView.cpp: Added. Implementation of WKView
1659 (WKURLCreateWithURL):
1660 * UIProcess/API/C/gtk/WKView.h: Added. Declaration of WKView API
1663 2011-02-09 Alejandro G. Castro <alex@igalia.com>
1665 Reviewed by Martin Robinson.
1667 [GTK] Add WebGraphicsContext stub to the compilation
1668 https://bugs.webkit.org/show_bug.cgi?id=54078
1671 * Shared/API/c/gtk/WKGraphicsContextGtk.cpp: Added stub just for
1673 (WKGraphicsContextGetGtkContext):
1674 * Shared/API/c/gtk/WKGraphicsContextGtk.h: Added stub just for
1676 * Shared/WebGraphicsContext.cpp:
1677 (WebKit::WebGraphicsContext::WebGraphicsContext):
1678 * Shared/WebGraphicsContext.h:
1679 (WebKit::WebGraphicsContext::platformContext):
1681 2011-02-09 Alejandro G. Castro <alex@igalia.com>
1683 Reviewed by Martin Robinson.
1685 [GTK] Add geolocation support to the webkit2 compilation
1686 https://bugs.webkit.org/show_bug.cgi?id=54077
1688 Add Geolocation files to the GTK compilation.
1692 2011-02-09 Andras Becsi <abecsi@webkit.org>
1694 Reviewed by Csaba Osztrogonác.
1696 [Qt][WK2] Don't generate superfluous forwarding header for config.h.
1698 * Scripts/generate-forwarding-headers.pl:
1700 2011-02-09 Adam Roben <aroben@apple.com>
1702 Hide the ugly details of WebView::m_window initialization from WebPageProxy, and make it
1705 WebView::WebView was initially creating a hidden window, then showing it. It would tell
1706 WebPageProxy about the window while it was still hidden, and then have to inform
1707 WebPageProxy that the window had become shown. This resulted in WebPageProxy sending
1708 unnecessary messages to the web process, and confused code that assumed that the window
1709 would be in the same state after WebView's constructor exited as it was when WebPageProxy
1710 first found out about the window.
1712 We now don't hide the window when creating it, which simplifies the code, and only tell
1713 WebPageProxy about the window after we're done modifying it, which fixes the bug.
1715 Fixes <http://webkit.org/b/53878> <rdar://problem/8977306> Assertion failure in
1716 DrawingAreaImpl::resumePainting after window.open or when opening Web Inspector
1718 Reviewed by Anders Carlsson.
1720 * UIProcess/win/WebView.cpp:
1721 (WebKit::WebView::WebView): Changed ::CreateWindowEx to ::CreateWindowExW, to match other
1722 Win32 API calls in WebKit2. Pass WS_VISIBLE to ::CreateWindowExW rather than waiting until
1723 later to show the window. Added an assertion that m_isVisible matches the window's visible
1724 state. Don't even create our WebPageProxy, or tell it about our window, until we're done
1725 initializing our window, so that it doesn't get informed about our window's internal state
1726 changes that happen beneath ::CreateWindowExW.
1727 (WebKit::WebView::onSizeEvent): Null-check m_page since we can receive this message beneath
1729 (WebKit::WebView::onShowWindowEvent): Ditto. Replaced one FIXME with another. Always set
1730 handled to false so that ::DefWindowProcW can do its thing. (MSDN says this is when it
1731 actually shows/hides the window, though I couldn't find any consequences of not calling
1732 ::DefWindowProcW here.)
1734 2011-02-09 Pavel Feldman <pfeldman@chromium.org>
1736 Reviewed by Yury Semikhatsky.
1738 Web Inspector: follow up on InspectorAgent split -
1739 removing unnecessary methods from InspectorController.
1740 https://bugs.webkit.org/show_bug.cgi?id=54093
1742 * WebProcess/WebPage/WebInspector.cpp:
1743 (WebKit::WebInspector::showConsole):
1744 (WebKit::WebInspector::stopJavaScriptProfiling):
1746 2011-02-09 Alejandro G. Castro <alex@igalia.com>
1748 Reviewed by Martin Robinson.
1750 [GTK] Avoid WebProcessMain compilation, we are used a gtk specific main
1751 https://bugs.webkit.org/show_bug.cgi?id=54015
1753 Avoided the compilation of the general WebProcessMain, and added
1754 soup initialization to WebProcessMainGtk.cpp.
1757 * WebProcess/gtk/WebProcessMainGtk.cpp:
1758 (WebKit::WebProcessMainGtk):
1760 2011-02-08 Alejandro G. Castro <alex@igalia.com>
1762 Reviewed by Martin Robinson.
1764 [GTK] Incorrect assertion in WorkQueueGtk, we need to register
1765 more than one handle
1766 https://bugs.webkit.org/show_bug.cgi?id=54014
1768 Fixed assertion condition we need to register more than one
1769 handler for the same file descriptor.
1771 * Platform/gtk/WorkQueueGtk.cpp:
1772 (WorkQueue::registerEventSourceHandler):
1774 2011-02-08 Alejandro G. Castro <alex@igalia.com>
1776 Reviewed by Martin Robinson.
1778 Fix typo in the include guards name in ChunkedUpdateDrawingAreaProxy.h
1779 https://bugs.webkit.org/show_bug.cgi?id=54013
1781 * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
1783 2011-02-08 Alejandro G. Castro <alex@igalia.com>
1785 Reviewed by Martin Robinson.
1787 [GTK] Fix after r77874, m_isConnected is initialized before the
1789 https://bugs.webkit.org/show_bug.cgi?id=54011
1791 Fixed connection breakage after r77874, we have to wait until open
1792 the socket to open the connection.
1794 * Platform/CoreIPC/gtk/ConnectionGtk.cpp:
1795 (CoreIPC::Connection::platformInitialize):
1796 (CoreIPC::Connection::open):
1798 2011-02-08 Alejandro G. Castro <alex@igalia.com>
1800 Reviewed by Martin Robinson.
1802 [WK2] LayerTreeContext is used outside the ACCELERATED_COMPOSITING
1803 guards but not defined in DrawingAreaProxy.h
1804 https://bugs.webkit.org/show_bug.cgi?id=54009
1806 Removed the guards in the forward declaration, this will fail if
1807 the class is finally used in the function, but it works for the
1810 * UIProcess/DrawingAreaProxy.h:
1812 2011-02-08 Alejandro G. Castro <alex@igalia.com>
1814 Reviewed by Martin Robinson.
1816 WebKit2 GTK Fails to Build #include nested too deeply
1817 https://bugs.webkit.org/show_bug.cgi?id=52219
1819 * GNUmakefile.am: Removed the commands to create the directories
1820 for the forwarding headers, the script already does it for us.
1821 * config.h: Removed the config.h inclusion and added the
1822 autotoolsconfig.h directly, also added a condition to share the
1825 2011-02-08 Maciej Stachowiak <mjs@apple.com>
1827 Reviewed by Mark Rowe.
1829 Crash when going back/forward when back/forward list is in a bad state.
1830 https://bugs.webkit.org/show_bug.cgi?id=54059
1831 <rdar://problem/8975244>
1833 * UIProcess/WebPageProxy.cpp:
1834 (WebKit::WebPageProxy::goForward): Add a null check.
1835 (WebKit::WebPageProxy::goBack): ditto
1837 2011-02-08 Anders Carlsson <andersca@apple.com>
1839 Reviewed by Beth Dakin.
1841 Assertion failure !isInAcceleratedCompositingMode() in DrawingAreaProxyImpl::incorporateUpdate()
1842 https://bugs.webkit.org/show_bug.cgi?id=54046
1843 <rdar://problem/8973960>
1845 DrawingAreaImpl::setRootCompositingLayer can be called with a new layer even when already
1846 in accelerated compositing mode. Similarly, it can be called with a null layer even when not
1847 in accelerated compositing mode. Make the drawing area and layer tree host handle both these cases.
1849 * WebProcess/WebPage/DrawingAreaImpl.cpp:
1850 (WebKit::DrawingAreaImpl::setRootCompositingLayer):
1851 Only call enterAcceleratedCompositingMode if there is no layer tree host, otherwise
1852 just call LayerTreeHost::setRootCompositingLayer.
1854 (WebKit::DrawingAreaImpl::setSize):
1857 (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
1858 Assert that we don't have a layer tree host.
1860 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
1861 Assert that we do have a layer tree host.
1863 (WebKit::DrawingAreaImpl::display):
1864 If the call to display caused the page to enter accelerated compositing mode, we don't
1865 want to send back an Update message.
1867 * WebProcess/WebPage/LayerTreeHost.cpp:
1868 (WebKit::LayerTreeHost::create):
1869 * WebProcess/WebPage/LayerTreeHost.h:
1870 Create no longer takes a graphics layer.
1872 * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
1873 (WebKit::LayerTreeHostMac::create):
1874 (WebKit::LayerTreeHostMac::LayerTreeHostMac):
1875 Create no longer takes a graphics layer.
1877 (WebKit::LayerTreeHostMac::setRootCompositingLayer):
1878 Set the new root compositing layer.
1880 2011-02-08 Adam Roben <aroben@apple.com>
1882 Implement WorkQueue::scheduleWorkAfterDelay on Windows
1884 Each WorkQueue now owns its own timer queue. When scheduleWorkAfterDelay is called, we
1885 create a timer-queue timer with the given delay. When the timer fires, we schedule the work
1886 on the queue and clean up the timer.
1888 Fixes <http://webkit.org/b/54040> <rdar://problem/8974230> Web process sticks around forever
1889 if it's hung when UI process goes away
1891 Reviewed by Anders Carlsson.
1893 * Platform/WorkQueue.h: Added timerCallback and m_timerQueue.
1895 * Platform/win/WorkQueueWin.cpp:
1896 (WorkQueue::platformInitialize): Initialize m_timerQueue.
1897 (WorkQueue::platformInvalidate): Clean up m_timerQueue.
1898 (TimerContext::TimerContext): Added this helper object to hold the context needed by the
1900 (WorkQueue::timerCallback): Added. Schedules the WorkItem on the WorkQueue and cleans up the
1902 (WorkQueue::scheduleWorkAfterDelay): Create a timer-queue timer on our timer queue that will
1903 fire after the given delay. Pass a new TimerContext object to the timer callback that
1904 contains the information it needs.
1906 2011-02-08 Anders Carlsson <andersca@apple.com>
1908 Reviewed by Sam Weinig.
1910 Rename PluginProcess::initializeConnection to PluginProcess::initialize
1911 https://bugs.webkit.org/show_bug.cgi?id=54039
1913 * PluginProcess/PluginProcess.cpp:
1914 (WebKit::PluginProcess::initialize):
1915 * PluginProcess/PluginProcess.h:
1916 * PluginProcess/mac/PluginProcessMainMac.mm:
1917 (WebKit::PluginProcessMain):
1918 * WebProcess/WebProcess.h:
1920 2011-02-08 Brady Eidson <beidson@apple.com>
1922 Reviewed by Darin Adler.
1924 <rdar://problem/8972913> and https://bugs.webkit.org/show_bug.cgi?id=54036
1925 didChangeBackForwardList should include some context about what changed
1927 Update the implementation of this API to include the new item (if any) and removed items (if any):
1928 * UIProcess/API/C/WKPage.h:
1929 * UIProcess/WebLoaderClient.cpp:
1930 (WebKit::WebLoaderClient::didChangeBackForwardList):
1931 * UIProcess/WebLoaderClient.h:
1932 * UIProcess/WebPageProxy.cpp:
1933 (WebKit::WebPageProxy::didChangeBackForwardList):
1934 * UIProcess/WebPageProxy.h:
1936 Have WebBackForwardList pass the new items and/or removed items when calling the notifier:
1937 * UIProcess/WebBackForwardList.cpp:
1938 (WebKit::WebBackForwardList::addItem):
1939 (WebKit::WebBackForwardList::goToItem):
1940 (WebKit::WebBackForwardList::clear):
1942 2011-02-08 Sam Weinig <sam@webkit.org>
1944 Reviewed by Anders Carlsson.
1946 Sandbox violations visiting MobileMe.
1947 <rdar://problem/8961330>
1949 * WebProcess/com.apple.WebProcess.sb:
1951 2011-02-08 Anders Carlsson <andersca@apple.com>
1953 Reviewed by Sam Weinig.
1955 Rename PluginProcess::initialize to PluginProcess::initializePluginProcess
1956 https://bugs.webkit.org/show_bug.cgi?id=54037
1958 Rename PluginProcess::initialize to PluginProcess::initializePluginProcess to better
1959 match the WebProcess initialization code, in preparation of sharing more code.
1961 * PluginProcess/PluginProcess.cpp:
1962 (WebKit::PluginProcess::initializePluginProcess):
1963 * PluginProcess/PluginProcess.h:
1964 * PluginProcess/PluginProcess.messages.in:
1965 * UIProcess/Plugins/PluginProcessProxy.cpp:
1966 (WebKit::PluginProcessProxy::didFinishLaunching):
1968 2011-02-08 Sam Weinig <sam@webkit.org>
1970 Reviewed by Anders Carlsson.
1972 WK2: Add ability to pass context to policy delegate methods
1973 https://bugs.webkit.org/show_bug.cgi?id=54031
1975 * Platform/CoreIPC/HandleMessage.h:
1976 (CoreIPC::callMemberFunction):
1977 (CoreIPC::handleMessageVariadic):
1978 * Scripts/webkit2/messages.py:
1979 Add ability to pass variadic messages to sync messages.
1981 * Shared/API/c/WKBase.h:
1982 * Shared/APIObject.h:
1983 Add WKBundleNavigation type.
1985 * UIProcess/API/C/WKPage.h:
1986 * UIProcess/WebPageProxy.cpp:
1987 (WebKit::WebPageProxy::decidePolicyForNavigationAction):
1988 (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
1989 (WebKit::WebPageProxy::decidePolicyForMIMEType):
1990 * UIProcess/WebPageProxy.h:
1991 * UIProcess/WebPageProxy.messages.in:
1992 * UIProcess/WebPolicyClient.cpp:
1993 (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
1994 (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
1995 (WebKit::WebPolicyClient::decidePolicyForMIMEType):
1996 * UIProcess/WebPolicyClient.h:
1997 Update policy client for new data.
1999 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
2000 * WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.cpp: Added.
2001 (WKBundleNavigationActionGetTypeID):
2002 (WKBundleNavigationActionGetNavigationType):
2003 (WKBundleNavigationActionGetEventModifiers):
2004 (WKBundleNavigationActionGetEventMouseButton):
2005 (WKBundleNavigationActionCopyHitTestResult):
2006 (WKBundleNavigationActionCopyFormElement):
2007 * WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.h: Added.
2008 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2009 (WKBundlePageSetPolicyClient):
2010 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2011 * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp: Added.
2012 (WebKit::mouseEventForNavigationAction):
2013 (WebKit::mouseButtonForMouseEvent):
2014 (WebKit::InjectedBundleNavigationAction::modifiersForNavigationAction):
2015 (WebKit::InjectedBundleNavigationAction::mouseButtonForNavigationAction):
2016 (WebKit::InjectedBundleNavigationAction::create):
2017 (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
2018 * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h: Added.
2019 (WebKit::InjectedBundleNavigationAction::navigationType):
2020 (WebKit::InjectedBundleNavigationAction::modifiers):
2021 (WebKit::InjectedBundleNavigationAction::mouseButton):
2022 (WebKit::InjectedBundleNavigationAction::hitTestResult):
2023 (WebKit::InjectedBundleNavigationAction::formElement):
2024 (WebKit::InjectedBundleNavigationAction::type):
2025 * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp: Added.
2026 (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction):
2027 (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction):
2028 (WebKit::InjectedBundlePagePolicyClient::decidePolicyForMIMEType):
2029 * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h: Added.
2030 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2031 (WebKit::WebChromeClient::createWindow):
2032 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2033 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
2034 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
2035 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
2036 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2037 * WebProcess/WebPage/WebPage.cpp:
2038 (WebKit::WebPage::initializeInjectedBundlePolicyClient):
2039 * WebProcess/WebPage/WebPage.h:
2040 (WebKit::WebPage::injectedBundlePolicyClient):
2041 Pipe the policy client through the bundle to allow setting user data.
2044 * WebKit2.xcodeproj/project.pbxproj:
2045 * win/WebKit2.vcproj:
2046 * win/WebKit2Generated.make:
2049 2011-02-08 Anders Carlsson <andersca@apple.com>
2051 Reviewed by Sam Weinig.
2053 Crash calling -setFrame:andScrollBy: in windowDidResize
2054 https://bugs.webkit.org/show_bug.cgi?id=54030
2055 <rdar://problem/8969760>
2057 * Platform/mac/SharedMemoryMac.cpp:
2058 (WebKit::SharedMemory::create):
2059 Assert that size is not zero here; we never want to try to create shared memory with a zero size.
2061 * WebProcess/WebPage/DrawingAreaImpl.cpp:
2062 (WebKit::DrawingAreaImpl::setSize):
2063 Always invalidate the entire visible page when resizing.
2065 2011-02-08 Adam Barth <abarth@webkit.org>
2067 Reviewed by Eric Seidel.
2069 Remove orphan code from old parser
2070 https://bugs.webkit.org/show_bug.cgi?id=53984
2072 * WebProcess/WebCoreSupport/WebChromeClient.cpp
2073 * WebProcess/WebCoreSupport/WebChromeClient.h
2075 2011-02-08 Anders Carlsson <andersca@apple.com>
2077 Reviewed by Sam Weinig.
2079 UI process crashes if web process crashes while web inspector is focused
2080 https://bugs.webkit.org/show_bug.cgi?id=53965
2081 <rdar://problem/8961633>
2083 Make sure to close the web inspector web page proxy before calling platformClose, since
2084 platformClose can cause the web page proxy to try to send messages (such as SetActive)
2085 to the web process while it's in a bad state.
2087 The original fix, http://trac.webkit.org/changeset/77866, put the call to m_page->close() in
2088 WebInspectorProxy::didClose, which was wrong and lead to crashes. The right place to close the page
2089 is in WebInspectorProxy::invalidate.
2091 * UIProcess/WebInspectorProxy.cpp:
2092 (WebKit::WebInspectorProxy::invalidate):
2094 2011-02-08 Jessie Berlin <jberlin@apple.com>
2096 Reviewed by Adam Roben.
2098 ASSERTION FAILURE: ASSERT_NOT_REACHED() in Connection::writeEventHandler() after the Web
2100 https://bugs.webkit.org/show_bug.cgi?id=54005
2102 * Platform/CoreIPC/win/ConnectionWin.cpp:
2103 (CoreIPC::Connection::writeEventHandler):
2104 Handle ERROR_BROKEN_PIPE by calling connectionDidClose() and returning early.
2106 2011-02-08 Adam Roben <aroben@apple.com>
2108 Handle WM_TIMER messages for stopped timers
2110 Whenever we stop a timer, we call ::KillTimer to cancel any future firings of the timer. But
2111 ::KillTimer doesn't do anything about WM_TIMER messages that have already been posted to the
2112 message queue. We need to handle those, too.
2114 Fixes <http://webkit.org/b/53999> Occasional assertion failures in
2115 RunLoop::TimerBase::timerFired
2117 Reviewed by Darin Adler.
2119 * Platform/win/RunLoopWin.cpp:
2120 (RunLoop::TimerBase::timerFired): Just bail if the timer has already been stopped.
2122 2011-02-08 Adam Roben <aroben@apple.com>
2124 Don't mark a Connection as connected until open() is called on Windows
2126 This matches Mac. Even though the Connection's pipe is connected before open() is called,
2127 the Connection itself isn't really connected to the pipe until then, and we won't actually
2128 read any data from before that point.
2130 Fixes <http://webkit.org/b/53998> <rdar://problem/8971207> REGRESSION (r77874): Assertion
2131 failure on launch in Connection::setDidCloseOnConnectionWorkQueueCallback on Windows
2133 Reviewed by Darin Adler.
2135 * Platform/CoreIPC/win/ConnectionWin.cpp:
2136 (CoreIPC::Connection::platformInitialize): Moved code to set m_isConnected from here to
2138 (CoreIPC::Connection::platformInvalidate): Unset m_isConnected, to match Mac. (This isn't
2139 part of the bug fix, but seemed worthwhile.)
2140 (CoreIPC::Connection::open): Set m_isConnected now that we're going to listen on the pipe.
2142 2011-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
2144 Unreviewed, rolling out r77866.
2145 http://trac.webkit.org/changeset/77866
2146 https://bugs.webkit.org/show_bug.cgi?id=53981
2148 caused all WebKit2 inspector tests to crash (Requested by
2149 othermaciej on #webkit).
2151 * UIProcess/WebInspectorProxy.cpp:
2152 (WebKit::WebInspectorProxy::didClose):
2154 2011-02-07 Maciej Stachowiak <mjs@apple.com>
2156 Reviewed by Dan Bernstein.
2158 Add resource load client for injected bundle and move willSendRequest there
2159 https://bugs.webkit.org/show_bug.cgi?id=53972
2163 * WebKit2.xcodeproj/project.pbxproj:
2164 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2165 (WKBundlePageSetPageLoaderClient):
2166 (WKBundlePageSetResourceLoadClient):
2167 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2168 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
2169 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
2170 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp: Added.
2171 (WebKit::InjectedBundlePageResourceLoadClient::didInitiateLoadForResource):
2172 (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
2173 (WebKit::InjectedBundlePageResourceLoadClient::didReceiveResponseForResource):
2174 (WebKit::InjectedBundlePageResourceLoadClient::didReceiveContentLengthForResource):
2175 (WebKit::InjectedBundlePageResourceLoadClient::didFinishLoadForResource):
2176 (WebKit::InjectedBundlePageResourceLoadClient::didFailLoadForResource):
2177 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h: Added.
2178 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2179 (WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest):
2180 (WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
2181 (WebKit::WebFrameLoaderClient::dispatchDidReceiveResponse):
2182 (WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
2183 (WebKit::WebFrameLoaderClient::dispatchDidFinishLoading):
2184 (WebKit::WebFrameLoaderClient::dispatchDidFailLoading):
2185 * WebProcess/WebPage/WebPage.cpp:
2186 (WebKit::WebPage::initializeInjectedBundleResourceLoadClient):
2187 * WebProcess/WebPage/WebPage.h:
2188 (WebKit::WebPage::injectedBundleResourceLoadClient):
2189 * win/WebKit2.vcproj:
2191 2011-02-07 Mark Rowe <mrowe@apple.com>
2193 Fix the 32-bit build.
2195 * UIProcess/cf/WebBackForwardListCF.cpp:
2196 (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Add some casts
2197 to prevent warnings about mixing signed and unsigned comparisons.
2199 2011-02-07 Qi Zhang <qi.2.zhang@nokia.com>
2201 Reviewed by Andreas Kling.
2203 [Qt] enum QWebPage::WebAction doesn't have value QWebPage::CopyImageUrl
2204 https://bugs.webkit.org/show_bug.cgi?id=52974
2206 Add ContextMenuItemTagCopyImageUrlToClipboard into standard action but Qt platform specific.
2208 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2209 (WebKit::WebPlatformStrategies::contextMenuItemTagCopyImageUrlToClipboard):
2210 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
2212 2011-02-07 Enrica Casucci <enrica@apple.com>
2214 Reviewed by Sam Weinig.
2216 Fixing a build break on Mac caused by http://trac.webkit.org/changeset/77874
2218 Removed unused static function.
2220 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
2222 2011-02-07 Anders Carlsson <andersca@apple.com>
2224 Reviewed by Sam Weinig.
2226 <rdar://problem/8969888>
2227 The WebProcess should set LSFileQuarantineEnabled to true
2229 * WebProcess/Info.plist:
2231 2011-02-07 Anders Carlsson <andersca@apple.com>
2233 Reviewed by Sam Weinig.
2235 Crash in web process after the connection had been closed
2236 https://bugs.webkit.org/show_bug.cgi?id=51115
2237 <rdar://problem/8964255>
2239 Remove didCloseOnConnectionWorkQueue from Connection::Client and add
2240 Connection::setDidCloseOnConnectionWorkQueueCallback which takes a static
2241 function, eliminating the race condition in connectionDidClose where m_client could be
2242 nulled out in the client thread right before we try to dereference it.
2244 * Platform/CoreIPC/Connection.cpp:
2245 (CoreIPC::Connection::Connection):
2246 Initialize m_didCloseOnConnectionWorkQueueCallback.
2248 (CoreIPC::Connection::setDidCloseOnConnectionWorkQueueCallback):
2249 Update m_didCloseOnConnectionWorkQueueCallback.
2251 (CoreIPC::Connection::connectionDidClose):
2252 Call m_didCloseOnConnectionWorkQueueCallback.
2254 * Platform/WorkQueue.h:
2255 Make WorkQueue noncopyable.
2257 * PluginProcess/PluginProcess.cpp:
2258 (WebKit::PluginProcess::initializeConnection):
2259 Call setDidCloseOnConnectionWorkQueueCallback.
2261 * Shared/ChildProcess.cpp:
2262 (WebKit::ChildProcess::didCloseOnConnectionWorkQueue):
2263 * Shared/ChildProcess.h:
2264 didCloseOnConnectionWorkQueue is now a static member function.
2266 * WebProcess/WebProcess.cpp:
2267 (WebKit::WebProcess::initialize):
2268 Call setDidCloseOnConnectionWorkQueueCallback.
2270 2011-02-07 Enrica Casucci <enrica@apple.com>
2272 Reviewed Adam Roben and Darin Adler.
2274 WebKit2: drag and drop support on Windows.
2275 https://bugs.webkit.org/show_bug.cgi?id=52775
2276 <rdar://problem/8514409>
2278 This patch contains the remaining work to support
2279 a WebKit window as drag source on Windows.
2280 I've added the code to generate the image for dragging a link as
2281 well as the steps necessary to package the HBITMAP into a SharedMemory
2282 object and send it over to the UI process where DoDragDrop is performed.
2284 * UIProcess/WebPageProxy.cpp:
2285 (WebKit::WebPageProxy::setDragImage):
2286 (WebKit::WebPageProxy::startDragDrop):
2287 * UIProcess/WebPageProxy.h:
2288 * UIProcess/WebPageProxy.messages.in:
2289 * WebProcess/WebCoreSupport/WebDragClient.cpp:
2290 (WebKit::WebDragClient::startDrag): Made startDrag for
2291 platforms other than Windows and Mac.
2292 * WebProcess/WebCoreSupport/WebDragClient.h:
2293 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
2294 (WebKit::WebDragClient::startDrag):
2295 * WebProcess/WebCoreSupport/win/WebDragClientWin.cpp: Added.
2296 (WebKit::draggingSourceOperationMaskToDragCursors):
2297 (WebKit::WebDragClient::startDrag):
2298 * WebProcess/WebCoreSupport/win/WebDragSource.cpp: Added.
2299 This object implements the IDropSource interface.
2300 (WebDragSource::createInstance):
2301 (WebDragSource::WebDragSource):
2302 (WebDragSource::QueryInterface):
2303 (WebDragSource::AddRef):
2304 (WebDragSource::Release):
2305 (WebDragSource::QueryContinueDrag):
2306 (WebDragSource::GiveFeedback):
2307 * WebProcess/WebCoreSupport/win/WebDragSource.h: Added.
2308 * win/WebKit2.vcproj:
2310 2011-02-07 Anders Carlsson <andersca@apple.com>
2312 Reviewed by Sam Weinig.
2314 UI process crashes if web process crashes while web inspector is focused
2315 https://bugs.webkit.org/show_bug.cgi?id=53965
2316 <rdar://problem/8961633>
2318 Make sure to close the web inspector web page proxy before calling platformClose, since
2319 platformClose can cause the web page proxy to try to send messages (such as SetActive)
2320 to the web process while it's in a bad state.
2322 * UIProcess/WebInspectorProxy.cpp:
2323 (WebKit::WebInspectorProxy::didClose):
2325 2011-02-07 Anders Carlsson <andersca@apple.com>
2327 Reviewed by Darin Adler.
2329 Find bouncy is missing content on pages with framesets
2330 https://bugs.webkit.org/show_bug.cgi?id=53958
2331 <rdar://problem/8904447>
2333 Fix paint rect computation; FrameView::paint expects the paint rect to be in the
2334 parent widget's coordinate system.
2336 * WebProcess/WebPage/FindController.cpp:
2337 (WebKit::FindController::updateFindIndicator):
2339 2011-02-07 Brady Eidson <beidson@apple.com>
2341 Reviewed by Anders Carlsson.
2343 <rdar://problem/8960434> and https://bugs.webkit.org/show_bug.cgi?id=53957
2344 Crash after incorrectly restoring bogus session state.
2346 In some cases we're writing an invalid session state for a back/forward list where the current entry is 0
2347 but the number of entries is also 0.
2348 In such cases the current entry should be "NoCurrentEntryIndex."
2350 When we later read this state in, we set ourselves up to crash later.
2352 Amusingly an ASSERT caught this, but we should've rejected it before the ASSERT fired.
2354 * UIProcess/cf/WebBackForwardListCF.cpp:
2355 (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Fail the restore if the "current index past the end
2356 of the list" case occurs, and speculatively bail out of the case where we have no current index but do have a list.
2357 Also remove the unhelpful ASSERT.
2359 2011-02-07 Sam Weinig <sam@webkit.org>
2361 Reviewed by Anders Carlsson.
2363 Add bundle API to get the background color of a frame
2364 <rdar://problem/8962670>
2365 https://bugs.webkit.org/show_bug.cgi?id=53952
2367 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
2368 (WKBundleFrameGetBodyBackgroundColor):
2369 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
2372 * WebProcess/WebPage/WebFrame.cpp:
2373 (WebKit::WebFrame::getDocumentBackgroundColor):
2374 * WebProcess/WebPage/WebFrame.h:
2375 Call down into the document to get either the body's, or if there is no body,
2376 the root element's, background color.
2378 2011-02-07 Sam Weinig <sam@webkit.org>
2380 Fix typo. vectical -> vertical.
2382 * UIProcess/WebPageProxy.cpp:
2383 (WebKit::WebPageProxy::didChangeScrollbarsForMainFrame):
2385 2011-02-07 Sam Weinig <sam@webkit.org>
2387 Reviewed by Anders Carlsson.
2389 Inform the UIProcess when main frame scrollbars change
2390 <rdar://problem/8967496>
2391 https://bugs.webkit.org/show_bug.cgi?id=53941
2393 * UIProcess/API/C/WKPage.cpp:
2394 (WKPageHasHorizontalScrollbar):
2395 (WKPageHasVerticalScrollbar):
2396 * UIProcess/API/C/WKPage.h:
2397 Add API to query whether the main frame has scrollbars.
2399 * UIProcess/WebPageProxy.cpp:
2400 (WebKit::WebPageProxy::WebPageProxy):
2401 (WebKit::WebPageProxy::close):
2402 (WebKit::WebPageProxy::processDidCrash):
2403 (WebKit::WebPageProxy::didChangeScrollbarsForMainFrame):
2404 * UIProcess/WebPageProxy.h:
2405 (WebKit::WebPageProxy::hasHorizontalScrollbar):
2406 (WebKit::WebPageProxy::hasVerticalScrollbar):
2407 Store/update main frame scrollbar state.
2409 * UIProcess/WebPageProxy.messages.in:
2410 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2411 (WebKit::WebChromeClient::contentsSizeChanged):
2412 * WebProcess/WebCoreSupport/WebChromeClient.h:
2413 (WebKit::WebChromeClient::WebChromeClient):
2414 Post message when main frame scrollbar state changes.
2416 2011-02-07 Anders Carlsson <andersca@apple.com>
2418 Reviewed by Sam Weinig.
2420 Some content is not covered by Find-on-page overlay
2421 https://bugs.webkit.org/show_bug.cgi?id=53937
2422 <rdar://problem/8711353>
2424 * WebProcess/WebPage/DrawingAreaImpl.cpp:
2425 (WebKit::DrawingAreaImpl::didInstallPageOverlay):
2426 Call LayerTreeHost::didInstallPageOverlay.
2428 (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
2429 Call LayerTreeHost::didUninstallPageOverlay.
2431 (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
2432 Call LayerTreeHost::setPageOverlayNeedsDisplay.
2434 * WebProcess/WebPage/FindController.cpp:
2435 (WebKit::FindController::drawRect):
2436 Remove a bogus assertion.
2438 * WebProcess/WebPage/LayerTreeHost.h:
2439 Add new pure virtual member functions.
2441 * WebProcess/WebPage/PageOverlay.cpp:
2442 (WebKit::PageOverlay::setNeedsDisplay):
2443 Call DrawingArea::setPageOverlayNeedsDisplay.
2445 * WebProcess/WebPage/WebPage.cpp:
2446 (WebKit::WebPage::installPageOverlay):
2447 Make sure to call PageOverlay::setNeedsDisplay after the page overlay has been installed.
2449 * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
2450 (WebKit::LayerTreeHostMac::LayerTreeHostMac):
2451 Create the page overlay layer if needed.
2453 (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
2454 Invalidate the page overlay layer as well.
2456 (WebKit::LayerTreeHostMac::sizeDidChange):
2457 Resize the page overlay layer.
2459 (WebKit::LayerTreeHostMac::didInstallPageOverlay):
2460 Create the page overlay layer.
2462 (WebKit::LayerTreeHostMac::didUninstallPageOverlay):
2463 Destroy the page overlay layer.
2465 (WebKit::LayerTreeHostMac::setPageOverlayNeedsDisplay):
2466 Call setNeedsDisplay on the page overlay layer.
2468 (WebKit::LayerTreeHostMac::paintContents):
2469 Handle painting the page overlay layer.
2471 (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
2472 Flush the page overlay layer changes as well.
2474 (WebKit::LayerTreeHostMac::createPageOverlayLayer):
2475 Create a layer and add it as a sublayer of the root layer.
2477 (WebKit::LayerTreeHostMac::destroyPageOverlayLayer):
2478 Destroy the page overlay layer.
2480 2011-02-06 Adam Roben <aroben@apple.com>
2482 Make it possible to use DrawingAreaProxyImpl on Windows
2484 It can be optionally turned on by setting the WEBKIT2_USE_NEW_DRAWING_AREA environment
2485 variable. Turning it on by default is covered by <http://webkit.org/b/53805>.
2487 Fixes <http://webkit.org/b/53879>.
2489 Reviewed by Anders Carlsson.
2491 * UIProcess/BackingStore.h: Add an m_bitmap member on Windows.
2493 * UIProcess/win/BackingStoreWin.cpp:
2494 (WebKit::BitmapDC::operator HDC):
2495 (WebKit::BitmapDC::BitmapDC):
2496 (WebKit::BitmapDC::~BitmapDC):
2497 Added this helper class, which uses RAII to select a bitmap into a new memory DC.
2498 (WebKit::BackingStore::paint): Wrap our bitmap in a BitmapDC and use ::BitBlt to copy the
2499 specified rect into the destination DC.
2500 (WebKit::createBitmap): New helper function, just creates a DIB section with the specified
2502 (WebKit::BackingStore::incorporateUpdate): Ported from BackingStoreMac.mm. It seems like
2503 this code could be shared at some point.
2504 (WebKit::BackingStore::scroll): Wrap our bitmap in a BitmapDC and use ::ScrollDC to scroll
2507 * UIProcess/win/WebView.cpp:
2508 (WebKit::useNewDrawingArea): Added. Returns true if the WEBKIT2_USE_NEW_DRAWING_AREA
2509 environment variable is set.
2510 (WebKit::drawPageBackground): New helper function. Code came from onPaintEvent.
2511 (WebKit::WebView::onPaintEvent): Ported from -[WKView drawRect:].
2512 (WebKit::WebView::createDrawingAreaProxy): Create a DrawingAreaProxyImpl if we're using the
2515 (WebKit::WebView::enterAcceleratedCompositingMode):
2516 (WebKit::WebView::exitAcceleratedCompositingMode):
2517 (WebKit::WebView::pageDidEnterAcceleratedCompositing):
2518 (WebKit::WebView::pageDidLeaveAcceleratedCompositing):
2519 Added some assertions to make sure these are only called when expected. We don't expect
2520 enter/exitAcceleratedCompositingMode to be called at all right now, because accelerated
2521 compositing is turned off in WebKit2 on Windows.
2523 (WebKit::WebView::switchToDrawingAreaTypeIfNecessary): Ditto, and added a case for the
2524 DrawingAreaInfo::Impl constant.
2526 2011-02-07 Adam Roben <aroben@apple.com>
2528 Start compiling DrawingArea[Proxy]Impl and dependencies on Windows
2530 Fixes <http://webkit.org/b/53875> WebKit2 on Windows should build DrawingArea[Proxy]Impl
2532 Reviewed by Sam Weinig and Darin Adler.
2534 * Platform/Region.cpp:
2535 (WebKit::Region::Shape::shapeOperation): Initialize variable to avoid a bogus "potentially
2536 uninitialized variable" warning.
2538 * UIProcess/BackingStore.cpp: Removed #error for non-Mac platforms.
2540 * UIProcess/BackingStore.h: Added a PlatformGraphicsContext typedef for Windows.
2542 * UIProcess/DrawingAreaProxy.h:
2543 * UIProcess/DrawingAreaProxyImpl.cpp:
2544 * UIProcess/WebPageProxy.cpp:
2545 (WebKit::WebPageProxy::didReceiveMessage):
2546 Allow Windows to compile the new drawing area code.
2548 * WebProcess/WebPage/DrawingArea.cpp:
2549 (WebKit::DrawingArea::create): Allow creating a DrawingAreaImpl on Windows, too.
2551 * WebProcess/WebPage/DrawingArea.h:
2552 * WebProcess/WebPage/DrawingAreaImpl.cpp:
2553 * WebProcess/WebPage/LayerTreeHost.cpp:
2554 * WebProcess/WebPage/WebPage.cpp:
2555 (WebKit::WebPage::didReceiveMessage):
2556 Allow Windows to compile the new drawing area code.
2558 * Shared/win/LayerTreeContextWin.cpp: Added.
2559 * UIProcess/win/BackingStoreWin.cpp: Added.
2560 Stubbed out these files.
2562 * win/WebKit2.vcproj: Added new files.
2564 2011-02-07 Anders Carlsson <andersca@apple.com>
2566 Reviewed by Dan Bernstein.
2568 Rename some drawing area related member functions
2569 https://bugs.webkit.org/show_bug.cgi?id=53935
2571 * WebProcess/WebPage/DrawingArea.h:
2572 (WebKit::DrawingArea::setPageOverlayNeedsDisplay):
2573 * WebProcess/WebPage/DrawingAreaImpl.cpp:
2574 (WebKit::DrawingAreaImpl::setNeedsDisplay):
2575 (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
2576 * WebProcess/WebPage/DrawingAreaImpl.h:
2577 * WebProcess/WebPage/LayerTreeHost.h:
2578 * WebProcess/WebPage/mac/LayerTreeHostMac.h:
2579 * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
2580 (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
2581 (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
2583 2011-02-07 Adam Roben <aroben@apple.com>
2585 Use the right calling convention when calling WebKitMain
2587 Fixes <http://webkit.org/b/53923> REGRESSION (r77678): Crash on quit in web process in
2590 Reviewed by Steve Falkenburg.
2593 (wWinMain): Use __cdecl instead of WINAPI (__stdcall) when calling WebKitMain, since that is
2594 how that function is declared.
2596 2011-02-07 Anders Carlsson <andersca@apple.com>
2598 Reviewed by Dan Bernstein.
2600 The drawing area should be in charge of drawing the page overlay
2601 https://bugs.webkit.org/show_bug.cgi?id=53927
2603 * WebProcess/WebPage/DrawingArea.h:
2604 (WebKit::DrawingArea::didInstallPageOverlay):
2605 (WebKit::DrawingArea::didUninstallPageOverlay):
2606 (WebKit::DrawingArea::setOverlayNeedsDisplay):
2609 * WebProcess/WebPage/DrawingAreaImpl.cpp:
2610 (WebKit::DrawingAreaImpl::didInstallPageOverlay):
2611 Add empty function. This will eventually ask the layer tree host to
2612 create a GraphicsLayer for the page overlay.
2614 (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
2615 Tell the page that it needs to be repainted.
2617 (WebKit::DrawingAreaImpl::setOverlayNeedsDisplay):
2618 Just call setNeedsDisplay for now.
2620 (WebKit::DrawingAreaImpl::display):
2621 Paint the page overlay too.
2623 * WebProcess/WebPage/DrawingAreaImpl.h:
2624 * WebProcess/WebPage/WebPage.cpp:
2625 (WebKit::WebPage::drawRect):
2626 Only call drawPageOverlay if we have an old drawing area.
2628 (WebKit::WebPage::drawPageOverlay):
2629 Draw the page overlay. Code moved here from WebPage::drawRect.
2631 (WebKit::WebPage::installPageOverlay):
2632 Call DrawingArea::installPageOverlay.
2634 (WebKit::WebPage::uninstallPageOverlay):
2635 Call DrawingArea::uninstallPageOverlay.
2637 * WebProcess/WebPage/WebPage.h:
2638 (WebKit::WebPage::hasPageOverlay):
2641 2011-02-07 Anders Carlsson <andersca@apple.com>
2643 Reviewed by Sam Weinig.
2645 Add WebPage::bounds and use it
2646 https://bugs.webkit.org/show_bug.cgi?id=53926
2648 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
2649 (WebKit::ChunkedUpdateDrawingArea::resumePainting):
2650 * WebProcess/WebPage/DrawingAreaImpl.cpp:
2651 (WebKit::DrawingAreaImpl::resumePainting):
2652 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
2653 * WebProcess/WebPage/WebPage.h:
2654 (WebKit::WebPage::bounds):
2656 2011-02-07 Anders Carlsson <andersca@apple.com>
2658 Reviewed by Maciej Stachowiak.
2660 Don't exclude overlay scrollers from the page overlay bounds
2661 https://bugs.webkit.org/show_bug.cgi?id=53924
2663 Don't subtract the scrollbars from the page overlay bounds if
2664 overlay scrollers are enabled.
2666 * WebProcess/WebPage/PageOverlay.cpp:
2667 (WebKit::PageOverlay::bounds):
2669 2011-02-07 Adam Roben <aroben@apple.com>
2671 Windows build fix after r77794
2673 * win/WebKit2.def: Export WebCore symbols used by WebKitTestRunner.
2675 2011-02-07 Maciej Stachowiak <mjs@apple.com>
2677 Reviewed by Antti Koivisto.
2679 Add WKURLRequestCopyURL API (needed for tests and also generally useful)
2680 https://bugs.webkit.org/show_bug.cgi?id=53909
2682 * Shared/API/c/WKURLRequest.cpp:
2683 (WKURLRequestCopyURL):
2684 * Shared/API/c/WKURLRequest.h:
2685 * Shared/WebURLRequest.h:
2686 (WebKit::WebURLRequest::url):
2688 2011-02-06 Ryosuke Niwa <rniwa@webkit.org>
2690 Unreviewed; speculative Qt build fix.
2694 2011-02-06 Ryosuke Niwa <rniwa@webkit.org>
2696 Reviewed by Darin Adler.
2698 OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
2699 https://bugs.webkit.org/show_bug.cgi?id=52867
2701 * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
2702 (WebKit::NetscapePluginModule::getPluginInfo): Calls adoptArrayPtr.
2704 2011-02-06 Benjamin Poulain <ikipou@gmail.com>
2706 Reviewed by Andreas Kling.
2708 [Qt] WebKit does not build on Mac with WebKit 2
2709 https://bugs.webkit.org/show_bug.cgi?id=53380
2711 * Platform/CoreIPC/qt/ConnectionQt.cpp: Use fcntl() to set close on exec so
2712 we do not rely on recent kernel.
2713 (CoreIPC::Connection::readyReadHandler):
2714 * Platform/qt/SharedMemoryQt.cpp: ditto
2715 (WebKit::SharedMemory::create):
2716 (WebKit::SharedMemory::createHandle):
2717 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Guard prctl() since it is
2718 a Linux specific function.
2719 (WebKit::QtWebProcess::setupChildProcess):
2720 * UIProcess/DrawingAreaProxy.h: Differentiate between building on Mac
2722 * UIProcess/DrawingAreaProxyImpl.cpp: ditto
2723 * UIProcess/WebPageProxy.cpp: ditto
2724 (WebKit::WebPageProxy::didReceiveMessage):
2725 * WebProcess/WebPage/DrawingArea.cpp: ditto
2726 (WebKit::DrawingArea::create):
2727 * WebProcess/WebPage/DrawingArea.h:
2728 * WebProcess/WebPage/DrawingAreaImpl.cpp: ditto
2729 * WebProcess/WebPage/WebPage.cpp: ditto
2730 (WebKit::WebPage::didReceiveMessage):
2732 2011-02-05 Maciej Stachowiak <mjs@apple.com>
2734 Reviewed by Dan Bernstein.
2736 REGRESSION: New drawing area is causing some WebProcess crashes in layout tests
2737 https://bugs.webkit.org/show_bug.cgi?id=53865
2738 <rdar://problem/8963148>
2740 * WebProcess/WebPage/DrawingAreaImpl.cpp:
2741 (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): Handle the case
2742 where this is called repeatedly without exiting accelerated composting mode
2744 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): Handle the case
2745 of being called more than once.
2747 2011-02-05 Anders Carlsson <andersca@apple.com>
2749 Reviewed by Darin Adler.
2751 Need a way to resize and scroll the page at the same time
2752 https://bugs.webkit.org/show_bug.cgi?id=53814
2753 <rdar://problem/8498008>
2755 Add -[WKView setFrame:andScrollBy:].
2757 * UIProcess/API/mac/WKView.h:
2758 * UIProcess/API/mac/WKView.mm:
2759 (-[WKView setFrame:andScrollBy:]):
2760 Stash away the scroll offset and call setFrame:.
2762 (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::]):
2763 (-[WKView _setDrawingAreaSize:]):
2764 * UIProcess/API/qt/qwkpage.cpp:
2765 (QWKPage::setViewportSize):
2766 DrawingAreaProxy::setSize now takes a scroll offset.
2768 * UIProcess/DrawingAreaProxy.cpp:
2769 (WebKit::DrawingAreaProxy::setSize):
2770 This now takes a scroll offset and stores it in m_scrollOffset.
2772 * UIProcess/DrawingAreaProxy.h:
2773 * UIProcess/DrawingAreaProxyImpl.cpp:
2774 (WebKit::DrawingAreaProxyImpl::sendSetSize):
2775 Send along the scroll offset and set it back to zero.
2777 * UIProcess/LayerBackedDrawingAreaProxy.cpp:
2778 (WebKit::LayerBackedDrawingAreaProxy::didSetSize):
2779 * UIProcess/TiledDrawingAreaProxy.cpp:
2780 (WebKit::TiledDrawingAreaProxy::didSetSize):
2781 * UIProcess/win/WebView.cpp:
2782 (WebKit::WebView::onSizeEvent):
2783 (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
2784 DrawingAreaProxy::setSize now takes a scroll offset.
2786 * WebProcess/WebPage/DrawingArea.h:
2787 (WebKit::DrawingArea::setSize):
2788 Add a scrollOffset parameter.
2790 * WebProcess/WebPage/DrawingArea.messages.in:
2791 Add a scroll offset parameter to the SetSize message.
2793 * WebProcess/WebPage/DrawingAreaImpl.cpp:
2794 (WebKit::DrawingAreaImpl::setSize):
2795 Call WebPage::scrollMainFrameIfNotAtMaxScrollPosition.
2797 * WebProcess/WebPage/DrawingAreaImpl.h:
2798 * WebProcess/WebPage/WebPage.cpp:
2799 (WebKit::WebPage::scrollMainFrameIfNotAtMaxScrollPosition):
2800 Compute a scroll offset and call setScrollPosition on the main frame view.
2802 2011-02-04 Brian Weinstein <bweinstein@apple.com>
2804 Reviewed by Maciej Stachowiak.
2806 WebKit2: Crash when InjectedBundlePageLoaderClient::willSendRequestForFrame returns a null WKURLRequestRef
2807 https://bugs.webkit.org/show_bug.cgi?id=53829
2809 Store the result of m_client.willSendRequestForFrame in a RefPtr, and null check it before
2810 calling resourceRequest() on it.
2812 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
2813 (WebKit::InjectedBundlePageLoaderClient::willSendRequestForFrame):
2815 2011-02-04 Anders Carlsson <andersca@apple.com>
2819 * WebProcess/mac/WebProcessMac.mm:
2821 2011-02-04 Anders Carlsson <andersca@apple.com>
2823 Reviewed by Mark Rowe.
2825 Link opened in background tab fails to paint when activated if it completes loading before tab is selected
2826 https://bugs.webkit.org/show_bug.cgi?id=53827
2827 <rdar://problem/8962355>
2829 * WebProcess/WebPage/DrawingAreaImpl.cpp:
2830 (WebKit::DrawingAreaImpl::resumePainting):
2831 Invalidate the entire page.
2833 2011-02-04 Anders Carlsson <andersca@apple.com>
2835 Reviewed by Sam Weinig.
2837 Fix <rdar://problem/8961227> WebKit2 does not work with symlinked home directories.
2839 * WebProcess/mac/WebProcessMac.mm:
2840 (WebKit::WebProcess::platformSetCacheModel):
2841 Don't adopt an autoreleased pointer, this would lead to a crash.
2843 (WebKit::appendSandboxParameterPath):
2844 (WebKit::appendSandboxParameterConfPath):
2845 (WebKit::initializeSandbox):
2846 Clean up the sandbox parameter code and make sure that realpath is called for all parameters.
2848 2011-02-04 Sam Weinig <sam@webkit.org>
2850 Reviewed by Mark Rowe.
2852 Sandbox violations when visiting a site using HTTP authentication
2853 <rdar://problem/8951079>
2855 * WebProcess/com.apple.WebProcess.sb:
2857 2011-02-04 Alexey Proskuryakov <ap@apple.com>
2859 Reviewed by Darin Adler.
2861 https://bugs.webkit.org/show_bug.cgi?id=53823
2862 Print layout sometimes seen on screen
2864 <rdar://problem/8948742> REGRESSION (WebKit2) - When I print a page, I visually see it re-layout
2865 <rdar://problem/8899389> REGRESSION(WebKit2): Wrong content can appear when print dialog is up
2867 * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::setAutodisplay): Removed a
2868 branch that didn't do anything useful.
2870 * UIProcess/API/mac/WKPrintingView.h:
2871 * UIProcess/API/mac/WKPrintingView.mm:
2872 (-[WKPrintingView _suspendAutodisplay]):
2873 (-[WKPrintingView _delayedResumeAutodisplayTimerFired]):
2874 (-[WKPrintingView _delayedResumeAutodisplay]):
2875 (-[WKPrintingView knowsPageRange:]):
2876 (-[WKPrintingView beginDocument]):
2877 (-[WKPrintingView endDocument]):
2878 When page setup changes, or when going from print preview to actual printing, AppKit calls
2879 -endDocument just to begin it again. Delay resuming autodisplay until the next run loop
2882 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2883 (WebKit::WebChromeClient::invalidateContentsAndWindow):
2884 (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
2885 Tightened it up from other side - we should never send pixels to UI process while in
2886 printing mode. This is not 100% reliable, because relayout doesn't happen immediately,
2887 and we can still have print layout in screen mode - but it helps.
2889 2011-02-04 Sam Weinig <sam@webkit.org>
2891 Reviewed by Mark Rowe.
2893 Fix for <rdar://problem/8961580>.
2894 Work around for <rdar://problem/8957845>.
2896 * WebProcess/com.apple.WebProcess.sb:
2898 2011-02-04 Darin Adler <darin@apple.com>
2900 Reviewed by Dan Bernstein.
2902 WebKit2 doesn't hide mouse pointer on keypress
2903 https://bugs.webkit.org/show_bug.cgi?id=53821
2904 rdar://problem/8630895
2906 * UIProcess/PageClient.h: Renamed didNotHandleKeyEvent to
2907 doneWithKeyEvent and added a bool wasEventHandled argument.
2908 * UIProcess/WebPageProxy.cpp:
2909 (WebKit::WebPageProxy::didReceiveEvent): Changed code to call
2910 doneWithKeyEvent and call even if event was handled.
2912 * UIProcess/API/mac/PageClientImpl.h: Updated for above change.
2913 * UIProcess/API/mac/PageClientImpl.mm:
2914 (WebKit::PageClientImpl::doneWithKeyEvent): Ditto. But also
2915 call [NSCursor setHiddenUntilMouseMoves:YES] when a key down
2916 event was handled. This matches what -[WebHTMLView keyDown:] does.
2917 * UIProcess/API/qt/qwkpage.cpp:
2918 (QWKPagePrivate::doneWithKeyEvent): Ditto.
2919 * UIProcess/API/qt/qwkpage_p.h: Ditto.
2920 * UIProcess/win/WebView.cpp:
2921 (WebKit::WebView::doneWithKeyEvent): Ditto.
2922 * UIProcess/win/WebView.h: Ditto.
2924 2011-02-04 Steve Falkenburg <sfalken@apple.com>
2926 Reviewed by Adam Roben.
2928 WebKit2 clients fail to launch on Windows if client exe is in a different directory from WebKit
2929 https://bugs.webkit.org/show_bug.cgi?id=53810
2930 <rdar://problem/8946085>
2932 If WebKit2WebProcess.exe is in a different directory from the client process, and that
2933 client process uses CreateProcess to launch WebKit2WebProcess, the DLL search path may
2934 end up excluding the directory containing WebKit. To address this, we use SetDllDirectory
2935 to explicitly include the WebKit directory in the DLL search path.
2938 (wWinMain): Use SetDllDirectory and LoadLibrary to load WebKit.dll from WebKit2WebProcess.exe
2939 * win/WebKit2WebProcessCommon.vsprops: Don't link directly to WebKit. Link against shlwapi.
2941 2011-02-04 Adam Roben <aroben@apple.com>
2943 Allow passing a null filter callback to WKPageCopySessionState
2945 WebKit2 part of <http://webkit.org/b/53616> <rdar://problem/8949883>.
2947 Reviewed by Sam Weinig.
2949 * UIProcess/cf/WebBackForwardListCF.cpp:
2950 (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Check if the filter is null
2953 2011-02-04 Brian Weinstein <bweinstein@apple.com>
2955 Reviewed by John Sullivan.
2957 WebKit2: DidInitiateLoadForResource needs to know if the resource is being loaded by a committed or provisional frame
2958 https://bugs.webkit.org/show_bug.cgi?id=53794
2960 When we navigate from one page to another, there can be multiple subresource requests between when
2961 the new page has started its provisional load and when it has committed the load.
2965 - The main resource load of the provisional page
2966 - Synchronous XHR from the unload event of the loaded page.
2968 WebKit clients need to be able to differentiate between these loads.
2970 * UIProcess/API/C/WKPage.h:
2971 * UIProcess/WebPageProxy.cpp:
2972 (WebKit::WebPageProxy::didInitiateLoadForResource): Pass whether or not the page is provisionally loading
2974 * UIProcess/WebPageProxy.h:
2975 * UIProcess/WebPageProxy.messages.in: Add a new parameter to DidInitiateLoadForResource.
2976 * UIProcess/WebResourceLoadClient.cpp:
2977 (WebKit::WebResourceLoadClient::didInitiateLoadForResource): a new parameter to didInitiateLoadForResource.
2978 * UIProcess/WebResourceLoadClient.h:
2979 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2980 (WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest): Pass whether or not the page is currently
2981 in a provisional load (checked by seeing if the DocumentLoader matches the FrameLoader's provisionalDocumentLoader)
2984 2011-02-04 Anders Carlsson <andersca@apple.com>
2986 Reviewed by Mark Rowe.
2988 Mac WebKit2 should use the new drawing area
2989 https://bugs.webkit.org/show_bug.cgi?id=53802
2990 <rdar://problem/7881419>
2991 <rdar://problem/7881447>
2992 <rdar://problem/8252632>
2993 <rdar://problem/8479422>
2994 <rdar://problem/8633813>
2995 <rdar://problem/8734512>
2996 <rdar://problem/8787660>
2998 * UIProcess/API/mac/WKView.mm:
2999 (useNewDrawingArea):
3000 Return true. Eventually this function should be removed, but let's keep it for now so
3001 we can go back to the old drawing area if necessary.
3003 2011-02-04 Maciej Stachowiak <mjs@apple.com>
3005 Reviewed by Anders Carlsson.
3007 WebKit2: Crash in WebPageProxy::setPendingAPIRequestURL after web process crashed
3008 https://bugs.webkit.org/show_bug.cgi?id=53799
3009 <rdar://problem/8943956>
3011 * UIProcess/WebPageProxy.cpp:
3012 (WebKit::WebPageProxy::reload):
3014 2011-02-04 Anders Carlsson <andersca@apple.com>
3016 Reviewed by Maciej Stachowiak.
3018 Fix a shared memory leak
3019 https://bugs.webkit.org/show_bug.cgi?id=53800
3021 Move the send right representing the shared memory.
3023 * Platform/mac/SharedMemoryMac.cpp:
3024 (WebKit::SharedMemory::Handle::encode):
3026 2011-02-04 Brady Eidson <beidson@apple.com>
3028 Reviewed by Anders Carlsson.
3030 <rdar://problem/8636239> and https://bugs.webkit.org/show_bug.cgi?id=53785
3031 WebKit2: Pages with dynamically inserted iframes can add extraneous back/forward items.
3033 WebCore doesn't gracefully handle the case where the decidePolicyForNavigationAction callback
3034 does not occur synchronously. Let's make it synchronous.
3036 Change WebPageProxy to handle this message reply synchronously:
3037 * UIProcess/WebPageProxy.cpp:
3038 (WebKit::WebPageProxy::WebPageProxy):
3039 (WebKit::WebPageProxy::receivedPolicyDecision):
3040 (WebKit::WebPageProxy::decidePolicyForNavigationAction):
3041 * UIProcess/WebPageProxy.h:
3042 * UIProcess/WebPageProxy.messages.in: Make the navigation policy action message be synchronous.
3044 * Platform/CoreIPC/HandleMessage.h:
3045 (CoreIPC::callMemberFunction): Add a 6-argument varient
3047 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3048 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Send the message synchronously.
3050 2011-02-04 Steve Falkenburg <sfalken@apple.com>
3053 Correct prebuild build-stopping rule to allow project only rebuilds.
3055 * win/WebKit2WebProcessPreBuild.cmd:
3057 2011-02-04 Brian Weinstein <bweinstein@apple.com>
3059 Reviewed by Adam Roben.
3061 Assertion failure in WebInspectorProxy::platformClose closing main window when inspecting a popup
3062 window, or when running regression tests.
3063 https://bugs.webkit.org/show_bug.cgi?id=53798
3064 <rdar://problem/8814364>
3066 Only assert about the state of m_inspectorWindow and m_inspectorView if the inspector is visible.
3067 Also, only call ::DestroyWindow if the HWND is non-null, just to be safe.
3069 * UIProcess/win/WebInspectorProxyWin.cpp:
3070 (WebKit::WebInspectorProxy::platformClose):
3072 2011-02-04 Anders Carlsson <andersca@apple.com>
3074 Reviewed by Dan Bernstein.
3076 Go out of accelerated compositing mode when the drawing area is destroyed
3077 https://bugs.webkit.org/show_bug.cgi?id=53788
3079 This fixes a crash in the UI process if a web process crashes while in accelerated compositing mode.
3081 * UIProcess/DrawingAreaProxyImpl.cpp:
3082 (WebKit::DrawingAreaProxyImpl::~DrawingAreaProxyImpl):
3084 2011-02-03 Yury Semikhatsky <yurys@chromium.org>
3086 Reviewed by Pavel Feldman.
3088 Web Inspector: remove settings related methods from InspectorClient
3089 https://bugs.webkit.org/show_bug.cgi?id=53686
3091 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
3092 (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient):
3094 2011-02-03 Maciej Stachowiak <mjs@apple.com>
3096 Reviewed by Dan Bernstein.
3098 WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
3099 https://bugs.webkit.org/show_bug.cgi?id=52897
3100 <rdar://problem/8898294>
3102 * Shared/API/c/WKSharedAPICast.h:
3104 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
3105 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
3106 (WebKit::InjectedBundlePageLoaderClient::willSendRequestForFrame):
3107 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
3108 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3109 (WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
3111 2011-02-03 Ivan Krstić <ike@apple.com>
3113 Reviewed by Maciej Stachowiak.
3115 Make WebProcess pass explicit homedir parameter to the sandbox
3116 <rdar://problem/8405760>
3117 <https://webkit.org/b/53558>
3119 * WebProcess/com.apple.WebProcess.sb:
3120 * WebProcess/mac/WebProcessMac.mm:
3121 (WebKit::initializeSandbox):
3123 2011-02-03 James Kozianski <koz@chromium.org>
3125 Reviewed by Dimitri Glazkov.
3127 Add navigator.registerProtocolHandler behind a flag.
3128 https://bugs.webkit.org/show_bug.cgi?id=52609
3130 * Configurations/FeatureDefines.xcconfig:
3132 2011-02-03 Adam Langley <agl@chromium.org>
3134 Reviewed by Adam Barth.
3136 Plumb mixed script URL to FrameLoaderClient
3137 https://bugs.webkit.org/show_bug.cgi?id=52384
3139 Regressions covered by http/tests/security/mixedContent/*
3141 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3142 (WebKit::WebFrameLoaderClient::didRunInsecureContent):
3143 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3145 2011-02-03 Jon Honeycutt <jhoneycutt@apple.com>
3147 Download bundles should be moved to their final destination when they
3150 https://bugs.webkit.org/show_bug.cgi?id=53668
3152 Reviewed by Adam Roben.
3154 * WebProcess/Downloads/Download.cpp:
3155 (WebKit::Download::Download):
3156 Initialize m_allowOverwrite.
3157 (WebKit::Download::retrieveDestinationWithSuggestedFilename):
3158 Return the result of requesting the destination filename from the UI
3160 (WebKit::Download::decideDestinationWithSuggestedFilename):
3161 Call retrieveDestinationWithSuggestedFilename().
3162 (WebKit::Download::didFinish):
3163 Call platformDidFinish().
3165 * WebProcess/Downloads/Download.h:
3166 Declare retrieveDestinationWithSuggestedFilename() and
3167 platformDidFinish(). Add a member variable to store whether the UI
3168 process would like us to overwrite existing files.
3170 * WebProcess/Downloads/cf/DownloadCFNet.cpp:
3171 (WebKit::willResumeWithResponseCallback):
3172 Remove some trailing whitespace.
3174 * WebProcess/Downloads/curl/DownloadCurl.cpp:
3175 (WebKit::Download::platformDidFinish):
3178 * WebProcess/Downloads/mac/DownloadMac.mm:
3179 (WebKit::Download::platformDidFinish):
3182 * WebProcess/Downloads/qt/DownloadQt.cpp:
3183 (WebKit::Download::platformDidFinish):
3186 * WebProcess/Downloads/cf/win/DownloadCFNetWin.cpp:
3187 (WebKit::Download::didDecideDestination):
3188 Store whether the UI process would like us to overwrite existing files.
3189 (WebKit::Download::platformDidFinish):
3190 Try to move the bundle to the final destination. If that fails, ask the
3191 UI process for a new destination. If we receive one, try again to move
3192 the bundle. Call didCreateDestination() to report the updated path of
3193 file whether it's the bundle that we failed to move, or the new final
3196 This is similar to what is done by WebKit 1's CFNetwork port.
3198 * win/WebKit2.vcproj:
3199 Add DownloadWin.cpp.
3201 2011-02-01 Jon Honeycutt <jhoneycutt@apple.com>
3203 Small clean-up in DownloadCFNet.cpp.
3205 Rubber-stamped by Mark Rowe.
3207 * WebProcess/Downloads/cf/DownloadCFNet.cpp:
3208 (WebKit::Download::didDecideDestination):
3209 Moved out of the section labeled "CFURLDownload callbacks" and up near
3210 the other member functions.
3212 2011-02-03 Anders Carlsson <andersca@apple.com>
3214 Reviewed by Sam Weinig.
3216 Paint non-composited contents in a layer
3217 https://bugs.webkit.org/show_bug.cgi?id=53742
3219 * WebProcess/WebPage/DrawingAreaImpl.cpp:
3220 (WebKit::DrawingAreaImpl::setNeedsDisplay):
3221 Call LayerTreeHost::setNonCompositedContentsNeedDisplayInRect.
3223 (WebKit::DrawingAreaImpl::scroll):
3224 Call LayerTreeHost::scrollNonCompositedContents.
3226 (WebKit::DrawingAreaImpl::setSize):
3227 Call LayerTreeHost::sizeDidChange.
3229 * WebProcess/WebPage/LayerTreeHost.h:
3230 Add new pure virtual member functions.
3232 * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
3233 (WebKit::LayerTreeHostMac::LayerTreeHostMac):
3234 Create the non-composited content layer.
3236 (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplayInRect):
3237 Call setNeedsDisplay on the GraphicsLayer.
3239 (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
3240 Just call setNonCompositedContentsNeedDisplayInRect.
3242 (WebKit::LayerTreeHostMac::sizeDidChange):
3243 Resize the layers and flush any changes.
3245 (WebKit::LayerTreeHostMac::paintContents):
3246 Call WebPage::drawRect.
3248 (WebKit::LayerTreeHostMac::flushPendingLayerChangesRunLoopObserverCallback):
3249 Lay out the web page.
3251 (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
3252 Call syncCompositingStateForThisLayerOnly on the non-composited content layer.
3254 2011-02-03 Anders Carlsson <andersca@apple.com>
3256 Reviewed by Sam Weinig.
3258 When in accelerated compositing mode, wait for DidSetSize messages
3259 https://bugs.webkit.org/show_bug.cgi?id=53736
3261 Normally we wait for DidSetSize messages from ::paint, but that's never called in
3262 accelerated compositing mode so we just do it right after sending the SetSize message.
3264 * UIProcess/DrawingAreaProxyImpl.cpp:
3265 (WebKit::DrawingAreaProxyImpl::paint):
3266 Call waitForAndDispatchDidSetSize.
3268 (WebKit::DrawingAreaProxyImpl::sendSetSize):
3269 Call waitForAndDispatchDidSetSize when in accelerated compositing mode.
3271 (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidSetSize):
3272 New utility function which waits for and dispatches a DidSetSize message.
3274 * UIProcess/DrawingAreaProxyImpl.h:
3276 2011-02-03 Anders Carlsson <andersca@apple.com>
3278 Reviewed by Dan Bernstein.
3280 Pass along an UpdateInfo object to the ExitAcceleratedCompositingMode message
3281 https://bugs.webkit.org/show_bug.cgi?id=53734
3283 * UIProcess/DrawingAreaProxy.h:
3284 (WebKit::DrawingAreaProxy::exitAcceleratedCompositingMode):
3285 Add an UpdateInfo parameter.
3287 * UIProcess/DrawingAreaProxy.messages.in:
3288 Add an UpdateInfo parameter to the ExitAcceleratedCompositingMode message.
3290 * UIProcess/DrawingAreaProxyImpl.cpp:
3291 (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
3292 Incorporate the passed in update.
3294 * WebProcess/WebPage/DrawingAreaImpl.cpp:
3295 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
3296 Create a new UpdateInfo object, paint into it and pass it along as a parameter
3297 to the ExitAcceleratedCompositingMode message.
3299 2011-02-03 Beth Dakin <bdakin@apple.com>
3301 Reviewed by Sam Weinig.
3303 Fix for <rdar://problem/8944544> Ability to animate track
3304 for WKPainter scrollers
3306 * WebCoreSupport/WebSystemInterface.mm:
3307 (InitWebCoreSystemInterface):
3309 2011-02-03 Anders Carlsson <andersca@apple.com>
3311 Reviewed by Dan Bernstein.
3313 Change DidSetSize to take a LayerTreeContext parameter
3314 https://bugs.webkit.org/show_bug.cgi?id=53724
3316 Since SetSize can cause layout to happen, we need to pass along a layer tree context to
3317 the DidSetSize message so the UI process can enter/exit accelerated compositing mode appropriately.
3319 * Shared/LayerTreeContext.h:
3320 * Shared/mac/LayerTreeContextMac.mm:
3321 Add equality operators to LayerTreeContext.
3323 * UIProcess/DrawingAreaProxy.h:
3324 (WebKit::DrawingAreaProxy::didSetSize):
3325 This now takes a LayerTreeContext parameter.
3327 * UIProcess/DrawingAreaProxy.messages.in:
3328 Add LayerTreeContext parameter.
3330 * UIProcess/DrawingAreaProxyImpl.cpp:
3331 Get rid of m_isInAcceleratedCompositingMode and use the current layer context instead.
3333 (WebKit::DrawingAreaProxyImpl::paint):
3334 Bail if the call to DidSetSize ended up entering accelerated compositing mode.
3336 (WebKit::DrawingAreaProxyImpl::didSetSize):
3337 If the new layer tree context is different, enter/exit accelerated compositing mode accordingly.
3339 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
3340 (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
3341 Update the layer tree context.
3343 * UIProcess/DrawingAreaProxyImpl.h:
3344 (WebKit::DrawingAreaProxyImpl::isInAcceleratedCompositingMode):
3347 * WebProcess/WebPage/DrawingAreaImpl.cpp:
3348 (WebKit::DrawingAreaImpl::setSize):
3349 Pass along the layer tree context.
3351 2011-02-03 Anders Carlsson <andersca@apple.com>
3353 Reviewed by Dan Bernstein.
3355 Get rid of LayerTreeContext::seed on Mac.
3356 Add sequence checks to enterAcceleratedCompositingMode and exitAcceleratedCompositingMode and
3357 have them call newly added overloads that don't have the checks.
3359 * Shared/LayerTreeContext.h:
3360 * Shared/mac/LayerTreeContextMac.mm:
3361 (WebKit::LayerTreeContext::LayerTreeContext):
3362 (WebKit::LayerTreeContext::encode):
3363 (WebKit::LayerTreeContext::decode):
3364 * UIProcess/DrawingAreaProxyImpl.cpp:
3365 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
3366 (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
3367 * UIProcess/DrawingAreaProxyImpl.h:
3368 * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
3369 (WebKit::LayerTreeHostMac::LayerTreeHostMac):
3371 2011-02-03 Anders Carlsson <andersca@apple.com>
3373 Reviewed by Dan Bernstein.
3375 Get rid of timestamps in UpdateInfo
3376 https://bugs.webkit.org/show_bug.cgi?id=53713
3378 Add a 64-bit sequence number to all DrawingAreaProxy messages, and use it to
3379 check whether Update messages should be handled or not.
3381 * Shared/UpdateInfo.cpp:
3382 (WebKit::UpdateInfo::encode):
3383 (WebKit::UpdateInfo::decode):
3384 * Shared/UpdateInfo.h:
3385 (WebKit::UpdateInfo::UpdateInfo):
3386 * UIProcess/BackingStore.cpp:
3387 (WebKit::BackingStore::BackingStore):
3388 (WebKit::BackingStore::incorporateUpdate):
3389 * UIProcess/BackingStore.h:
3390 * UIProcess/DrawingAreaProxy.h:
3391 (WebKit::DrawingAreaProxy::update):
3392 (WebKit::DrawingAreaProxy::didSetSize):
3393 (WebKit::DrawingAreaProxy::enterAcceleratedCompositingMode):
3394 (WebKit::DrawingAreaProxy::exitAcceleratedCompositingMode):
3395 * UIProcess/DrawingAreaProxy.messages.in:
3396 * UIProcess/DrawingAreaProxyImpl.cpp:
3397 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
3398 (WebKit::DrawingAreaProxyImpl::update):
3399 (WebKit::DrawingAreaProxyImpl::didSetSize):
3400 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
3401 (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
3402 * UIProcess/DrawingAreaProxyImpl.h:
3403 * WebProcess/WebPage/DrawingAreaImpl.cpp:
3404 (WebKit::generateSequenceNumber):
3405 (WebKit::DrawingAreaImpl::setSize):
3406 (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
3407 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
3408 (WebKit::DrawingAreaImpl::display):
3410 2011-02-03 Anders Carlsson <andersca@apple.com>
3412 Reviewed by Darin Adler.
3414 Don't send enter/exit accelerated compositing mode messages when handling setSize
3415 https://bugs.webkit.org/show_bug.cgi?id=53706
3417 Don't send EnterAcceleratedCompositingMode/ExitAcceleratedCompositing mode when
3418 the mode changes happen as a result of relayout in setSize, since an updated state
3419 is going to be sent back in the DidSetSize message.
3421 * UIProcess/DrawingAreaProxyImpl.cpp:
3422 (WebKit::DrawingAreaProxyImpl::didSetSize):
3425 * WebProcess/WebPage/DrawingAreaImpl.cpp:
3426 (WebKit::DrawingAreaImpl::DrawingAreaImpl):
3427 Initialize m_inSetSize.
3429 (WebKit::DrawingAreaImpl::setRootCompositingLayer):
3430 Factor out code into enterAcceleratedCompositingMode and exitAcceleratedCompositingMode.
3432 (WebKit::DrawingAreaImpl::setSize):
3433 Set m_inSetSize to true while handling setSize.
3435 (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
3436 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
3437 Take over the message sending responsibility from LayerTreeHostMac, and don't send messages
3438 if we're currently handling a SetSize message.
3440 * WebProcess/WebPage/DrawingAreaImpl.h:
3443 * WebProcess/WebPage/LayerTreeHost.h:
3444 Add layerTreeHost getter.
3446 * WebProcess/WebPage/mac/LayerTreeHostMac.h:
3447 * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
3448 (WebKit::LayerTreeHostMac::LayerTreeHostMac):
3449 Don't send EnterAcceleratedCompositingMode messages.
3451 (WebKit::LayerTreeHostMac::layerTreeContext):
3452 Add getter for the current layer tree context.
3454 (WebKit::LayerTreeHostMac::invalidate):
3455 Don't send ExitAcceleratedCompositingMode messages.
3457 2011-02-03 Anders Carlsson <andersca@apple.com>
3459 Reviewed by Sam Weinig.
3461 Make the layer tree host keep track of the layer tree context
3462 https://bugs.webkit.org/show_bug.cgi?id=53698
3464 Add a LayerTreeContext member variable to the LayerTreeHost object,
3465 and also add a seed count to the LayerTreeContext so we can keep track of
3466 how layer tree contexts relate to each other.
3468 * Shared/LayerTreeContext.h:
3469 * Shared/mac/LayerTreeContextMac.mm:
3470 (WebKit::LayerTreeContext::LayerTreeContext):
3471 (WebKit::LayerTreeContext::makeWithSeed):
3472 (WebKit::LayerTreeContext::encode):
3473 (WebKit::LayerTreeContext::decode):
3475 * WebProcess/WebPage/mac/LayerTreeHostMac.h:
3476 Add the layer tree context as a member variable.
3478 * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
3479 (WebKit::LayerTreeHostMac::LayerTreeHostMac):
3480 Initialize the layer tree context.
3482 2011-02-03 Sam Weinig <sam@webkit.org>
3486 * UIProcess/API/qt/qwkpage.cpp:
3489 2011-02-02 Sam Weinig <sam@webkit.org>
3491 Reviewed by Anders Carlsson.
3493 Add notification of the end of a rubber band.
3494 <rdar://problem/8940648>
3496 * UIProcess/API/C/WKPage.h:
3497 * UIProcess/WebPageProxy.cpp:
3498 (WebKit::WebPageProxy::drawHeader):
3499 (WebKit::WebPageProxy::drawFooter):
3500 (WebKit::WebPageProxy::didCompleteRubberBandForMainFrame):
3501 * UIProcess/WebPageProxy.h:
3502 * UIProcess/WebPageProxy.messages.in:
3503 * UIProcess/WebUIClient.cpp:
3504 (WebKit::WebUIClient::didCompleteRubberBandForMainFrame):
3505 * UIProcess/WebUIClient.h:
3506 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3507 (WebKit::WebChromeClient::didCompleteRubberBandForMainFrame):
3508 * WebProcess/WebCoreSupport/WebChromeClient.h:
3509 Pipe the notification up to the WKUIClient.
3511 2011-02-03 Sheriff Bot <webkit.review.bot@gmail.com>
3513 Unreviewed, rolling out r77449.
3514 http://trac.webkit.org/changeset/77449
3515 https://bugs.webkit.org/show_bug.cgi?id=53663
3517 causes many WebKit2 tests to crash (Requested by othermaciej
3520 * Shared/API/c/WKSharedAPICast.h:
3522 (WebKit::toCopiedAPI):
3524 (WebKit::toCopiedURLAPI):
3525 * Shared/WebString.h:
3526 (WebKit::WebString::isNull):
3527 (WebKit::WebString::WebString):
3529 2011-02-02 Sam Weinig <sam@webkit.org>
3531 Fix license block issues pointed out by Daniel Bates.
3533 * Shared/API/c/WKGraphicsContext.cpp:
3534 * Shared/API/c/WKGraphicsContext.h:
3535 * Shared/API/c/cg/WKGraphicsContextCG.cpp:
3536 * Shared/API/c/cg/WKGraphicsContextCG.h:
3537 * Shared/WebGraphicsContext.cpp:
3539 2011-02-02 Sam Weinig <sam@webkit.org>
3541 Reviewed by Dan Bernstein.
3543 Add WKBundleFrameGetVisibleContentBoundsExcludingScrollbars API for WebKit2.
3545 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
3546 (WKBundleFrameGetContentBounds):
3547 (WKBundleFrameGetVisibleContentBounds):
3548 (WKBundleFrameGetVisibleContentBoundsExcludingScrollbars):
3549 (WKBundleFrameGetScrollOffset):
3550 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
3551 * WebProcess/WebPage/WebFrame.cpp:
3552 (WebKit::WebFrame::contentBounds):
3553 (WebKit::WebFrame::visibleContentBounds):
3554 (WebKit::WebFrame::visibleContentBoundsExcludingScrollbars):
3555 (WebKit::WebFrame::scrollOffset):
3556 * WebProcess/WebPage/WebFrame.h:
3557 Move implementation of frame geometry to the implementation file
3558 instead of keeping it in the API file.
3560 2011-02-02 Stephanie Lewis <slewis@apple.com>
3562 Reviewed by Geoff Garen.
3564 https://bugs.webkit.org/show_bug.cgi?id=53361
3565 <rdar://problem/8921729> REGRESSION: Membuster accumulates 1GB+ memory due to autorelease
3566 pools not being drained.
3567 Call into AppKit to add observers that push and pop autorelease pools on entry
3568 and exit from the CFRunLoop. This will prevent memory from accumulating.
3570 * WebProcess/mac/WebProcessMainMac.mm:
3571 (WebKit::WebProcessMain):
3573 2011-02-02 Darin Adler <darin@apple.com>
3575 Reviewed by Sam Weinig.
3577 Make null WTF::String objects turn into 0 pointers for WKStringRef and WKURLRef.
3578 rdar://problem/8948688
3580 * Shared/API/c/WKSharedAPICast.h:
3581 (WebKit::toAPI): Return 0 if the passed in string is 0.
3582 (WebKit::toCopiedAPI): Ditto.
3583 (WebKit::toURLRef): Ditto. Old code was trying to do this but was missing a return.
3584 (WebKit::toCopiedURLAPI): Ditto. Old code was trying to do this but had incorrect
3587 * Shared/WebString.h: Removed isNull function. It can never return true.
3588 Removed constructor code that turns the null string into the empty string.
3589 Instead assert that the passed in string is not null.
3591 2011-02-02 Mark Rowe <mrowe@apple.com>
3593 Reviewed by Beth Dakin.
3595 <rdar://problem/8928367> Crash when loading canvas pages inside HTMLCanvasElement::createImageBuffer().
3597 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3598 (InitWebCoreSystemInterface): Add some missing initializers.
3600 2011-02-02 Sam Weinig <sam@webkit.org>
3602 Reviewed by Beth Dakin.
3604 Add ChromeClient function to paint custom overhang areas.
3605 https://bugs.webkit.org/show_bug.cgi?id=53639
3607 * Shared/API/c/WKBase.h:
3608 * Shared/API/c/WKGraphicsContext.cpp: Added.
3609 (WKGraphicsContextGetTypeID):
3610 * Shared/API/c/WKGraphicsContext.h: Added.
3611 * Shared/API/c/WKSharedAPICast.h:
3612 * Shared/API/c/cg/WKGraphicsContextCG.cpp: Added.
3613 (WKGraphicsContextGetCGContext):
3614 * Shared/API/c/cg/WKGraphicsContextCG.h: Added.
3615 * Shared/APIObject.h:
3616 * Shared/WebGraphicsContext.cpp: Added.
3617 (WebKit::WebGraphicsContext::WebGraphicsContext):
3618 * Shared/WebGraphicsContext.h: Added.
3619 (WebKit::WebGraphicsContext::create):
3620 (WebKit::WebGraphicsContext::platformContext):
3621 (WebKit::WebGraphicsContext::type):
3622 Add WebGraphicsContext API type.
3624 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
3625 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
3626 (WebKit::InjectedBundlePageUIClient::pageDidScroll):
3627 (WebKit::InjectedBundlePageUIClient::shouldPaintCustomOverhangArea):
3628 (WebKit::InjectedBundlePageUIClient::paintCustomOverhangArea):
3629 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
3630 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3631 (WebKit::WebChromeClient::paintCustomOverhangArea):
3632 * WebProcess/WebCoreSupport/WebChromeClient.h:
3633 Pipe paintCustomOverhangArea to the InjectedBundlePageUIClient.
3635 * UIProcess/API/C/WebKit2.h:
3637 * WebKit2.xcodeproj/project.pbxproj:
3638 * win/WebKit2.vcproj:
3639 * win/WebKit2Generated.make:
3642 2011-02-02 Anders Carlsson <andersca@apple.com>
3644 Reviewed by Dan Bernstein.
3646 Work towards making the layer tree host be in charge of all painting
3647 https://bugs.webkit.org/show_bug.cgi?id=53636
3649 Make sure that DrawingAreaImpl::display is never called when in accelerated compositing mode,
3650 since the layer tree host is supposed to handle all drawing in that case.
3652 * WebProcess/WebPage/DrawingAreaImpl.cpp:
3653 (WebKit::DrawingAreaImpl::scroll):
3654 (WebKit::DrawingAreaImpl::setRootCompositingLayer):
3655 (WebKit::DrawingAreaImpl::setSize):
3656 (WebKit::DrawingAreaImpl::didUpdate):
3658 2011-02-02 Mark Rowe <mrowe@apple.com>
3660 Fix the 32-bit build.
3662 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
3663 (WebKit::computeFakeWindowBoundsRect):
3665 2011-02-02 Anders Carlsson <andersca@apple.com>
3667 Reviewed by Sam Weinig.
3669 Make sure that we don't try to call display() when in accelerated compositing mode
3670 https://bugs.webkit.org/show_bug.cgi?id=53629
3672 When in accelerated compositing mode, the layer tree host should handle all painting, so make sure that display() is never called.
3674 * WebProcess/WebPage/DrawingAreaImpl.cpp:
3675 (WebKit::DrawingAreaImpl::setNeedsDisplay):
3676 (WebKit::DrawingAreaImpl::setRootCompositingLayer):
3677 (WebKit::DrawingAreaImpl::display):
3679 2011-02-02 Adam Roben <aroben@apple.com>
3681 Assert WebBackForwardList's current index is valid to help catch errors
3683 Hopefully this will help catch a crash I saw once but haven't yet been able to reproduce.
3685 Fixes <http://webkit.org/b/53622>.
3687 Reviewed by Brady Eidson.
3689 * UIProcess/WebBackForwardList.cpp:
3690 (WebKit::WebBackForwardList::WebBackForwardList):
3691 (WebKit::WebBackForwardList::addItem):
3692 (WebKit::WebBackForwardList::goToItem):
3693 (WebKit::WebBackForwardList::currentItem):
3694 (WebKit::WebBackForwardList::backItem):
3695 (WebKit::WebBackForwardList::forwardItem):
3696 (WebKit::WebBackForwardList::itemAtIndex):
3697 (WebKit::WebBackForwardList::backListCount):
3698 (WebKit::WebBackForwardList::forwardListCount):
3699 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
3700 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
3701 (WebKit::WebBackForwardList::clear):
3702 * UIProcess/cf/WebBackForwardListCF.cpp:
3703 (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
3704 (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
3705 Assert that m_current is valid.
3707 * UIProcess/WebBackForwardList.h: Moved the NoCurrentItemIndex to a static data member so
3708 that it can be used from WebBackForwardListCF.cpp.
3710 2011-02-02 Anders Carlsson <andersca@apple.com>
3712 Reviewed by Sam Weinig.
3714 The drawing area proxy should keep track of the accelerated compositing state
3715 https://bugs.webkit.org/show_bug.cgi?id=53624
3717 * UIProcess/DrawingAreaProxyImpl.cpp:
3718 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
3719 Initialize m_isInAcceleratedCompositingMode to false.
3721 (WebKit::DrawingAreaProxyImpl::paint):
3722 Don't try to paint if we're in accelerated compositing mode.
3724 (WebKit::DrawingAreaProxyImpl::didSetSize):
3725 Bail if we're in accelerated compositing mode.
3727 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
3728 Set m_isInAcceleratedCompositingMode to true, null out the backing store.
3730 (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
3731 Set m_isInAcceleratedCompositingMode back to false.
3733 (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
3734 Assert that we're not in accelerated compositing mode.
3736 * UIProcess/DrawingAreaProxyImpl.h:
3738 2011-02-02 Timothy Hatcher <timothy@apple.com>
3740 Give the Web Process access to the Safari RSS preferences.
3742 <rdar://problem/8916870> Sandbox violation related to RSS during initial
3743 page load with WebKit2 (prevents RSS from working)
3745 Reviewed by Darin Adler.
3747 * WebProcess/com.apple.WebProcess.sb:
3749 2011-02-02 Steve Lacey <sjl@chromium.org>
3751 Reviewed by Eric Carlson.
3753 Implement basic media statistics on media elements.
3754 https://bugs.webkit.org/show_bug.cgi?id=53322
3756 * Configurations/FeatureDefines.xcconfig:
3758 2011-02-01 Alexey Proskuryakov <ap@apple.com>
3760 Reviewed by Sam Weinig.
3762 https://bugs.webkit.org/show_bug.cgi?id=53561
3763 <rdar://problem/8900228> Stepping through print previews in WebKit2 mode steps in and out of
3766 Disable NSView autodisplay, so that -[WKView drawRect:] isn't called (other than when
3767 resizing the window), so that we don't have to switch modes all the time.
3769 * UIProcess/API/mac/PageClientImpl.h:
3770 * UIProcess/API/mac/PageClientImpl.mm:
3771 (WebKit::PageClientImpl::setAutodisplay):
3772 * UIProcess/PageClient.h:
3773 * UIProcess/WebPageProxy.cpp:
3774 (WebKit::WebPageProxy::setAutodisplay):
3775 * UIProcess/WebPageProxy.h:
3776 Pipe the call from WKPrintingView down to WKView.
3778 * UIProcess/API/mac/WKPrintingView.mm:
3779 (-[WKPrintingView beginDocument]): Added. We don't want to autodisplay WKView while printing,
3780 because layout is changed to print at the time, and drawing to screen requires relayout.
3782 (-[WKPrintingView endDocument]): When not printing, turn autodisplay back on. Also, call
3783 -[super endDocument] for unknown but definitive good (oops!).
3785 2011-02-02 David Hyatt <hyatt@apple.com>
3787 Reviewed by Darin Adler.
3789 Conversion of right()/bottom() to maxX()/maxY() as part of the removal of those accessors.
3791 * UIProcess/win/WebPopupMenuProxyWin.cpp:
3792 (WebKit::WebPopupMenuProxyWin::calculatePositionAndSize):
3793 * UIProcess/win/WebView.cpp:
3794 (WebKit::WebView::prepareCandidateWindow):
3795 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
3796 (WebKit::NetscapePlugin::platformGeometryDidChange):
3798 2011-02-01 Darin Adler <darin@apple.com>
3800 Reviewed by Anders Carlsson.
3802 Overflow in WebKit2 argument decoder buffer checking
3803 https://bugs.webkit.org/show_bug.cgi?id=53536
3805 * Platform/CoreIPC/ArgumentDecoder.cpp:
3806 (CoreIPC::roundUpToAlignment): Tweak code a bit for clarity and to replace
3807 C casts with C++ casts.
3808 (CoreIPC::ArgumentDecoder::alignBufferPosition): Rearrange buffer calculation
3809 so we don't do any math with the passed-in size, because that could overflow.
3810 (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain): Ditto.
3812 2011-02-01 Csaba Osztrogonác <ossy@webkit.org>
3816 Fix Qt build after r77339.
3818 * UIProcess/API/qt/qwkpage.cpp:
3819 (QWKPagePrivate::enterAcceleratedCompositingMode):
3820 (QWKPagePrivate::exitAcceleratedCompositingMode):
3821 * UIProcess/API/qt/qwkpage_p.h:
3823 2011-02-01 Anders Carlsson <andersca@apple.com>
3825 Reviewed by Dan Bernstein.
3827 Attach the layer tree in the UI process
3828 https://bugs.webkit.org/show_bug.cgi?id=53560
3830 * UIProcess/API/mac/WKView.mm:
3831 (-[WKView _enterAcceleratedCompositingMode:]):
3832 Make a render layer and add it as a sublayer of our root layer.
3834 * WebProcess/WebPage/mac/LayerTreeHostMac.h:
3835 Make LayerTreeHostMac a GraphicsLayerClient.
3837 * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
3838 (WebKit::LayerTreeHostMac::LayerTreeHostMac):
3839 Create a root layer, add the layer subtree as a child of the root layer.
3841 (WebKit::LayerTreeHostMac::~LayerTreeHostMac):
3842 Assert that m_rootLayer is null.
3844 (WebKit::LayerTreeHostMac::invalidate):
3845 Null out m_rootLayer.
3847 (WebKit::LayerTreeHostMac::notifyAnimationStarted):
3848 (WebKit::LayerTreeHostMac::notifySyncRequired):
3849 (WebKit::LayerTreeHostMac::paintContents):
3852 (WebKit::LayerTreeHostMac::showDebugBorders):
3853 (WebKit::LayerTreeHostMac::showRepaintCounter):
3854 Return the correct settings.
3856 (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
3857 Flush the root layer changes.
3859 2011-02-01 Anders Carlsson <andersca@apple.com>
3863 * UIProcess/win/WebView.cpp:
3864 (WebKit::WebView::enterAcceleratedCompositingMode):
3865 (WebKit::WebView::exitAcceleratedCompositingMode):
3866 * UIProcess/win/WebView.h:
3868 2011-02-01 Anders Carlsson <andersca@apple.com>
3870 Reviewed by Dan Bernstein.
3872 Add a layer backed NSView for accelerated content
3873 https://bugs.webkit.org/show_bug.cgi?id=53555
3875 Rename the current _layerHostingView to _oldLayerHostingView and
3876 add a new _layerHostingView to be used with the new drawing area.
3878 * UIProcess/API/mac/WKView.mm:
3879 (-[WKView hitTest:]):
3880 (-[WKView _startAcceleratedCompositing:]):
3881 (-[WKView _stopAcceleratedCompositing]):
3882 (-[WKView _enterAcceleratedCompositingMode:]):
3883 (-[WKView _exitAcceleratedCompositingMode]):
3885 2011-02-01 Anders Carlsson <andersca@apple.com>
3887 Reviewed by Dan Bernstein.
3889 Pass enter/exit accelerated compositing mode to the WKView
3890 https://bugs.webkit.org/show_bug.cgi?id=53552
3892 * UIProcess/API/mac/PageClientImpl.h:
3893 * UIProcess/API/mac/PageClientImpl.mm:
3894 (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
3895 (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
3896 * UIProcess/API/mac/WKView.mm:
3897 (-[WKView _enterAcceleratedCompositingMode:]):
3898 (-[WKView _exitAcceleratedCompositingMode]):
3899 * UIProcess/API/mac/WKViewInternal.h:
3900 * UIProcess/DrawingAreaProxyImpl.cpp:
3901 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
3902 (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
3903 * UIProcess/PageClient.h:
3904 * UIProcess/WebPageProxy.cpp:
3905 (WebKit::WebPageProxy::enterAcceleratedCompositingMode):
3906 (WebKit::WebPageProxy::exitAcceleratedCompositingMode):
3907 * UIProcess/WebPageProxy.h:
3909 2011-02-01 Csaba Osztrogonác <ossy@webkit.org>
3911 Unreviewed Qt buildfix after r77286.
3913 https://bugs.webkit.org/show_bug.cgi?id=53520
3914 Remove the physical terminology from IntRect and FloatRect.
3916 * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
3917 (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
3919 2011-02-01 Anders Carlsson <andersca@apple.com>
3921 Reviewed by Adam Roben.
3923 Send messages when entering/exiting accelerated compositing
3924 https://bugs.webkit.org/show_bug.cgi?id=53534
3926 * Shared/LayerTreeContext.h: Added.
3927 * Shared/mac/LayerTreeContextMac.mm: Added.
3928 Add new LayerTreeContext which holds all information needed to enter
3929 accelerated compositing mode.
3931 * UIProcess/DrawingAreaProxy.h:
3932 (WebKit::DrawingAreaProxy::enterAcceleratedCompositingMode):
3933 (WebKit::DrawingAreaProxy::exitAcceleratedCompositingMode):
3936 * UIProcess/DrawingAreaProxy.messages.in:
3939 * UIProcess/DrawingAreaProxyImpl.cpp:
3940 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
3941 (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
3942 * UIProcess/DrawingAreaProxyImpl.h:
3945 * WebKit2.xcodeproj/project.pbxproj:
3948 * WebProcess/WebPage/mac/LayerTreeHostMac.h:
3949 * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
3950 (WebKit::LayerTreeHostMac::LayerTreeHostMac):
3951 (WebKit::LayerTreeHostMac::invalidate):
3954 2011-02-01 Alexey Proskuryakov <ap@apple.com>
3956 Reviewed by Dan Bernstein and Darin Adler.
3958 <rdar://problem/8830594> Printed page is sometimes shifted down, making footer invisible
3960 * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView locationOfPrintRect:]): Instead of
3961 letting AppKit compute content position on page, make the view provide it. We can do this
3962 because WK(Printing)Views are always printed on their own, not as part of other views.
3964 2011-02-01 Anders Carlsson <andersca@apple.com>
3966 Reviewed by Adam Roben.
3968 Make LayerTreeHost ref counted
3969 https://bugs.webkit.org/show_bug.cgi?id=53530
3971 LayerTreeHostMac will soon be able to trigger layout, which could cause
3972 the page to leave accelerated compositing mode and free the LayerTreeHostMac object.
3974 Making LayerTreeHost ref counted will let LayerTreeHostMac protect itself while triggering layout.
3976 * WebProcess/WebPage/DrawingAreaImpl.cpp:
3977 (WebKit::DrawingAreaImpl::setRootCompositingLayer):
3978 * WebProcess/WebPage/DrawingAreaImpl.h:
3979 * WebProcess/WebPage/LayerTreeHost.cpp:
3980 (WebKit::LayerTreeHost::create):
3981 * WebProcess/WebPage/LayerTreeHost.h:
3982 * WebProcess/WebPage/mac/LayerTreeHostMac.h:
3983 * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
3984 (WebKit::LayerTreeHostMac::create):
3985 (WebKit::LayerTreeHostMac::LayerTreeHostMac):
3986 (WebKit::LayerTreeHostMac::~LayerTreeHostMac):
3987 (WebKit::LayerTreeHostMac::invalidate):
3989 2011-02-01 Sam Weinig <sam@webkit.org>
3991 Reviewed by Beth Dakin.
3993 Part 2 for <rdar://problem/8492788>
3994 Adopt WKScrollbarPainterController
3996 Use header detection to define scrollbar painting controller #define.
3998 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3999 (InitWebCoreSystemInterface):
4001 2011-02-01 David Hyatt <hyatt@apple.com>
4003 Reviewed by Oliver Hunt.
4005 https://bugs.webkit.org/show_bug.cgi?id=53520
4007 Remove the physical terminology from IntRect and FloatRect.
4009 Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
4010 we need to update our terminology to be more accurate.
4012 I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
4013 renaming right() and bottom() to maxX() and maxY(). These terms remain accurate
4014 even for flipped rectangles.
4016 * Platform/Region.cpp:
4017 (WebKit::Region::Shape::Shape):
4018 * UIProcess/API/mac/WKPrintingView.mm:
4019 (pageDidComputePageRects):
4020 * UIProcess/FindIndicator.cpp:
4021 (WebKit::FindIndicator::draw):
4022 * UIProcess/TiledDrawingAreaProxy.cpp:
4023 (WebKit::TiledDrawingAreaProxy::invalidate):
4024 (WebKit::TiledDrawingAreaProxy::paint):
4025 (WebKit::TiledDrawingAreaProxy::createTiles):
4026 * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
4027 (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
4028 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
4029 (WebKit::NetscapePlugin::callSetWindow):
4031 2011-02-01 Anders Carlsson <andersca@apple.com>
4033 Reviewed by Adam Roben.
4035 Move flushPendingLayerChanges to LayerTreeHostMac
4036 https://bugs.webkit.org/show_bug.cgi?id=53525
4038 In preparation for adding more Mac specific code to flushPendingLayerChanges.
4040 * WebProcess/WebPage/LayerTreeHost.cpp:
4041 * WebProcess/WebPage/LayerTreeHost.h:
4042 * WebProcess/WebPage/mac/LayerTreeHostMac.h:
4043 * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
4044 (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
4046 2011-02-01 Beth Dakin <bdakin@apple.com>
4048 Reviewed by Sam Weinig.
4050 Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
4052 Implement NSView's viewWillStartLiveResize and
4053 viewDidEndLiveResize and propagate the messages down
4055 * UIProcess/API/mac/WKView.mm:
4056 (-[WKView viewWillStartLiveResize]):
4057 (-[WKView viewDidEndLiveResize]):
4058 * UIProcess/WebPageProxy.cpp:
4059 (WebKit::WebPageProxy::viewWillStartLiveResize):
4060 (WebKit::WebPageProxy::viewWillEndLiveResize):
4061 * UIProcess/WebPageProxy.h:
4062 * WebProcess/WebPage/WebPage.cpp:
4063 (WebKit::WebPage::viewWillStartLiveResize):
4064 (WebKit::WebPage::viewWillEndLiveResize):
4065 * WebProcess/WebPage/WebPage.h:
4066 * WebProcess/WebPage/WebPage.messages.in:
4068 A bunch of new WebKitSystemInterface functions.
4069 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
4070 (InitWebCoreSystemInterface):
4072 2011-02-01 Dave Hyatt <hyatt@apple.com>
4074 Reviewed by Darin Adler.
4076 https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
4079 Change printing functions to check writing-mode and properly swap width and height
4082 * WebProcess/WebPage/WebPage.cpp:
4083 (WebKit::WebPage::computePagesForPrinting):
4085 2011-01-31 Alexey Proskuryakov <ap@apple.com>
4087 Reviewed by Maciej Stachowiak.
4089 https://bugs.webkit.org/show_bug.cgi?id=53466
4090 Move WebKit2 to printing via API methods
4092 Also fixes <rdar://problem/8933724> REGRESSION: Wrong pages are printed when not printing from page 1
4094 Also fixes horizontal tiling (no bug filed).
4096 The main idea here is that we don't force AppKit to use a different scaling factor when
4097 a Web view can't be resized to exact page size, and scale when drawing instead.
4099 * UIProcess/API/mac/WKPrintingView.mm:
4100 (-[WKPrintingView _firstPrintedPageNumber]): Factored out into a separate method.
4101 (-[WKPrintingView _lastPrintedPageNumber]): Ditto.
4102 (pageDidDrawToPDF): Avoid crashing if data is null.
4103 (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): Use -_firstPrintedPageNumber
4104 and -_lastPrintedPageNumber.
4105 (pageDidComputePageRects): Set frame size to what it would have been for a normal NSView
4106 that's been asked to resize.
4107 (-[WKPrintingView _pageForRect:]): Check x(), because several pages can be at the same y()
4108 when tiling horizontally.
4109 (-[WKPrintingView _drawPDFDocument:page:atPoint:]): Point to draw at and frame size are
4110 now using different units, translate as appropriate.
4111 (-[WKPrintingView _drawPreview:]): Scale the rect to WebCore units.
4112 (-[WKPrintingView drawRect:]): Correctly calculate page number when the first page to print
4114 (-[WKPrintingView rectForPage:]): Scale the rect to AppKit units.
4116 2011-01-31 Darin Adler <darin@apple.com>
4118 Reviewed by Adele Peterson.
4120 WKView should support scrollPageDown:, scrollPageUp:, scrollToBeg and other similar selectors
4121 https://bugs.webkit.org/show_bug.cgi?id=53460
4123 * UIProcess/API/mac/WKView.mm: Added WEBCORE_COMMAND macro for lots of editor commands that
4124 are implemented in WebCore so they will get forwarded. Many of these will probably work without
4125 any further changes required. Added comments about the methods that we do not yet forward.
4126 (createSelectorExceptionMap): Map scrollPageDown: to ScrollPageForward and
4127 scrollPageUp: to ScrollPageBackward because we want the page up and page down
4128 keys to follow the document logical order, not physical order. This is equivalent
4129 to what we do in WebPage::performDefaultBehaviorForKeyEvent.
4131 2011-01-31 Jessie Berlin <jberlin@apple.com>
4133 Reviewed by Steve Falkenburg.
4135 WebKit2: the cookies used by the WebKit2 Web Process should not go in a top-level
4137 https://bugs.webkit.org/show_bug.cgi?id=53278
4139 Use the name WebKit2WebProcess since the default location for the cookies is determined
4140 based on the process name (which is WebKit2WebProcess.exe on Windows).
4143 Copy the WebKit2WebProcess.resources directory into the AppleInternal bin.
4145 * win/WebKit2WebProcess.resources: Added.
4146 * win/WebKit2WebProcess.resources/Info.plist: Added.
4147 Copied from the WebKit version of Info.plist.
4149 * win/WebKit2WebProcessPostBuild.cmd:
4150 Copy the WebKit2WebProcess.resources directory into the WebKitOutPutDir's bin.
4152 2011-01-31 Anders Carlsson <andersca@apple.com>
4154 Reviewed by Adam Roben.
4156 Make LayerTreeHost an abstract base class and make LayerTreeHostMac inherit from it
4157 https://bugs.webkit.org/show_bug.cgi?id=53432
4159 * WebKit2.xcodeproj/project.pbxproj:
4160 Add LayerTreeHostMac.h.
4162 * WebProcess/WebPage/DrawingAreaImpl.cpp:
4163 * WebProcess/WebPage/DrawingAreaImpl.h:
4164 Make m_layerTreeHost an OwnPtr and initialize/destroy it appropriately.
4166 * WebProcess/WebPage/LayerTreeHost.cpp:
4167 (WebKit::LayerTreeHost::create):
4168 On Mac, create a LayerTreeHostMac instance.
4170 (WebKit::LayerTreeHost::~LayerTreeHost):
4171 No need to call platformInvalidate anymore.
4173 * WebProcess/WebPage/LayerTreeHost.h:
4174 * WebProcess/WebPage/mac/LayerTreeHostMac.h: Added.
4175 * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
4176 (WebKit::LayerTreeHostMac::~LayerTreeHostMac):
4177 Invalidate the run loop observer here instead of in platformInvalidate.
4179 (WebKit::LayerTreeHostMac::scheduleLayerFlush):
4180 (WebKit::LayerTreeHostMac::flushPendingLayerChangesRunLoopObserverCallback):
4181 These are now members of LayerTreeHostMac.
4183 2011-01-30 Geoffrey Garen <ggaren@apple.com>
4185 Reviewed by Sam Weinig.
4188 Fixed crash on window close (maybe crash on launch?) due to missing frame null checks
4189 https://bugs.webkit.org/show_bug.cgi?id=53408
4191 * UIProcess/WebContext.cpp:
4192 (WebKit::WebContext::didNavigateWithNavigationData):
4193 (WebKit::WebContext::didPerformClientRedirect):
4194 (WebKit::WebContext::didPerformServerRedirect):
4195 (WebKit::WebContext::didUpdateHistoryTitle): Use MESSAGE_CHECK because
4196 we don't think we should be able to reach this state under normal conditions.
4198 2011-01-30 Geoffrey Garen <ggaren@apple.com>
4200 Reviewed by Maciej Stachowiak.
4202 Fixed crash on window close (maybe crash on launch?) due to missing
4204 https://bugs.webkit.org/show_bug.cgi?id=53408
4206 * UIProcess/WebContext.cpp:
4207 (WebKit::WebContext::didNavigateWithNavigationData):
4208 (WebKit::WebContext::didPerformClientRedirect):
4209 (WebKit::WebContext::didPerformServerRedirect):
4210 (WebKit::WebContext::didUpdateHistoryTitle): Check for NULL, since we're
4211 calling a function that can return it.
4213 2011-01-30 Balazs Kelemen <kbalazs@webkit.org>
4215 Reviewed by Csaba Osztrogonác.
4217 [Qt][WK2]REGRESSION (r76991): Fix build errors
4218 https://bugs.webkit.org/show_bug.cgi?id=53400
4220 Revert the temporary build fix (http://trac.webkit.org/changeset/77088)
4221 and remove WebKit2Prefix.h from the build.
4222 * UIProcess/API/qt/qwkhistory.h:
4223 * UIProcess/API/qt/qwkpage.h:
4226 2011-01-30 Jeff Miller <jeffm@apple.com>
4228 Reviewed by Dan Bernstein.
4230 FindController::updateFindIndicator() crashes if selection isn't visible
4231 https://bugs.webkit.org/show_bug.cgi?id=53399
4233 * WebProcess/WebPage/FindController.cpp:
4234 (WebKit::FindController::updateFindIndicator): Return false if ShareableBitmap::createShareable() returns null (typically because the selection rect is empty).
4236 2011-01-30 Csaba Osztrogonác <ossy@webkit.org>
4242 * UIProcess/API/qt/qwkhistory.h:
4243 * UIProcess/API/qt/qwkpage.h:
4245 2011-01-29 Maciej Stachowiak <mjs@apple.com>
4247 Reviewed by Geoffrey Garen.
4249 Add WKPageCopyPendingAPIRequestURL API
4250 https://bugs.webkit.org/show_bug.cgi?id=53383
4252 This API returns the last URL requested for load via API, if neither that load nor any
4253 other load subsequently reaches the provisional state.
4255 This is useful to be able to track loads initiated via the API
4257 * UIProcess/API/C/WKPage.cpp:
4258 (WKPageCopyPendingAPIRequestURL): Retrieve the pending URL.
4259 * UIProcess/API/C/WKPage.h:
4260 * UIProcess/WebPageProxy.cpp:
4261 (WebKit::WebPageProxy::loadURL): Set pending URL.
4262 (WebKit::WebPageProxy::loadURLRequest): ditto
4263 (WebKit::WebPageProxy::reload): ditto
4264 (WebKit::WebPageProxy::goForward): ditto
4265 (WebKit::WebPageProxy::goBack): ditto
4266 (WebKit::WebPageProxy::estimatedProgress): Assume the initial
4267 progress value when there is a pending URL.
4268 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Clear
4269 pending URL; clients should look at the provisional URL now.
4270 (WebKit::WebPageProxy::decidePolicyForNavigationAction): Clear
4271 pending URL if it doesn't match the policy URL; this means we
4272 were interrupted by another load.
4273 * UIProcess/WebPageProxy.h:
4274 (WebKit::WebPageProxy::pendingAPIRequestURL): Helper function.
4275 (WebKit::WebPageProxy::clearPendingAPIRequestURL): ditto
4276 (WebKit::WebPageProxy::setPendingAPIRequestURL): ditto
4278 2011-01-28 Jon Honeycutt <jhoneycutt@apple.com>
4280 Downloads in WK2 on Windows should write resume data to bundle
4281 https://bugs.webkit.org/show_bug.cgi?id=53282
4282 <rdar://problem/8753077>
4284 Reviewed by Alice Liu.
4286 * WebProcess/Downloads/Download.cpp:
4287 (WebKit::Download::decideDestinationWithSuggestedFilename):
4288 Call didDecideDestination(), now that the destination is decided.
4290 * WebProcess/Downloads/Download.h:
4291 Declare didDecideDestination(). Added member variables to hold the
4292 destination file path and the download bundle path.
4293 (WebKit::Download::destination):
4294 Return the path to the final destination for this download.
4296 * WebProcess/Downloads/cf/DownloadCFNet.cpp:
4297 (WebKit::Download::start):
4298 Remove the name of an unused param.
4299 (WebKit::Download::startWithHandle):
4301 (WebKit::Download::cancel):
4302 Tell CFNetwork not to delete the file upon failure, and tell it to
4303 cancel the download. Copy the resume data for the download, and append
4304 it to the download bundle. Call didCancel() with an empty
4305 DataReference, since we have written our own resume data.
4306 (WebKit::decideDestinationWithSuggestedObjectNameCallback):
4307 Remove some unused param names. Removed the call to
4308 CFURLDownloadSetDestination() - this is now handled in
4309 Download::didDecideDestination().
4310 (WebKit::didCreateDestinationCallback):
4311 Report that the final destination was created, rather than the download
4312 bundle, matching old WebKit.
4313 (WebKit::Download::didDecideDestination):
4314 Store the final destination and the download bundle paths, and call
4315 CFURLDownloadSetDestination(), passing the path to the download bundle.
4317 * WebProcess/Downloads/curl/DownloadCurl.cpp:
4318 (WebKit::Download::didDecideDestination):
4321 * WebProcess/Downloads/mac/DownloadMac.mm:
4322 (WebKit::Download::didDecideDestination):
4323 Stubbed - unneeded on the Mac.
4325 * WebProcess/Downloads/qt/DownloadQt.cpp:
4326 (WebKit::Download::didDecideDestination):
4329 2011-01-29 Jeff Miller <jeffm@apple.com>
4331 Reviewed by Anders Carlsson.
4333 Support find bouncy in WebKit2 on Windows
4334 https://bugs.webkit.org/show_bug.cgi?id=53329
4335 <rdar://problem/8565843>
4336 The Mac implements the find bouncy inside of WebKit in the UI process for WebKit2, but we need to do this inside Safari for WebKit2 on Windows.
4337 Add infrastructure to call back into the app when the find indicator changes.
4339 * UIProcess/API/C/win/WKView.cpp: Cleanup some code style violations.
4340 (WKViewSetFindIndicatorCallback): Added.
4341 (WKViewGetFindIndicatorCallback): Added.
4342 * UIProcess/API/C/win/WKView.h: Cleanup some code style violations.
4343 * UIProcess/FindIndicator.cpp:
4344 (WebKit::FindIndicator::create):
4345 (WebKit::FindIndicator::FindIndicator):
4346 (WebKit::FindIndicator::frameRect):
4347 (WebKit::FindIndicator::draw):
4348 Rename m_selectionRect to m_selectionRectInWindowCoordinates and m_textRects to m_textRectsInSelectionRectCoordinates (along with similarly named local variables) to be more explict about the coordinate system.
4349 * UIProcess/FindIndicator.h:
4350 (WebKit::FindIndicator::selectionRectInWindowCoordinates): Added.
4351 (WebKit::FindIndicator::textRects): Rename m_textRects to m_textRectsInSelectionRectCoordinates.
4352 * UIProcess/WebPageProxy.cpp:
4353 (WebKit::WebPageProxy::setFindIndicator): Rename selectionRect to selectionRectInWindowCoordinates and textRects to textRectsInSelectionRectCoordinates to be more explict about the coordinate system.
4354 * UIProcess/WebPageProxy.h: Ditto.
4355 * UIProcess/win/WebView.cpp:
4356 (WebKit::WebView::WebView):
4357 (WebKit::WebView::setFindIndicator): Added.
4358 (WebKit::WebView::setFindIndicatorCallback): Added.
4359 (WebKit::WebView::getFindIndicatorCallback): Added.
4360 * UIProcess/win/WebView.h:
4362 2011-01-28 Alexey Proskuryakov <ap@apple.com>
4364 Reviewed by Dan Bernstein.
4366 https://bugs.webkit.org/show_bug.cgi?id=53367
4367 <rdar://problem/8926460> Remove dysfunctional code from -[WKPrintingView _isPrintingPreview].
4369 * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView _isPrintingPreview]): The common
4370 branch works fine for now, no need to make platforms different.
4372 2011-01-28 Maciej Stachowiak <mjs@apple.com>
4374 Reviewed by Dan Bernstein.
4376 WKPageGetEstimatedProgress returns wrong value after a mainframe provisional load has started
4377 https://bugs.webkit.org/show_bug.cgi?id=53358
4379 * UIProcess/WebPageProxy.cpp:
4380 (WebKit::WebPageProxy::didStartProgress): Start progress at the magic initial value, not 0.
4382 2011-01-28 Anders Carlsson <andersca@apple.com>
4384 Yet another build fix (What was I thinking?)
4386 * WebProcess/Downloads/Download.h:
4387 * WebProcess/Plugins/PluginProxy.h:
4389 2011-01-28 Anders Carlsson <andersca@apple.com>
4393 * Shared/PrintInfo.h:
4395 2011-01-28 Anders Carlsson <andersca@apple.com>
4399 * Shared/mac/CoreAnimationRenderer.mm:
4401 2011-01-28 Anders Carlsson <andersca@apple.com>
4403 Reviewed by Sam Weinig.
4405 Add CoreAnimationRenderer class
4406 https://bugs.webkit.org/show_bug.cgi?id=53343
4408 * Shared/mac/CoreAnimationRenderer.h: Added.
4409 * Shared/mac/CoreAnimationRenderer.mm: Added.
4411 (WebKit::CoreAnimationRenderer::CoreAnimationRenderer):
4412 Initialize the underlying CARenderer object and hook up a notification observer.
4414 (WebKit::CoreAnimationRenderer::~CoreAnimationRenderer):
4415 Assert that the client is null. It has been set to null by the call to invalidate().
4417 (WebKit::CoreAnimationRenderer::setBounds):
4418 Update the bounds on the CARenderer and the root layer.
4420 (WebKit::CoreAnimationRenderer::render):
4421 Ask the renderer to render and return the next frame time.
4423 (WebKit::CoreAnimationRenderer::invalidate):
4424 Remove the change observer and reset the client.
4426 (WebKit::CoreAnimationRenderer::rendererDidChange):
4427 Call the client member function.
4429 * WebKit2.xcodeproj/project.pbxproj:
4432 2011-01-28 Anders Carlsson <andersca@apple.com>
4434 Reviewed by Sam Weinig.
4436 Add an OBJC_CLASS macro for forward declaring an Objective-C class
4437 https://bugs.webkit.org/show_bug.cgi?id=53337
4439 * Shared/NativeWebKeyboardEvent.h:
4440 * Shared/PrintInfo.h:
4441 * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
4442 * UIProcess/LayerBackedDrawingAreaProxy.h:
4443 * UIProcess/WebInspectorProxy.h:
4444 * UIProcess/mac/WebContextMenuProxyMac.h:
4445 * UIProcess/mac/WebPopupMenuProxyMac.h:
4446 * WebProcess/Downloads/Download.h:
4447 * WebProcess/Plugins/PluginProxy.h:
4448 * WebProcess/WebPage/LayerBackedDrawingArea.h:
4449 * WebProcess/WebPage/WebPage.h:
4452 2011-01-28 Anders Carlsson <andersca@apple.com>
4454 Reviewed by Sam Weinig.
4456 Don't put config.h in the message headers.
4458 * Scripts/webkit2/messages.py:
4459 * Scripts/webkit2/messages_unittest.py:
4461 2011-01-28 Anders Carlsson <andersca@apple.com>
4465 * Shared/mac/ShareableSurface.cpp:
4467 2011-01-28 Anders Carlsson <andersca@apple.com>
4469 Try to unbreak the Windows build.
4471 * UIProcess/cf/WebPageProxyCF.cpp:
4473 2011-01-28 Brady Eidson <beidson@apple.com>
4475 Reviewed by John Sullivan.
4477 https://bugs.webkit.org/show_bug.cgi?id=53330
4478 Need InjectedBundle API to get the response MIMEType for a URL
4480 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
4481 (WKBundleFrameCopyMIMETypeForResourceWithURL):
4482 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
4484 Get the MIMEType from the in-memory cache, or cachedResponseMIMETypeForURL() if not available:
4485 * WebProcess/WebPage/WebFrame.cpp:
4486 (WebKit::WebFrame::mimeTypeForResourceWithURL):
4487 * WebProcess/WebPage/WebFrame.h:
4489 Get the MIMEType from the platform's disk cache if available:
4490 * WebProcess/WebPage/WebPage.h:
4491 * WebProcess/WebPage/mac/WebPageMac.mm:
4492 (WebKit::WebPage::cachedResponseMIMETypeForURL):
4493 * WebProcess/WebPage/qt/WebPageQt.cpp:
4494 (WebKit::WebPage::cachedResponseMIMETypeForURL):
4495 * WebProcess/WebPage/win/WebPageWin.cpp:
4496 (WebKit::WebPage::cachedResponseMIMETypeForURL):
4498 2011-01-28 Anders Carlsson <andersca@apple.com>
4500 Reviewed by Sam Weinig.
4502 Clean up the mess introduced when config.h was added to the project:
4504 - Remove the contents of WebKit2Prefix.h that is now in config.h, to avoid including everything
4505 twice in each file, probably slowing down compile time.
4507 - Add config.h to all the files that were forgotten in order to keep the build from breaking.
4509 - Added trap to ensure that config.h is included at the top of every implementation file. If this
4510 had been added it would have caught the previous issue.
4512 2011-01-28 Stephanie Lewis <slewis@apple.com>
4514 Reviewed by Geoff Garen.
4516 <rdar://problem/8857651> Implement unregisterWorld for WebKit2
4517 Rename unregisterWorld to clearWrappers. Clearing the wrappers reduces the
4518 memory use of isolated worlds.
4520 * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
4521 (WKBundleScriptWorldClearWrappers):
4522 * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h:
4523 * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
4524 (WebKit::InjectedBundleScriptWorld::clearWrappers):
4525 * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
4527 2011-01-28 Dan Bernstein <mitz@apple.com>
4529 Reviewed by Sam Weinig.
4531 <select> can't display right-to-left (rtl) languages
4532 https://bugs.webkit.org/show_bug.cgi?id=19785
4534 * Shared/WebPopupItem.cpp:
4535 (WebKit::WebPopupItem::WebPopupItem): Added initializers for m_textDirection and m_hasTextDirectionOverride.
4536 (WebKit::WebPopupItem::encode): Encode the item's writing direction and direction override values.
4537 (WebKit::WebPopupItem::decode): Decode the item's writing direction and direction override values.
4538 * Shared/WebPopupItem.h:
4539 * UIProcess/WebPageProxy.cpp:
4540 (WebKit::WebPageProxy::showPopupMenu): Added a parameter for the menu's text direction.
4541 * UIProcess/WebPageProxy.h:
4542 * UIProcess/WebPageProxy.messages.in: Ditto.
4543 * UIProcess/WebPopupMenuProxy.h:
4544 * UIProcess/mac/WebPopupMenuProxyMac.h:
4545 * UIProcess/mac/WebPopupMenuProxyMac.mm:
4546 (WebKit::WebPopupMenuProxyMac::populate): Added a parameter for the menu's text direction.
4547 Set items' text alignment to match the menu's writing direction. Set items' writing direction
4548 and direction override according to their styles.
4549 (WebKit::WebPopupMenuProxyMac::showPopupMenu): Set the pop-up's layout direction.
4550 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
4551 (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural): Changed to return false.
4552 (WebKit::WebChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Added.
4553 * WebProcess/WebCoreSupport/WebChromeClient.h:
4554 * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
4555 (WebKit::WebPopupMenu::populateItems): Initialize items' writing direction and direction override
4557 (WebKit::WebPopupMenu::show): Pass the menu's writing direction.
4559 2011-01-28 Anders Carlsson <andersca@apple.com>
4561 Reviewed by Adam Roben.
4563 Add ShareableSurface class
4564 https://bugs.webkit.org/show_bug.cgi?id=53313
4566 * Shared/mac/ShareableSurface.cpp: Added.
4567 (WebKit::ShareableSurface::Handle::Handle):
4568 Initialize the mach port.
4570 (WebKit::ShareableSurface::Handle::~Handle):
4571 Deallocate our send right if needed.
4573 (WebKit::ShareableSurface::Handle::encode):
4574 Encode the send right, and then null it out.
4576 (WebKit::ShareableSurface::Handle::decode):
4577 Decode the send right.
4579 (WebKit::createIOSurface):
4580 Create an IOSurface with the given size.
4582 (WebKit::ShareableSurface::create):
4583 Create an IOSurface, either from a size or from a handle.
4585 (WebKit::ShareableSurface::~ShareableSurface):
4586 Delete the texture and framebuffer.
4588 (WebKit::ShareableSurface::createHandle):
4589 Create a mach port from the surface.
4591 (WebKit::ShareableSurface::attach):
4592 Create an FBO if needed and bind it.
4594 (WebKit::ShareableSurface::detach):
4597 (WebKit::ShareableSurface::textureID):
4598 Generate a new texture and bind it to the IOSurface.
4600 * Shared/mac/ShareableSurface.h: Added.
4602 * WebKit2.xcodeproj/project.pbxproj:
4605 2011-01-27 Adam Roben <aroben@apple.com>
4607 Change BinarySemaphore to wrap an auto-reset Win32 event on Windows
4609 Fixes <http://webkit.org/b/53208> <rdar://problem/8922490>.
4611 Reviewed by Dave Hyatt.
4613 * Platform/CoreIPC/BinarySemaphore.cpp: Wrap this implementation in #if !PLATFORM(WIN).
4615 * Platform/CoreIPC/BinarySemaphore.h: Make the Windows implementation have a single HANDLE
4616 member that holds the event.
4618 * Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Copied from Source/WebKit2/Platform/CoreIPC/BinarySemaphore.cpp.
4619 (CoreIPC::BinarySemaphore::BinarySemaphore): Create our event.
4620 (CoreIPC::BinarySemaphore::~BinarySemaphore): Destory our event.
4621 (CoreIPC::BinarySemaphore::signal): Signal the event.
4622 (CoreIPC::BinarySemaphore::wait): Convert the absolute time to a wait interval, then wait
4623 for the event to be signaled or for the interval to elapse.
4625 * win/WebKit2.vcproj: Added BinarySemaphoreWin.cpp. Also let VS have its way with the file.
4627 2011-01-27 Chris Marrin <cmarrin@apple.com>
4629 Reviewed by Anders Carlsson.
4631 WebKit2: Page flashes just before accelerated compositing animation
4632 https://bugs.webkit.org/show_bug.cgi?id=53274
4634 When switching out of compositing mode, the new ChunkedUpdateDrawingAreaProxy
4635 is getting created with the current page size. When the setSize() call is
4636 subsequently made, the sizeDidChange() call is not made (which does the initial
4637 render of the page) because the old size and new size are the same. The solution
4638 is to skip the setting of the size in the ctor and let it go through a size
4641 * UIProcess/DrawingAreaProxy.cpp:
4642 (WebKit::DrawingAreaProxy::DrawingAreaProxy):
4644 2011-01-28 Alejandro G. Castro <alex@igalia.com>
4646 Reviewed by Xan Lopez.
4648 [GTK] Fix dist compilation for the release
4649 https://bugs.webkit.org/show_bug.cgi?id=53290
4651 * GNUmakefile.am: Remove a file that is not in the repository
4655 2011-01-28 Andreas Kling <kling@webkit.org>
4657 Rubber-stamped by Simon Hausmann.
4659 [Qt][WK2] Combine QWKPage::engine{Connected,Disconnected} into one signal.
4661 Having two signals for this is redundant, combine them into
4662 QWKPage::engineConnectionChanged(bool connected).
4664 * UIProcess/API/qt/qwkpage.cpp:
4665 (QWKPagePrivate::didRelaunchProcess):
4666 (QWKPagePrivate::processDidCrash):
4667 * UIProcess/API/qt/qwkpage.h:
4669 2011-01-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
4671 Reviewed by Maciej Stachowiak.
4673 Build fix for Mac Intel Debug after r76916
4674 https://bugs.webkit.org/show_bug.cgi?id=53284
4676 Fix macro redefinition by guarding the redefined macros.
4680 2011-01-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
4682 Unreviewed build fix for Mac Intel Debug after r76916.
4684 Fix macro redefinition by guarding the redefined macros.
4686 Check if the macro is already defined before defininig it.
4687 c++config.h has the same macros with the same values.
4691 2011-01-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
4693 Reviewed by Adam Barth.
4695 Update the expected results for test-webkitpy after r76916.
4697 Include "config.h" in the expected results as well.
4699 * Scripts/webkit2/messages_unittest.py:
4701 2011-01-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
4703 Unreviewed buildfix for SnowLeopard Intel Debug.
4705 Fix macro redefinition by not including config.h.
4707 Revert previous change in WebPageProxyCF.cpp.
4709 * UIProcess/cf/WebPageProxyCF.cpp:
4711 2011-01-27 Greg Coletta <greg.coletta@nokia.com>
4713 Reviewed by Laszlo Gombos.
4715 Get rid of prefix header dependency for WebKit2 build system.
4716 https://bugs.webkit.org/show_bug.cgi?id=50174
4718 Add config.h include explicitelly.
4720 * Platform/CoreIPC/ArgumentDecoder.cpp:
4721 * Platform/CoreIPC/ArgumentEncoder.cpp:
4722 * Platform/CoreIPC/Attachment.cpp:
4723 * Platform/CoreIPC/BinarySemaphore.cpp:
4724 * Platform/CoreIPC/Connection.cpp:
4725 * Platform/CoreIPC/DataReference.cpp:
4726 * Platform/CoreIPC/gtk/ConnectionGtk.cpp:
4727 * Platform/CoreIPC/mac/ConnectionMac.cpp:
4728 * Platform/CoreIPC/qt/ConnectionQt.cpp:
4729 * Platform/CoreIPC/win/ConnectionWin.cpp:
4730 * Platform/Logging.cpp:
4731 * Platform/Module.cpp:
4732 * Platform/Region.cpp:
4733 * Platform/RunLoop.cpp:
4734 * Platform/WorkQueue.cpp:
4735 * Platform/cg/CGUtilities.cpp:
4736 * Platform/gtk/RunLoopGtk.cpp:
4737 * Platform/gtk/SharedMemoryGtk.cpp:
4738 * Platform/gtk/WorkQueueGtk.cpp:
4739 * Platform/mac/MachUtilities.cpp:
4740 * Platform/mac/SharedMemoryMac.cpp:
4741 * Platform/mac/WorkQueueMac.cpp:
4742 * Platform/qt/MappedMemoryPool.cpp:
4743 * Platform/qt/ModuleQt.cpp:
4744 * Platform/qt/RunLoopQt.cpp:
4745 * Platform/qt/WorkQueueQt.cpp:
4746 * Platform/win/ModuleWin.cpp:
4747 * Platform/win/RunLoopWin.cpp:
4748 * Platform/win/SharedMemoryWin.cpp:
4749 * Platform/win/WorkQueueWin.cpp:
4750 * PluginProcess/PluginControllerProxy.cpp:
4751 * PluginProcess/PluginProcess.cpp:
4752 * PluginProcess/WebProcessConnection.cpp:
4753 * Scripts/webkit2/messages.py:
4754 * Shared/API/c/WKArray.cpp:
4755 * Shared/API/c/WKCertificateInfo.cpp:
4756 * Shared/API/c/WKContextMenuItem.cpp:
4757 * Shared/API/c/WKData.cpp:
4758 * Shared/API/c/WKDictionary.cpp:
4759 * Shared/API/c/WKError.cpp:
4760 * Shared/API/c/WKImage.cpp:
4761 * Shared/API/c/WKMutableArray.cpp:
4762 * Shared/API/c/WKMutableDictionary.cpp:
4763 * Shared/API/c/WKNumber.cpp:
4764 * Shared/API/c/WKSecurityOrigin.cpp:
4765 * Shared/API/c/WKSerializedScriptValue.cpp:
4766 * Shared/API/c/WKString.cpp:
4767 * Shared/API/c/WKType.cpp:
4768 * Shared/API/c/WKURL.cpp:
4769 * Shared/API/c/WKURLRequest.cpp:
4770 * Shared/API/c/WKURLResponse.cpp:
4771 * Shared/API/c/WKUserContentURLPattern.cpp:
4772 * Shared/API/c/cf/WKStringCF.cpp:
4773 * Shared/API/c/cf/WKURLCF.cpp:
4774 * Shared/API/c/cf/WKURLRequestCF.cpp:
4775 * Shared/API/c/cf/WKURLResponseCF.cpp:
4776 * Shared/API/c/cg/WKImageCG.cpp:
4777 * Shared/API/c/win/WKCertificateInfoWin.cpp:
4778 * Shared/ChildProcess.cpp:
4779 * Shared/ImmutableArray.cpp:
4780 * Shared/ImmutableDictionary.cpp:
4781 * Shared/MutableArray.cpp:
4782 * Shared/MutableDictionary.cpp:
4783 * Shared/OriginAndDatabases.cpp:
4784 * Shared/PlatformPopupMenuData.cpp:
4785 * Shared/Plugins/NPIdentifierData.cpp:
4786 * Shared/Plugins/NPObjectMessageReceiver.cpp:
4787 * Shared/Plugins/NPObjectProxy.cpp:
4788 * Shared/Plugins/NPRemoteObjectMap.cpp:
4789 * Shared/Plugins/NPVariantData.cpp:
4790 * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
4791 * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
4792 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
4793 * Shared/Plugins/PluginProcessCreationParameters.cpp:
4794 * Shared/PrintInfo.cpp:
4795 * Shared/SessionState.cpp:
4796 * Shared/ShareableBitmap.cpp:
4797 * Shared/UpdateInfo.cpp:
4798 * Shared/VisitedLinkTable.cpp:
4799 * Shared/WebBackForwardListItem.cpp:
4800 * Shared/WebContextMenuItem.cpp:
4801 * Shared/WebContextMenuItemData.cpp:
4802 * Shared/WebError.cpp:
4803 * Shared/WebEvent.cpp:
4804 * Shared/WebEventConversion.cpp:
4805 * Shared/WebGeolocationPosition.cpp:
4806 * Shared/WebImage.cpp:
4807 * Shared/WebKeyboardEvent.cpp:
4808 * Shared/WebMemorySampler.cpp:
4809 * Shared/WebMouseEvent.cpp:
4810 * Shared/WebOpenPanelParameters.cpp:
4811 * Shared/WebPageCreationParameters.cpp:
4812 * Shared/WebPageGroupData.cpp:
4813 * Shared/WebPlatformTouchPoint.cpp:
4814 * Shared/WebPopupItem.cpp:
4815 * Shared/WebPreferencesStore.cpp:
4816 * Shared/WebProcessCreationParameters.cpp:
4817 * Shared/WebTouchEvent.cpp:
4818 * Shared/WebURLRequest.cpp:
4819 * Shared/WebURLResponse.cpp:
4820 * Shared/WebWheelEvent.cpp:
4821 * Shared/cairo/ShareableBitmapCairo.cpp:
4822 * Shared/cf/ArgumentCodersCF.cpp:
4823 * Shared/cg/ShareableBitmapCG.cpp:
4824 * Shared/gtk/ShareableBitmapGtk.cpp:
4825 * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
4826 * Shared/mac/CommandLineMac.cpp:
4827 * Shared/mac/UpdateChunk.cpp:
4828 * Shared/qt/CleanupHandler.cpp:
4829 * Shared/qt/NativeWebKeyboardEventQt.cpp:
4830 * Shared/qt/ShareableBitmapQt.cpp:
4831 * Shared/qt/UpdateChunk.cpp:
4832 * Shared/qt/WebCoreArgumentCodersQt.cpp:
4833 * Shared/qt/WebEventFactoryQt.cpp:
4834 * Shared/qt/WebURLRequestQt.cpp:
4835 * Shared/qt/WebURLResponseQt.cpp:
4836 * Shared/win/CommandLineWin.cpp:
4837 * Shared/win/NativeWebKeyboardEventWin.cpp:
4838 * Shared/win/PlatformCertificateInfo.cpp:
4839 * Shared/win/UpdateChunk.cpp:
4840 * Shared/win/WebCoreArgumentCodersWin.cpp:
4841 * Shared/win/WebEventFactory.cpp:
4842 * Shared/win/WebURLRequestWin.cpp:
4843 * Shared/win/WebURLResponseWin.cpp:
4844 * UIProcess/API/C/WKAuthenticationChallenge.cpp:
4845 * UIProcess/API/C/WKAuthenticationDecisionListener.cpp:
4846 * UIProcess/API/C/WKBackForwardList.cpp:
4847 * UIProcess/API/C/WKBackForwardListItem.cpp:
4848 * UIProcess/API/C/WKContext.cpp:
4849 * UIProcess/API/C/WKCredential.cpp:
4850 * UIProcess/API/C/WKDatabaseManager.cpp:
4851 * UIProcess/API/C/WKDownload.cpp:
4852 * UIProcess/API/C/WKFormSubmissionListener.cpp:
4853 * UIProcess/API/C/WKFrame.cpp:
4854 * UIProcess/API/C/WKFramePolicyListener.cpp:
4855 * UIProcess/API/C/WKGeolocationManager.cpp:
4856 * UIProcess/API/C/WKGeolocationPermissionRequest.cpp:
4857 * UIProcess/API/C/WKGeolocationPosition.cpp:
4858 * UIProcess/API/C/WKInspector.cpp:
4859 * UIProcess/API/C/WKNavigationData.cpp:
4860 * UIProcess/API/C/WKOpenPanelParameters.cpp:
4861 * UIProcess/API/C/WKOpenPanelResultListener.cpp:
4862 * UIProcess/API/C/WKPage.cpp:
4863 * UIProcess/API/C/WKPageGroup.cpp:
4864 * UIProcess/API/C/WKPreferences.cpp:
4865 * UIProcess/API/C/WKProtectionSpace.cpp:
4866 * UIProcess/API/C/win/WKContextWin.cpp:
4867 * UIProcess/API/C/win/WKView.cpp:
4868 * UIProcess/API/C/win/WKViewPrivate.cpp:
4869 * UIProcess/API/cpp/qt/WKStringQt.cpp:
4870 * UIProcess/API/cpp/qt/WKURLQt.cpp:
4871 * UIProcess/API/qt/ClientImpl.cpp:
4872 * UIProcess/API/qt/qgraphicswkview.cpp:
4873 * UIProcess/API/qt/qwkcontext.cpp:
4874 * UIProcess/API/qt/qwkpage.cpp:
4875 * UIProcess/API/qt/qwkpreferences.cpp:
4876 * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
4877 * UIProcess/Authentication/AuthenticationDecisionListener.cpp:
4878 * UIProcess/Authentication/WebCredential.cpp:
4879 * UIProcess/Authentication/WebProtectionSpace.cpp:
4880 * UIProcess/BackingStore.cpp:
4881 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
4882 * UIProcess/Downloads/DownloadProxy.cpp:
4883 * UIProcess/DrawingAreaProxy.cpp:
4884 * UIProcess/DrawingAreaProxyImpl.cpp:
4885 * UIProcess/FindIndicator.cpp:
4886 * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
4887 * UIProcess/GeolocationPermissionRequestProxy.cpp:
4888 * UIProcess/Launcher/ProcessLauncher.cpp:
4889 * UIProcess/Launcher/ThreadLauncher.cpp:
4890 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
4891 * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp:
4892 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
4893 * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
4894 * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
4895 * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
4896 * UIProcess/LayerBackedDrawingAreaProxy.cpp:
4897 * UIProcess/Plugins/PluginInfoStore.cpp:
4898 * UIProcess/Plugins/PluginProcessManager.cpp:
4899 * UIProcess/Plugins/PluginProcessProxy.cpp:
4900 * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:
4901 * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
4902 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
4903 * UIProcess/ResponsivenessTimer.cpp:
4904 * UIProcess/TiledDrawingAreaProxy.cpp:
4905 * UIProcess/VisitedLinkProvider.cpp:
4906 * UIProcess/WebBackForwardList.cpp:
4907 * UIProcess/WebContext.cpp:
4908 * UIProcess/WebContextInjectedBundleClient.cpp:
4909 * UIProcess/WebContextMenuProxy.cpp:
4910 * UIProcess/WebDatabaseManagerProxy.cpp:
4911 * UIProcess/WebDatabaseManagerProxyClient.cpp:
4912 * UIProcess/WebDownloadClient.cpp:
4913 * UIProcess/WebEditCommandProxy.cpp:
4914 * UIProcess/WebFindClient.cpp:
4915 * UIProcess/WebFormClient.cpp:
4916 * UIProcess/WebFormSubmissionListenerProxy.cpp:
4917 * UIProcess/WebFrameListenerProxy.cpp:
4918 * UIProcess/WebFramePolicyListenerProxy.cpp:
4919 * UIProcess/WebFrameProxy.cpp:
4920 * UIProcess/WebGeolocationManagerProxy.cpp:
4921 * UIProcess/WebGeolocationProvider.cpp:
4922 * UIProcess/WebHistoryClient.cpp:
4923 * UIProcess/WebInspectorProxy.cpp:
4924 * UIProcess/WebLoaderClient.cpp:
4925 * UIProcess/WebNavigationData.cpp:
4926 * UIProcess/WebOpenPanelResultListenerProxy.cpp:
4927 * UIProcess/WebPageContextMenuClient.cpp:
4928 * UIProcess/WebPageGroup.cpp:
4929 * UIProcess/WebPageProxy.cpp:
4930 * UIProcess/WebPolicyClient.cpp:
4931 * UIProcess/WebPreferences.cpp:
4932 * UIProcess/WebProcessManager.cpp:
4933 * UIProcess/WebProcessProxy.cpp:
4934 * UIProcess/WebResourceLoadClient.cpp:
4935 * UIProcess/WebUIClient.cpp:
4936 * UIProcess/cf/WebBackForwardListCF.cpp:
4937 * UIProcess/cf/WebPageProxyCF.cpp:
4938 * UIProcess/cf/WebPreferencesCF.cpp:
4939 * UIProcess/gtk/TextCheckerGtk.cpp:
4940 * UIProcess/gtk/WebInspectorGtk.cpp:
4941 * UIProcess/gtk/WebPageProxyGtk.cpp:
4942 * UIProcess/gtk/WebPreferencesGtk.cpp:
4943 * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
4944 * UIProcess/qt/TextCheckerQt.cpp:
4945 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
4946 * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
4947 * UIProcess/qt/WebContextMenuProxyQt.cpp:
4948 * UIProcess/qt/WebContextQt.cpp:
4949 * UIProcess/qt/WebInspectorProxyQt.cpp:
4950 * UIProcess/qt/WebPageProxyQt.cpp:
4951 * UIProcess/qt/WebPopupMenuProxyQt.cpp:
4952 * UIProcess/qt/WebPreferencesQt.cpp:
4953 * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp:
4954 * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp:
4955 * UIProcess/win/TextCheckerWin.cpp:
4956 * UIProcess/win/WebContextMenuProxyWin.cpp:
4957 * UIProcess/win/WebContextWin.cpp:
4958 * UIProcess/win/WebInspectorProxyWin.cpp:
4959 * UIProcess/win/WebPageProxyWin.cpp:
4960 * UIProcess/win/WebPopupMenuProxyWin.cpp:
4961 * UIProcess/win/WebView.cpp:
4962 * WebKit2.xcodeproj/project.pbxproj:
4963 * WebProcess/Authentication/AuthenticationManager.cpp:
4964 * WebProcess/Downloads/Download.cpp:
4965 * WebProcess/Downloads/DownloadManager.cpp:
4966 * WebProcess/Downloads/cf/DownloadCFNet.cpp:
4967 * WebProcess/Downloads/curl/DownloadCurl.cpp:
4968 * WebProcess/Downloads/qt/DownloadQt.cpp:
4969 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
4970 * WebProcess/Geolocation/WebGeolocationManager.cpp:
4971 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
4972 * WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.cpp:
4973 * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
4974 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
4975 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
4976 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
4977 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
4978 * WebProcess/InjectedBundle/API/c/WKBundlePageGroup.cpp:
4979 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
4980 * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
4981 * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
4982 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
4983 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
4984 * WebProcess/InjectedBundle/InjectedBundle.cpp:
4985 * WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp:
4986 * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
4987 * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
4988 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
4989 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
4990 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
4991 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
4992 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
4993 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
4994 * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
4995 * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
4996 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
4997 * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
4998 * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
4999 * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
5000 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
5001 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
5002 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
5003 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
5004 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
5005 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
5006 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
5007 * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
5008 * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
5009 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
5010 * WebProcess/Plugins/Plugin.cpp:
5011 * WebProcess/Plugins/PluginProcessConnection.cpp:
5012 * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
5013 * WebProcess/Plugins/PluginProxy.cpp:
5014 * WebProcess/Plugins/PluginView.cpp:
5015 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
5016 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
5017 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
5018 * WebProcess/WebCoreSupport/WebDragClient.cpp:
5019 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
5020 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
5021 * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
5022 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
5023 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
5024 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
5025 * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
5026 * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
5027 * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp:
5028 * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp:
5029 * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp:
5030 * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
5031 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
5032 * WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp:
5033 * WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp:
5034 * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
5035 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
5036 * WebProcess/WebKitMain.cpp:
5037 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
5038 * WebProcess/WebPage/DecoderAdapter.cpp:
5039 * WebProcess/WebPage/DrawingArea.cpp:
5040 * WebProcess/WebPage/DrawingAreaImpl.cpp:
5041 * WebProcess/WebPage/EncoderAdapter.cpp:
5042 * WebProcess/WebPage/FindController.cpp:
5043 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
5044 * WebProcess/WebPage/PageOverlay.cpp:
5045 * WebProcess/WebPage/TiledDrawingArea.cpp:
5046 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
5047 * WebProcess/WebPage/WebContextMenu.cpp:
5048 * WebProcess/WebPage/WebEditCommand.cpp:
5049 * WebProcess/WebPage/WebFrame.cpp:
5050 * WebProcess/WebPage/WebInspector.cpp:
5051 * WebProcess/WebPage/WebOpenPanelResultListener.cpp:
5052 * WebProcess/WebPage/WebPage.cpp:
5053 * WebProcess/WebPage/WebPageGroupProxy.cpp:
5054 * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
5055 * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp:
5056 * WebProcess/WebPage/qt/ChunkedUpdateDrawingAreaQt.cpp:
5057 * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp:
5058 * WebProcess/WebPage/qt/WebInspectorQt.cpp:
5059 * WebProcess/WebPage/qt/WebPageQt.cpp:
5060 * WebProcess/WebPage/win/ChunkedUpdateDrawingAreaWin.cpp:
5061 * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp:
5062 * WebProcess/WebPage/win/WebInspectorWin.cpp:
5063 * WebProcess/WebPage/win/WebPageWin.cpp:
5064 * WebProcess/WebProcess.cpp:
5065 * WebProcess/gtk/WebProcessGtk.cpp:
5066 * WebProcess/gtk/WebProcessMainGtk.cpp:
5067 * WebProcess/qt/WebProcessMainQt.cpp:
5068 * WebProcess/qt/WebProcessQt.cpp:
5069 * WebProcess/win/WebProcessMainWin.cpp:
5070 * WebProcess/win/WebProcessWin.cpp:
5071 * config.h: Copied from Source/WebKit2/WebKit2Prefix.h.
5072 * win/WebKit2Common.vsprops:
5074 2011-01-27 Maciej Stachowiak <mjs@apple.com>
5076 Reviewed by Darin Adler.
5078 execCommand("Paste") doesn't work in WebKitTestRunner
5079 https://bugs.webkit.org/show_bug.cgi?id=52785
5081 Thread through the new JavaScriptCanAccessClipboard setting.
5083 * Shared/WebPreferencesStore.h:
5084 * UIProcess/API/C/WKPreferences.cpp:
5085 (WKPreferencesSetJavaScriptCanAccessClipboard):
5086 (WKPreferencesGetJavaScriptCanAccessClipboard):
5087 * UIProcess/API/C/WKPreferences.h:
5088 * WebProcess/WebPage/WebPage.cpp:
5089 (WebKit::WebPage::updatePreferences):
5091 2011-01-27 Nate Chapin <japhet@chromium.org>
5093 Reviewed by Adam Barth.
5095 Use Document::url() instead of FrameLoader::url().
5096 https://bugs.webkit.org/show_bug.cgi?id=41165
5098 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
5099 (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
5100 (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
5101 (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
5102 (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
5103 * WebProcess/WebPage/WebFrame.cpp:
5104 (WebKit::WebFrame::url):
5106 2011-01-27 Sam Weinig <sam@webkit.org>
5108 Reviewed by Anders Carlsson.
5110 Encode/Decode hasPreciseScrollingDeltas bit in WebWheelEvent
5111 https://bugs.webkit.org/show_bug.cgi?id=53254
5113 * Shared/WebWheelEvent.cpp:
5114 (WebKit::WebWheelEvent::WebWheelEvent):
5115 Initialize m_phase and m_hasPreciseScrollingDeltas.
5117 (WebKit::WebWheelEvent::encode):
5118 (WebKit::WebWheelEvent::decode):
5119 Add missing coding for m_hasPreciseScrollingDeltas.
5121 2011-01-26 Enrica Casucci <enrica@apple.com>
5123 Reviewed by Darin Adler and Adam Roben.
5125 WebKit2: add support for drag and drop on Windows
5126 https://bugs.webkit.org/show_bug.cgi?id=52775
5127 <rdar://problem/8514409>
5129 On Windows the access to the content being dragged is
5130 provided via the IDataObject interface that is made available
5131 to the window that registers itself as drop target.
5132 Since this interface cannot be accessed from the WebProcess,
5133 in every call to one of the methods of the IDropTarget interface
5134 we serialize the content of the drag clipboard and send it over to
5135 the WebProcess. The implementation uses the same messages as the
5136 Mac one, with slightly different parameters to pass the serialized
5139 * UIProcess/WebPageProxy.cpp:
5140 (WebKit::WebPageProxy::performDragControllerAction): Added Windows
5141 specific implementation.
5142 * UIProcess/WebPageProxy.h:
5143 * UIProcess/win/WebView.cpp:
5144 (WebKit::WebView::WebView): Added dropTargetHelper object creation.
5145 (WebKit::WebView::initialize): Added to register for drag/drop with out
5147 (WebKit::WebView::close):
5148 (WebKit::WebView::windowReceivedMessage):
5149 (WebKit::WebView::QueryInterface):
5150 (WebKit::WebView::AddRef):
5151 (WebKit::WebView::Release):
5152 (WebKit::dragOperationToDragCursor):
5153 (WebKit::WebView::keyStateToDragOperation):
5154 (WebKit::WebView::DragEnter):
5155 (WebKit::WebView::DragOver):
5156 (WebKit::WebView::DragLeave):
5157 (WebKit::WebView::Drop):
5158 * UIProcess/win/WebView.h:
5159 (WebKit::WebView::create):
5160 * WebProcess/WebPage/WebPage.cpp:
5161 (WebKit::WebPage::performDragControllerAction):
5162 * WebProcess/WebPage/WebPage.h:
5163 * WebProcess/WebPage/WebPage.messages.in:
5165 2011-01-26 Alexey Proskuryakov <ap@apple.com>
5167 Reviewed by Darin Adler.
5169 https://bugs.webkit.org/show_bug.cgi?id=53197
5170 <rdar://problem/8895682> Make WebKit2 printing asynchronous
5172 <rdar://problem/8899988> REGRESSION(WebKit2): Attempting to print WHATWG HTML spec shows
5173 1-page blank preview
5175 <rdar://problem/8900078> WebKit2 printing has a separate message exchange per page when
5176 printing instead of printing all at once
5178 * UIProcess/API/mac/WKPrintingView.h: Store a lot more cached information.
5180 * UIProcess/API/mac/WKPrintingView.mm:
5181 (-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]): Use PrintOperation stored in
5182 class. We generally want that now, because current operation will not be set up on other threads.
5183 (-[WKPrintingView _isPrintingPreview]): Added. Preview is different, because it can draw
5184 a placeholder - but actual printing need to wait until UI process has data.
5185 (-[WKPrintingView _updatePreview]): Force AppKit to update print preview when we have real
5186 data to replace placeholder with.
5187 (-[WKPrintingView _hasPageRects]): Return if page rects have already been computed.
5188 (-[WKPrintingView _expectedPreviewCallbackForRect:]): Find an existing request for this rect,
5190 (pageDidDrawToPDF): Update preview - or if actually printing, release control to printing thread.
5191 (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): Ask for a PDF document with
5192 pages the user asked to print.
5193 (pageDidComputePageRects): When web process returns page geometry data, we update preview to display
5194 a page count (which indirectly triggers a request for a preview). When actually printing,
5195 request a PDF right away, we'll need it later.
5196 (-[WKPrintingView _askPageToComputePageRects]): Ask web process for page geometry.
5197 (prepareDataForPrintingOnSecondaryThread): This function starts preparing all data necessary
5198 for actual printing on main thread.
5199 (-[WKPrintingView knowsPageRange:]): Changed to be async for preview, and to call main
5200 thread for actual printing.
5201 (-[WKPrintingView _pageForRect:]): Find page number for a given range, assuming that AppKit
5202 always asks for full pages.
5203 (-[WKPrintingView _drawPDFDocument:page:atPoint:]): A helper function to draw a PDF document.
5204 (-[WKPrintingView _drawPreview:]): Draw the whole page for preview.
5205 (-[WKPrintingView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
5206 Draw the whole page for actual printing.
5207 (-[WKPrintingView _drawPageBorderWithSizeOnMainThread:]): Call drawPageBorderWithSize: with
5208 correct graphics context and print operation.
5209 (-[WKPrintingView drawPageBorderWithSize:]): Delegate work to main thread when called from a
5211 (-[WKPrintingView _provideTotalScaleFactorForPrintOperation:]): Added an assertion that
5212 our stored NSPrintOperation isn't out of sync with reality.
5213 (-[WKPrintingView rectForPage:]): Handle the case where we don't have the data yet, drawing
5215 (-[WKPrintingView endDocument]): When page setup changes, we must reset all state.
5217 * UIProcess/API/mac/WKView.mm: (-[WKView printOperationWithPrintInfo:forFrame:]): Tell
5218 NSPrintingView which operation it's serving, so that it knows it even when current operation
5221 * UIProcess/GenericCallback.h:
5222 (WebKit::ComputedPagesCallback::create):
5223 (WebKit::ComputedPagesCallback::~ComputedPagesCallback):
5224 (WebKit::ComputedPagesCallback::performCallbackWithReturnValue):
5225 (WebKit::ComputedPagesCallback::invalidate):
5226 (WebKit::ComputedPagesCallback::callbackID):
5227 (WebKit::ComputedPagesCallback::generateCallbackID):
5228 (WebKit::ComputedPagesCallback::ComputedPagesCallback):
5229 Added ComputedPagesCallback, which returns a vector of IntRects and a double. Hopefully,
5230 it will become a specialization of GenericCallback one day.
5232 * UIProcess/WebPageProxy.cpp:
5233 (WebKit::WebPageProxy::close): Added m_voidCallbacks - it looks like they were omitted
5235 (WebKit::WebPageProxy::computedPagesCallback): Added.
5236 (WebKit::WebPageProxy::processDidCrash): Added m_computedPagesCallbacks.
5237 (WebKit::WebPageProxy::computePagesForPrinting): Async now!
5238 (WebKit::WebPageProxy::drawRectToPDF): Ditto.
5239 (WebKit::WebPageProxy::drawPagesToPDF): Added.
5240 * UIProcess/WebPageProxy.h:
5242 * UIProcess/WebPageProxy.messages.in: Added ComputedPagesCallback.
5244 * WebProcess/WebPage/WebPage.cpp:
5245 (WebKit::WebPage::beginPriting): Compute page rects right away - we'll need them in
5246 drawPagesToPDF(), which doesn't have a PrintInfo.
5247 (WebKit::WebPage::computePagesForPrinting): Send async response.
5248 (WebKit::WebPage::drawRectToPDF): This function used to draw into original
5249 location at frame coordinates, and now it draws at (0, 0).
5250 (WebKit::WebPage::drawPagesToPDF): Added - make a multi-page PDF.
5251 * WebProcess/WebPage/WebPage.h:
5253 * WebProcess/WebPage/WebPage.messages.in: Added DrawPagesToPDF.
5255 2011-01-27 Alejandro G. Castro <alex@igalia.com>
5257 Unreviewed GTK build fix after r76797.
5259 * Shared/WebPreferencesStore.h: Use Qt fonts preference for the moment.
5261 2011-01-27 Dan Bernstein <mitz@apple.com>
5263 Reviewed by Anders Carlsson.
5265 Allow pop-up menus to contain multiple items that have the same title.
5267 * UIProcess/mac/WebPopupMenuProxyMac.mm:
5268 (WebKit::WebPopupMenuProxyMac::populate): Set the item’s title after adding it rather than
5269 when adding it, so that it will not replace any existing item with the same title.
5271 2011-01-27 Andreas Kling <kling@webkit.org>
5273 Reviewed by Kenneth Rohde Christiansen.
5275 [Qt][WK2] Add QWKPage APIs regarding engine process availability
5276 https://bugs.webkit.org/show_bug.cgi?id=53237
5278 QWKPage will now emit engineConnected() and engineDisconnected()
5279 when the web process crashes and is relaunched respectively.
5281 Also added QWKPage::isConnectedToEngine() for convenience.
5283 * UIProcess/API/qt/qwkpage.cpp:
5284 (QWKPagePrivate::QWKPagePrivate):
5285 (QWKPagePrivate::didRelaunchProcess):
5286 (QWKPagePrivate::processDidCrash):
5287 (QWKPage::isConnectedToEngine):
5288 * UIProcess/API/qt/qwkpage.h:
5289 * UIProcess/API/qt/qwkpage_p.h:
5291 2011-01-27 Balazs Kelemen <kbalazs@webkit.org>
5293 Reviewed by Andreas Kling.
5295 [Qt][WK2] Lots of layout test failures due to wrong font type
5296 https://bugs.webkit.org/show_bug.cgi?id=53233
5298 * Shared/WebPreferencesStore.h:
5299 Specialize default font families for Qt.
5301 2011-01-26 Maciej Stachowiak <mjs@apple.com>
5303 Reviewed by Dan Bernstein.
5305 WebKitTestRunner needs to support layoutTestController.evaluateInWebInspector
5306 https://bugs.webkit.org/show_bug.cgi?id=42319
5308 Add WKBundleInspector and APIs needed to implement WebKitTestRunner APIs.
5311 * Shared/API/c/WKBase.h:
5312 * Shared/APIObject.h:
5314 * WebKit2.xcodeproj/project.pbxproj:
5315 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
5316 * WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp: Added.
5317 (WKBundleInspectorGetTypeID):
5318 (WKBundleInspectorShow):
5319 (WKBundleInspectorClose):
5320 (WKBundleInspectorEvaluateScriptForTest):
5321 (WKBundleInspectorSetPageProfilingEnabled):
5322 * WebProcess/InjectedBundle/API/c/WKBundleInspector.h: Added.
5323 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
5324 (WKBundlePageGetInspector):
5325 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
5326 * WebProcess/WebPage/WebInspector.cpp:
5327 (WebKit::WebInspector::create):
5328 (WebKit::WebInspector::evaluateScriptForTest):
5329 * WebProcess/WebPage/WebInspector.h:
5330 (WebKit::WebInspector::type):
5331 * WebProcess/WebPage/WebPage.cpp:
5332 (WebKit::WebPage::inspector):
5333 * WebProcess/WebPage/WebPage.h:
5334 * win/WebKit2.vcproj:
5335 * win/WebKit2Generated.make:
5337 2011-01-26 David Kilzer <ddkilzer@apple.com>
5339 <http://webkit.org/b/53192> Add experimental support for HTTP pipelining in CFNetwork
5340 <rdar://problem/8821760>
5342 Reviewed by Antti Koivisto.
5344 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
5345 (InitWebCoreSystemInterface): Added initialization for
5346 GetHTTPPipeliningPriority and SetHTTPPipeliningPriority.
5348 2011-01-26 Beth Dakin <bdakin@apple.com>
5350 Reviewed by Darin Adler.
5352 Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics
5353 when using WKScrollbars.
5355 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
5356 (InitWebCoreSystemInterface):
5358 2011-01-26 Sam Weinig <sam@webkit.org>
5360 Reviewed by Maciej Stachowiak.
5362 Add events to represent the start/end of a gesture scroll
5363 https://bugs.webkit.org/show_bug.cgi?id=53215
5365 * Scripts/webkit2/messages.py:
5366 * Shared/WebEvent.h:
5367 (WebKit::WebGestureEvent::WebGestureEvent):
5368 (WebKit::WebGestureEvent::position):
5369 (WebKit::WebGestureEvent::globalPosition):
5370 * Shared/WebEventConversion.cpp:
5371 (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
5373 * Shared/WebEventConversion.h:
5374 * Shared/WebGestureEvent.cpp: Added.
5375 (WebKit::WebGestureEvent::WebGestureEvent):
5376 (WebKit::WebGestureEvent::encode):
5377 (WebKit::WebGestureEvent::decode):
5378 (WebKit::WebGestureEvent::isGestureEventType):
5379 * Shared/mac/WebEventFactory.h:
5380 * Shared/mac/WebEventFactory.mm:
5381 (WebKit::gestureEventTypeForEvent):
5382 (WebKit::WebEventFactory::createWebGestureEvent):
5383 * UIProcess/API/mac/WKView.mm:
5384 (-[WKView shortCircuitedEndGestureWithEvent:]):
5385 (-[WKView beginGestureWithEvent:]):
5386 (-[WKView viewDidMoveToWindow]):
5387 * UIProcess/WebPageProxy.cpp:
5388 (WebKit::WebPageProxy::handleGestureEvent):
5389 (WebKit::WebPageProxy::didReceiveEvent):
5390 * UIProcess/WebPageProxy.h:
5391 * WebKit2.xcodeproj/project.pbxproj:
5392 * WebProcess/WebPage/WebPage.cpp:
5393 (WebKit::handleGestureEvent):
5394 (WebKit::WebPage::gestureEvent):
5395 * WebProcess/WebPage/WebPage.h:
5396 * WebProcess/WebPage/WebPage.messages.in:
5397 Pipe gesture events down to WebCore.
5399 2011-01-26 Dan Bernstein <mitz@apple.com>
5401 Reviewed by Dave Hyatt.
5403 <rdar://problem/8446709> Allow inter-ideograph justification for CJK
5404 https://bugs.webkit.org/show_bug.cgi?id=53184
5406 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
5407 (WebKit::WebPopupMenu::setUpPlatformData): Added a TrailingExpansionBehavior parameter to the
5408 RenderText constructor.
5410 2011-01-26 Jing Jin <jjin@apple.com>
5412 Reviewed by Darin Adler.
5414 Methods to temporarily disable size updates to the page drawing area in WKView.
5415 https://bugs.webkit.org/show_bug.cgi?id=53206
5416 Part of <rdar://problem/8818585>
5418 * UIProcess/API/mac/WKView.h: Added _frameSizeUpdateDisabledCount.
5419 * UIProcess/API/mac/WKView.mm:
5420 (-[WKView setFrameSize:]): Only update page size if frame size updates are enabled.
5421 (-[WKView _setDrawingAreaSize:]): Helper method to set the page's drawing area's size.
5422 (-[WKView disableFrameSizeUpdates]): Increment _frameSizeUpdateDisabledCount
5423 (-[WKView enableFrameSizeUpdates]): Decrement _frameSizeUpdateDisabledCount, and if the count is 0, meaning
5424 that no one is disabling frame size updates anymore, update the drawing area's size to match the current frame.
5425 (-[WKView frameSizeUpdatesDisabled]): Returns YES if at least one caller is disabling frame size updates.
5426 * UIProcess/API/mac/WKViewInternal.h: Declared -disableFrameSizeUpdates, -enableFrameSizeUpdates, and -frameSizeUpdatesDisabled.
5427 * UIProcess/API/mac/WKViewPrivate.h: Added.
5428 * WebKit2.xcodeproj/project.pbxproj: Added WKViewPrivate.h
5430 2011-01-26 Jing Jin <jjin@apple.com>
5432 Rubber-stamped by Dan Bernstein.
5434 Several WKView Internal category methods are implemented in the main category.
5435 https://bugs.webkit.org/show_bug.cgi?id=53195
5437 * UIProcess/API/mac/WKView.mm:
5438 (-[WKView _setEventBeingResent:]): Moved into implementation of WKView (Internal).
5439 (-[WKView _interceptKeyEvent:]): Moved into implementation of WKView (Internal).
5440 (-[WKView _getTextInputState:selectionEnd:underlines:WebCore::]): Moved into implementation of WKView (Internal).
5441 (-[WKView _setAccessibilityChildToken:]): Moved into implementation of WKView (Internal).
5443 2011-01-26 Brian Weinstein <bweinstein@apple.com>
5445 Reviewed by John Sullivan.
5447 WebKit2: Need API to get the frame load state of a BundleFrame
5448 https://bugs.webkit.org/show_bug.cgi?id=53193
5450 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
5451 (WKBundleFrameGetFrameLoadState): Call through to the FrameLoader to get the frame load state.
5452 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
5454 2011-01-25 Brian Weinstein <bweinstein@apple.com>
5456 Reviewed by Antti Koivisto.
5458 Crashes loading pages when cancelling subresource loads through WebKit
5459 https://bugs.webkit.org/show_bug.cgi?id=53123
5460 <rdar://problem/8914361>
5462 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
5463 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): If our URL is null, return early instead of dispatching
5466 2011-01-25 Chris Fleizach <cfleizach@apple.com>
5468 Reviewed by Darin Adler.
5470 WK2 leaks when a page is closed
5471 https://bugs.webkit.org/show_bug.cgi?id=53100
5473 Allow the WKView a chance to clean up on a page close. In this case,
5474 cleaning up means removing the references the accessibility token has
5477 * UIProcess/API/mac/PageClientImpl.h:
5478 * UIProcess/API/mac/PageClientImpl.mm:
5479 (WebKit::PageClientImpl::pageClosed):
5480 * UIProcess/API/mac/WKView.mm:
5481 (-[WKView _setRemoteAccessibilityWindow:]):
5482 (-[WKView _setAccessibilityChildToken:]):
5483 (-[WKView _processDidCrash]):
5484 (-[WKView _pageClosed]):
5485 * UIProcess/API/mac/WKViewInternal.h:
5486 * UIProcess/API/qt/qwkpage_p.h:
5487 (QWKPagePrivate::pageClosed):
5488 * UIProcess/PageClient.h:
5489 * UIProcess/WebPageProxy.cpp:
5490 (WebKit::WebPageProxy::close):
5491 * UIProcess/win/WebView.cpp:
5492 (WebKit::WebView::pageClosed):
5493 * UIProcess/win/WebView.h:
5495 2011-01-25 Chris Marrin <cmarrin@apple.com>
5497 Reviewed by Adam Roben.
5499 Expose WebGL flag set/get in WK2
5500 https://bugs.webkit.org/show_bug.cgi?id=53096
5502 * Shared/WebPreferencesStore.h:
5503 * UIProcess/API/C/WKPreferences.cpp:
5504 (WKPreferencesSetWebGLEnabled):
5505 (WKPreferencesGetWebGLEnabled):
5506 * UIProcess/API/C/WKPreferencesPrivate.h:
5507 * WebProcess/WebPage/WebPage.cpp:
5508 (WebKit::WebPage::updatePreferences):
5510 2011-01-25 Anders Carlsson <andersca@apple.com>
5512 Reviewed by Adam Roben.
5514 Add and implement LayerTreeHost::scheduleLayerFlush
5515 https://bugs.webkit.org/show_bug.cgi?id=53135
5517 * WebKit2.xcodeproj/project.pbxproj:
5518 Add LayerTreeHostMac.mm.
5520 * WebProcess/WebPage/DrawingAreaImpl.cpp:
5521 (WebKit::DrawingAreaImpl::scheduleCompositingLayerSync):
5522 Call LayerTreeHost::scheduleLayerFlush.
5524 * WebProcess/WebPage/LayerTreeHost.cpp:
5525 (WebKit::LayerTreeHost::~LayerTreeHost):
5526 Call platformInvalidate().
5528 (WebKit::LayerTreeHost::flushPendingLayerChanges):
5529 Rename from syncCompositingLayers.
5531 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: Added.
5532 (WebKit::LayerTreeHost::scheduleLayerFlush):
5533 Create a run loop observer if needed. This code is copied from LayerBackedDrawingAreaMac.mm
5535 (WebKit::LayerTreeHost::platformInvalidate):
5536 Invalidate the run loop observer.
5538 (WebKit::LayerTreeHost::flushPendingLayerChangesRunLoopObserverCallback):
5539 Call flushPendingChanges() and remove the run loop observer if it succeeded.
5541 2011-01-25 Anders Carlsson <andersca@apple.com>
5543 Reviewed by Simon Fraser.
5545 Add LayerTreeHost class
5546 https://bugs.webkit.org/show_bug.cgi?id=53132
5548 * WebKit2.xcodeproj/project.pbxproj:
5549 Add LayerTreeHost files.
5551 * WebProcess/WebPage/DrawingAreaImpl.cpp:
5552 (WebKit::DrawingAreaImpl::DrawingAreaImpl):
5553 Initialize m_layerTreeHost.
5555 (WebKit::DrawingAreaImpl::setRootCompositingLayer):
5556 Call the m_layerTreeHost.
5558 * WebProcess/WebPage/LayerTreeHost.cpp: Added.
5559 (WebKit::LayerTreeHost::attachRootCompositingLayer):
5560 (WebKit::LayerTreeHost::detachRootCompositingLayer):
5561 Add stubbed out functions.
5563 (WebKit::LayerTreeHost::syncCompositingLayers):
5564 Sync the compositing layers in the main frame.
5566 * WebProcess/WebPage/LayerTreeHost.h: Added.
5568 2011-01-25 Steve Falkenburg <sfalken@apple.com>
5570 Rubber-stamped by Adam Roben.
5572 Windows production build fix.
5573 Use correct environment variable escaping
5576 * win/WebKit2Generated.make:
5578 2011-01-25 Anders Carlsson <andersca@apple.com>
5580 Reviewed by Sam Weinig.
5582 Don't inform the UI process about compositing changes when using the new drawing area
5583 https://bugs.webkit.org/show_bug.cgi?id=53120
5585 * WebProcess/WebPage/WebPage.cpp:
5586 (WebKit::WebPage::changeAcceleratedCompositingMode):
5587 Return early if we're using the new drawing area.
5589 (WebKit::WebPage::exitAcceleratedCompositingMode):
5590 Call setRootCompositingLayer(0) so the drawing area knows when we leave accelerated compositing.
5592 2011-01-25 Sam Weinig <sam@webkit.org>
5594 Reviewed by Anders Carlsson.
5596 Pipe a timestamp down into the PlatformWheelEvent for the Mac.
5597 https://bugs.webkit.org/show_bug.cgi?id=53111
5599 * Shared/WebEventConversion.cpp:
5600 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
5601 Assign the timestamp.
5603 2011-01-25 Sam Weinig <sam@webkit.org>
5605 Reviewed by Anders Carlsson.
5607 Add hasPreciseScrollingDeltas bit to PlatformWheelEvent on the Mac.
5608 https://bugs.webkit.org/show_bug.cgi?id=53107
5610 * Shared/WebEvent.h:
5611 (WebKit::WebWheelEvent::hasPreciseScrollingDeltas):
5612 * Shared/WebEventConversion.cpp:
5613 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
5614 * Shared/WebWheelEvent.cpp:
5615 (WebKit::WebWheelEvent::WebWheelEvent):
5616 * Shared/mac/WebEventFactory.mm:
5617 (WebKit::WebEventFactory::createWebWheelEvent):
5619 2011-01-25 Anders Carlsson <andersca@apple.com>
5621 Reviewed by Sam Weinig.
5623 need a way to request the host CALayer render server port
5624 https://bugs.webkit.org/show_bug.cgi?id=53101
5625 <rdar://problem/8913620>
5627 * PluginProcess/PluginControllerProxy.cpp:
5628 (WebKit::PluginControllerProxy::compositingRenderServerPort):
5629 Get the render server port from the plug-in process.
5631 * PluginProcess/PluginControllerProxy.h:
5632 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
5633 (WebKit::NPN_GetValue):
5634 Call NetscapePlugin::compositingRenderServerPort.
5636 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
5637 (WebKit::NetscapePlugin::compositingRenderServerPort):
5638 Call PluginController::compositingRenderServerPort.
5640 * WebProcess/Plugins/PluginView.cpp:
5641 (WebKit::PluginView::compositingRenderServerPort):
5642 Get the render server port from the web process.
5644 * WebProcess/Plugins/PluginView.h:
5645 Add compositingRenderServerPort.
5647 2011-01-25 Maciej Stachowiak <mjs@apple.com>
5649 Rubber stamped by Dan Bernstein.
5651 Change some floating point constants from 1.0 to 1.
5653 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
5654 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
5656 2011-01-25 Maciej Stachowiak <mjs@apple.com>
5658 Reviewed by Anders Carlsson.
5660 Improve scale factor resetting
5661 https://bugs.webkit.org/show_bug.cgi?id=53093
5664 - Don't set the scale factor to what it already is, as this causes an
5665 uneeded force layout and scroll
5666 - Don't ever set the scale factor based on a non-main frame committing
5668 This fixes two WebKit2 layout tests.
5670 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
5671 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
5673 2011-01-24 Chris Marrin <cmarrin@apple.com>
5675 Reviewed by Eric Seidel.
5677 Change ENABLE_3D_CANVAS to ENABLE_WEBGL
5678 https://bugs.webkit.org/show_bug.cgi?id=53041
5680 * Configurations/FeatureDefines.xcconfig:
5682 2011-01-25 Andreas Kling <kling@webkit.org>
5684 Reviewed by Kenneth Rohde Christiansen.
5686 [Qt][WK2] Add QWKPage::processCrashed() signal
5687 https://bugs.webkit.org/show_bug.cgi?id=53076
5689 * UIProcess/API/qt/qwkpage.cpp:
5690 (QWKPagePrivate::processDidCrash):
5691 * UIProcess/API/qt/qwkpage.h:
5692 * UIProcess/API/qt/qwkpage_p.h:
5694 2011-01-24 Anders Carlsson <andersca@apple.com>
5698 * WebProcess/mac/WebProcessMac.mm:
5699 (WebKit::initializeSandbox):
5701 2011-01-24 Anders Carlsson <andersca@apple.com>
5703 Reviewed by Dan Bernstein.
5705 Reset the page scale factor on standard frame loads
5706 https://bugs.webkit.org/show_bug.cgi?id=53058
5707 <rdar://problem/8908844>
5709 * UIProcess/WebPageProxy.cpp:
5710 (WebKit::WebPageProxy::scaleWebView):
5711 Don't set m_viewScaleFactor here. It will be set in viewScaleFactorDidChange.
5713 (WebKit::WebPageProxy::viewScaleFactorDidChange):
5714 Update m_viewScaleFactor.
5716 * UIProcess/WebPageProxy.h:
5717 Add viewScaleFactorDidChange.
5719 * UIProcess/WebPageProxy.messages.in:
5720 Add ViewScaleFactorDidChange message.
5722 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
5723 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
5724 Set the scale factor.
5726 (WebKit::WebFrameLoaderClient::restoreViewState):
5727 Inform the UI process about the new view scale factor.
5729 * WebProcess/WebPage/WebPage.cpp:
5730 (WebKit::WebPage::scaleWebView):
5731 Send a ViewScaleFactorDidChange message.
5733 2011-01-24 Maciej Stachowiak <mjs@apple.com>
5735 Reviewed by Anders Carlsson.
5737 Use designated temp directory for the database for WebKit2
5738 https://bugs.webkit.org/show_bug.cgi?id=53052
5740 Add the API necessary to support this. Database path is now
5741 determined on the UI process side and passed to the Web process.
5742 Reviewed by Anders Carlsson.
5745 * Shared/WebProcessCreationParameters.cpp:
5746 (WebKit::WebProcessCreationParameters::encode):
5747 (WebKit::WebProcessCreationParameters::decode):
5748 * Shared/WebProcessCreationParameters.h:
5749 * UIProcess/API/C/WKContext.cpp:
5750 (WKContextSetDatabaseDirectory):
5751 * UIProcess/API/C/WKContextPrivate.h:
5752 * UIProcess/WebContext.cpp:
5753 (WebKit::WebContext::ensureWebProcess):
5754 (WebKit::WebContext::databaseDirectory):
5755 * UIProcess/WebContext.h:
5756 (WebKit::WebContext::setDatabaseDirectory):
5757 * UIProcess/mac/WebContextMac.mm:
5758 (WebKit::WebContext::platformDefaultDatabaseDirectory):
5759 * UIProcess/qt/WebContextQt.cpp:
5760 (WebKit::WebContext::platformDefaultDatabaseDirectory):
5761 * UIProcess/win/WebContextWin.cpp:
5762 (WebKit::WebContext::platformDefaultDatabaseDirectory):
5764 * WebKit2.xcodeproj/project.pbxproj:
5765 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
5766 (WebKit::WebDatabaseManager::initialize):
5767 (WebKit::WebDatabaseManager::WebDatabaseManager):
5768 * WebProcess/WebCoreSupport/WebDatabaseManager.h:
5769 * WebProcess/WebCoreSupport/gtk/WebDatabaseManagerGtk.cpp: Removed.
5770 * WebProcess/WebCoreSupport/mac/WebDatabaseManagerMac.mm: Removed.
5771 * WebProcess/WebCoreSupport/qt/WebDatabaseManagerQt.cpp: Removed.
5772 * WebProcess/WebCoreSupport/win/WebDatabaseManagerWin.cpp: Removed.
5773 * WebProcess/WebProcess.cpp:
5774 (WebKit::WebProcess::WebProcess):
5775 (WebKit::WebProcess::initializeWebProcess):
5776 * WebProcess/com.apple.WebProcess.sb:
5777 * WebProcess/mac/WebProcessMac.mm:
5778 (WebKit::initializeSandbox):
5779 * win/WebKit2.vcproj:
5781 2011-01-24 Brent Fulgham <bfulgham@webkit.org>
5783 Unreviewed build fix.
5785 * win/WebKit2.vcproj: Don't build the CG Utilities when building
5788 2011-01-24 Anders Carlsson <andersca@apple.com>
5790 Reviewed by John Sullivan.
5792 Don't use the timeout checker for non-user-interaction messages
5793 https://bugs.webkit.org/show_bug.cgi?id=53046
5795 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
5796 (WebKit::ChunkedUpdateDrawingAreaProxy::didSetSize):
5797 (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize):
5798 * UIProcess/LayerBackedDrawingAreaProxy.cpp:
5799 (WebKit::LayerBackedDrawingAreaProxy::sizeDidChange):
5800 (WebKit::LayerBackedDrawingAreaProxy::didSetSize):
5802 2011-01-24 Adam Roben <aroben@apple.com>
5804 Windows Production build fix
5806 * win/WebKit2.make: Update for move of WebKit2 into Source.
5808 2011-01-24 Jessie Berlin <jberlin@apple.com>
5810 Reviewed by Adam Roben.
5812 WebKit2: LayoutTests: The UNIMPLEMENTED warnings in TextCheckerWin should be disabled
5813 https://bugs.webkit.org/show_bug.cgi?id=53029
5815 * UIProcess/win/TextCheckerWin.cpp:
5816 Disable the warnings for this file.
5818 2011-01-24 Anders Carlsson <andersca@apple.com>
5820 Reviewed by Sam Weinig.
5822 Wait for half a second if we're asked to paint when receiving a DidSetSize message
5823 https://bugs.webkit.org/show_bug.cgi?id=53028
5825 * UIProcess/DrawingAreaProxyImpl.cpp:
5826 (WebKit::DrawingAreaProxyImpl::paint):
5828 2011-01-24 Anders Carlsson <andersca@apple.com>
5830 Reviewed by Sam Weinig.
5832 Implement forceRedisplay in the new drawing area
5833 https://bugs.webkit.org/show_bug.cgi?id=53026
5835 * WebProcess/WebPage/DrawingAreaImpl.cpp:
5836 (WebKit::DrawingAreaImpl::forceRepaint):
5837 * WebProcess/WebPage/DrawingAreaImpl.h:
5839 2011-01-24 Anders Carlsson <andersca@apple.com>
5841 Reviewed by Sam Weinig.
5843 Fill unpainted rects with the background color.
5844 https://bugs.webkit.org/show_bug.cgi?id=53025
5846 * UIProcess/API/mac/WKView.mm:
5847 (drawPageBackground):
5848 Add new helper function.
5850 (-[WKView drawRect:]):
5851 Iterate over the unpainted rects and fill them with the background color.
5853 2011-01-24 Dan Bernstein <mitz@apple.com>
5855 Reviewed by John Sullivan.
5857 WebKit2 version of <rdar://problem/6097826> Mail's cursor does not become a resize cursor when moving mouse from scrolled email to the horizontal splitter
5859 * UIProcess/API/mac/PageClientImpl.mm:
5860 (WebKit::PageClientImpl::setCursor): If the current cursor comes from a cursor rect, do not override it.
5862 2011-01-24 Balazs Kelemen <kbalazs@webkit.org>
5864 Rubber-stamped by Csaba Osztrogonác.
5868 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
5869 (WebKit::ProcessLauncher::launchProcess): Move the bracket to the right place.
5871 2011-01-24 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
5873 Reviewed by Kenneth Rohde Christiansen.
5875 [Qt] Remove CleanupHandler by passing file descriptors.
5877 Deleting files in signal handler of UI process is not a good idea,
5878 because the memory where filenames are stored might not be valid
5881 To avoid the need of using signal handlers for cleanup,
5883 1) Avoid passing filenames between processes, pass fds
5884 2) When mmap'ing files, delete them immediately after
5885 opening and mmap'ing them.
5886 3) Pass sockets with fds during fork+exec instead of
5887 passing them via the filesystem.
5888 4) Use mmap'ed files for implementation of SharedMemory.
5889 QSharedMemory does not support cleanup correctly.
5892 - Move MappedMemory to SharedMemory, make UpdateChunk use this.
5893 - Implement CoreIPC::Attachment using mmaped files.
5894 - Send messages using datagram socket. This solution works
5895 similiarly to Mach ports on Mac.
5896 - Send big messages out-of-line and thus avoid increasing
5898 - Remove MemoryMappedPool and rely on libc/kernel caching
5900 - Unmap memory areas after use.
5901 - When UI process crashes, kill the web process using SIGKILL.
5902 This is possible again because cleanup handler is not needed.
5904 [WK2][Qt] Multiple problems with MemoryMappedPool
5905 https://bugs.webkit.org/show_bug.cgi?id=51984
5907 * Platform/CoreIPC/Attachment.cpp:
5908 (CoreIPC::Attachment::Attachment):
5909 * Platform/CoreIPC/Attachment.h:
5910 (CoreIPC::Attachment::size):
5911 (CoreIPC::Attachment::releaseFileDescriptor):
5912 (CoreIPC::Attachment::fileDescriptor):
5913 * Platform/CoreIPC/Connection.h:
5914 * Platform/CoreIPC/qt/ConnectionQt.cpp:
5915 (CoreIPC::MessageInfo::MessageInfo):
5916 (CoreIPC::MessageInfo::setMessageBodyOOL):
5917 (CoreIPC::MessageInfo::isMessageBodyOOL):
5918 (CoreIPC::MessageInfo::bodySize):
5919 (CoreIPC::MessageInfo::messageID):
5920 (CoreIPC::MessageInfo::attachmentCount):
5921 (CoreIPC::Connection::platformInitialize):
5922 (CoreIPC::Connection::platformInvalidate):
5923 (CoreIPC::SocketNotifierDisableGuard::SocketNotifierDisableGuard):
5924 (CoreIPC::SocketNotifierDisableGuard::~SocketNotifierDisableGuard):
5925 (CoreIPC::Connection::readyReadHandler):
5926 (CoreIPC::Connection::open):
5927 (CoreIPC::Connection::platformCanSendOutgoingMessages):
5928 (CoreIPC::Connection::sendOutgoingMessage):
5929 * Platform/SharedMemory.h:
5930 * Platform/WorkQueue.h:
5931 * Platform/qt/MappedMemoryPool.cpp: Removed.
5932 * Platform/qt/MappedMemoryPool.h: Removed.
5933 * Platform/qt/SharedMemoryQt.cpp:
5934 (WebKit::SharedMemory::Handle::Handle):
5935 (WebKit::SharedMemory::Handle::~Handle):
5936 (WebKit::SharedMemory::Handle::isNull):
5937 (WebKit::SharedMemory::Handle::encode):
5938 (WebKit::SharedMemory::Handle::decode):
5939 (WebKit::SharedMemory::Handle::releaseToAttachment):
5940 (WebKit::SharedMemory::Handle::adoptFromAttachment):
5941 (WebKit::SharedMemory::create):
5942 (WebKit::accessModeMMap):
5943 (WebKit::SharedMemory::~SharedMemory):
5944 (WebKit::accessModeFile):
5945 (WebKit::SharedMemory::createHandle):
5946 * Platform/qt/WorkQueueQt.cpp:
5947 (WorkQueue::registerSocketEventHandler):
5948 * Shared/qt/UpdateChunk.cpp:
5949 (WebKit::UpdateChunk::UpdateChunk):
5950 (WebKit::UpdateChunk::~UpdateChunk):
5951 (WebKit::UpdateChunk::encode):
5952 (WebKit::UpdateChunk::decode):
5953 (WebKit::UpdateChunk::createImage):
5954 * Shared/qt/UpdateChunk.h:
5955 * UIProcess/Launcher/ProcessLauncher.h:
5956 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
5957 (WebKit::QtWebProcess::QtWebProcess):
5958 (WebKit::QtWebProcess::setupChildProcess):
5959 (WebKit::ProcessLauncher::launchProcess):
5960 (WebKit::ProcessLauncher::platformInvalidate):
5961 * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
5962 (WebKit::webThreadBody):
5963 (WebKit::ThreadLauncher::createWebThread):
5965 * WebProcess/qt/WebProcessMainQt.cpp:
5966 (WebKit::WebProcessMainQt):
5968 2011-01-24 Andras Becsi <abecsi@webkit.org>
5970 Reviewed by Csaba Osztrogonác.
5972 [Qt] Move project files into Source
5973 https://bugs.webkit.org/show_bug.cgi?id=52891
5975 * DerivedSources.pro:
5979 2011-01-23 Damian Kaleta <dkaleta@apple.com>
5981 Reviewed by Kevin Decker.
5983 <rdar://problem/8905171>
5984 https://bugs.webkit.org/show_bug.cgi?id=52985
5986 * UIProcess/WebPageProxy.cpp:
5987 (WebKit::WebPageProxy::scaleWebView): Eliminated early return inside WebPageProxy::scaleWebView, making it
5988 consistent with WebKit1.
5990 2011-01-23 Alexey Proskuryakov <ap@apple.com>
5992 Reviewed by Dan Bernstein.
5994 https://bugs.webkit.org/show_bug.cgi?id=52968
5995 Use a separate NSView for printing
5997 Also addresses <rdar://problem/8900148> Improper check for
5998 -[NSGraphicsContext currentContextDrawingToScreen]
6000 * UIProcess/API/mac/WKPrintingView.h: Added.
6001 * UIProcess/API/mac/WKPrintingView.mm: Added.
6002 (-[WKPrintingView initWithFrameProxy:]):
6003 (-[WKPrintingView isFlipped]):
6004 (-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]):
6005 (-[WKPrintingView knowsPageRange:]):
6006 (-[WKPrintingView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
6007 (-[WKPrintingView drawPageBorderWithSize:]):
6008 (-[WKPrintingView _provideTotalScaleFactorForPrintOperation:]):
6009 (-[WKPrintingView rectForPage:]):
6010 * UIProcess/API/mac/WKView.mm:
6011 (-[WKView drawRect:]):
6012 (-[WKView canChangeFrameLayout:]):
6013 (-[WKView printOperationWithPrintInfo:forFrame:]):
6014 * WebKit2.xcodeproj/project.pbxproj:
6015 Moved printing code to a separate view, simplifying as appropriate. The view is currently not
6016 referenced by anything in WebKit2 directly, being owned by NSPrintOperation.
6018 2011-01-22 Anders Carlsson <andersca@apple.com>
6020 Reviewed by Sam Weinig.
6022 Transparent windows with compositing WebKit2 content show garbage
6023 https://bugs.webkit.org/show_bug.cgi?id=52966
6024 <rdar://problem/8765051>
6026 * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
6027 (WebKit::LayerBackedDrawingAreaProxy::paint):
6028 If the WKView should draw transparent background, do so.
6030 2011-01-22 Anders Carlsson <andersca@apple.com>
6032 Reviewed by Sam Weinig.
6034 Add an asynchronous WKPageForceRepaint
6035 https://bugs.webkit.org/show_bug.cgi?id=52964
6036 <rdar://problem/8898527>
6038 * UIProcess/API/C/WKPage.cpp:
6039 (WKPageForceRepaint):
6040 Call WebPageProxy::forceRepaint.
6042 * UIProcess/API/C/WKPage.h:
6043 Add WKPageForceRepaint.
6045 * UIProcess/GenericCallback.h:
6046 Add a "generic" VoidCallback class.
6048 * UIProcess/WebPageProxy.cpp:
6049 (WebKit::WebPageProxy::forceRepaint):
6050 Insert the callback in the m_voidCallbacks map and send a forceRepaint message.
6052 (WebKit::WebPageProxy::voidCallback):
6053 Call the right void callback.
6055 (WebKit::WebPageProxy::processDidCrash):
6056 Invalidate m_voidCallbacks.
6058 * UIProcess/WebPageProxy.messages.in:
6059 Add a VoidCallback message.
6061 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
6062 (WebKit::ChunkedUpdateDrawingArea::forceRepaint):
6065 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
6068 * WebProcess/WebPage/WebPage.cpp:
6069 (WebKit::WebPage::forceRepaint):
6070 Call forceRepaint on the drawing area.
6072 * WebProcess/WebPage/WebPage.messages.in:
6073 Add a ForceRepaint message.
6075 2011-01-21 Nikolas Zimmermann <nzimmermann@rim.com>
6077 Reviewed by Dirk Schulze.
6079 Introduce FontMetrics abstraction
6080 https://bugs.webkit.org/show_bug.cgi?id=51456
6082 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: Use FontMetrics instead of Font to access the metrics.
6083 (WebKit::WebPopupMenu::setUpPlatformData):
6085 2011-01-22 Alexey Proskuryakov <ap@apple.com>
6087 Reviewed by Dan Bernstein.
6089 https://bugs.webkit.org/show_bug.cgi?id=52950
6090 Leak in WebPage::drawRectToPDF
6092 * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::drawRectToPDF): Use RetainPtr here, too.
6094 2011-01-22 Alexey Proskuryakov <ap@apple.com>
6096 Reviewed by Dan Bernstein.
6098 https://bugs.webkit.org/show_bug.cgi?id=52951
6099 WebKit2 generates a bad PDF for cross process messaging
6101 * UIProcess/API/mac/WKView.mm:
6102 (-[WKView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
6103 Use a correct offset when flipping.
6105 2011-01-21 Alexey Proskuryakov <ap@apple.com>
6107 Reviewed by Dan Bernstein.
6109 https://bugs.webkit.org/show_bug.cgi?id=52943
6110 Objective-C files should use #import, not #include
6112 * UIProcess/API/C/WebKit2.h: This is an interesting one, because it's cross-platform, and
6113 there is more than one WKView.h.
6115 * Platform/mac/ModuleMac.mm:
6116 * Platform/mac/RunLoopMac.mm:
6117 * PluginProcess/mac/PluginControllerProxyMac.mm:
6118 * PluginProcess/mac/PluginProcessMac.mm:
6119 * PluginProcess/mac/PluginProcessMainMac.mm:
6120 * Shared/API/c/mac/WKCertificateInfoMac.mm:
6121 * Shared/API/c/mac/WKURLRequestNS.mm:
6122 * Shared/API/c/mac/WKURLResponseNS.mm:
6123 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
6124 * Shared/mac/PlatformCertificateInfo.mm:
6125 * Shared/mac/SandboxExtensionMac.mm:
6126 * Shared/mac/WebCoreArgumentCodersMac.mm:
6127 * Shared/mac/WebMemorySampler.mac.mm:
6128 * Shared/mac/WebURLRequestMac.mm:
6129 * Shared/mac/WebURLResponseMac.mm:
6130 * UIProcess/API/mac/FindIndicatorWindow.mm:
6131 * UIProcess/API/mac/WKTextInputWindowController.mm:
6132 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
6133 * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
6134 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
6135 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
6136 * UIProcess/mac/BackingStoreMac.mm:
6137 * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
6138 * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
6139 * UIProcess/mac/TextCheckerMac.mm:
6140 * UIProcess/mac/WebContextMac.mm:
6141 * UIProcess/mac/WebContextMenuProxyMac.mm:
6142 * UIProcess/mac/WebPageProxyMac.mm:
6143 * UIProcess/mac/WebPopupMenuProxyMac.mm:
6144 * UIProcess/mac/WebPreferencesMac.mm:
6145 * WebProcess/Downloads/mac/DownloadMac.mm:
6146 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
6147 * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
6148 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
6149 * WebProcess/WebCoreSupport/mac/WebDatabaseManagerMac.mm:
6150 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
6151 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
6152 * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
6153 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
6154 * WebProcess/WebPage/mac/WebPageMac.mm:
6155 * WebProcess/mac/WebProcessMac.mm:
6157 2011-01-21 Mark Rowe <mrowe@apple.com>
6159 Reviewed by Sam Weinig.
6161 Fix the WebKit2 build with clang.
6163 * Scripts/webkit2/messages.py: Add some more structs to the list.
6164 * UIProcess/DrawingAreaProxy.h: Forward-declare UpdateInfo as a class.
6165 * UIProcess/TextChecker.h: Forward-declare TextCheckerState as a struct.
6166 * UIProcess/WebPageProxy.h: Forward-declare ContextMenuState as a struct.
6167 * UIProcess/mac/TextCheckerMac.mm: Fix the type of the string constants so that they can be passed to
6168 functions expecting NSString* without generating warnings.
6169 * WebProcess/WebPage/DrawingArea.h: Forward-declare WebPageCreationParameters as a struct.
6170 * WebProcess/WebPage/DrawingAreaImpl.h: Forward-declare UpdateInfo as a class.
6171 * WebProcess/WebPage/WebPage.cpp:
6172 (WebKit::WebPage::getResourceDataFromFrame): Add parens around the assignment in the condition of
6173 the if statement to suppress a warning.
6175 2011-01-21 Brian Weinstein <bweinstein@apple.com>
6177 Reviewed by Adam Roben.
6179 WebKit2: Need API to stop loading a WKFrame
6180 https://bugs.webkit.org/show_bug.cgi?id=52925
6182 * UIProcess/API/C/WKFrame.cpp:
6183 (WKFrameStopLoading): Call through to WebFrameProxy::stopLoading.
6184 * UIProcess/API/C/WKFrame.h:
6185 * UIProcess/WebFrameProxy.cpp:
6186 (WebKit::WebFrameProxy::stopLoading): Send a message to the WebProcess to stop loading the frame
6187 with the passed in ID.
6188 * UIProcess/WebFrameProxy.h:
6189 * WebProcess/WebPage/WebPage.cpp:
6190 (WebKit::WebPage::stopLoadingFrame): Call stopForUserCancel on the passed-in frame.
6191 * WebProcess/WebPage/WebPage.h:
6192 * WebProcess/WebPage/WebPage.messages.in: Add StopLoadingFrame.
6194 2011-01-21 Brady Eidson <beidson@apple.com>
6196 Reviewed by Adam Roben.
6198 <rdar://problem/8894125> and https://bugs.webkit.org/show_bug.cgi?id=52916
6199 Expose "suggested filename" for a resource based on its resource response.
6202 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
6203 (WKBundleFrameCopySuggestedFilenameForResourceURL):
6204 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
6207 * WebProcess/WebPage/WebFrame.cpp:
6208 (WebKit::WebFrame::suggestedFilenameForResourceURL): See if the DocumentLoader has
6209 a resource for this URL and, if so, return the response's suggested filename.
6210 * WebProcess/WebPage/WebFrame.h:
6212 2011-01-21 Anders Carlsson <andersca@apple.com>
6214 Reviewed by Dan Bernstein.
6216 DrawingAreaProxyImpl::paint should return the unpainted region
6217 https://bugs.webkit.org/show_bug.cgi?id=52918
6219 * UIProcess/API/mac/WKView.mm:
6220 (-[WKView drawRect:]):
6221 Add unpaintedRegion parameter.
6223 * UIProcess/BackingStore.h:
6224 (WebKit::BackingStore::size):
6227 * UIProcess/DrawingAreaProxyImpl.cpp:
6228 (WebKit::DrawingAreaProxyImpl::paint):
6229 Initialize the unpainted region to the dirty region, then subtract the painted region.
6231 2011-01-21 Anders Carlsson <andersca@apple.com>
6233 Reviewed by Dan Bernstein and Maciej Stachowiak.
6235 Fix for <rdar://problem/8896057>
6237 Give the Web Process access to the PubSub agent.
6239 * WebProcess/com.apple.WebProcess.sb:
6241 2011-01-21 Sam Weinig <sam@webkit.org>
6243 Reviewed by Anders Carlsson.
6245 Part 2 of "Cleanup Scrollbar/ScrollbarClient relationship"
6246 https://bugs.webkit.org/show_bug.cgi?id=52779
6248 Rename ScrollbarClient -> ScrollableArea.
6250 * UIProcess/win/WebPopupMenuProxyWin.cpp:
6251 (WebKit::WebPopupMenuProxyWin::onMouseWheel):
6252 (WebKit::WebPopupMenuProxyWin::scrollToRevealSelection):
6253 * UIProcess/win/WebPopupMenuProxyWin.h:
6255 2011-01-21 Adam Roben <aroben@apple.com>
6257 Update for WKCACFLayerRenderer -> CACFLayerView rename
6259 Fixes <http://webkit.org/b/52898> WKCACFLayerRenderer sounds like a render object, but isn't
6261 Reviewed by Simon Fraser.
6263 * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp: Just removed all the unnecessary
6266 2011-01-20 Darin Adler <darin@apple.com>
6268 Reviewed by Dan Bernstein.
6270 WebKit2: Implement showModalDialog
6271 https://bugs.webkit.org/show_bug.cgi?id=52855
6273 * Shared/WebPageCreationParameters.h: Added canRunModal.
6275 * UIProcess/API/C/WKPage.h: Added a runModal function pointer to
6276 WKPageUIClient. Also removed a lot of redundant typedefs and added
6277 a new one, WKPageCallback, for callbacks without arguments or return
6280 * UIProcess/API/qt/qwkpage.cpp:
6281 (QWKPage::QWKPage): Added a runModal function pointer of 0.
6283 * UIProcess/WebPageProxy.cpp:
6284 (WebKit::WebPageProxy::creationParameters): Set canRunModal
6285 based on return value of WebUIClient::canRunModal.
6287 * UIProcess/WebPageProxy.h: Added runModal.
6288 Calls WebUIClient::runModal.
6290 * UIProcess/WebPageProxy.messages.in: Added RunModal message.
6291 Also removed the periods from the phrases in the comments
6292 as Maciej requested a while back.
6294 * UIProcess/WebUIClient.cpp:
6295 (WebKit::WebUIClient::canRunModal): Added. Returns true or false
6296 based on whether a runModal function was supplied in the
6297 WKPageUIClient structure.
6298 (WebKit::WebUIClient::runModal): Added. Calls the runModal
6299 function from the WKPageUIClient structure.
6300 * UIProcess/WebUIClient.h: Declared the above functions.
6302 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
6303 (WebKit::WebChromeClient::canRunModal): Call through to WebPage.
6304 (WebKit::WebChromeClient::runModal): Ditto.
6306 * WebProcess/WebPage/WebPage.cpp:
6307 (WebKit::WebPage::WebPage): Initialize m_canRunModal based on the
6308 creation parameters. Initialize m_isRunningModal to false.
6309 (WebKit::WebPage::close): Stop the nested run loop if we are running modal.
6310 (WebKit::WebPage::runModal): Send a message to ask the UI process to run
6311 modal and then start a nested run loop. It gets stopped when the page is closed.
6312 * WebProcess/WebPage/WebPage.h: Defined the canRunModal function
6313 and declared the runModal function.
6315 2011-01-20 Alexey Proskuryakov <ap@apple.com>
6317 Reviewed by Darin Adler.
6319 https://bugs.webkit.org/show_bug.cgi?id=52849
6320 Make window.print work with WebKit2
6322 * UIProcess/API/qt/qwkpage.cpp:
6324 * UIProcess/WebPageProxy.cpp:
6325 (WebKit::WebPageProxy::printFrame):
6326 * UIProcess/WebPageProxy.h:
6327 * UIProcess/WebPageProxy.messages.in:
6328 * UIProcess/WebUIClient.cpp:
6329 (WebKit::WebUIClient::printFrame):
6330 * UIProcess/WebUIClient.h:
6331 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
6332 (WebKit::WebChromeClient::print):
6333 Just pass through deelagte call to a WebKit2 client.
6335 * UIProcess/API/C/WKPage.h: Also added "Callback" suffix to other printing related function
6338 2011-01-20 Anders Carlsson <andersca@apple.com>
6340 Reviewed by Darin Adler.
6342 Keep track of the latest update timestamp in the backing store
6343 https://bugs.webkit.org/show_bug.cgi?id=52848
6345 * Shared/UpdateInfo.h:
6346 (WebKit::UpdateInfo::UpdateInfo):
6347 Initialize timestamp to 0.
6349 * UIProcess/BackingStore.cpp:
6350 (WebKit::BackingStore::BackingStore):
6351 Initialize m_latestUpdateTimestamp to 0.
6353 (WebKit::BackingStore::incorporateUpdate):
6354 If the update is too old, discard it. Otherwise, create a bitmap
6355 and pass it to platformIncorporateUpdate. Finally update the timestamp.
6357 * UIProcess/BackingStore.h:
6358 Add m_latestUpdateTimestamp.
6360 * UIProcess/mac/BackingStoreMac.mm:
6361 (WebKit::BackingStore::platformIncorporateUpdate):
6362 Update now that we are already given the shareable bitmap.
6364 2011-01-20 Beth Dakin <bdakin@apple.com>
6366 Reviewed by Geoffrey Garen.
6368 Fix for <rdar://problem/8890255>
6370 Allow WebKitSystemInterface to draw scrollbars
6372 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
6373 (InitWebCoreSystemInterface):
6375 2011-01-20 Sam Weinig <sam@webkit.org>
6377 Reviewed by Dave Hyatt.
6379 Cleanup Scrollbar/ScrollbarClient relationship
6380 https://bugs.webkit.org/show_bug.cgi?id=52779
6382 * UIProcess/win/WebPopupMenuProxyWin.cpp:
6383 (WebKit::WebPopupMenuProxyWin::scrollPosition):
6384 (WebKit::WebPopupMenuProxyWin::setScrollOffset):
6385 (WebKit::WebPopupMenuProxyWin::scrollTo):
6386 (WebKit::WebPopupMenuProxyWin::onMouseWheel):
6387 (WebKit::WebPopupMenuProxyWin::scrollToRevealSelection):
6388 * UIProcess/win/WebPopupMenuProxyWin.h:
6389 (WebKit::WebPopupMenuProxyWin::verticalScrollbar):
6391 2011-01-20 Anders Carlsson <andersca@apple.com>
6393 Reviewed by Adam Roben.
6395 Add a timestamp to UpdateInfo
6396 https://bugs.webkit.org/show_bug.cgi?id=52844
6398 * Shared/UpdateInfo.cpp:
6399 (WebKit::UpdateInfo::encode):
6400 (WebKit::UpdateInfo::decode):
6401 * Shared/UpdateInfo.h:
6402 * WebProcess/WebPage/DrawingAreaImpl.cpp:
6403 (WebKit::DrawingAreaImpl::setSize):
6404 (WebKit::DrawingAreaImpl::display):
6406 2011-01-20 Anders Carlsson <andersca@apple.com>
6408 Reviewed by Beth Dakin.
6410 Add Connection::waitForAndDispatchImmediately
6411 https://bugs.webkit.org/show_bug.cgi?id=52841
6413 * Platform/CoreIPC/Connection.h:
6414 (CoreIPC::Connection::waitForAndDispatchImmediately):
6416 2011-01-20 Kevin Decker <kdecker@apple.com>
6418 Reviewed by Anders Carlsson.
6420 <rdar://problem/8880689> need a way to obtain the rendered rectangle for box elements
6421 https://bugs.webkit.org/show_bug.cgi?id=52823
6423 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
6424 (WKBundleNodeHandleGetRenderRect): Added new method that will return a rendered rectangle for box elements
6425 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: Ditto.
6426 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: Ditto.
6427 (WebKit::InjectedBundleNodeHandle::renderRect): Ditto.
6428 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: Ditto.
6430 2011-01-20 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
6432 Reviewed by Andreas Kling.
6434 Remove null ptr deref that happens when reattaching to
6437 Implement didRelaunchProcess that sets the drawing area size
6438 after the drawing area is re-instantiated.
6440 [Qt][WK2] Null ptr deref in UI process after web process has crashed
6441 https://bugs.webkit.org/show_bug.cgi?id=52796
6443 * UIProcess/API/qt/qgraphicswkview.cpp:
6444 (QGraphicsWKView::QGraphicsWKView):
6445 * UIProcess/API/qt/qwkpage.cpp:
6446 (QWKPagePrivate::QWKPagePrivate):
6447 (QWKPagePrivate::init):
6448 (QWKPagePrivate::createDrawingAreaProxy):
6449 (QWKPagePrivate::didRelaunchProcess): Reset drawing area size after crash.
6450 * UIProcess/API/qt/qwkpage_p.h:
6452 2011-01-20 Maciej Stachowiak <mjs@apple.com>
6454 Reviewed by Adam Roben.
6456 WebKitTestRunner needs to support layoutTestController.evaluateScriptInIsolatedWorld
6457 https://bugs.webkit.org/show_bug.cgi?id=42327
6459 Added a new API call, WKBundleFrameForJavaScriptContext, that gets the WKBundleFrameRef
6460 that corresponds to a JSContextRef (or null if none).
6462 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
6463 (WKBundleFrameForJavaScriptContext): Simple wrapper, defers to a WebFrame
6465 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
6466 * WebProcess/WebPage/WebFrame.cpp:
6467 (WebKit::WebFrame::frameForContext): Follow the maze of twisty pointers.
6468 * WebProcess/WebPage/WebFrame.h:
6470 2011-01-20 Alejandro G. Castro <alex@igalia.com>
6472 Fix compilation error in GTK WebKit2.
6474 * Platform/CoreIPC/gtk/ConnectionGtk.cpp:
6475 (CoreIPC::readBytesFromSocket):
6476 (CoreIPC::writeBytesToSocket):
6478 2011-01-20 Zoltan Horvath <zoltan@webkit.org>
6480 Reviewed by Csaba Osztrogonác.
6482 Refactoring of the custom allocation framework
6483 https://bugs.webkit.org/show_bug.cgi?id=49897
6485 Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
6486 The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
6487 equivalent macro implementation at the necessary places.
6489 2011-01-19 Simon Fraser <simon.fraser@apple.com>
6491 Fix the WebKit2 build.
6493 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
6494 (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
6496 2011-01-19 Brian Weinstein <bweinstein@apple.com>
6498 Reviewed by Darin Adler.
6500 WebKit2: Need API to get the parent frame of a frame
6501 https://bugs.webkit.org/show_bug.cgi?id=52774
6503 Add the API to get the parent frame of a frame.
6505 * UIProcess/API/C/WKFrame.cpp:
6506 (WKFrameGetParentFrame):
6507 * UIProcess/API/C/WKFrame.h:
6509 2011-01-19 Enrica Casucci <enrica@apple.com>
6511 Reviewed by Darin Adler.
6513 WebKit2: add support for drag and drop
6514 https://bugs.webkit.org/show_bug.cgi?id=52343
6515 <rdar://problem/7660558>
6517 This patch contains the remaining work to support drag and drop on Mac.
6518 I've added a PasteboardTypes class to encapsulate all the pasteboard formats
6519 supported for drag and drop.
6520 In this implementation we don't support the promised types, since I could not
6521 find an efficient way to do this across processes.
6522 The bulk of the patch consists in creating a shareable bitmap for the drag image,
6523 pass its handle to the UI process and create a new NSImage from it to be given to
6524 AppKit for dragging.
6525 I've added the missing implementation of the methods in the drag client to hook
6526 up the placement of the data in the pasteboard.
6528 * Shared/mac/PasteboardTypes.h: Added.
6529 * Shared/mac/PasteboardTypes.mm: Added.
6530 (WebKit::PasteboardTypes::forEditing):
6531 (WebKit::PasteboardTypes::forURL):
6532 (WebKit::PasteboardTypes::forImages):
6533 (WebKit::PasteboardTypes::forImagesWithArchive):
6534 * UIProcess/API/mac/PageClientImpl.h:
6535 * UIProcess/API/mac/PageClientImpl.mm:
6536 (WebKit::PageClientImpl::setDragImage): Added.
6537 * UIProcess/API/mac/WKView.mm:
6538 (-[WKView _registerDraggedTypes]): Refactored to use the new PasteboardTypes class.
6539 (-[WKView initWithFrame:contextRef:pageGroupRef:]):
6540 (-[WKView _setMouseDownEvent:]):
6541 (-[WKView _mouseHandler:]):
6542 (-[WKView mouseDown:]):
6543 (-[WKView mouseUp:]):
6544 (-[WKView mouseDragged:]):
6545 (-[WKView draggedImage:endedAt:operation:]):
6546 (-[WKView draggingEntered:]):
6547 (-[WKView _setDragImage:at:linkDrag:]):
6548 * UIProcess/API/mac/WKViewInternal.h:
6549 * UIProcess/PageClient.h:
6550 * UIProcess/WebPageProxy.cpp:
6551 (WebKit::WebPageProxy::setDragImage):
6552 (WebKit::WebPageProxy::dragEnded):
6553 * UIProcess/WebPageProxy.h:
6554 * UIProcess/WebPageProxy.messages.in:
6555 * WebKit2.xcodeproj/project.pbxproj:
6556 * WebProcess/WebCoreSupport/WebDragClient.cpp:
6557 * WebProcess/WebCoreSupport/WebDragClient.h:
6558 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: Added.
6559 (WebKit::fontFromNSFont):
6560 (WebKit::WebDragClient::startDrag): Added implementation.
6561 (WebKit::WebDragClient::createDragImageForLink): Ditto.
6562 (WebKit::writeURL): Helper function.
6563 (WebKit::writeImage): Helper function.
6564 (WebKit::WebDragClient::declareAndWriteDragImage): Added implementation.
6565 * WebProcess/WebPage/WebPage.cpp:
6566 (WebKit::WebPage::dragEnded):
6567 * WebProcess/WebPage/WebPage.h:
6568 * WebProcess/WebPage/WebPage.messages.in:
6570 2011-01-19 Anders Carlsson <andersca@apple.com>
6572 Reviewed by Dan Bernstein.
6574 Put the deprecated Connection member functions next to eachother
6575 https://bugs.webkit.org/show_bug.cgi?id=52767
6577 * Platform/CoreIPC/Connection.h:
6578 (CoreIPC::Connection::sendSync):
6579 (CoreIPC::Connection::send):
6581 2011-01-19 Anders Carlsson <andersca@apple.com>
6583 Reviewed by Sam Weinig.
6585 When resizing, the web process should repaint the page
6586 https://bugs.webkit.org/show_bug.cgi?id=52764
6588 * UIProcess/DrawingAreaProxyImpl.cpp:
6589 (WebKit::DrawingAreaProxyImpl::didSetSize):
6590 Incorporate the update.
6592 (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
6593 Return early if the update bounds rect is empty. This can happen if painting is
6594 disabled and we get a DidSetSize message.
6596 * WebProcess/WebPage/DrawingAreaImpl.cpp:
6597 (WebKit::DrawingAreaImpl::setSize):
6598 If painting is disabled, just send back an empty UpdateInfo struct. Otherwise,
6599 paint and fill in the UpdateInfo struct.
6601 (WebKit::DrawingAreaImpl::display):
6602 Assert that painting is not disabled.
6604 2011-01-19 Alexey Proskuryakov <ap@apple.com>
6606 Reviewed by Darin Adler.
6608 https://bugs.webkit.org/show_bug.cgi?id=52739
6609 Make it possible for a WebKit2 client to print headers and footers
6611 * UIProcess/API/C/WKPage.h:
6612 * UIProcess/WebPageProxy.cpp:
6613 (WebKit::WebPageProxy::headerHeight):
6614 (WebKit::WebPageProxy::footerHeight):
6615 (WebKit::WebPageProxy::drawHeader):
6616 (WebKit::WebPageProxy::drawFooter):
6617 * UIProcess/WebPageProxy.h:
6618 * UIProcess/WebUIClient.cpp:
6619 (WebKit::WebUIClient::headerHeight):
6620 (WebKit::WebUIClient::footerHeight):
6621 (WebKit::WebUIClient::drawHeader):
6622 (WebKit::WebUIClient::drawFooter):
6623 * UIProcess/WebUIClient.h:
6624 Pass UIClient calls through.
6626 * UIProcess/API/mac/WKView.mm:
6627 (currentPrintOperationScale): A helper to extract scale factor from the current NSPrintOperation.
6628 (-[WKView _adjustPrintingMarginsForHeaderAndFooter]): Copied from WebKit1. Change current
6629 print info to account for header and footer height as provided by the client.
6630 (-[WKView knowsPageRange:]): Call -[self _adjustPrintingMarginsForHeaderAndFooter].
6631 (-[WKView drawPageBorderWithSize:]): When AppKit asks to print page border, call the client
6632 to do that. Code adapted form WebKit1.
6634 * UIProcess/API/qt/qwkpage:
6635 (QWKPage::QWKPage): Added zeroes for new WKPageUIClient members to avoid breaking the build.
6637 2011-01-19 Jessie Berlin <jberlin@apple.com>
6639 Reviewed by Darin Adler.
6641 Crash in WebDatabaseManagerProxy::getDatabaseOrigins when called after the WebProcess has
6643 https://bugs.webkit.org/show_bug.cgi?id=52730
6645 WebDatabaseManagerProxy::invalidate was setting m_webContext to 0, and invalidate gets
6646 called in WebContext::processDidClose. However, m_webContext is only set in the
6647 constructor, which is only called from the constructor of WebContext, so attempting to send
6648 a message to any new WebProcess after the first one died was causing a null deref.
6650 This patch moves setting m_webcontext into clearContext and clearContext is only called in
6651 the WebContext destructor.
6653 This patch also adds checks for a valid WebProcessProxy before attempting to send messages to
6654 the WebProcessProxy so that if the WebProcess has died and has not been revived, it does not
6655 attempt to dereference a null WebProcessProxy.
6657 * UIProcess/WebContext.cpp:
6658 (WebKit::WebContext::~WebContext):
6659 Call WebDatabaseManagerProxy::clearContext.
6660 * UIProcess/WebContext.h:
6661 (WebKit::WebContext::hasValidProcess):
6662 Make this method public so that it can be called from WebDatabaseManagerProxy.
6664 * UIProcess/WebDatabaseManagerProxy.cpp:
6665 (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
6666 If there isn't a valid process, invalidate the callback and return early.
6667 (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
6669 (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
6670 If tehre isn't a valid process return early.
6671 (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
6673 (WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
6675 (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
6677 (WebKit::WebDatabaseManagerProxy::invalidate):
6678 Move setting m_webContext to 0 from here ...
6679 * UIProcess/WebDatabaseManagerProxy.h:
6680 (WebKit::WebDatabaseManagerProxy::clearContext):
6683 2011-01-19 Anders Carlsson <andersca@apple.com>
6685 Reviewed by Sam Weinig.
6687 Suspend/resume painting as the WKView visibility changes
6688 https://bugs.webkit.org/show_bug.cgi?id=52738
6690 * UIProcess/DrawingAreaProxy.h:
6691 (WebKit::DrawingAreaProxy::visibilityDidChange):
6692 Add new member function. It should really be pure virtual once setPageIsVisible
6695 * UIProcess/DrawingAreaProxyImpl.cpp:
6696 (WebKit::DrawingAreaProxyImpl::visibilityDidChange):
6697 Send SuspendPainting/ResumePainting messages based on whether the view is visible or not.
6699 (WebKit::DrawingAreaProxyImpl::setPageIsVisible):
6700 Make this a stub; it should really be removed.
6702 * UIProcess/WebPageProxy.cpp:
6703 (WebKit::WebPageProxy::viewStateDidChange):
6704 Call visibilityDidChange.
6706 * UIProcess/WebPageProxy.h:
6707 (WebKit::WebPageProxy::isViewVisible):
6710 * WebProcess/WebPage/DrawingArea.messages.in:
6711 Add SuspendPainting and ResumePainting messages.
6713 * WebProcess/WebPage/DrawingAreaImpl.cpp:
6714 (WebKit::DrawingAreaImpl::DrawingAreaImpl):
6715 Initialize m_isPaintingSuspended.
6717 (WebKit::DrawingAreaImpl::suspendPainting):
6718 Set m_isPaintingSuspended to true and stop the display timer.
6720 (WebKit::DrawingAreaImpl::resumePainting):
6721 Set m_isPaintingSuspended to false.
6723 (WebKit::DrawingAreaImpl::scheduleDisplay):
6724 (WebKit::DrawingAreaImpl::display):
6725 Bail if m_isPaintingSuspended is true.
6727 2011-01-19 Andreas Kling <kling@webkit.org>
6729 Reviewed by Simon Hausmann.
6731 [Qt][WK2] Implement formatLocalizedString() for Qt.
6733 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
6734 (WebKit::formatLocalizedString):
6736 2011-01-19 Chris Marrin <cmarrin@apple.com>
6738 Reviewed by Simon Fraser.
6740 WK2 - Multiple crashes in PlatformCALayer::replaceSublayer
6741 https://bugs.webkit.org/show_bug.cgi?id=52695
6743 Added a hostingLayer as the parent of the existing drawingLayer.
6744 The hostingLayer is now the root which is passed to the
6745 remote context. It never changes except to track the size
6746 of the window. The backingLayer is now a child of the
6747 hostingLayer, which allow it to switch between tiled and
6750 I also now give back accurate settings for debug borders and
6753 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
6754 (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
6755 (WebKit::LayerBackedDrawingArea::setSize):
6756 (WebKit::LayerBackedDrawingArea::showDebugBorders):
6757 (WebKit::LayerBackedDrawingArea::showRepaintCounter):
6758 * WebProcess/WebPage/LayerBackedDrawingArea.h:
6759 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
6760 (WebKit::LayerBackedDrawingArea::platformInit):
6761 (WebKit::LayerBackedDrawingArea::attachCompositingContext):
6762 (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
6764 2011-01-19 Anders Carlsson <andersca@apple.com>
6766 Reviewed by Sam Weinig.
6768 Send a new SetSize message if the size differs from the current size
6769 https://bugs.webkit.org/show_bug.cgi?id=52728
6771 * UIProcess/DrawingAreaProxy.h:
6772 (WebKit::DrawingAreaProxy::didSetSize):
6773 Add UpdateInfo parameter.
6775 * UIProcess/DrawingAreaProxy.messages.in:
6776 Add UpdateInfo parameter to the DidSetSize message.
6778 * UIProcess/DrawingAreaProxyImpl.cpp:
6779 (WebKit::DrawingAreaProxyImpl::didSetSize):
6780 If the view size differs from the current size send another SetSize message.
6782 * UIProcess/DrawingAreaProxyImpl.h:
6783 Add UpdateInfo parameter to didSetSize.
6785 * WebProcess/WebPage/DrawingAreaImpl.cpp:
6786 (WebKit::DrawingAreaImpl::setSize):
6787 The DidSetSize message now takes an UpdateInfo parameter.
6789 2011-01-19 Anders Carlsson <andersca@apple.com>
6791 Reviewed by Darin Adler.
6793 Throttle sending of SetSize messages
6794 https://bugs.webkit.org/show_bug.cgi?id=52727
6796 * UIProcess/DrawingAreaProxyImpl.cpp:
6797 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
6798 Initialize m_isWaitingForDidSetSize to false.
6800 (WebKit::DrawingAreaProxyImpl::didSetSize):
6801 Null out the backing store.
6803 (WebKit::DrawingAreaProxyImpl::sendSetSize):
6804 If m_isWaitingForDidSetSize is true, do nothing. Otherwise, set m_isWaitingForDidSetSize
6805 to true and send a SetSize message.
6807 * UIProcess/DrawingAreaProxyImpl.h:
6808 Add m_isWaitingForDidSetSize.
6810 2011-01-19 Anders Carlsson <andersca@apple.com>
6812 Reviewed by Darin Adler.
6814 Pass WebPageCreationParameters to DrawingArea::create
6815 https://bugs.webkit.org/show_bug.cgi?id=52726
6817 * WebProcess/WebPage/DrawingArea.cpp:
6818 (WebKit::DrawingArea::create):
6819 * WebProcess/WebPage/DrawingArea.h:
6820 * WebProcess/WebPage/DrawingAreaImpl.cpp:
6821 (WebKit::DrawingAreaImpl::create):
6822 (WebKit::DrawingAreaImpl::DrawingAreaImpl):
6823 * WebProcess/WebPage/DrawingAreaImpl.h:
6824 * WebProcess/WebPage/WebPage.cpp:
6825 (WebKit::WebPage::WebPage):
6826 (WebKit::WebPage::changeAcceleratedCompositingMode):
6828 2011-01-19 Csaba Osztrogonác <ossy@webkit.org>
6830 Reviewed by Laszlo Gombos and Tor Arne Vestbø.
6832 [Qt] Remove unnecessary "../Source" from paths
6833 after moving source files into Source is finished.
6835 * DerivedSources.pro:
6838 2011-01-18 Maciej Stachowiak <mjs@apple.com>
6840 Reviewed by Sam Weinig.
6842 WebKitTestRunner should track loading more like DumpRenderTree
6843 https://bugs.webkit.org/show_bug.cgi?id=52692
6845 Relax the message check in didSaveFrameToPageCache a bit more, since
6846 layout tests were still hitting the old one.
6848 * UIProcess/WebPageProxy.cpp:
6849 (WebKit::isDisconnectedFrame):
6850 (WebKit::WebPageProxy::didSaveFrameToPageCache):
6852 2011-01-18 Brady Eidson <beidson@apple.com>
6854 Reviewed by Darin Adler.
6856 <rdar://problem/8860833> and https://bugs.webkit.org/show_bug.cgi?id=52599
6857 UIProcess crash in WebPageProxy::reattachToWebProcess when web process crashes with a new tab/window.
6859 * UIProcess/WebPageProxy.cpp:
6860 (WebKit::WebPageProxy::reattachToWebProcessWithItem): Null check item *both* places it is used.
6862 2011-01-18 Brady Eidson <beidson@apple.com>
6864 Reviewed by Maciej Stachowiak.
6866 <rdar://problem/8752200> and https://bugs.webkit.org/show_bug.cgi?id=52664
6867 Need WebKit2 API to asynchronously get the resource data for a URL
6869 Rename WKFrameGetMainResourceDataFunction to WKFrameGetResourceDataFunction, and add
6870 new API to get a resource by URL:
6871 * UIProcess/API/C/WKFrame.cpp:
6872 (WKFrameGetMainResourceData):
6873 (WKFrameGetResourceData):
6874 (callGetResourceDataBlockAndDispose):
6875 (WKFrameGetMainResourceData_b):
6876 (WKFrameGetResourceData_b):
6877 * UIProcess/API/C/WKFrame.h:
6879 Implement the new API in the UIProcess side:
6880 * UIProcess/WebFrameProxy.cpp:
6881 (WebKit::WebFrameProxy::getResourceData):
6882 * UIProcess/WebFrameProxy.h:
6883 * UIProcess/WebPageProxy.cpp:
6884 (WebKit::WebPageProxy::getResourceDataFromFrame):
6885 * UIProcess/WebPageProxy.h:
6887 Have the WebProcess get the data and call back to the UIProcess:
6888 * WebProcess/WebPage/WebPage.cpp:
6889 (WebKit::WebPage::getResourceDataFromFrame):
6890 * WebProcess/WebPage/WebPage.h:
6891 * WebProcess/WebPage/WebPage.messages.in:
6893 2011-01-18 Anders Carlsson <andersca@apple.com>
6895 Reviewed by Dan Bernstein.
6897 Make PageClientImpl::scrollView do hardware blitting
6898 https://bugs.webkit.org/show_bug.cgi?id=52689
6900 * UIProcess/API/mac/PageClientImpl.mm:
6901 (WebKit::PageClientImpl::scrollView):
6902 Clip the scroll rect and scroll the view.
6904 * UIProcess/DrawingAreaProxyImpl.cpp:
6905 (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
6906 Scroll before painting.
6908 2011-01-18 Anders Carlsson <andersca@apple.com>
6910 Reviewed by Darin Adler.
6912 Artifacts when scrolling with new drawing area
6913 https://bugs.webkit.org/show_bug.cgi?id=52682
6915 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
6916 (WebKit::WebChromeClient::scroll):
6917 When scrolling, we want the intersection of the scroll rect and clip rect.
6919 2011-01-18 Anders Carlsson <andersca@apple.com>
6921 Reviewed by Darin Adler.
6923 Use a CGLayer for the backing store when possible
6924 https://bugs.webkit.org/show_bug.cgi?id=52679
6926 * UIProcess/mac/BackingStoreMac.mm:
6927 (WebKit::BackingStore::paint):
6928 If there is a layer, paint it into the given context.
6930 (WebKit::BackingStore::backingStoreContext):
6931 If we can get the containing window graphics context, use it to create a
6932 CGLayer that we'll use for the backing store.
6934 (WebKit::BackingStore::scroll):
6935 Paint the layer into itself.
6937 * UIProcess/mac/WebPageProxyMac.mm:
6938 (WebKit::WebPageProxy::containingWindowGraphicsContext):
6939 Call the page client.
6941 2011-01-18 Anders Carlsson <andersca@apple.com>
6943 Reviewed by Dan Bernstein.
6945 Pass the web page proxy to BackingStore::create
6946 https://bugs.webkit.org/show_bug.cgi?id=52673
6948 * UIProcess/BackingStore.cpp:
6949 (WebKit::BackingStore::create):
6950 Add WebPageProxy parameter.
6952 (WebKit::BackingStore::BackingStore):
6953 Add WebPageProxy parameter.
6955 * UIProcess/BackingStore.h:
6956 Add WebPageProxy member variable.
6958 * UIProcess/DrawingAreaProxyImpl.cpp:
6959 (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
6960 Pass the web page proxy when creating the backing store.
6962 * UIProcess/mac/BackingStoreMac.mm:
6963 (WebKit::BackingStore::backingStoreContext):
6964 Set the default blend mode.
6966 2011-01-18 Anders Carlsson <andersca@apple.com>
6968 Reviewed by Darin Adler.
6970 Factor code to create the backing store bitmap context out into a new function
6971 https://bugs.webkit.org/show_bug.cgi?id=52670
6973 * UIProcess/BackingStore.h:
6974 * UIProcess/mac/BackingStoreMac.mm:
6975 (WebKit::BackingStore::backingStoreContext):
6976 Create the backing store context.
6978 (WebKit::BackingStore::incorporateUpdate):
6979 Call backingStoreContext.
6981 (WebKit::BackingStore::scroll):
6982 Assert that the context is not null.
6984 2011-01-18 Anders Carlsson <andersca@apple.com>
6986 Reviewed by Dan Bernstein.
6988 Add PageClientImpl::containingWindowGraphicsContext
6989 https://bugs.webkit.org/show_bug.cgi?id=52666
6991 * UIProcess/API/mac/PageClientImpl.h:
6992 * UIProcess/API/mac/PageClientImpl.mm:
6993 (WebKit::PageClientImpl::containingWindowGraphicsContext):
6994 * UIProcess/PageClient.h:
6995 * UIProcess/WebPageProxy.h:
6997 2011-01-18 Damian Kaleta <dkaleta@apple.com>
6999 Reviewed by Sam Weinig.
7001 WK2 methods WKPageScaleWebView and WKPageGetViewScaleFactor need to have consistent names
7002 https://bugs.webkit.org/show_bug.cgi?id=52647
7004 * UIProcess/API/C/WKPage.cpp:
7005 (WKPageSetScaleFactor):
7006 (WKPageGetScaleFactor):
7007 * UIProcess/API/C/WKPage.h:
7009 2011-01-18 Anders Carlsson <andersca@apple.com>
7011 Reviewed by Dan Bernstein.
7013 Ask the web page proxy to scroll the view when needed
7014 https://bugs.webkit.org/show_bug.cgi?id=52665
7016 * UIProcess/DrawingAreaProxyImpl.cpp:
7017 (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
7018 * UIProcess/WebPageProxy.cpp:
7019 (WebKit::WebPageProxy::scrollView):
7020 * UIProcess/WebPageProxy.h:
7022 2011-01-18 Anders Carlsson <andersca@apple.com>
7026 * UIProcess/win/WebView.cpp:
7027 (WebKit::WebView::scrollView):
7029 2011-01-18 Anders Carlsson <andersca@apple.com>
7031 Reviewed by Sam Weinig.
7033 Add PageClient::scrollView
7034 https://bugs.webkit.org/show_bug.cgi?id=52663
7036 * UIProcess/API/mac/PageClientImpl.h:
7037 * UIProcess/API/mac/PageClientImpl.mm:
7038 (WebKit::PageClientImpl::scrollView):
7039 * UIProcess/API/qt/qwkpage.cpp:
7040 (QWKPagePrivate::scrollView):
7041 * UIProcess/API/qt/qwkpage_p.h:
7042 * UIProcess/PageClient.h:
7043 * UIProcess/win/WebView.cpp:
7044 (WebKit::PageClientImpl::scrollView):
7045 * UIProcess/win/WebView.h:
7047 2011-01-18 Anders Carlsson <andersca@apple.com>
7049 Reviewed by Sam Weinig.
7051 Rename scrollDelta to scrollOffset everywhere.
7053 * Shared/UpdateInfo.cpp:
7054 (WebKit::UpdateInfo::encode):
7055 (WebKit::UpdateInfo::decode):
7056 * Shared/UpdateInfo.h:
7057 * UIProcess/BackingStore.h:
7058 * UIProcess/mac/BackingStoreMac.mm:
7059 (WebKit::BackingStore::incorporateUpdate):
7060 (WebKit::BackingStore::scroll):
7061 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
7062 (WebKit::WebChromeClient::scroll):
7063 (WebKit::WebChromeClient::delegatedScrollRequested):
7064 * WebProcess/WebCoreSupport/WebChromeClient.h:
7065 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
7066 (WebKit::ChunkedUpdateDrawingArea::scroll):
7067 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
7068 * WebProcess/WebPage/DrawingArea.h:
7069 * WebProcess/WebPage/DrawingAreaImpl.cpp:
7070 (WebKit::DrawingAreaImpl::scroll):
7071 (WebKit::DrawingAreaImpl::display):
7072 * WebProcess/WebPage/DrawingAreaImpl.h:
7073 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
7074 (WebKit::LayerBackedDrawingArea::scroll):
7075 * WebProcess/WebPage/LayerBackedDrawingArea.h:
7077 2011-01-18 Anders Carlsson <andersca@apple.com>
7079 Reviewed by Sam Weinig.
7081 Get and paint each individual rect in -[WKView drawRect:]
7082 https://bugs.webkit.org/show_bug.cgi?id=52660
7084 * UIProcess/API/mac/WKView.mm:
7085 (-[WKView drawRect:]):
7087 2011-01-18 Anders Carlsson <andersca@apple.com>
7089 Reviewed by Darin Adler.
7091 Assertion when loading two URLs in quick succession
7092 https://bugs.webkit.org/show_bug.cgi?id=52649
7093 <rdar://problem/8764645>
7095 If beginLoad is called twice without didStartProvisionalLoad being called in between,
7096 m_pendingProvisionalSandboxExtension would be non-null and an assert would fire.
7098 * WebProcess/WebPage/WebPage.cpp:
7099 (WebKit::WebPage::SandboxExtensionTracker::beginLoad):
7100 Instead of asserting that m_pendingProvisionalSandboxExtension is null, invalidate it
7101 if it is not null, since that's valid.
7103 2011-01-18 Anders Carlsson <andersca@apple.com>
7105 Reviewed by Sam Weinig.
7107 Implement NPN_PopUpContextMenu
7108 https://bugs.webkit.org/show_bug.cgi?id=52646
7109 <rdar://problem/8735616>
7111 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
7112 (WebKit::NPN_PopUpContextMenu):
7113 Call NetscapePlugin::popUpContextMenu.
7115 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
7116 (WebKit::NetscapePlugin::NetscapePlugin):
7117 Initialize m_currentMouseEvent.
7119 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
7120 Add m_currentMouseEvent.
7122 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
7123 (WebKit::NetscapePlugin::popUpContextMenu):
7124 Convert the coordinates from the current mouse event to screen coordinates and call
7127 (WebKit::NetscapePlugin::platformHandleMouseEvent):
7128 Update m_currentMouseEvent.
7130 2011-01-18 Jessie Berlin <jberlin@apple.com>
7132 Reviewed by Darin Adler.
7134 WebKit2: Do not assert that the provisional and committed URLs cannot be empty/null
7135 https://bugs.webkit.org/show_bug.cgi?id=52641
7137 * UIProcess/WebFrameProxy.cpp:
7138 (WebKit::WebFrameProxy::didStartProvisionalLoad):
7139 (WebKit::WebFrameProxy::didCommitLoad):
7140 (WebKit::WebFrameProxy::didFinishLoad):
7142 2011-01-18 Anders Carlsson <andersca@apple.com>
7144 Reviewed by Sam Weinig.
7146 ASSERT in plug-in code when going to youtube
7147 https://bugs.webkit.org/show_bug.cgi?id=52638
7149 * PluginProcess/PluginControllerProxy.cpp:
7150 (WebKit::PluginControllerProxy::paintEntirePlugin):
7151 Don't try to paint the plug-in if the plug-in frame is empty.
7153 2011-01-18 Anders Carlsson <andersca@apple.com>
7155 Reviewed by Dan Bernstein.
7157 Plug-in hosting WebProcess instances appear in Activity Monitor as WebProcess
7158 https://bugs.webkit.org/show_bug.cgi?id=52635
7159 <rdar://problem/8731337>
7161 * PluginProcess/PluginProcess.cpp:
7162 (WebKit::PluginProcess::initialize):
7163 Call platformInitialize.
7165 * PluginProcess/PluginProcess.h:
7166 Add platformInitialize.
7168 * PluginProcess/mac/PluginProcessMac.mm:
7169 (WebKit::PluginProcess::platformInitialize):
7170 Set the compositing render server port and the visible application name.
7172 * Shared/Plugins/PluginProcessCreationParameters.cpp:
7173 (WebKit::PluginProcessCreationParameters::encode):
7174 (WebKit::PluginProcessCreationParameters::decode):
7175 Encode/decode the parent process name.
7177 * Shared/Plugins/PluginProcessCreationParameters.h:
7178 Add parentProcessName.
7180 * Shared/WebProcessCreationParameters.cpp:
7181 (WebKit::WebProcessCreationParameters::encode):
7182 (WebKit::WebProcessCreationParameters::decode):
7183 Encode/decode the parent process name.
7185 * Shared/WebProcessCreationParameters.h:
7186 Add parentProcessName.
7188 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
7189 (WebKit::ProcessLauncher::launchProcess):
7190 Don't pass the parent process name here.
7192 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
7193 (WebKit::PluginProcessProxy::platformInitializePluginProcess):
7194 Set the visible name.
7196 * UIProcess/mac/WebContextMac.mm:
7197 (WebKit::WebContext::platformInitializeWebProcess):
7198 Pass along the parent process name.
7200 * WebProcess/mac/WebProcessMac.mm:
7201 (WebKit::WebProcess::platformInitializeWebProcess):
7202 Set the visible name.
7204 * WebProcess/mac/WebProcessMainMac.mm:
7205 (WebKit::WebProcessMain):
7206 Don't set the visible name here. It's done in platformInitializeWebProcess.
7208 2011-01-18 Balazs Kelemen <kbalazs@webkit.org>
7210 Reviewed by Csaba Osztrogonác.
7212 [Qt][WK2] Not implemented warnings should not break layout tests
7213 https://bugs.webkit.org/show_bug.cgi?id=52616
7215 * WebKit2Prefix.h: Define DISABLE_NOT_IMPLEMENTED_WARNINGS on Qt.
7217 2011-01-17 Jon Honeycutt <jhoneycutt@apple.com>
7219 Windows build fix. Unreviewed.
7221 * Shared/PrintInfo.cpp:
7222 Use #include, not #import.
7224 2011-01-17 Alexey Proskuryakov <ap@apple.com>
7226 Actually wrote a FIXME promised for a review comment.
7228 * UIProcess/API/mac/WKView.mm:
7229 (-[WKView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
7231 2011-01-17 Alexey Proskuryakov <ap@apple.com>
7233 Reviewed by Anders Carlsson and Darin Adler.
7235 https://bugs.webkit.org/show_bug.cgi?id=52595
7236 Make basic printing work in WebKit2
7238 * Shared/WebPreferencesStore.h:
7239 * UIProcess/API/C/WKPreferences.cpp:
7240 (WKPreferencesSetShouldPrintBackgrounds):
7241 (WKPreferencesGetShouldPrintBackgrounds):
7242 * UIProcess/API/C/WKPreferences.h:
7243 Implement a preference for printing backgrounds.
7245 * Shared/PrintInfo.cpp: Added.
7246 (WebKit::PrintInfo::encode):
7247 (WebKit::PrintInfo::decode):
7248 * Shared/PrintInfo.h: Added.
7249 * Shared/mac/PrintInfoMac.mm: Added.
7250 (WebKit::PrintInfo::PrintInfo):
7251 A new class for passing page setup information down to the web process.
7253 * WebKit2.xcodeproj/project.pbxproj:
7256 * win/WebKit2.vcproj:
7259 * Scripts/webkit2/messages.py: Added PrintInfo.h to a list of structs.
7261 * UIProcess/API/mac/WKView.mm:
7262 (WKViewData): Cache page count and geometry.
7263 (WebFrameWrapper): Added a wrapper class for adding a WebFrameProxy to an NSDictionary.
7264 (-[WKView drawRect:]): Added logging.
7265 (setFrameBeingPrinted): Store a frame into NSPrintOperation's NSPrintInfo, so that all
7266 methods invoked for this operation would know what's being printed.
7267 (frameBeingPrinted): Retrieve this data.
7268 (-[WKView printOperationWithPrintInfo:forFrame:]): Create a print operation that's appropriate
7270 (-[WKView knowsPageRange:]): Ask the web process.
7271 (-[WKView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
7272 Take over printing, because I couldn't make drawRect: work correctly with WebKit custom fit
7273 to page implementation.
7274 (-[WKView _provideTotalScaleFactorForPrintOperation:]): Help AppKit clip correctly.
7275 (-[WKView rectForPage:]): Return a pre-calculated rect.
7277 * UIProcess/WebPageProxy.h: Added m_isInPrintingMode to track whether the web page is in
7278 printing mode. The UI process controls that.
7280 * UIProcess/WebPageProxy.cpp:
7281 (WebKit::WebPageProxy::WebPageProxy): Initialize m_isInPrintingMode.
7282 (WebKit::WebPageProxy::beginPrinting): Change printing mode in web process if the value changes.
7283 (WebKit::WebPageProxy::endPrinting): Ditto.
7284 (WebKit::WebPageProxy::computePagesForPrinting): Ask the web process about output page geometry.
7285 (WebKit::WebPageProxy::drawRectToPDF): Ask the web process about printed page data.
7287 * WebProcess/WebPage/WebPage.cpp:
7288 (WebKit::WebPage::close): Delete m_printContext while there is still a Frame pointer.
7289 (WebKit::WebPage::updatePreferences): Pass through ShouldPrintBackgrounds.
7290 (WebKit::WebPage::beginPrinting): Switch into printing mode (or update parameters if we're
7291 already in printing mode).
7292 (WebKit::WebPage::endPrinting): Delete m_printContext, implicitly calling end().
7293 (WebKit::WebPage::computePagesForPrinting): Make sure that we're in printing mode, and
7295 (WebKit::WebPage::drawRectToPDF): Added a CG specific function to create a PDF document out
7296 of a page rect. It should really work for onscreen content, but we only need it for printing.
7298 * WebProcess/WebPage/WebPage.h:
7300 * WebProcess/WebPage/WebPage.messages.in: Added BeginPrinting, EndPrinting,
7301 ComputePagesForPrinting and DrawRectToPDF.
7303 2011-01-17 Tony Gentilcore <tonyg@chromium.org>
7305 Reviewed by Alexey Proskuryakov.
7307 Fix some headers with missing or misspelled #ifndef guards
7308 https://bugs.webkit.org/show_bug.cgi?id=52545
7310 * Shared/UserMessageCoders.h:
7311 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
7312 * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
7313 * WebProcess/WebProcessMain.h:
7315 2011-01-17 Alexey Proskuryakov <ap@apple.com>
7319 * Platform/Logging.cpp:
7321 2011-01-17 Alexey Proskuryakov <ap@apple.com>
7323 Reviewed by Dan Bernstein.
7325 https://bugs.webkit.org/show_bug.cgi?id=52592
7326 Add a logging channel for WKView
7328 * Platform/Logging.cpp:
7329 * Platform/Logging.h:
7331 2011-01-17 Anders Carlsson <andersca@apple.com>
7333 Reviewed by Sam Weinig.
7335 Factor bitmap context drawing code out into a shared function
7336 https://bugs.webkit.org/show_bug.cgi?id=52589
7338 * Platform/cg/CGUtilities.h: Added.
7339 * Platform/cg/CGUtilities.cpp: Added.
7340 (WebKit::paintBitmapContext):
7341 New function that will paint a bitmap context into a CGContext.
7343 * Shared/cg/ShareableBitmapCG.cpp:
7344 (WebKit::ShareableBitmap::paint):
7345 Use paintBitmapContext.
7347 * UIProcess/mac/BackingStoreMac.mm:
7348 (WebKit::BackingStore::paint):
7349 (WebKit::BackingStore::scroll):
7350 Use paintBitmapContext.
7352 * WebKit2.xcodeproj/project.pbxproj:
7353 * win/WebKit2.vcproj:
7354 * win/WebKit2Common.vsprops:
7355 Add CGUtilities.{cpp|h}.
7357 2011-01-17 Dan Bernstein <mitz@apple.com>
7359 Rubber-stamped by Mark Rowe.
7361 Update xcodeproj svn:ignore to include xcuserdata.
7363 * WebKit2.xcodeproj: Modified property svn:ignore.
7365 2011-01-17 Alexey Proskuryakov <ap@apple.com>
7367 Fixing a typo from a bad merge.
7369 * UIProcess/API/mac/WKView.mm: (-[WKView canChangeFrameLayout:]):
7371 2011-01-17 Alexey Proskuryakov <ap@apple.com>
7373 Reviewed by John Sullivan.
7375 https://bugs.webkit.org/show_bug.cgi?id=52590
7376 Should pass a frame into -[WKView canPrintHeadersAndFooters]
7378 * UIProcess/API/mac/WKView.h:
7379 * UIProcess/API/mac/WKView.mm: (-[WKView canChangeFrameLayout:]): Also, renamed the method
7380 to canChangeFrameLayout.
7382 2011-01-17 Anders Carlsson <andersca@apple.com>
7384 Reviewed by Sam Weinig.
7386 Implement scrolling support
7387 https://bugs.webkit.org/show_bug.cgi?id=52502
7389 * Shared/UpdateInfo.cpp:
7390 (WebKit::UpdateInfo::encode):
7391 (WebKit::UpdateInfo::decode):
7392 * Shared/UpdateInfo.h:
7393 Add scrollRect and scrollDelta member variables.
7395 * UIProcess/BackingStore.h:
7396 Add scroll member function.
7398 * UIProcess/DrawingAreaProxyImpl.cpp:
7399 (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
7400 Repaint the scroll rect. Force a display of the view when the update info contains a scroll rect.
7402 * UIProcess/mac/BackingStoreMac.mm:
7403 (WebKit::BackingStore::incorporateUpdate):
7406 (WebKit::BackingStore::scroll):
7407 Paint the backing store into itself.
7409 * WebProcess/WebPage/DrawingAreaImpl.cpp:
7410 (WebKit::DrawingAreaImpl::display):
7411 Pass the scroll information in the update info.
7413 2011-01-17 Andrey Kosyakov <caseq@chromium.org>
7415 Unreviewed. Fixed malformed reference to WebKitVSPropsRedirectionDir that broke win build.
7417 * win/WebKit2.vcproj:
7418 * win/WebKit2GeneratedCommon.vsprops:
7419 * win/WebKit2WebProcess.vcproj:
7421 2011-01-17 Pavel Feldman <pfeldman@chromium.org>
7423 Reviewed by Yury Semikhatsky.
7425 Web Inspector: simplify debugger enabling routine.
7426 https://bugs.webkit.org/show_bug.cgi?id=52472
7428 * WebProcess/WebPage/WebInspector.cpp:
7429 (WebKit::WebInspector::startJavaScriptDebugging):
7431 2011-01-17 Balazs Kelemen <kbalazs@webkit.org>
7433 Reviewed by Andreas Kling.
7435 [Qt][WK2] Crash due to double destruction of QSharedMemory
7436 https://bugs.webkit.org/show_bug.cgi?id=52569
7438 Avoid deleting the QSharedMemory twice.
7439 * Platform/qt/SharedMemoryQt.cpp:
7440 (WebKit::SharedMemory::~SharedMemory):
7441 * Shared/qt/CleanupHandler.cpp:
7442 Renamed m_inDeleteObjects to m_hasStartedDeleting and
7443 added a getter for it.
7444 (WebKit::CleanupHandler::CleanupHandler):
7445 (WebKit::CleanupHandler::deleteObjects):
7446 * Shared/qt/CleanupHandler.h:
7447 (WebKit::CleanupHandler::unmark):
7448 (WebKit::CleanupHandler::hasStartedDeleting):
7450 2011-01-15 Adam Barth <abarth@webkit.org>
7452 Rubber-stamped by Eric Seidel.
7454 Move WebKit2 into Source
7455 https://bugs.webkit.org/show_bug.cgi?id=52438
7457 * DerivedSources.pro:
7461 * win/WebKit2.vcproj:
7462 * win/WebKit2WebProcess.vcproj:
7464 2011-01-14 Yuzo Fujishima <yuzo@google.com>
7466 Reviewed by Antti Koivisto.
7468 Rename cache() to memoryCache()
7469 https://bugs.webkit.org/show_bug.cgi?id=52433
7471 * WebProcess/WebProcess.cpp:
7472 (WebKit::WebProcess::shutdownIfPossible):
7473 (WebKit::WebProcess::didClose):
7474 * WebProcess/mac/WebProcessMac.mm:
7475 (WebKit::WebProcess::platformSetCacheModel):
7476 * WebProcess/win/WebProcessWin.cpp:
7477 (WebKit::WebProcess::platformSetCacheModel):
7479 2011-01-13 Geoffrey Garen <ggaren@apple.com>
7481 Reviewed by Oliver Hunt.
7483 Split out a MarkedSpace strategy object from Heap.
7484 https://bugs.webkit.org/show_bug.cgi?id=52421
7486 * Shared/mac/WebMemorySampler.mac.mm:
7487 (WebKit::WebMemorySampler::sampleWebKit): Updated for class move.
7489 2011-01-14 Anders Carlsson <andersca@apple.com>
7491 Reviewed by Dan Bernstein.
7493 Add a new PageClient::displayView function and expose it on WebPageProxy
7494 https://bugs.webkit.org/show_bug.cgi?id=52500
7496 * UIProcess/API/mac/PageClientImpl.h:
7497 * UIProcess/API/mac/PageClientImpl.mm:
7498 (WebKit::PageClientImpl::displayView):
7499 * UIProcess/API/qt/qwkpage.cpp:
7500 (QWKPagePrivate::displayView):
7501 * UIProcess/API/qt/qwkpage_p.h:
7502 * UIProcess/PageClient.h:
7503 * UIProcess/WebPageProxy.cpp:
7504 (WebKit::WebPageProxy::displayView):
7505 * UIProcess/WebPageProxy.h:
7506 * UIProcess/win/WebView.cpp:
7507 (WebKit::WebView::displayView):
7508 * UIProcess/win/WebView.h:
7510 2011-01-14 Anders Carlsson <andersca@apple.com>
7512 Reviewed by Sam Weinig.
7514 Implement the "should paint bounds instead of indiviual rects" algorithm from WebKit1
7515 https://bugs.webkit.org/show_bug.cgi?id=52499
7517 * WebProcess/WebPage/DrawingAreaImpl.cpp:
7518 (WebKit::shouldPaintBoundsRect):
7519 Port code from -[WebView _mustDrawUnionedRect:singleRects:count:].
7521 (WebKit::DrawingAreaImpl::display):
7522 If shouldPaintBoundsRect returns true, clear the rects vector and append the bounds rect.
7524 2011-01-14 Brian Weinstein <bweinstein@apple.com>
7526 Reviewed by Geoff Garen.
7528 ShouldLoadResourceForFrame should use strings, not URLs.
7529 https://bugs.webkit.org/show_bug.cgi?id=52476
7531 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
7532 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
7533 (WebKit::InjectedBundlePageLoaderClient::shouldLoadResourceForFrame): Pass resourceURL as a string instead of
7534 a URL, and rename from subresourceURL to resourceURL.
7536 2011-01-14 Anders Carlsson <andersca@apple.com>
7538 Reviewed by Sam Weinig.
7540 Fix for <rdar://problem/8711576> The web process should be able to read resources from the UI process.
7542 Based on a patch by Ivan Krstić. This also makes the NSURLCache path a sandbox parameter.
7544 * Shared/WebProcessCreationParameters.cpp:
7545 (WebKit::WebProcessCreationParameters::encode):
7546 (WebKit::WebProcessCreationParameters::decode):
7547 Encode and decode the uiProcessBundleResourcePath member variable.
7549 * Shared/WebProcessCreationParameters.h:
7550 Add uiProcessBundleResourcePath member variable.
7552 * UIProcess/mac/WebContextMac.mm:
7553 (WebKit::WebContext::platformInitializeWebProcess):
7554 Set the uiProcessBundleResourcePath member variable.
7556 * WebProcess/com.apple.WebProcess.sb:
7557 Allow read-only access to UI_PROCESS_BUNDLE_RESOURCE_DIR and all subdirectories.
7559 * WebProcess/mac/WebProcessMac.mm:
7560 (WebKit::initializeSandbox):
7561 When initializing the sandbox, pass UI_PROCESS_BUNDLE_RESOURCE_DIR.
7563 (WebKit::WebProcess::platformInitializeWebProcess):
7564 Remove the code that would consume a sandbox extension for the url cache path.
7566 2011-01-14 Anders Carlsson <andersca@apple.com>
7568 Reviewed by Sam Weinig.
7570 Delay initializing the sandbox until we get the InitializeWebProcess message.
7572 * WebProcess/mac/WebProcessMac.mm:
7573 (WebKit::initializeSandbox):
7574 (WebKit::WebProcess::platformInitializeWebProcess):
7575 * WebProcess/mac/WebProcessMainMac.mm:
7576 (WebKit::WebProcessMain):
7578 2011-01-14 Laszlo Gombos <laszlo.1.gombos@nokia.com>
7580 Reviewed by Kenneth Rohde Christiansen.
7582 Align import/export directives
7583 https://bugs.webkit.org/show_bug.cgi?id=52208
7585 * Shared/API/c/WKBase.h: Align import/export directives with
7586 JavaScriptCore/API/JSBase.h.
7588 2011-01-14 Pavel Feldman <pfeldman@chromium.org>
7590 Reviewed by Yury Semikhatsky.
7592 Web Inspector: extract InspectorSettings from InspectorState,
7594 https://bugs.webkit.org/show_bug.cgi?id=52429
7596 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
7598 2011-01-13 Enrica Casucci <enrica@apple.com>
7600 Reviewed by Darin Adler.
7602 WebKit2: Add support for drag and drop
7603 https://bugs.webkit.org/show_bug.cgi?id=52343
7604 <rdar://problem/7660558>
7606 This patch contains the changes required to support dropping content
7607 in WebKit on the Mac. The DragData class has been extended to provide
7608 additional context from the application (keyboard state, modal windows, etc.)
7609 as well as information of the drag pasteboard being used.
7610 The support for WebKit as drag source will be added with a separate patch.
7612 * Shared/DragControllerAction.h: Added.
7613 * UIProcess/API/mac/WKView.mm:
7614 Added implemention of the methods required to add suport for a drop target.
7615 To maintain asynchronous communication with the WebProcess, we always return
7616 the previous calculated value for the drag operation.
7617 (-[WKView _registerDraggedTypes]):
7618 (-[WKView initWithFrame:contextRef:pageGroupRef:]):
7619 (-[WKView applicationFlags:]):
7620 (-[WKView draggingEntered:]):
7621 (-[WKView draggingUpdated:]):
7622 (-[WKView draggingExited:]):
7623 (-[WKView prepareForDragOperation:]):
7624 (-[WKView performDragOperation:]):
7625 * UIProcess/WebPageProxy.cpp:
7626 (WebKit::WebPageProxy::WebPageProxy):
7627 (WebKit::WebPageProxy::performDragControllerAction):
7628 (WebKit::WebPageProxy::didPerformDragControllerAction):
7629 * UIProcess/WebPageProxy.h:
7630 (WebKit::WebPageProxy::dragOperation):
7631 (WebKit::WebPageProxy::resetDragOperation):
7632 * UIProcess/WebPageProxy.messages.in:
7633 * WebKit2.xcodeproj/project.pbxproj:
7634 * WebProcess/WebCoreSupport/WebDragClient.cpp:
7635 (WebKit::WebDragClient::willPerformDragDestinationAction):
7636 (WebKit::WebDragClient::willPerformDragSourceAction):
7637 (WebKit::WebDragClient::actionMaskForDrag):
7638 (WebKit::WebDragClient::dragSourceActionMaskForPoint):
7639 (WebKit::WebDragClient::startDrag):
7640 * WebProcess/WebPage/WebPage.cpp:
7641 (WebKit::WebPage::performDragControllerAction):
7642 * WebProcess/WebPage/WebPage.h:
7643 * WebProcess/WebPage/WebPage.messages.in:
7645 2011-01-13 Dan Bernstein <mitz@apple.com>
7647 Reviewed by John Sullivan.
7649 Incorrect assertion in DrawingAreaImpl::scroll()
7650 https://bugs.webkit.org/show_bug.cgi?id=52376
7652 * WebProcess/WebPage/DrawingAreaImpl.cpp:
7653 (WebKit::DrawingAreaImpl::scroll): Changed to take the fast path if the rects have the same area.
7654 This made the assertion valid, but I removed it anyway.
7656 2011-01-12 Balazs Kelemen <kbalazs@webkit.org>
7660 Getting rid of the unused 'viewportSize' argument in QWKPagePrivate:init.
7661 The argument is unused since http://trac.webkit.org/changeset/75468.
7663 * UIProcess/API/qt/qgraphicswkview.cpp:
7664 (QGraphicsWKView::QGraphicsWKView):
7665 * UIProcess/API/qt/qwkpage.cpp:
7666 (QWKPagePrivate::init):
7667 * UIProcess/API/qt/qwkpage_p.h:
7669 2011-01-12 Anders Carlsson <andersca@apple.com>
7671 Reviewed by Sam Weinig.
7673 Implement DrawingAreaImpl::scroll
7674 https://bugs.webkit.org/show_bug.cgi?id=52346
7676 * WebProcess/WebPage/DrawingAreaImpl.cpp:
7677 (WebKit::DrawingAreaImpl::scroll):
7678 If there is already an active scroll, compute the area of both scroll rects and
7679 invalidate the smallest one. Compute a new dirty region if necessary and also
7680 add the scroll repaint region to the dirty region.
7682 (WebKit::DrawingAreaImpl::display):
7683 Reset the scroll area and scroll delta.
7685 * WebProcess/WebPage/DrawingAreaImpl.h:
7686 Add scroll area and scroll delta member variables.
7688 2011-01-12 Anders Carlsson <andersca@apple.com>
7690 Reviewed by Dan Bernstein.
7693 https://bugs.webkit.org/show_bug.cgi?id=52344
7695 * Platform/Region.cpp:
7696 (WebKit::Region::Shape::move):
7697 (WebKit::Region::move):
7698 Change Region::move to take an IntSize.
7700 * Platform/Region.h:
7701 (WebKit::intersect):
7704 Add convenience functions.
7706 2011-01-12 Ryosuke Niwa <rniwa@webkit.org>
7708 Unreviewed Qt build fix for r75661
7710 * Shared/WebEvent.h: Don't declare phase() on non-Mac platforms.
7712 2011-01-12 Beth Dakin <bdakin@apple.com>
7714 Reviewed by Anders Carlsson.
7716 Add-on for https://bugs.webkit.org/show_bug.cgi?id=52309
7717 Expose fixed layout through WebKit SPI
7719 <rdar://problem/8844464>
7721 And now with getters!
7722 * UIProcess/API/C/WKPage.cpp:
7723 (WKPageUseFixedLayout):
7724 (WKPageFixedLayoutSize):
7725 * UIProcess/API/C/WKPage.h:
7726 * UIProcess/WebPageProxy.h:
7727 (WebKit::WebPageProxy::useFixedLayout):
7728 (WebKit::WebPageProxy::fixedLayoutSize):
7730 2011-01-12 Sam Weinig <sam@webkit.org>
7732 Reviewed by Anders Carlsson.
7734 https://bugs.webkit.org/show_bug.cgi?id=52337
7735 PlatformWheelEvent should know about the scroll phase on the Mac
7737 Add a phase parameter on Mac WebWheelEvent and pipe it down to PlatformWheelEvent.
7739 * Shared/WebEvent.h:
7740 (WebKit::WebWheelEvent::phase):
7741 * Shared/WebEventConversion.cpp:
7742 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
7743 * Shared/WebWheelEvent.cpp:
7744 (WebKit::WebWheelEvent::WebWheelEvent):
7745 (WebKit::WebWheelEvent::encode):
7746 (WebKit::WebWheelEvent::decode):
7747 * Shared/mac/WebEventFactory.mm:
7748 (WebKit::phaseForEvent):
7749 (WebKit::WebEventFactory::createWebWheelEvent):
7751 2011-01-12 Anders Carlsson <andersca@apple.com>
7753 Reviewed by Sam Weinig.
7755 Get rid of an unneeded parameter from DrawingArea::scroll
7756 https://bugs.webkit.org/show_bug.cgi?id=52336
7758 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
7759 (WebKit::WebChromeClient::scroll):
7760 * WebProcess/WebCoreSupport/WebChromeClient.h:
7761 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
7762 (WebKit::ChunkedUpdateDrawingArea::scroll):
7763 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
7764 * WebProcess/WebPage/DrawingArea.h:
7765 * WebProcess/WebPage/DrawingAreaImpl.cpp:
7766 (WebKit::DrawingAreaImpl::scroll):
7767 * WebProcess/WebPage/DrawingAreaImpl.h:
7768 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
7769 (WebKit::LayerBackedDrawingArea::scroll):
7770 * WebProcess/WebPage/LayerBackedDrawingArea.h:
7771 * WebProcess/WebPage/TiledDrawingArea.cpp:
7772 (WebKit::TiledDrawingArea::scroll):
7773 * WebProcess/WebPage/TiledDrawingArea.h:
7775 2011-01-12 Anders Carlsson <andersca@apple.com>
7777 Reviewed by Sam Weinig.
7779 Get the new drawing area painting to the screen
7780 https://bugs.webkit.org/show_bug.cgi?id=52331
7782 * UIProcess/DrawingAreaProxyImpl.cpp:
7783 (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
7784 Call setViewNeedsDisplay on all the update rects.
7786 * UIProcess/WebPageProxy.cpp:
7787 (WebKit::WebPageProxy::setViewNeedsDisplay):
7788 Call through to the page client.
7790 (WebKit::WebPageProxy::processDidCrash):
7791 Null out the drawing area proxy.
7793 * UIProcess/mac/BackingStoreMac.mm:
7794 (WebKit::BackingStore::paint):
7797 2011-01-12 Anders Carlsson <andersca@apple.com>
7799 Reviewed by Sam Weinig.
7801 More work on getting the drawing area proxy to paint
7802 https://bugs.webkit.org/show_bug.cgi?id=52328
7804 * UIProcess/API/mac/WKView.mm:
7805 (-[WKView drawRect:]):
7806 Handle the new drawing area.
7808 * UIProcess/BackingStore.cpp:
7809 (WebKit::BackingStore::BackingStore):
7810 Assert that the size isn't empty.
7812 * UIProcess/BackingStore.h:
7813 * UIProcess/mac/BackingStoreMac.mm:
7814 (WebKit::BackingStore::incorporateUpdate):
7815 Paint all update rects into the bitmap context.
7817 * WebProcess/WebPage/DrawingAreaImpl.cpp:
7818 (WebKit::DrawingAreaImpl::display):
7819 Create a handle so the shareable bitmap will actually be transferred over.
7821 2011-01-12 Anders Carlsson <andersca@apple.com>
7825 * UIProcess/DrawingAreaProxyImpl.cpp:
7826 (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
7828 2011-01-12 Anders Carlsson <andersca@apple.com>
7830 Reviewed by Sam Weinig.
7832 Begin stubbing out some more BackingStore member functions
7833 https://bugs.webkit.org/show_bug.cgi?id=52323
7835 * UIProcess/BackingStore.cpp:
7836 (WebKit::BackingStore::~BackingStore):
7837 This was accidentally made into a constructor; it should be a destructor.
7839 * UIProcess/DrawingAreaProxyImpl.cpp:
7840 (WebKit::DrawingAreaProxyImpl::paint):
7841 Call the backing store.
7843 (WebKit::DrawingAreaProxyImpl::update):
7844 Incorporate the update.
7846 (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
7847 Create the backing store if needed and incorporate the update.
7849 * UIProcess/mac/BackingStoreMac.mm: Added.
7850 (WebKit::BackingStore::platformInitialize):
7851 Create a bitmap context.
7853 (WebKit::BackingStore::paint):
7854 (WebKit::BackingStore::incorporateUpdate):
7857 * WebKit2.xcodeproj/project.pbxproj:
7858 Add BackingStoreMac.mm
7860 2011-01-12 Beth Dakin <bdakin@apple.com>
7862 Reviewed by Anders Carlsson.
7864 Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose
7865 fixed layout through WebKit SPI
7867 <rdar://problem/8844464>
7869 Store useFixedLayout and fixedLayoutSize in the
7870 WebPageCreationParameters and the WebPageProxy.
7871 * Shared/WebPageCreationParameters.cpp:
7872 (WebKit::WebPageCreationParameters::encode):
7873 (WebKit::WebPageCreationParameters::decode):
7874 * Shared/WebPageCreationParameters.h:
7875 * UIProcess/API/C/WKPage.cpp:
7876 (WKPageSetUseFixedLayout):
7877 (WKPageSetFixedLayoutSize):
7878 * UIProcess/API/C/WKPage.h:
7879 * UIProcess/WebPageProxy.cpp:
7880 (WebKit::WebPageProxy::WebPageProxy):
7881 (WebKit::WebPageProxy::setUseFixedLayout):
7882 (WebKit::WebPageProxy::setFixedLayoutSize):
7883 (WebKit::WebPageProxy::creationParameters):
7884 * UIProcess/WebPageProxy.h:
7885 * WebProcess/WebPage/WebPage.cpp:
7886 (WebKit::WebPage::setUseFixedLayout):
7887 (WebKit::WebPage::setFixedLayoutSize):
7888 * WebProcess/WebPage/WebPage.h:
7889 * WebProcess/WebPage/WebPage.messages.in:
7891 2011-01-12 Anders Carlsson <andersca@apple.com>
7893 Reviewed by Beth Dakin.
7895 Add BackingStore class
7896 https://bugs.webkit.org/show_bug.cgi?id=52318
7898 * UIProcess/BackingStore.cpp: Added.
7899 (WebKit::BackingStore::create):
7900 (WebKit::BackingStore::BackingStore):
7901 * UIProcess/BackingStore.h: Added.
7902 * WebKit2.xcodeproj/project.pbxproj:
7904 2011-01-12 Brady Eidson <beidson@apple.com>
7906 Reviewed by Sam Weinig.
7908 <rdar://problem/8837307>, <rdar://problem/8637038>, and https://bugs.webkit.org/show_bug.cgi?id=52248
7909 Back/forward list recovery after a WebProcess crash is crashy itself.
7911 Add an isEmpty() accessor so the WebProcess knows if it is actually restoring a session:
7912 * Shared/SessionState.cpp:
7913 (WebKit::SessionState::isEmpty):
7914 * Shared/SessionState.h:
7916 Keep track of the highest used itemID so a relaunched WebProcess can later be informed:
7917 * Shared/WebBackForwardListItem.cpp:
7918 (WebKit::WebBackForwardListItem::WebBackForwardListItem):
7919 (WebKit::WebBackForwardListItem::highedUsedItemID):
7920 * Shared/WebBackForwardListItem.h:
7921 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
7922 (WebKit::generateHistoryItemID):
7923 (WebKit::WebBackForwardListProxy::setHighestItemIDFromUIProcess):
7924 (WebKit::WebBackForwardListProxy::addItemFromUIProcess): Remove a now-invalid ASSERT, as the UIProcess
7925 now tells the WebProcess that a previous WebProcess created.
7926 * WebProcess/WebPage/WebBackForwardListProxy.h:
7928 Encode/decode data relevant to restoring a session on WebPage creation:
7929 * Shared/WebPageCreationParameters.cpp:
7930 (WebKit::WebPageCreationParameters::encode):
7931 (WebKit::WebPageCreationParameters::decode):
7932 * Shared/WebPageCreationParameters.h:
7934 If the WebProcess has crashed since the last load, change reload and the various back/forward APIs to
7935 update the current back/forward item (if necessary) then relaunch the process:
7936 * UIProcess/WebPageProxy.cpp:
7937 (WebKit::WebPageProxy::reattachToWebProcessWithItem):
7938 (WebKit::WebPageProxy::reattachToWebProcess): Renamed from "relaunch()" and made private.
7939 (WebKit::WebPageProxy::initializeWebPage):
7940 (WebKit::WebPageProxy::loadURL):
7941 (WebKit::WebPageProxy::loadURLRequest):
7942 (WebKit::WebPageProxy::reload):
7943 (WebKit::WebPageProxy::goForward):
7944 (WebKit::WebPageProxy::goBack):
7945 (WebKit::WebPageProxy::goToBackForwardItem):
7946 (WebKit::WebPageProxy::creationParameters):
7947 * UIProcess/WebPageProxy.h:
7949 Rename "RestoreSession" to "RestoreSessionAndNavigateToCurrentItem"
7950 * WebProcess/WebPage/WebPage.messages.in:
7951 * UIProcess/cf/WebPageProxyCF.cpp:
7952 (WebKit::WebPageProxy::restoreFromSessionStateData):
7954 Restore a session on page creation if the parameters include it:
7955 * WebProcess/WebPage/WebPage.cpp:
7956 (WebKit::WebPage::WebPage): Call restoreSession if session state exists.
7957 (WebKit::WebPage::restoreSessionAndNavigateToCurrentItem):
7958 (WebKit::WebPage::restoreSession):
7959 * WebProcess/WebPage/WebPage.h:
7961 2011-01-12 Anders Carlsson <andersca@apple.com>
7963 Reviewed by Sam Weinig.
7965 Send Update and DidUpdate messages
7966 https://bugs.webkit.org/show_bug.cgi?id=52316
7968 * UIProcess/DrawingAreaProxy.h:
7969 (WebKit::DrawingAreaProxy::update):
7972 * UIProcess/DrawingAreaProxy.messages.in:
7975 * UIProcess/DrawingAreaProxyImpl.cpp:
7976 (WebKit::DrawingAreaProxyImpl::update):
7977 Just send back a DidUpdate message.
7979 * WebProcess/WebPage/DrawingArea.h:
7980 (WebKit::DrawingArea::didUpdate):
7983 * WebProcess/WebPage/DrawingArea.messages.in:
7984 Add DidUpdate message.
7986 * WebProcess/WebPage/DrawingAreaImpl.cpp:
7987 (WebKit::DrawingAreaImpl::didUpdate):
7990 (WebKit::DrawingAreaImpl::display):
7991 Send an Update message.
7993 2011-01-12 Anders Carlsson <andersca@apple.com>
7995 Reviewed by Sam Weinig.
7997 Make the new drawing area actually draw something
7998 https://bugs.webkit.org/show_bug.cgi?id=52314
8000 * Shared/UpdateInfo.cpp:
8001 (WebKit::UpdateInfo::encode):
8002 (WebKit::UpdateInfo::decode):
8003 Encode and decode newly added fields.
8005 * Shared/UpdateInfo.h:
8006 Add a vector of update rects and a handle for the sharable bitmap.
8008 * WebProcess/WebPage/DrawingAreaImpl.cpp:
8009 (WebKit::DrawingAreaImpl::display):
8010 Get the individual rects from the region and paint them into the shareable bitmap.
8012 * WebProcess/WebPage/WebPage.cpp:
8013 (WebKit::WebPage::mainFrameHasCustomRepresentation):
8014 * WebProcess/WebPage/WebPage.h:
8015 Add helper function.
8017 * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp:
8018 (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
8019 Use helper function.
8021 2011-01-12 Anders Carlsson <andersca@apple.com>
8023 Reviewed by Sam Weinig.
8025 Add UpdateInfo class
8026 https://bugs.webkit.org/show_bug.cgi?id=52306
8028 * Shared/UpdateInfo.cpp: Added.
8029 (WebKit::UpdateInfo::encode):
8030 (WebKit::UpdateInfo::decode):
8031 * Shared/UpdateInfo.h: Added.
8032 (WebKit::UpdateInfo::UpdateInfo):
8033 * WebKit2.xcodeproj/project.pbxproj:
8035 2011-01-12 Anders Carlsson <andersca@apple.com>
8037 Reviewed by Sam Weinig.
8039 More work on the new drawing area implementation
8040 https://bugs.webkit.org/show_bug.cgi?id=52302
8042 * Platform/Region.cpp:
8043 (WebKit::Region::Shape::segments_end):
8044 segments_end could end up returning an iterator that is one element past the Vector data, so
8045 we can't use operator[] since that will assert.
8047 * WebProcess/WebPage/DrawingAreaImpl.cpp:
8048 (WebKit::DrawingAreaImpl::DrawingAreaImpl):
8049 Initialize the timer.
8051 (WebKit::DrawingAreaImpl::setNeedsDisplay):
8052 Unite the rect with the dirty region and schedule a display.
8054 (WebKit::DrawingAreaImpl::setSize):
8055 Tell the web page to resize.
8057 (WebKit::DrawingAreaImpl::scheduleDisplay):
8058 Start a display timer if needed.
8060 (WebKit::DrawingAreaImpl::display):
8063 2011-01-12 Brent Fulgham <bfulgham@webkit.org>
8065 Unreviewed build fix after r75527. Rename 'BackingStoreCairo.cpp'
8066 to 'ShareableBitmapCairo.cpp' to match VS project changes.
8068 * Shared/cairo/BackingStoreCairo.cpp: Removed.
8069 * Shared/cairo/ShareableBitmapCairo.cpp: Copied from Shared/cairo/BackingStoreCairo.cpp.
8071 2011-01-11 Jeff Miller <jeffm@apple.com>
8073 Reviewed by John Sullivan.
8075 WebKit2: "Webpages not responding" dialog appears when <select> popup menu is showing
8076 https://bugs.webkit.org/show_bug.cgi?id=52242
8078 * UIProcess/WebPageProxy.cpp:
8079 (WebKit::WebPageProxy::showPopupMenu):
8080 On Windows, stop the responsiveness timer before calling showPopupMenu().
8082 2011-01-11 Maciej Stachowiak <mjs@apple.com>
8084 Reviewed by Anders Carlsson.
8086 UIProcess kills the WebProcess sometimes when detached frames exist
8087 https://bugs.webkit.org/show_bug.cgi?id=52227
8089 * UIProcess/WebPageProxy.cpp:
8090 (WebKit::WebPageProxy::didSaveFrameToPageCache): Don't consider the message invalid
8091 if it came in for a detached frame.
8093 2011-01-11 Anders Carlsson <andersca@apple.com>
8097 * WebKit2.xcodeproj/project.pbxproj:
8099 2011-01-11 Anders Carlsson <andersca@apple.com>
8101 Reviewed by Sam Weinig.
8103 Add a Region class which represents a graphical region
8104 https://bugs.webkit.org/show_bug.cgi?id=52255
8106 * Platform/Region.cpp: Added.
8107 (WebKit::Region::Region):
8108 (WebKit::Region::rects):
8109 (WebKit::Region::Shape::Shape):
8110 (WebKit::Region::Shape::appendSpan):
8111 (WebKit::Region::Shape::canCoalesce):
8112 (WebKit::Region::Shape::appendSpans):
8113 (WebKit::Region::Shape::appendSegment):
8114 (WebKit::Region::Shape::spans_begin):
8115 (WebKit::Region::Shape::spans_end):
8116 (WebKit::Region::Shape::segments_begin):
8117 (WebKit::Region::Shape::segments_end):
8118 (WebKit::Region::Shape::dump):
8119 (WebKit::Region::Shape::bounds):
8120 (WebKit::Region::Shape::move):
8121 (WebKit::Region::Shape::swap):
8122 (WebKit::Region::Shape::shapeOperation):
8123 (WebKit::Region::Shape::UnionOperation::trySimpleOperation):
8124 (WebKit::Region::Shape::unionShapes):
8125 (WebKit::Region::Shape::IntersectOperation::trySimpleOperation):
8126 (WebKit::Region::Shape::intersectShapes):
8127 (WebKit::Region::Shape::SubtractOperation::trySimpleOperation):
8128 (WebKit::Region::Shape::subtractShapes):
8129 (WebKit::Region::dump):
8130 (WebKit::Region::intersect):
8131 (WebKit::Region::unite):
8132 (WebKit::Region::subtract):
8133 (WebKit::Region::move):
8134 * Platform/Region.h: Added.
8135 (WebKit::Region::bounds):
8136 (WebKit::Region::isEmpty):
8137 (WebKit::Region::Span::Span):
8138 (WebKit::Region::Shape::isEmpty):
8139 * WebKit2.xcodeproj/project.pbxproj:
8141 2011-01-11 Anders Carlsson <andersca@apple.com>
8143 Reviewed by Darin Adler.
8145 Add DidSetSize message
8146 https://bugs.webkit.org/show_bug.cgi?id=52254
8148 * DerivedSources.make:
8149 Add DrawingAReaProxy.messages.in.
8151 * Platform/CoreIPC/MessageID.h:
8152 Add DrawingAreaProxy message class.
8154 * UIProcess/DrawingAreaProxy.h:
8155 (WebKit::DrawingAreaProxy::didSetSize):
8156 Add CoreIPC message handler function.
8158 * UIProcess/DrawingAreaProxy.messages.in: Added.
8160 * UIProcess/DrawingAreaProxyImpl.cpp:
8161 (WebKit::DrawingAreaProxyImpl::didSetSize):
8164 * UIProcess/WebPageProxy.cpp:
8165 (WebKit::WebPageProxy::didReceiveMessage):
8166 Handle DrawingAreaProxy messages.
8168 * WebKit2.xcodeproj/project.pbxproj:
8171 * WebProcess/WebPage/DrawingAreaImpl.cpp:
8172 (WebKit::DrawingAreaImpl::setSize):
8173 Send a DidSetSize message for now.
8175 2011-01-11 Sam Weinig <sam@webkit.org>
8177 Reviewed by Anders Carlsson.
8179 Fix spelling mistake. Sharable -> Shareable.
8181 * Shared/API/c/WKImage.h:
8182 * Shared/API/c/WKSharedAPICast.h:
8183 (WebKit::toImageOptions):
8184 * Shared/ImageOptions.h:
8185 * Shared/WebImage.cpp:
8186 (WebKit::WebImage::create):
8188 2011-01-11 Anders Carlsson <andersca@apple.com>
8190 Reviewed by Sam Weinig.
8193 https://bugs.webkit.org/show_bug.cgi?id=52247
8195 * DerivedSources.make:
8196 Add DrawingArea.messages.in
8198 * Platform/CoreIPC/MessageID.h:
8199 Add DrawingArea message class.
8201 * UIProcess/DrawingAreaProxyImpl.cpp:
8202 (WebKit::DrawingAreaProxyImpl::sizeDidChange):
8205 (WebKit::DrawingAreaProxyImpl::sendSetSize):
8206 Send a SetSize message.
8208 * UIProcess/DrawingAreaProxyImpl.h:
8209 Add setSize override.
8211 * WebKit2.xcodeproj/project.pbxproj:
8214 * WebProcess/WebPage/DrawingArea.h:
8215 (WebKit::DrawingArea::setSize):
8216 Add setSize member function.
8218 * WebProcess/WebPage/DrawingArea.messages.in: Added.
8220 * WebProcess/WebPage/DrawingAreaImpl.cpp:
8221 * WebProcess/WebPage/DrawingAreaImpl.h:
8224 * WebProcess/WebPage/WebPage.cpp:
8225 (WebKit::WebPage::didReceiveMessage):
8226 Handle drawing area messages.
8228 2011-01-11 Anders Carlsson <andersca@apple.com>
8230 Reviewed by Sam Weinig.
8232 Replace ASSERTs with FIXMEs.
8234 * UIProcess/DrawingAreaProxyImpl.cpp:
8235 (WebKit::DrawingAreaProxyImpl::sizeDidChange):
8236 (WebKit::DrawingAreaProxyImpl::setPageIsVisible):
8238 2011-01-11 Anders Carlsson <andersca@apple.com>
8240 Reviewed by Sam Weinig.
8242 Add DrawingAreaImpl skeleton class
8243 https://bugs.webkit.org/show_bug.cgi?id=52246
8245 * UIProcess/API/mac/WKView.mm:
8246 (useNewDrawingArea):
8247 New function which controls which drawing area to use, through an environment variable.
8249 (-[WKView drawRect:]):
8250 Bail if we're using the new drawing area (for now).
8252 (-[WKView WebKit::]):
8253 Create a DrawingAreaProxyImpl when asked to.
8255 * WebKit2.xcodeproj/project.pbxproj:
8258 * WebProcess/WebPage/DrawingArea.cpp:
8259 (WebKit::DrawingArea::create):
8260 Create a DrawingAreaImpl when asked to.
8262 * WebProcess/WebPage/DrawingAreaImpl.cpp: Added.
8263 * WebProcess/WebPage/DrawingAreaImpl.h: Added.
8264 Add DrawingAreaImpl class.
8266 2011-01-11 Anders Carlsson <andersca@apple.com>
8268 Reviewed by Sam Weinig.
8270 Add Mac-only DrawingAreaProxyImpl class skeleton
8271 https://bugs.webkit.org/show_bug.cgi?id=52243
8273 This is the proxy side of a new drawing area implementation. This is Mac only for now
8274 while the design is being fleshed out.
8276 * Shared/DrawingAreaInfo.h:
8277 * UIProcess/API/mac/WKView.mm:
8278 (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::]):
8279 * UIProcess/DrawingAreaProxyImpl.cpp: Added.
8280 (WebKit::DrawingAreaProxyImpl::create):
8281 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
8282 (WebKit::DrawingAreaProxyImpl::~DrawingAreaProxyImpl):
8283 (WebKit::DrawingAreaProxyImpl::didReceiveMessage):
8284 (WebKit::DrawingAreaProxyImpl::didReceiveSyncMessage):
8285 (WebKit::DrawingAreaProxyImpl::paint):
8286 (WebKit::DrawingAreaProxyImpl::sizeDidChange):
8287 (WebKit::DrawingAreaProxyImpl::setPageIsVisible):
8288 (WebKit::DrawingAreaProxyImpl::attachCompositingContext):
8289 (WebKit::DrawingAreaProxyImpl::detachCompositingContext):
8290 * UIProcess/DrawingAreaProxyImpl.h: Added.
8291 * WebKit2.xcodeproj/project.pbxproj:
8292 * WebProcess/WebPage/DrawingArea.cpp:
8293 (WebKit::DrawingArea::create):
8295 2011-01-11 Anders Carlsson <andersca@apple.com>
8299 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
8300 (WebKit::WebPopupMenu::setUpPlatformData):
8302 2011-01-11 Anders Carlsson <andersca@apple.com>
8304 Reviewed by Sam Weinig.
8306 Rename ShareableBitmap::createSharable to createShareable
8307 https://bugs.webkit.org/show_bug.cgi?id=52234
8309 * Shared/ShareableBitmap.cpp:
8310 (WebKit::ShareableBitmap::createShareable):
8311 * Shared/ShareableBitmap.h:
8312 * Shared/WebImage.cpp:
8313 (WebKit::WebImage::create):
8314 * WebProcess/Plugins/PluginProxy.cpp:
8315 (WebKit::PluginProxy::geometryDidChange):
8316 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
8317 (WebKit::WebPopupMenu::setUpPlatformData):
8318 * WebProcess/WebPage/FindController.cpp:
8319 (WebKit::FindController::updateFindIndicator):
8321 2011-01-11 Anders Carlsson <andersca@apple.com>
8323 Reviewed by Sam Weinig.
8325 Rename BackingStore to ShareableBitmap
8326 https://bugs.webkit.org/show_bug.cgi?id=52228
8329 * PluginProcess/PluginControllerProxy.cpp:
8330 (WebKit::PluginControllerProxy::geometryDidChange):
8331 * PluginProcess/PluginControllerProxy.h:
8332 * Shared/API/c/cg/WKImageCG.cpp:
8333 (WKImageCreateCGImage):
8334 * Shared/BackingStore.cpp: Removed.
8335 * Shared/BackingStore.h: Removed.
8336 * Shared/PlatformPopupMenuData.cpp:
8337 (WebKit::PlatformPopupMenuData::decode):
8338 * Shared/PlatformPopupMenuData.h:
8339 * Shared/ShareableBitmap.cpp: Copied from WebKit2/Shared/BackingStore.cpp.
8340 (WebKit::ShareableBitmap::create):
8341 (WebKit::ShareableBitmap::createSharable):
8342 (WebKit::ShareableBitmap::createHandle):
8343 (WebKit::ShareableBitmap::ShareableBitmap):
8344 (WebKit::ShareableBitmap::~ShareableBitmap):
8345 (WebKit::ShareableBitmap::resize):
8346 (WebKit::ShareableBitmap::data):
8347 * Shared/ShareableBitmap.h: Copied from WebKit2/Shared/BackingStore.h.
8348 * Shared/UserMessageCoders.h:
8349 (WebKit::UserMessageEncoder::baseEncode):
8350 (WebKit::UserMessageDecoder::baseDecode):
8351 * Shared/WebImage.cpp:
8352 (WebKit::WebImage::create):
8353 (WebKit::WebImage::WebImage):
8354 (WebKit::WebImage::~WebImage):
8355 (WebKit::WebImage::size):
8356 * Shared/WebImage.h:
8357 (WebKit::WebImage::bitmap):
8358 * Shared/cairo/BackingStoreCairo.cpp:
8359 (WebKit::ShareableBitmap::createGraphicsContext):
8360 (WebKit::ShareableBitmap::paint):
8361 * Shared/cg/BackingStoreCG.cpp: Removed.
8362 * Shared/cg/ShareableBitmapCG.cpp: Copied from WebKit2/Shared/cg/BackingStoreCG.cpp.
8363 (WebKit::ShareableBitmap::createGraphicsContext):
8364 (WebKit::ShareableBitmap::paint):
8365 * Shared/gtk/BackingStoreGtk.cpp: Removed.
8366 * Shared/gtk/ShareableBitmapGtk.cpp: Copied from WebKit2/Shared/gtk/BackingStoreGtk.cpp.
8367 (WebKit::ShareableBitmap::createGraphicsContext):
8368 (WebKit::ShareableBitmap::paint):
8369 * Shared/qt/BackingStoreQt.cpp: Removed.
8370 * Shared/qt/ShareableBitmapQt.cpp: Copied from WebKit2/Shared/qt/BackingStoreQt.cpp.
8371 (WebKit::ShareableBitmap::createGraphicsContext):
8372 (WebKit::ShareableBitmap::paint):
8373 * UIProcess/FindIndicator.cpp:
8374 (WebKit::FindIndicator::create):
8375 (WebKit::FindIndicator::FindIndicator):
8376 * UIProcess/FindIndicator.h:
8377 (WebKit::FindIndicator::contentImage):
8379 * WebKit2.xcodeproj/project.pbxproj:
8380 * WebProcess/Plugins/PluginProxy.cpp:
8381 (WebKit::PluginProxy::geometryDidChange):
8382 * WebProcess/Plugins/PluginProxy.h:
8383 * WebProcess/WebPage/FindController.cpp:
8384 (WebKit::FindController::updateFindIndicator):
8385 * WebProcess/WebPage/WebPage.cpp:
8386 (WebKit::WebPage::snapshotInViewCoordinates):
8387 (WebKit::WebPage::snapshotInDocumentCoordinates):
8388 * win/WebKit2.vcproj:
8390 2011-01-11 John Sullivan <sullivan@apple.com>
8392 Reviewed by Anders Carlsson.
8394 [WKView setFrameSize:] derefs _page->drawingArea() without null check
8395 <https://bugs.webkit.org/show_bug.cgi?id=52231>
8397 * UIProcess/API/mac/WKView.mm:
8398 (-[WKView setFrameSize:]):
8399 Null check drawingArea(). This is OK because if it doesn't exist then it will be
8400 created later with the correct initial size.
8402 2011-01-07 Enrica Casucci <enrica@apple.com>
8404 Reviewed by Alexey Proskuryakov.
8406 Paste and drag and drop use different code paths to interact with the pasteboard.
8407 https://bugs.webkit.org/show_bug.cgi?id=52093
8408 The change consists in a refactoring of the code to have only one class that
8409 deals with the pasteboard on Mac.
8411 * WebProcess/WebCoreSupport/WebEditorClient.h:
8412 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: Added two methods to provide to WebCore functionality
8413 exposed by NSURLExtras.
8414 (WebKit::WebEditorClient::canonicalizeURL):
8415 (WebKit::WebEditorClient::canonicalizeURLString):
8417 2011-01-11 Jessie Berlin <jberlin@apple.com>
8419 Reviewed by Anders Carlsson and Sam Weinig.
8421 Fix crash on launch on Windows.
8423 * UIProcess/win/WebView.cpp:
8424 (WebKit::WebView::onSizeEvent):
8425 The drawing area is no longer initialized before the WebView is created and the first
8426 onSize is receieved.
8428 2011-01-11 Anders Carlsson <andersca@apple.com>
8430 Reviewed by Dan Bernstein.
8432 Automatically reinitialize the web page on relaunch
8433 https://bugs.webkit.org/show_bug.cgi?id=52224
8434 <rdar://problem/8765695>
8436 * UIProcess/API/mac/WKView.mm:
8437 (-[WKView _didRelaunchProcess]):
8438 Remove call to reinitializeWebPage.
8440 * UIProcess/WebPageProxy.cpp:
8441 (WebKit::WebPageProxy::relaunch):
8442 Call initializeWebPage().
8444 (WebKit::WebPageProxy::initializeWebPage):
8445 Assert that the web page is valid here.
8447 * UIProcess/WebPageProxy.h:
8448 Remove reinitializeWebPage.
8450 * UIProcess/win/WebView.cpp:
8451 (WebKit::WebView::didRelaunchProcess):
8452 Remove call to reinitializeWebPage.
8454 2011-01-10 Anders Carlsson <andersca@apple.com>
8456 Reviewed by Sam Weinig.
8458 Pass the view size to the DrawingAreaProxy constructor
8459 https://bugs.webkit.org/show_bug.cgi?id=52189
8461 * UIProcess/DrawingAreaProxy.cpp:
8462 (WebKit::DrawingAreaProxy::DrawingAreaProxy):
8463 * UIProcess/WebPageProxy.cpp:
8464 (WebKit::WebPageProxy::viewSize):
8465 * UIProcess/WebPageProxy.h:
8467 2011-01-11 Sam Weinig <sam@webkit.org>
8469 Roll r75460 back in with build fix.
8471 2011-01-11 Anders Carlsson <andersca@apple.com>
8473 Reviewed by Andreas Kling.
8475 Work towards having the WebPageProxy decide when to create the DrawingAreaProxy
8476 https://bugs.webkit.org/show_bug.cgi?id=52184
8478 Qt part made my Balazs Kelemen.
8480 * UIProcess/API/mac/PageClientImpl.h:
8481 * UIProcess/API/mac/PageClientImpl.mm:
8482 (WebKit::PageClientImpl::createDrawingAreaProxy):
8483 Call -[WKView _createDrawingAreaProxy].
8485 (WebKit::PageClientImpl::setViewNeedsDisplay):
8486 Call setNeedsDisplayInRect on the WKView.
8488 * UIProcess/API/mac/WKView.mm:
8489 (-[WKView initWithFrame:contextRef:pageGroupRef:]):
8490 No need to set the drawing area proxy anymore.
8492 (-[WKView _createDrawingAreaProxy]):
8493 Create a chunked update drawing area proxy for now.
8495 * UIProcess/API/qt/qgraphicswkview.cpp:
8496 Added a QGraphicsItem* member that is initialized in init to the accociated view.
8497 Implement the new functions. This is a temporary solution, in the long term the view
8498 and the page should be decoupled.
8499 (QGraphicsWKView::QGraphicsWKView):
8500 * UIProcess/API/qt/qwkpage.cpp:
8501 (QWKPagePrivate::QWKPagePrivate):
8502 (QWKPagePrivate::init):
8503 (QWKPagePrivate::createDrawingAreaProxy):
8504 (QWKPagePrivate::setViewNeedsDisplay):
8505 * UIProcess/API/qt/qwkpage.h:
8506 * UIProcess/API/qt/qwkpage_p.h:
8508 * UIProcess/PageClient.h:
8509 Add new pure virtual member functions.
8511 * UIProcess/WebPageProxy.cpp:
8512 (WebKit::WebPageProxy::initializeWebPage):
8513 (WebKit::WebPageProxy::reinitializeWebPage):
8514 Set the new drawing area proxy.
8516 * UIProcess/win/WebView.cpp:
8517 (WebKit::WebView::WebView):
8518 No need to set the drawing area proxy anymore.
8520 (WebKit::WebView::createDrawingAreaProxy):
8521 Create a chunked update drawing area proxy for now.
8523 (WebKit::WebView::setViewNeedsDisplay):
8524 Invalidate the window.
8526 2011-01-11 Adam Roben <aroben@apple.com>
8528 Fix a typo in a comment
8530 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
8532 2011-01-10 Sheriff Bot <webkit.review.bot@gmail.com>
8534 Unreviewed, rolling out r75460.
8535 http://trac.webkit.org/changeset/75460
8536 https://bugs.webkit.org/show_bug.cgi?id=52191
8538 It broke Qt-WK2 build (Requested by Ossy on #webkit).
8540 * Shared/API/c/WKBase.h:
8541 * Shared/APIObject.h:
8542 * UIProcess/API/C/WKAPICast.h:
8543 * UIProcess/API/C/WKGeolocationPermissionRequest.cpp: Removed.
8544 * UIProcess/API/C/WKGeolocationPermissionRequest.h: Removed.
8545 * UIProcess/API/C/WKPage.h:
8546 * UIProcess/API/C/WebKit2.h:
8547 * UIProcess/API/qt/qwkpage.cpp:
8549 * UIProcess/GeolocationPermissionRequestManagerProxy.cpp: Removed.
8550 * UIProcess/GeolocationPermissionRequestManagerProxy.h: Removed.
8551 * UIProcess/GeolocationPermissionRequestProxy.cpp: Removed.
8552 * UIProcess/GeolocationPermissionRequestProxy.h: Removed.
8553 * UIProcess/WebPageProxy.cpp:
8554 (WebKit::WebPageProxy::WebPageProxy):
8555 (WebKit::WebPageProxy::close):
8556 (WebKit::WebPageProxy::processDidCrash):
8557 * UIProcess/WebPageProxy.h:
8558 * UIProcess/WebPageProxy.messages.in:
8559 * UIProcess/WebUIClient.cpp:
8560 * UIProcess/WebUIClient.h:
8562 * WebKit2.xcodeproj/project.pbxproj:
8563 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: Removed.
8564 * WebProcess/Geolocation/GeolocationPermissionRequestManager.h: Removed.
8565 * WebProcess/Geolocation/WebGeolocationManager.cpp:
8566 * WebProcess/Geolocation/WebGeolocationManager.h:
8567 * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
8568 (WebKit::WebGeolocationClient::requestPermission):
8569 (WebKit::WebGeolocationClient::cancelPermissionRequest):
8570 * WebProcess/WebCoreSupport/WebGeolocationClient.h:
8571 * WebProcess/WebPage/WebPage.cpp:
8572 (WebKit::WebPage::WebPage):
8573 * WebProcess/WebPage/WebPage.h:
8574 * WebProcess/WebPage/WebPage.messages.in:
8575 * win/WebKit2.vcproj:
8576 * win/WebKit2Generated.make:
8578 2011-01-10 Csaba Osztrogonác <ossy@webkit.org>
8580 Unreviewed, rolling out r75459
8581 http://trac.webkit.org/changeset/75459
8583 Work towards having the WebPageProxy decide when to create the DrawingAreaProxy
8584 https://bugs.webkit.org/show_bug.cgi?id=52184
8586 * UIProcess/API/mac/PageClientImpl.h:
8587 * UIProcess/API/mac/PageClientImpl.mm:
8588 * UIProcess/API/mac/WKView.mm:
8589 * UIProcess/API/mac/WKViewInternal.h:
8590 * UIProcess/API/qt/qwkpage.cpp:
8591 * UIProcess/API/qt/qwkpage_p.h:
8592 * UIProcess/PageClient.h:
8593 * UIProcess/WebPageProxy.cpp:
8594 (WebKit::WebPageProxy::initializeWebPage):
8595 (WebKit::WebPageProxy::reinitializeWebPage):
8596 * UIProcess/win/WebView.cpp:
8597 (WebKit::WebView::WebView):
8598 * UIProcess/win/WebView.h:
8600 2011-01-10 Anders Carlsson <andersca@apple.com>
8602 Reviewed by Sam Weinig.
8604 Remove size parameter to WebPageProxy::initializeWebPage
8605 https://bugs.webkit.org/show_bug.cgi?id=52188
8607 * UIProcess/API/mac/WKView.mm:
8608 (-[WKView initWithFrame:contextRef:pageGroupRef:]):
8609 * UIProcess/API/qt/qwkpage.cpp:
8610 (QWKPagePrivate::init):
8611 * UIProcess/WebPageProxy.cpp:
8612 (WebKit::WebPageProxy::initializeWebPage):
8613 * UIProcess/WebPageProxy.h:
8614 * UIProcess/win/WebView.cpp:
8615 (WebKit::WebView::WebView):
8617 2011-01-10 Anders Carlsson <andersca@apple.com>
8619 Didn't mean to land this.
8621 * UIProcess/WebPageProxy.cpp:
8622 (WebKit::WebPageProxy::initializeWebPage):
8623 * UIProcess/WebPageProxy.h:
8625 2011-01-10 Anders Carlsson <andersca@apple.com>
8627 Reviewed by Sam Weinig.
8629 WebPageProxy::creationParameters no longer needs to take a size
8630 https://bugs.webkit.org/show_bug.cgi?id=52187
8632 WebPageProxy::creationParameters can just ask the page client for the view size now.
8634 * UIProcess/WebInspectorProxy.cpp:
8635 (WebKit::WebInspectorProxy::createInspectorPage):
8636 * UIProcess/WebPageProxy.cpp:
8637 (WebKit::WebPageProxy::initializeWebPage):
8638 (WebKit::WebPageProxy::reinitializeWebPage):
8639 (WebKit::WebPageProxy::createNewPage):
8640 (WebKit::WebPageProxy::creationParameters):
8641 * UIProcess/WebPageProxy.h:
8643 2011-01-10 Anders Carlsson <andersca@apple.com>
8645 Reviewed by Sam Weinig.
8647 Pass information about the view in the WebPageCreationParameters
8648 https://bugs.webkit.org/show_bug.cgi?id=52186
8650 * Shared/WebPageCreationParameters.cpp:
8651 (WebKit::WebPageCreationParameters::encode):
8652 (WebKit::WebPageCreationParameters::decode):
8653 Encode and decode the state flags.
8655 * Shared/WebPageCreationParameters.h:
8656 Add new state flags.
8658 * UIProcess/WebPageProxy.cpp:
8659 (WebKit::WebPageProxy::creationParameters):
8660 Initialize the state flags.
8662 * WebProcess/WebPage/WebPage.cpp:
8663 (WebKit::WebPage::WebPage):
8664 Update the page state from the state flags.
8666 2011-01-10 Sam Weinig <sam@webkit.org>
8668 Reviewed by Anders Carlsson.
8670 Make Geolocation features work in WebKit2
8671 https://bugs.webkit.org/show_bug.cgi?id=52078
8673 Step 2 - Add support for requesting and granting permission for geolocation.
8675 * Shared/API/c/WKBase.h:
8676 * Shared/APIObject.h:
8677 * UIProcess/API/C/WebKit2.h:
8678 * UIProcess/API/C/WKAPICast.h:
8679 * UIProcess/API/C/WKGeolocationPermissionRequest.cpp: Added.
8680 * UIProcess/API/C/WKGeolocationPermissionRequest.h: Added.
8681 Add new API type, WKGeolocationPermissionRequestRef.
8683 * UIProcess/API/C/WKPage.h:
8684 Add new UIClient function for requesting permission.
8686 * UIProcess/API/qt/qwkpage.cpp:
8688 Stub out the UIClient.
8690 * UIProcess/GeolocationPermissionRequestManagerProxy.cpp: Added.
8691 * UIProcess/GeolocationPermissionRequestManagerProxy.h: Added.
8692 * UIProcess/GeolocationPermissionRequestProxy.cpp: Added.
8693 * UIProcess/WebPageProxy.cpp:
8694 * UIProcess/WebPageProxy.h:
8695 * UIProcess/WebPageProxy.messages.in:
8696 * UIProcess/WebUIClient.cpp:
8697 * UIProcess/WebUIClient.h:
8698 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: Added.
8699 * WebProcess/Geolocation/GeolocationPermissionRequestManager.h: Added.
8700 * WebProcess/Geolocation/WebGeolocationManager.cpp:
8701 * WebProcess/Geolocation/WebGeolocationManager.h:
8702 * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
8703 * WebProcess/WebCoreSupport/WebGeolocationClient.h:
8704 * WebProcess/WebPage/WebPage.cpp:
8705 (WebKit::WebPage::WebPage):
8706 (WebKit::WebPage::didReceiveGeolocationPermissionDecision):
8707 * WebProcess/WebPage/WebPage.h:
8708 (WebKit::WebPage::geolocationPermissionRequestManager):
8709 * WebProcess/WebPage/WebPage.messages.in:
8710 Track the permission request through both sides of the process divide.
8713 * WebKit2.xcodeproj/project.pbxproj:
8714 * win/WebKit2.vcproj:
8715 * win/WebKit2Generated.make:
8718 2011-01-10 Anders Carlsson <andersca@apple.com>
8720 Reviewed by Sam Weinig.
8722 Work towards having the WebPageProxy decide when to create the DrawingAreaProxy
8723 https://bugs.webkit.org/show_bug.cgi?id=52184
8725 * UIProcess/API/mac/PageClientImpl.h:
8726 * UIProcess/API/mac/PageClientImpl.mm:
8727 (WebKit::PageClientImpl::createDrawingAreaProxy):
8728 Call -[WKView _createDrawingAreaProxy].
8730 (WebKit::PageClientImpl::setViewNeedsDisplay):
8731 Call setNeedsDisplayInRect on the WKView.
8733 * UIProcess/API/mac/WKView.mm:
8734 (-[WKView initWithFrame:contextRef:pageGroupRef:]):
8735 No need to set the drawing area proxy anymore.
8737 (-[WKView _createDrawingAreaProxy]):
8738 Create a chunked update drawing area proxy for now.
8740 * UIProcess/API/qt/qwkpage.cpp:
8741 (QWKPagePrivate::createDrawingAreaProxy):
8742 (QWKPagePrivate::setViewNeedsDisplay):
8745 * UIProcess/PageClient.h:
8746 Add new pure virtual member functions.
8748 * UIProcess/WebPageProxy.cpp:
8749 (WebKit::WebPageProxy::initializeWebPage):
8750 (WebKit::WebPageProxy::reinitializeWebPage):
8751 Set the new drawing area proxy.
8753 * UIProcess/win/WebView.cpp:
8754 (WebKit::WebView::WebView):
8755 No need to set the drawing area proxy anymore.
8757 (WebKit::WebView::createDrawingAreaProxy):
8758 Create a chunked update drawing area proxy for now.
8760 (WebKit::WebView::setViewNeedsDisplay):
8761 Invalidate the window.
8763 2011-01-10 Anders Carlsson <andersca@apple.com>
8765 Fix Windows build again.
8767 * UIProcess/win/WebView.cpp:
8768 (WebKit::WebView::isViewWindowActive):
8770 2011-01-10 Anders Carlsson <andersca@apple.com>
8774 * UIProcess/win/WebView.cpp:
8775 (WebKit::WebView::onShowWindowEvent):
8777 2011-01-10 Anders Carlsson <andersca@apple.com>
8779 Reviewed by Sam Weinig.
8781 Use a pull model for view state changes
8782 https://bugs.webkit.org/show_bug.cgi?id=52175
8784 Instead of having the WKView call setFocused, setActive etc on the WebPageProxy, the
8785 WKView now simply informs the WebPageProxy what has changed, using the WebPageProxy::viewStateDidChange
8786 function. The WebPageProxy can then fetch the relevant information using newly added PageClient functions.
8788 * UIProcess/API/mac/PageClientImpl.h:
8789 * UIProcess/API/mac/PageClientImpl.mm:
8790 (WebKit::PageClientImpl::viewSize):
8791 (WebKit::PageClientImpl::isViewWindowActive):
8792 (WebKit::PageClientImpl::isViewFocused):
8793 (WebKit::PageClientImpl::isViewVisible):
8794 (WebKit::PageClientImpl::isViewInWindow):
8795 * UIProcess/API/mac/WKView.mm:
8796 (-[WKView initWithFrame:contextRef:pageGroupRef:]):
8797 (-[WKView becomeFirstResponder]):
8798 (-[WKView resignFirstResponder]):
8799 (-[WKView viewDidMoveToWindow]):
8800 (-[WKView _windowDidBecomeKey:]):
8801 (-[WKView _windowDidResignKey:]):
8802 (-[WKView viewDidHide]):
8803 (-[WKView viewDidUnhide]):
8804 (-[WKView _isFocused]):
8805 (-[WKView _didRelaunchProcess]):
8806 * UIProcess/API/mac/WKViewInternal.h:
8807 * UIProcess/API/qt/qgraphicswkview.cpp:
8808 (QGraphicsWKView::focusInEvent):
8809 (QGraphicsWKView::focusOutEvent):
8810 * UIProcess/API/qt/qwkpage.cpp:
8811 (QWKPagePrivate::QWKPagePrivate):
8812 (QWKPagePrivate::viewSize):
8813 (QWKPagePrivate::isViewWindowActive):
8814 (QWKPagePrivate::isViewFocused):
8815 (QWKPagePrivate::isViewVisible):
8816 (QWKPagePrivate::isViewInWindow):
8817 * UIProcess/API/qt/qwkpage_p.h:
8818 * UIProcess/PageClient.h:
8819 * UIProcess/WebContext.cpp:
8820 (WebKit::WebContext::createWebPage):
8821 * UIProcess/WebContext.h:
8822 * UIProcess/WebPageProxy.cpp:
8823 (WebKit::WebPageProxy::create):
8824 (WebKit::WebPageProxy::WebPageProxy):
8825 (WebKit::WebPageProxy::viewStateDidChange):
8826 * UIProcess/WebPageProxy.h:
8827 * UIProcess/WebProcessProxy.cpp:
8828 (WebKit::WebProcessProxy::createWebPage):
8829 * UIProcess/WebProcessProxy.h:
8830 * UIProcess/win/WebView.cpp:
8831 (WebKit::WebView::WebView):
8832 (WebKit::WebView::onSetFocusEvent):
8833 (WebKit::WebView::onKillFocusEvent):
8834 (WebKit::WebView::onShowWindowEvent):
8835 (WebKit::WebView::updateActiveState):
8836 (WebKit::WebView::viewSize):
8837 (WebKit::WebView::isViewWindowActive):
8838 (WebKit::WebView::isViewFocused):
8839 (WebKit::WebView::isViewVisible):
8840 (WebKit::WebView::isViewInWindow):
8841 (WebKit::WebView::didRelaunchProcess):
8842 (WebKit::WebView::setIsInWindow):
8843 * UIProcess/win/WebView.h:
8845 2011-01-10 Adam Roben <aroben@apple.com>
8847 Don't pass a reference type to va_start
8849 C++ says this results in undefined behavior:
8851 The restrictions that ISO C places on the second parameter to the
8852 va_start() macro in header <stdarg.h> are different in this
8853 International Standard. The parameter parmN is the identifier of
8854 the rightmost parameter in the variable parameter list of the
8855 function definition (the one just before the ...).221) If the
8856 parameter parmN is declared with a function, array, or reference
8857 type, or with a type that is not compatible with the type that
8858 results when passing an argument for which there is no parameter,
8859 the behavior is undefined.
8861 Fixes <http://webkit.org/b/52168> Title of standalone image document
8862 includes bogus image dimensions
8864 Rubber-stamped by Eric Seidel.
8866 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
8867 (WebKit::formatLocalizedString): Don't use a reference type for
8870 2011-01-10 Siddharth Mathur <siddharth.mathur@nokia.com>
8872 Reviewed by Eric Seidel.
8874 Support for ARM's RVCT(ARMCC) compiler in import/export directives
8875 https://bugs.webkit.org/show_bug.cgi?id=52146
8877 * Shared/API/c/WKBase.h:
8879 2011-01-10 Sam Weinig <sam@webkit.org>
8883 * WebProcess/WebPage/WebPage.cpp:
8884 (WebKit::WebPage::WebPage):
8886 2011-01-10 Sam Weinig <sam@webkit.org>
8888 Reviewed by Anders Carlsson.
8890 Make Geolocation features work in WebKit2
8891 https://bugs.webkit.org/show_bug.cgi?id=52078
8893 Step 1 - Add enough support to get position data from a provider.
8894 This does not include permission support.
8896 * Platform/CoreIPC/HandleMessage.h:
8897 Add #include of Arguments.h for CoreIPC::In and Out definitions.
8899 * Platform/CoreIPC/MessageID.h:
8900 Add new message types.
8902 * Shared/API/c/WKBase.h:
8903 * Shared/APIObject.h:
8906 * Shared/WebGeolocationPosition.cpp: Added.
8907 * Shared/WebGeolocationPosition.h: Added.
8908 Internal position representation.
8910 * UIProcess/API/C/WKAPICast.h:
8911 Add casts for new API types.
8913 * UIProcess/API/C/WKContext.cpp:
8914 * UIProcess/API/C/WKContext.h:
8915 * UIProcess/API/C/WKGeolocationManager.cpp: Added.
8916 * UIProcess/API/C/WKGeolocationManager.h: Added.
8917 * UIProcess/API/C/WKGeolocationPosition.cpp: Added.
8918 * UIProcess/API/C/WKGeolocationPosition.h: Added.
8919 * UIProcess/API/C/WebKit2.h:
8920 Add API to provide and control geolocation data.
8922 * UIProcess/WebContext.cpp:
8923 (WebKit::WebContext::WebContext):
8924 (WebKit::WebContext::~WebContext):
8925 (WebKit::WebContext::processDidClose):
8926 (WebKit::WebContext::didReceiveMessage):
8927 * UIProcess/WebContext.h:
8928 (WebKit::WebContext::geolocationManagerProxy):
8929 * UIProcess/WebGeolocationManagerProxy.cpp: Added.
8930 (WebKit::WebGeolocationManagerProxy::create):
8931 (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
8932 (WebKit::WebGeolocationManagerProxy::~WebGeolocationManagerProxy):
8933 (WebKit::WebGeolocationManagerProxy::invalidate):
8934 (WebKit::WebGeolocationManagerProxy::initializeProvider):
8935 (WebKit::WebGeolocationManagerProxy::providerDidChangePosition):
8936 (WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition):
8937 (WebKit::WebGeolocationManagerProxy::didReceiveMessage):
8938 (WebKit::WebGeolocationManagerProxy::startUpdating):
8939 (WebKit::WebGeolocationManagerProxy::stopUpdating):
8940 * UIProcess/WebGeolocationManagerProxy.h: Added.
8941 (WebKit::WebGeolocationManagerProxy::clearContext):
8942 (WebKit::WebGeolocationManagerProxy::type):
8943 * UIProcess/WebGeolocationManagerProxy.messages.in: Added.
8944 * UIProcess/WebGeolocationProvider.cpp: Added.
8945 (WebKit::WebGeolocationProvider::startUpdating):
8946 (WebKit::WebGeolocationProvider::stopUpdating):
8947 * UIProcess/WebGeolocationProvider.h: Added.
8948 * UIProcess/WebProcessProxy.cpp:
8949 (WebKit::WebProcessProxy::didReceiveMessage):
8950 * WebProcess/Geolocation: Added.
8951 * WebProcess/Geolocation/WebGeolocationManager.cpp: Added.
8952 (WebKit::WebGeolocationManager::WebGeolocationManager):
8953 (WebKit::WebGeolocationManager::~WebGeolocationManager):
8954 (WebKit::WebGeolocationManager::didReceiveMessage):
8955 (WebKit::WebGeolocationManager::registerWebPage):
8956 (WebKit::WebGeolocationManager::unregisterWebPage):
8957 (WebKit::WebGeolocationManager::didChangePosition):
8958 (WebKit::WebGeolocationManager::didFailToDeterminePosition):
8959 * WebProcess/Geolocation/WebGeolocationManager.h: Added.
8960 * WebProcess/Geolocation/WebGeolocationManager.messages.in: Added.
8961 * WebProcess/WebCoreSupport/WebGeolocationClient.cpp: Added.
8962 (WebKit::WebGeolocationClient::geolocationDestroyed):
8963 (WebKit::WebGeolocationClient::startUpdating):
8964 (WebKit::WebGeolocationClient::stopUpdating):
8965 (WebKit::WebGeolocationClient::setEnableHighAccuracy):
8966 (WebKit::WebGeolocationClient::lastPosition):
8967 (WebKit::WebGeolocationClient::requestPermission):
8968 (WebKit::WebGeolocationClient::cancelPermissionRequest):
8969 * WebProcess/WebCoreSupport/WebGeolocationClient.h: Added.
8970 (WebKit::WebGeolocationClient::WebGeolocationClient):
8971 * WebProcess/WebPage/WebPage.cpp:
8972 (WebKit::WebPage::WebPage):
8973 * WebProcess/WebProcess.cpp:
8974 (WebKit::WebProcess::WebProcess):
8975 (WebKit::WebProcess::didReceiveMessage):
8976 * WebProcess/WebProcess.h:
8977 (WebKit::WebProcess::geolocationManager):
8978 Pipe geolocation positions/errors from the UIProcess to the WebProcess.
8980 * DerivedSources.make:
8981 * DerivedSources.pro:
8983 * WebKit2.xcodeproj/project.pbxproj:
8984 * win/WebKit2.vcproj:
8985 * win/WebKit2Common.vsprops:
8986 * win/WebKit2Generated.make:
8989 2011-01-10 Martin Robinson <mrobinson@igalia.com>
8991 GTK+ build fix. Continue to fix 'make dist.'
8993 * GNUmakefile.am: Remove more non-existent files from the WebKit2 build.
8995 2011-01-10 Alejandro G. Castro <alex@igalia.com>
8997 Reviewed by Martin Robinson.
8999 [GTK] Remove webkit2 files that are still not added to the
9000 repository from the makefile
9001 https://bugs.webkit.org/show_bug.cgi?id=52145
9003 This change is required for the release, we can add the lines
9004 again to the makefiles with the patches adding the files.
9008 2011-01-10 Andreas Kling <kling@webkit.org>
9010 Reviewed by Simon Hausmann.
9012 [Qt] [WK2] MiniBrowser does not load pages opened in new windows
9013 https://bugs.webkit.org/show_bug.cgi?id=52111
9015 * UIProcess/API/qt/qwkpage.cpp:
9016 (QWKPage::context): Implement this method.
9018 2011-01-09 Dan Bernstein <mitz@apple.com>
9020 Reviewed by Simon Fraser.
9022 <rdar://problem/8839498> Assertion failure in KURL::KURL when calling WKURLRequestCreateWithWKURL with a non-parsed URL
9023 https://bugs.webkit.org/show_bug.cgi?id=52132
9025 * Shared/API/c/WKURLRequest.cpp:
9026 (WKURLRequestCreateWithWKURL): Parse the URL.
9027 * Shared/WebString.h: Fixed a comment.
9028 * Shared/WebURL.h: Ditto.
9030 2011-01-09 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
9032 Reviewed by Martin Robinson.
9034 Changes to add Process Launcher and Thread Launcher implementation to the WebKit2 GTK port.
9035 The main() implementation for WebKitWebProcess binary to launch Web process from UI process.
9036 https://bugs.webkit.org/show_bug.cgi?id=48511
9038 * UIProcess/Launcher/gtk: Added.
9039 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: Added. GTK (UNIX_X11 specific) implementation
9040 (WebKit::ProcessLauncher::launchProcess):
9041 (WebKit::ProcessLauncher::terminateProcess):
9042 (WebKit::ProcessLauncher::platformInvalidate):
9043 * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
9044 (WebKit::ThreadLauncher::createWebThread):
9045 * WebProcess/gtk: Added.
9046 * WebProcess/gtk/WebProcessGtk.cpp: Added. The stubbed implementations of virtual functions of WebProcess.h for GTK port.
9047 (WebKit::WebProcess::platformSetCacheModel):
9048 (WebKit::WebProcess::platformClearResourceCaches):
9049 (WebKit::WebProcess::platformInitializeWebProcess):
9050 (WebKit::WebProcess::platformShutdown):
9051 * WebProcess/gtk/WebProcessMainGtk.cpp: Added. The WebProcessMain call which initiates the Web Process for GTK port.
9052 (WebKit::WebProcessMainGtk):
9053 * WebProcess/gtk/WebProcessMainGtk.h: Added. The WebProcessMain declaration for Web Process for GTK port.
9054 * gtk/MainGtk.cpp: Added. The main function implementation for binary WebKitWebProcess.
9057 2011-01-07 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
9059 Reviewed by Martin Robinson.
9061 [GTK] WebKit2 GNUmakefile is out of date from trunk
9062 https://bugs.webkit.org/show_bug.cgi?id=51883
9064 * GNUmakefile.am: Updated sources list as per latest revision
9065 * Platform/gtk/RunLoopGtk.cpp:
9066 (RunLoop::TimerBase::start):
9067 * Platform/gtk/WorkQueueGtk.cpp:
9068 (WorkQueue::scheduleWorkAfterDelay):
9069 * Shared/gtk/BackingStoreGtk.cpp:
9070 (WebKit::BackingStore::paint):
9071 * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
9072 (WebKit::InjectedBundle::load):
9073 * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
9074 (WebKit::NetscapePlugin::platformInvalidate):
9076 2011-01-08 Dan Bernstein <mitz@apple.com>
9078 Reviewed by Sam Weinig.
9080 <rdar://problem/8812759> In WebKit2, PDF view settings (mode and scale) do not stick
9081 https://bugs.webkit.org/show_bug.cgi?id=52118
9083 * Shared/WebPreferencesStore.cpp:
9084 (WebKit::WebPreferencesStore::encode): Encode the double values map.
9085 (WebKit::WebPreferencesStore::decode): Decode the double values map.
9086 (WebKit::defaultValueForKey): Added double instance.
9087 (WebKit::WebPreferencesStore::setDoubleValueForKey): Added.
9088 (WebKit::WebPreferencesStore::getDoubleValueForKey): Added.
9089 * Shared/WebPreferencesStore.h: Added PDFScaleFactor and PDFDisplayMode preferences.
9090 * UIProcess/API/mac/PDFViewController.mm:
9091 (-[WKPDFView initWithFrame:PDFViewController:WebKit::]): Initialize the _pdfViewController ivar.
9092 (-[WKPDFView invalidate]): Changed 'nil' to '0' in assignment to a non-Objective-C pointer.
9093 (-[WKPDFView setDocument:]): Added.
9094 (-[WKPDFView _applyPDFPreferences]): Added.
9095 (-[WKPDFView _updatePreferences:]): Added.
9096 (-[WKPDFView _updatePreferencesSoon]): Added.
9097 (-[WKPDFView _scaleOrDisplayModeOrPageChanged:]): Added.
9098 (-[WKPDFView viewDidMoveToWindow]): Added. Starts observing the PDF view for changes to scale
9100 (-[WKPDFView viewWillMoveToWindow:]): Added. Stops observing for changes.
9101 (WebKit::PDFViewController::setPDFDocumentData): Changed to call throguh -[WKPDFView setDocument:].
9102 * UIProcess/WebPreferences.cpp:
9103 (WebKit::WebPreferences::updateDoubleValueForKey): Added.
9104 * UIProcess/WebPreferences.h:
9105 * UIProcess/cf/WebPreferencesCF.cpp:
9106 (WebKit::WebPreferences::platformUpdateDoubleValueForKey): Added empty implementation.
9107 * UIProcess/gtk/WebPreferencesGtk.cpp:
9108 (WebKit::WebPreferences::platformUpdateDoubleValueForKey): Added stub.
9109 * UIProcess/mac/WebPreferencesMac.mm:
9110 (WebKit::setDoubleValueIfInUserDefaults): Added.
9111 (WebKit::WebPreferences::platformUpdateDoubleValueForKey): Added.
9112 * UIProcess/qt/WebPreferencesQt.cpp:
9113 (WebKit::WebPreferences::platformUpdateDoubleValueForKey): Added.
9115 2011-01-08 Dan Bernstein <mitz@apple.com>
9117 Reviewed by Maciej Stachowiak.
9119 In WebKit2, page zooming does not work with PDF
9120 https://bugs.webkit.org/show_bug.cgi?id=52113
9122 * UIProcess/API/C/WKPage.cpp:
9123 (WKPageSupportsTextZoom): Added. Returns whether the page currently supports text-only zoom.
9124 * UIProcess/API/C/WKPage.h:
9125 * UIProcess/API/mac/PDFViewController.h: Made pdfDocumentClass() private and declared new
9127 * UIProcess/API/mac/PDFViewController.mm:
9128 (WebKit::PDFViewController::zoomFactor): Added.
9129 (WebKit::PDFViewController::setZoomFactor): Added.
9130 * UIProcess/API/mac/PageClientImpl.h:
9131 * UIProcess/API/mac/PageClientImpl.mm:
9132 (WebKit::PageClientImpl::customRepresentationZoomFactor): Added. Calls through to the WKView.
9133 (WebKit::PageClientImpl::setCustomRepresentationZoomFactor): Ditto.
9134 * UIProcess/API/mac/WKView.mm:
9135 (-[WKView _customRepresentationZoomFactor]): Added. Calls through to the PDFViewController.
9136 (-[WKView _setCustomRepresentationZoomFactor:]): Ditto.
9137 * UIProcess/API/mac/WKViewInternal.h:
9138 * UIProcess/API/qt/qwkpage_p.h:
9139 (QWKPagePrivate::customRepresentationZoomFactor): Added.
9140 (QWKPagePrivate::setCustomRepresentationZoomFactor): Added.
9141 * UIProcess/PageClient.h:
9142 * UIProcess/WebPageProxy.cpp:
9143 (WebKit::WebPageProxy::WebPageProxy): Coding style fix.
9144 (WebKit::WebPageProxy::supportsTextZoom): Added. Returns false if the main frame has a custom
9145 representation or is a standalone image, true otherwise.
9146 (WebKit::WebPageProxy::setTextZoomFactor): Bail out if the main frame has a custom representation.
9147 (WebKit::WebPageProxy::pageZoomFactor): If the main frame has a custom representation, get the
9148 zoom factor from the page client.
9149 (WebKit::WebPageProxy::setPageZoomFactor): If the main frame has a custom representation, have
9150 the client set the zoom factor.
9151 (WebKit::WebPageProxy::setPageAndTextZoomFactors): Ditto.
9152 * UIProcess/WebPageProxy.h:
9153 (WebKit::WebPageProxy::textZoomFactor): Changed to return 1 if the main frame has a custom
9155 * UIProcess/win/WebView.cpp:
9156 (WebKit::WebView::customRepresentationZoomFactor): Added.
9157 (WebKit::WebView::setCustomRepresentationZoomFactor): Added.
9158 * UIProcess/win/WebView.h:
9160 2011-01-08 Jeff Miller <jeffm@apple.com>
9162 Reviewed by Jon Honeycutt.
9164 Add WKBundleFrameGetVisibleContentBounds().
9165 https://bugs.webkit.org/show_bug.cgi?id=52089
9167 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
9168 (WKBundleFrameGetVisibleContentBounds):
9169 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
9170 Added WKBundleFrameGetVisibleContentBounds().
9172 2011-01-08 Balazs Kelemen <kbalazs@webkit.org>
9174 Reviewed by Kenneth Rohde Christiansen.
9176 [Qt][WK2] QWKView does not propagate show and hide events to the drawing area
9177 https://bugs.webkit.org/show_bug.cgi?id=52108
9179 * UIProcess/API/qt/qgraphicswkview.cpp:
9180 (QGraphicsWKView::event): Call setPageIsVisible on the drawing area
9181 if the event is Show or Hide.
9183 2011-01-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
9185 Reviewed by Kenneth Rohde Christiansen.
9187 [Qt][Symbian] Make sure WebKit headers are included before platform headers on Symbian
9188 https://bugs.webkit.org/show_bug.cgi?id=31273
9190 On Symbian PREPEND_INCLUDEPATH is the best way to make sure that WebKit headers
9191 are included before platform headers. On all other platforms continue to use
9192 INCLUDEPATH (as before).
9196 2011-01-08 Csaba Osztrogonác <ossy@webkit.org>
9198 [Qt][WK2] Unreviewed buildfix after r75313.
9200 * Scripts/generate-forwarding-headers.pl:
9202 2011-01-08 Adam Barth <abarth@webkit.org>
9204 Moving WebCore changes the layout of the Qt build directory as well,
9205 which means we need to change where we look for these generated files.
9207 * DerivedSources.pro:
9209 2011-01-07 Adam Barth <abarth@webkit.org>
9211 Rubber-stamped by Eric Seidel.
9213 Move WebCore to Source
9214 https://bugs.webkit.org/show_bug.cgi?id=52050
9218 2011-01-07 Stephanie Lewis <slewis@apple.com>
9220 Reviewed by Geoff Garen.
9222 <rdar://problem/8649617> Migrate memory tracking from Safari to WebKit
9223 https://bugs.webkit.org/show_bug.cgi?id=50799 Add Memory Sampler to WebKit
9225 Add a sampler for printing off process memory statistics.
9226 This tool can track:
9229 - FastMalloc allocations bytes (in use or committed)
9231 - Garbage collector heap bytes (in use or committed)
9232 - Stack bytes (committed only!)
9233 - JIT Code bytes (committed only!)
9235 - In use bytes for the following zones:
9236 * Default zone (in use or committed)
9237 * DispCon zone (in use or committed)
9238 * Purgable zone (in use or committed)
9240 - Resident size memory (RSIZE)
9242 Data collected is dumped to a temporary file.
9244 Create a sandbox for a temporary file.
9245 * Shared/SandboxExtension.h:
9246 (WebKit::SandboxExtension::createHandleForTemporaryFile):
9247 * Shared/mac/SandboxExtensionMac.mm:
9248 (WebKit::SandboxExtension::createHandleForTemporaryFile):
9250 Memory Sampler files
9252 * Shared/WebMemorySampler.cpp: Added.
9253 (WebKit::WebMemorySampler::shared):
9254 (WebKit::WebMemorySampler::WebMemorySampler):
9255 (WebKit::WebMemorySampler::start):
9256 (WebKit::WebMemorySampler::initializeTimers):
9257 (WebKit::WebMemorySampler::stop):
9258 (WebKit::WebMemorySampler::isRunning):
9259 (WebKit::WebMemorySampler::initializeTempLogFile):
9260 (WebKit::WebMemorySampler::initializeSandboxedLogFile):
9261 (WebKit::WebMemorySampler::writeHeaders):
9262 (WebKit::WebMemorySampler::sampleTimerFired):
9263 (WebKit::WebMemorySampler::stopTimerFired):
9264 (WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile):
9265 * Shared/WebMemorySampler.h: Added.
9266 * Shared/mac/WebMemorySampler.mac.mm: Added.
9267 (WebKit::WebMemorySampler::sampleSystemMalloc):
9268 (WebKit::WebMemorySampler::sampleProcessCommittedBytes):
9269 (WebKit::WebMemorySampler::processName):
9270 (WebKit::WebMemorySampler::sampleWebKit):
9272 API to start and stop UIProcess and WebProcess sampling.
9274 * UIProcess/API/C/WKContext.cpp:
9275 (WKContextStartMemorySampler):
9276 (WKContextStopMemorySampler):
9277 * UIProcess/API/C/WKContext.h:
9279 Send messages to WebProcess to start and stop memory sampling.
9281 * UIProcess/WebContext.cpp:
9282 (WebKit::WebContext::WebContext):
9283 (WebKit::WebContext::processDidFinishLaunching):
9284 (WebKit::WebContext::startMemorySampler):
9285 (WebKit::WebContext::stopMemorySampler):
9286 * UIProcess/WebContext.h:
9287 * WebKit2.xcodeproj/project.pbxproj:
9288 * WebProcess/WebProcess.cpp:
9289 (WebKit::WebProcess::startMemorySampler):
9290 (WebKit::WebProcess::stopMemorySampler):
9291 * WebProcess/WebProcess.h:
9292 * WebProcess/WebProcess.messages.in:
9294 2011-01-07 Jessie Berlin <jberlin@apple.com>
9296 Reviewed by Dan Bernstein.
9298 WebKit2: Need WKBundleFrameCopyProvisionalURL
9299 https://bugs.webkit.org/show_bug.cgi?id=52083
9301 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
9302 (WKBundleFrameCopyProvisionalURL):
9303 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
9304 * WebProcess/WebPage/WebFrame.cpp:
9305 (WebKit::WebFrame::provisionalURL):
9306 Grab the URL from the provisional document loader.
9307 * WebProcess/WebPage/WebFrame.h:
9309 2011-01-07 James Robinson <jamesr@chromium.org>
9311 Revert "Implement mozilla's animationTime property"
9312 https://bugs.webkit.org/show_bug.cgi?id=51952
9314 This approach isn't quite right.
9316 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
9317 (WebKit::ChunkedUpdateDrawingArea::display):
9318 (WebKit::ChunkedUpdateDrawingArea::setSize):
9319 * WebProcess/WebPage/WebPage.cpp:
9320 (WebKit::WebPage::drawRect):
9321 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
9322 (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
9324 2011-01-07 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
9326 Reviewed by Martin Robinson.
9328 [GTK] WebKit2 GNUmakefile is out of date from trunk
9329 Adding new stub files for compiling on latest revision
9330 https://bugs.webkit.org/show_bug.cgi?id=51883
9332 * UIProcess/gtk: Added.
9333 * UIProcess/gtk/TextCheckerGtk.cpp: Added.
9334 (WebKit::TextChecker::state):
9335 (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
9336 (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
9337 (WebKit::TextChecker::setGrammarCheckingEnabled):
9338 (WebKit::TextChecker::uniqueSpellDocumentTag):
9339 (WebKit::TextChecker::closeSpellDocumentWithTag):
9340 (WebKit::TextChecker::checkTextOfParagraph):
9341 (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
9342 (WebKit::TextChecker::getGuessesForWord):
9343 (WebKit::TextChecker::learnWord):
9344 (WebKit::TextChecker::ignoreWord):
9345 * UIProcess/gtk/WebInspectorGtk.cpp: Added.
9346 (WebKit::WebInspectorProxy::platformCreateInspectorPage):
9347 (WebKit::WebInspectorProxy::platformOpen):
9348 (WebKit::WebInspectorProxy::platformClose):
9349 (WebKit::WebInspectorProxy::inspectorPageURL):
9350 * UIProcess/gtk/WebPageProxyGtk.cpp: Added.
9351 (WebKit::WebPageProxy::standardUserAgent):
9352 * UIProcess/gtk/WebPreferencesGtk.cpp: Added.
9353 (WebKit::WebPreferences::platformInitializeStore):
9354 (WebKit::WebPreferences::platformUpdateStringValueForKey):
9355 (WebKit::WebPreferences::platformUpdateBoolValueForKey):
9356 (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
9357 * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp: Added.
9358 (WebKit::WebContextMenuClient::lookUpInDictionary):
9359 (WebKit::WebContextMenuClient::isSpeaking):
9360 (WebKit::WebContextMenuClient::speak):
9361 (WebKit::WebContextMenuClient::stopSpeaking):
9362 * WebProcess/WebCoreSupport/gtk/WebDatabaseManagerGtk.cpp: Added.
9363 (WebKit::WebDatabaseManager::databaseDirectory):
9364 * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp: Added.
9365 (WebKit::WebPopupMenu::setUpPlatformData):
9366 * WebProcess/WebPage/gtk: Added.
9367 * WebProcess/WebPage/gtk/WebInspectorGtk.cpp: Added.
9368 (WebKit::WebInspector::localizedStringsURL):
9370 2011-01-06 Adam Roben <aroben@apple.com>
9372 Don't ever call ::SetCursor(0)
9374 Doing so makes the cursor disappear from the screen.
9376 Fixes <http://webkit.org/b/52024> Mouse cursor flashes when moving it
9377 around a WKView before the web process has finished launching
9379 Reviewed by Jon Honeycutt.
9381 * UIProcess/win/WebView.cpp:
9382 (WebKit::WebView::onSetCursor): If we don't have a cursor to set, just
9383 let Windows do its default thing (which is to set the cursor to the
9384 window class's cursor, which in our case is the arrow cursor).
9385 (WebKit::WebView::cursorToShow): Just return 0 when the page has
9386 crashed so that we'll show the default cursor (which is the arrow
9387 cursor). This change has no visible effect, but seems slightly better
9389 (WebKit::WebView::updateNativeCursor): Don't do anything if we don't
9390 have a cursor to set.
9392 2011-01-06 Adam Roben <aroben@apple.com>
9394 Fill the WKView with white when the web process hasn't drawn anything
9397 Fixes <http://webkit.org/b/52023> WKView accumulates pixel garbage
9398 before web process has had a chance to draw anything (if Aero is
9401 Reviewed by Jon Honeycutt.
9403 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
9404 (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
9405 * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
9406 * UIProcess/DrawingAreaProxy.h:
9407 * UIProcess/LayerBackedDrawingAreaProxy.cpp:
9408 (WebKit::LayerBackedDrawingAreaProxy::paint):
9409 * UIProcess/LayerBackedDrawingAreaProxy.h:
9410 * UIProcess/TiledDrawingAreaProxy.cpp:
9411 (WebKit::TiledDrawingAreaProxy::paint):
9412 * UIProcess/TiledDrawingAreaProxy.h:
9413 * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
9414 (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
9415 * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
9416 (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
9417 * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp:
9418 (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
9419 * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp:
9420 (WebKit::LayerBackedDrawingAreaProxy::paint):
9421 Changed these functions to return a boolean indicating whether we
9422 actually painted anything.
9424 * UIProcess/win/WebView.cpp:
9425 (WebKit::WebView::onPaintEvent): Fill with white (and don't call
9426 didDraw) when the DrawingAreaProxy isn't able to paint.
9428 2011-01-06 Jessie Berlin <jberlin@apple.com>
9430 Reviewed by Jon Honeycutt.
9432 WebKit2: Need WKBundlePagePrivate equivalent of WebKit1's WebViewPrivate's setDefersCallbacks
9433 https://bugs.webkit.org/show_bug.cgi?id=52038
9435 The implementation of WebKit1's WebViewPrivate's setDefersCallbacks on both Windows and Mac
9436 calls WebCore::Page::setDefersLoading.
9438 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
9439 (WKBundlePageSetDefersLoading):
9440 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
9441 * WebProcess/WebPage/WebPage.cpp:
9442 (WebKit::WebPage::setDefersLoading):
9443 * WebProcess/WebPage/WebPage.h:
9445 2011-01-06 Brady Eidson <beidson@apple.com>
9447 Reviewed by Darin Adler.
9449 <rdar://problem/8261624> and https://bugs.webkit.org/show_bug.cgi?id=47355
9450 Change WebKit2 session restoring to restore the full back/forward list.
9452 * UIProcess/WebProcessProxy.cpp:
9453 (WebKit::WebProcessProxy::registerNewWebBackForwardListItem): Let the UIProcess register its own
9454 WebBackForwardListItems in its ID map upon creation.
9455 * UIProcess/WebProcessProxy.h:
9457 * UIProcess/cf/WebPageProxyCF.cpp:
9458 (WebKit::WebPageProxy::restoreFromSessionStateData): Register each new list entry in the
9461 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
9462 (WebKit::WebBackForwardListProxy::addItemFromUIProcess): Add this method to register UIProcess
9463 created items without doing any of the other work normally associated with adding a new back/forward item
9464 (such as notifying the UIProcess).
9465 * WebProcess/WebPage/WebBackForwardListProxy.h:
9467 * WebProcess/WebPage/WebPage.cpp:
9468 (WebKit::WebPage::restoreSession): Map all of the back/forward list entries from the UIProcess then
9469 cause a load of the current entry.
9471 2011-01-06 Adam Roben <aroben@apple.com>
9473 Always show the arrow cursor when the web process has crashed
9475 Fixes <http://webkit.org/b/52006> WKView shows a stale cursor when the
9478 Reviewed by Ada Chan.
9480 * UIProcess/win/WebView.cpp:
9481 (WebKit::WebView::processDidCrash):
9482 (WebKit::WebView::didRelaunchProcess):
9483 Update the cursor to reflect the new state.
9485 (WebKit::WebView::cursorToShow): Always show the arrow cursor when the
9486 web process has crashed.
9488 2011-01-06 Adam Roben <aroben@apple.com>
9490 Reduce code duplication in WebView::updateNativeCursor
9492 Fixes <http://webkit.org/b/52005> It's not easy to add new behavior to
9493 WebView::updateNativeCursor
9495 Reviewed by Ada Chan.
9497 * UIProcess/win/WebView.cpp:
9498 (WebKit::WebView::cursorToShow): Moved code to choose a cursor here...
9499 (WebKit::WebView::updateNativeCursor): ...from here.
9501 * UIProcess/win/WebView.h: Added cursorToShow.
9503 2011-01-06 Adam Roben <aroben@apple.com>
9505 Make WKView fill with white when the web process has crashed
9507 Previously we would just draw whatever we had last drawn into the
9508 WKView (i.e., a stale picture of the web page), which was confusing
9509 (because the web page would mysteriously not respond to input) and ugly
9510 (because it wouldn't behave properly if the window was resized).
9512 Fixes <http://webkit.org/b/52004> WKView keeps painting a stale
9513 picture of the web page when the web process crashes
9515 Reviewed by Ada Chan.
9517 * UIProcess/win/WebView.cpp:
9518 (WebKit::WebView::onPaintEvent): Ported code from -[WKView drawRect:]
9519 to fill with white if the page is invalid or has no DrawingArea. As a
9520 bonus, also ported the call to WebPageProxy::didDraw from that method.
9522 (WebKit::WebView::processDidCrash):
9523 (WebKit::WebView::didRelaunchProcess):
9524 Invalidate our window so that we'll redraw with white or the new page.
9526 2011-01-06 Adam Roben <aroben@apple.com>
9528 Make WKViews work on Windows after a crashed web process gets relaunched
9530 Fixes <http://webkit.org/b/52001> Relaunching the web process fails to
9531 revivify WKViews on Windows
9533 Reviewed by Ada Chan.
9535 * UIProcess/win/WebView.cpp:
9536 (WebKit::WebView::didRelaunchProcess): Implemented by porting code from
9537 -[WKView _didRelaunchProcess].
9539 2011-01-06 Adam Roben <aroben@apple.com>
9541 Remove WebView::m_rect
9543 It was only used in the constructor, and wasn't even kept up-to-date as
9544 the WebView's size changed.
9546 Fixes <http://webkit.org/b/52000> WebView::m_rect is unnecessary
9548 Reviewed by Ada Chan.
9550 * UIProcess/win/WebView.cpp:
9551 * UIProcess/win/WebView.h:
9553 2011-01-05 Brian Weinstein <bweinstein@apple.com>
9555 Reviewed by Ada Chan.
9557 WebKit2: Should be able to call into injected bundle to ask if we should allow resource loads
9558 https://bugs.webkit.org/show_bug.cgi?id=51969
9560 Add the ability to call into the injected bundle to ask if we should allow resource loads.
9561 If the injected bundle says we should cancel, we clear out the ResourceRequest that was
9562 passed into willSendRequest, which cancels the resource load.
9564 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add the new callback for allowing/cancelling
9566 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
9567 (WebKit::InjectedBundlePageLoaderClient::shouldLoadResourceForFrame): Calls through to the client.
9568 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
9569 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
9570 (WebKit::WebFrameLoaderClient::dispatchWillSendRequest): Ask the InjectedBundlePageLoaderClient if we
9571 should load the resource or not.
9573 2011-01-06 Jeff Miller <jeffm@apple.com>
9575 Reviewed by Darin Adler.
9577 WebKit2: Add APIs to WKBundleFrame to get content bounds and scroll offset
9578 https://bugs.webkit.org/show_bug.cgi?id=51968
9580 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
9581 (WKBundleFrameGetContentBounds):
9582 (WKBundleFrameGetScrollOffset):
9583 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
9584 Add WKBundleFrameGetContentBounds() and WKBundleFrameGetScrollOffset().
9586 2011-01-06 James Robinson <jamesr@chromium.org>
9588 Reviewed by Simon Fraser.
9590 Implement mozilla's animationTime property
9591 https://bugs.webkit.org/show_bug.cgi?id=51952
9593 Tells the page to clear the current animation time after producing a frame.
9595 * WebProcess/WebPage/WebPage.cpp:
9596 (WebKit::WebPage::drawRect):
9597 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
9598 (WebKit::ChunkedUpdateDrawingArea::display):
9599 (WebKit::ChunkedUpdateDrawingArea::setSize):
9600 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
9601 (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
9603 2011-01-06 Darin Adler <darin@apple.com>
9605 Redo the half-done rename from the last check-in.
9606 Sorry for the broken build last night.
9608 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
9609 (WebKit::WebBackForwardListProxy::removeItem): Renamed.
9610 * WebProcess/WebPage/WebBackForwardListProxy.h: Updated
9612 * WebProcess/WebPage/WebPage.cpp:
9613 (WebKit::WebPage::didRemoveBackForwardItem): Updated to
9616 2011-01-06 Maciej Stachowiak <mjs@apple.com>
9618 Rubber stamped by Dan Bernstein.
9620 Fix build for Darin's previous change w/ the obvious renaming.
9622 * WebProcess/WebPage/WebBackForwardListProxy.h:
9623 * WebProcess/WebPage/WebPage.cpp:
9624 (WebKit::WebPage::didRemoveBackForwardItem):
9626 2011-01-05 Darin Adler <darin@apple.com>
9628 Reviewed by Geoff Garen.
9630 Back/Forward entries in WebKit2 leak
9631 https://bugs.webkit.org/show_bug.cgi?id=51983
9633 Besides fixing the leak, this also fixes a problem where
9634 all history items were sent over to the UI process, but
9635 we wanted to send only back/forward items.
9637 * UIProcess/WebBackForwardList.cpp:
9638 (WebKit::WebBackForwardList::pageClosed): Added.
9639 Tells the web process about all the back/forward
9640 items being removed.
9641 (WebKit::WebBackForwardList::addItem): Ditto.
9642 Also removed a redundant call to didChangeBackForwardList.
9643 (WebKit::WebBackForwardList::clear): Ditto.
9645 * UIProcess/WebBackForwardList.h: Added pageClosed.
9647 * UIProcess/WebPageProxy.cpp:
9648 (WebKit::WebPageProxy::close): Added a call to pageClosed.
9649 (WebKit::WebPageProxy::backForwardRemovedItem): Added.
9650 Sends a message to the web page in the web process.
9652 * UIProcess/WebPageProxy.h: Added backForwardRemovedItem.
9654 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
9655 (WebKit::updateBackForwardItem): Added an itemID argument,
9656 since callers will now be getting it and we don't want to
9657 get it twice. Removed the code to generate an ID. Also
9658 removed some local variables to make the code a little
9659 tighter and clearer.
9660 (WebKit::WK2NotifyHistoryItemChanged): Only call
9661 updateBackForwardItem for items that already have IDs.
9662 We don't want to send cross-process messages for every
9663 history item; just the ones that are top level back/forward
9665 (WebKit::WebBackForwardListProxy::removeItem):
9666 Added. For use when the UI process tells us to remove it.
9667 (WebKit::WebBackForwardListProxy::addItem): Added code to
9668 assign an ID and put this item into the maps. This is called
9669 exactly once on each back/forward item.
9671 * WebProcess/WebPage/WebBackForwardListProxy.h: Added
9674 * WebProcess/WebPage/WebPage.cpp:
9675 (WebKit::WebPage::didRemoveBackForwardItem): Added.
9677 * WebProcess/WebPage/WebPage.h: Added didRemoveBackForwardItem.
9679 * WebProcess/WebPage/WebPage.messages.in: Added
9680 DidRemoveBackForwardItem message.
9682 2011-01-05 Steve Falkenburg <sfalken@apple.com>
9684 Reviewed by Darin Adler.
9686 Debug and Release builds on Windows clobber each other
9687 https://bugs.webkit.org/show_bug.cgi?id=49185
9689 Changes the structure of WebKitBuild build products directory so we
9690 completely separate each build configuration into independent directories.
9692 Although we previously had per-configuration directories for obj, this change adds
9693 per-configuration directories for bin, lib, obj, and include. Each configuration's
9694 build products are stored within a directory inside of WebKitBuild.
9696 Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir),
9697 defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName).
9700 * win/WebKit2.vcproj:
9701 * win/WebKit2Common.vsprops:
9702 * win/WebKit2Generated.make:
9703 * win/WebKit2GeneratedCommon.vsprops:
9704 * win/WebKit2WebProcessPostBuild.cmd:
9705 * win/WebKit2WebProcessPreBuild.cmd:
9706 * win/WebKitPostBuild.cmd:
9707 * win/WebKitPreBuild.cmd:
9709 2011-01-05 Alexey Proskuryakov <ap@apple.com>
9711 Reviewed by Anders Carlsson.
9713 https://bugs.webkit.org/show_bug.cgi?id=51973
9714 Make main frame PDF printing work
9716 * UIProcess/API/mac/PDFViewController.h:
9717 * UIProcess/API/mac/PDFViewController.mm: (WebKit::PDFViewController::makePrintOperation):
9718 Ask PDFDocument to create an NSPrintOperation.
9720 * UIProcess/API/mac/WKView.h:
9721 * UIProcess/API/mac/WKView.mm:
9722 (-[WKView printOperationWithPrintInfo:forFrame:]): Create a new NSPrintOperation, either
9723 from scratch or from a PDF view.
9724 (-[WKView canPrintHeadersAndFooters]): Report if the view can be re-paginated to add headers
9727 2011-01-05 Anders Carlsson <andersca@apple.com>
9729 Reviewed by Sam Weinig.
9731 <rdar://problem/8750248>
9732 Need a way to create a new DownloadProxy from an arbitrary resource request
9734 <rdar://problem/8750465>
9735 Need a way to start a download in WKDownload
9737 <rdar://problem/8752204>
9738 WK2 Context Menus - "Save linked file" support
9740 * Shared/ContextMenuState.h: Added.
9741 Add a ContextMenuState struct which contains state for context menus.
9743 * UIProcess/API/C/WKContext.cpp:
9744 (WKContextDownloadURLRequest):
9745 Call WebContext::download.
9747 * UIProcess/WebContext.cpp:
9748 (WebKit::WebContext::download):
9749 Send a DownloadRequest message to the web process.
9751 * UIProcess/WebPageProxy.cpp:
9752 (WebKit::WebPageProxy::showContextMenu):
9753 Set the active context menu state.
9755 (WebKit::WebPageProxy::contextMenuItemSelected):
9756 Handle ContextMenuItemTagDownloadImageToDisk and ContextMenuItemTagDownloadLinkToDisk by calling
9757 WebContext::Download, passing the respective URLs.
9759 * UIProcess/WebPageProxy.messages.in:
9760 ShowContextMenu now takes state as well.
9762 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
9763 (WebKit::WebContextMenuClient::downloadURL):
9764 Assert that this is never reached; downloads are handled in the UI process.
9766 * WebProcess/WebPage/WebContextMenu.cpp:
9767 (WebKit::WebContextMenu::show):
9768 Pass the context menu state along when sending the ShowContextMenu message.
9770 * WebProcess/WebProcess.cpp:
9771 (WebKit::WebProcess::downloadRequest):
9772 Call the shared DownloadManager.
9774 * WebProcess/WebProcess.messages.in:
9775 Add DownloadRequest message.
9777 * WebKit2.xcodeproj/project.pbxproj:
9778 * win/WebKit2.vcproj:
9779 Add ContextMenuState.h.
9781 2011-01-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
9783 Unreviewed build fix.
9785 [Qt] [Symbian] Fix building NPAPI support
9787 NPEvent is mapped to QAction on Symbian. QAction has no
9788 default constructor, so toNP() fails to build. Add a case for
9789 Symbian behind the OS(SYMBIAN) guard.
9791 * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
9794 2011-01-05 Jeff Miller <jeffm@apple.com>
9796 Reviewed by Dan Bernstein.
9798 Copy WKImageCG.h to include\WebKit2 in build output
9799 https://bugs.webkit.org/show_bug.cgi?id=51944
9801 * win/WebKit2Generated.make:
9802 Add xcopy command to copy WKImageCG.h.
9804 2011-01-05 Brady Eidson <beidson@apple.com>
9806 Reviewed by Sam Weinig.
9808 Part of <rdar://problem/8261624> and https://bugs.webkit.org/show_bug.cgi?id=47355
9809 Change WebKit2 session restoring to restore the full back/forward list
9811 Add a new message to tell the WebProcess to restore a session state:
9812 * WebProcess/WebPage/WebPage.cpp:
9813 (WebKit::WebPage::restoreSession):
9814 * WebProcess/WebPage/WebPage.h:
9815 * WebProcess/WebPage/WebPage.messages.in: Add the new message, AND fix the intentional misspellings.
9819 Change WebProcess back/forward list item ids to be odd (UIProcess's will be even):
9820 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
9821 (WebKit::generateHistoryItemID):
9823 Provide accessors to the entries in the list to pass to the WebProcess:
9824 * UIProcess/WebBackForwardList.h:
9825 (WebKit::WebBackForwardList::entries):
9826 (WebKit::WebBackForwardList::currentIndex):
9828 Add decoding of the saved back/forward list itmes (we already encode them):
9829 * UIProcess/cf/WebBackForwardListCF.cpp:
9830 (WebKit::generateWebBackForwardItemID):
9831 (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
9833 Instead of loading the current URL, pass the entire last back to the WebProcess:
9834 * UIProcess/cf/WebPageProxyCF.cpp:
9835 (WebKit::WebPageProxy::restoreFromSessionStateData):
9837 2011-01-05 Brady Eidson <beidson@apple.com>
9839 Reviewed by Darin Adler.
9841 https://bugs.webkit.org/show_bug.cgi?id=51953
9842 Add a "SessionState" object for IPC messaging.
9844 This object includes all data necessary to restore a session state;
9845 For now, this is just the back/forward list to restore.
9847 * Shared/SessionState.cpp: Added.
9848 (WebKit::SessionState::SessionState):
9849 (WebKit::SessionState::encode):
9850 (WebKit::SessionState::decode):
9851 * Shared/SessionState.h: Added.
9852 (WebKit::SessionState::list):
9853 (WebKit::SessionState::currentIndex):
9856 * WebKit2.xcodeproj/project.pbxproj:
9857 * win/WebKit2.vcproj:
9859 2011-01-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
9861 Unreviewed build fix.
9863 Include unistd.h for _exit() for non-Windows builds.
9865 Build break noticed on QtWebkit Symbian builds.
9867 * Shared/ChildProcess.cpp:
9869 2011-01-05 Brady Eidson <beidson@apple.com>
9871 Reviewed by Darin Adler.
9873 https://bugs.webkit.org/show_bug.cgi?id=51949
9874 Make WebBackForwardListItem shared, and add encoders and decoders
9876 * Shared/WebBackForwardListItem.cpp: Copied from UIProcess/WebBackForwardListItem.cpp.
9877 (WebKit::WebBackForwardListItem::encode):
9878 (WebKit::WebBackForwardListItem::decode):
9879 * Shared/WebBackForwardListItem.h: Copied from UIProcess/WebBackForwardListItem.h.
9880 * UIProcess/WebBackForwardListItem.cpp: Removed.
9881 * UIProcess/WebBackForwardListItem.h: Removed.
9884 * WebKit2.xcodeproj/project.pbxproj:
9885 * win/WebKit2.vcproj:
9887 2011-01-05 Anders Carlsson <andersca@apple.com>
9889 Reviewed by Sam Weinig.
9891 Handle smart insert/delete
9892 https://bugs.webkit.org/show_bug.cgi?id=51946
9894 * Shared/WebPageCreationParameters.cpp:
9895 (WebKit::WebPageCreationParameters::encode):
9896 (WebKit::WebPageCreationParameters::decode):
9897 * Shared/WebPageCreationParameters.h:
9898 Add isSmartInsertDelete enabled.
9900 * UIProcess/API/mac/WKView.mm:
9901 (-[WKView validateUserInterfaceItem:]):
9902 Handle toggleSmartInsertDelete:.
9904 (-[WKView toggleSmartInsertDelete:]):
9905 Toggle the smart insert/delete state.
9907 * UIProcess/TextChecker.h:
9908 Add isSmartInsertDeleteEnabled and setSmartInsertDeleteEnabled.
9910 * UIProcess/WebPageProxy.cpp:
9911 (WebKit::WebPageProxy::WebPageProxy):
9912 Initialize m_isSmartInsertDeleteEnabled.
9914 (WebKit::WebPageProxy::contextMenuItemSelected):
9915 Handle ContextMenuItemTagSmartCopyPaste.
9917 (WebKit::WebPageProxy::setSmartInsertDeleteEnabled):
9918 Update the state and send a SetSmartInsertDeleteEnabled message.
9920 (WebKit::WebPageProxy::creationParameters):
9921 Initialize isSmartInsertDeleteEnabled.
9923 * UIProcess/WebPageProxy.h:
9924 (WebKit::WebPageProxy::isSmartInsertDeleteEnabled):
9925 Return m_isSmartInsertDeleteEnabled.
9927 * UIProcess/mac/TextCheckerMac.mm:
9928 (WebKit::TextChecker::isSmartInsertDeleteEnabled):
9929 (WebKit::TextChecker::setSmartInsertDeleteEnabled):
9930 Store and fetch the smart insert delete state.
9932 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
9933 (WebKit::WebEditorClient::smartInsertDeleteEnabled):
9934 Call WebPage::isSmartInsertDeleteEnabled.
9936 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
9937 (WebKit::WebEditorClient::toggleSmartInsertDelete):
9938 Assert that this is never called.
9940 * WebProcess/WebPage/WebPage.cpp:
9941 (WebKit::WebPage::WebPage):
9942 Initialize m_isSmartInsertDeleteEnabled
9944 * WebProcess/WebPage/WebPage.h:
9945 (WebKit::WebPage::isSmartInsertDeleteEnabled):
9946 (WebKit::WebPage::setSmartInsertDeleteEnabled):
9947 Add getter and setter.
9949 * WebProcess/WebPage/WebPage.messages.in:
9950 Add SetSmartInsertDeleteEnabled message.
9952 2011-01-05 Anders Carlsson <andersca@apple.com>
9956 * WebProcess/WebPage/WebPage.cpp:
9958 2011-01-05 Anders Carlsson <andersca@apple.com>
9960 Reviewed by Adele Peterson.
9962 Implement word transformation
9963 https://bugs.webkit.org/show_bug.cgi?id=51943
9965 * UIProcess/API/mac/WKView.mm:
9966 (-[WKView validateUserInterfaceItem:]):
9967 Handle the word transformation selectors.
9969 (-[WKView uppercaseWord:]):
9970 (-[WKView lowercaseWord:]):
9971 (-[WKView capitalizeWord:]):
9972 Call down to the WebPageProxy.
9974 * UIProcess/WebPageProxy.cpp:
9975 (WebKit::WebPageProxy::uppercaseWord):
9976 (WebKit::WebPageProxy::lowercaseWord):
9977 (WebKit::WebPageProxy::capitalizeWord):
9978 Send messages to the WebPage.
9980 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
9981 (WebKit::changeWordCase):
9982 Add helper function.
9984 (WebKit::WebEditorClient::uppercaseWord):
9985 (WebKit::WebEditorClient::lowercaseWord):
9986 (WebKit::WebEditorClient::capitalizeWord):
9987 Call helper function.
9989 * WebProcess/WebPage/WebPage.cpp:
9990 (WebKit::WebPage::changeSpellingToWord):
9991 Call replaceSelectionWithText.
9993 (WebKit::WebPage::uppercaseWord):
9994 (WebKit::WebPage::lowercaseWord):
9995 (WebKit::WebPage::capitalizeWord):
9996 Call the editor functions.
9998 (WebKit::WebPage::replaceSelectionWithText):
9999 New helper function that replaces the selected string with another string.
10001 * WebProcess/WebPage/WebPage.messages.in:
10004 2011-01-05 Alexey Proskuryakov <ap@apple.com>
10006 Reviewed by Anders Carlsson.
10008 https://bugs.webkit.org/show_bug.cgi?id=51935
10009 Add WebKit2 API for largest frame
10011 * UIProcess/API/C/WKPage.cpp:
10012 (WKPageGetFrameSetLargestFrame):
10013 * UIProcess/API/C/WKPage.h:
10015 2011-01-05 Anders Carlsson <andersca@apple.com>
10017 Reviewed by Sam Weinig.
10019 More work on spelling
10020 https://bugs.webkit.org/show_bug.cgi?id=51939
10022 * UIProcess/API/mac/WKView.mm:
10023 (-[WKView validateUserInterfaceItem:]):
10024 Handle changeSpelling: as well.
10026 (-[WKView showGuessPanel:]):
10027 Show or hide the guess panel.
10029 (-[WKView checkSpelling:]):
10030 Pass false to advanceToNextMisspelling.
10032 (-[WKView changeSpelling:]):
10033 Call changeSpellingToWord.
10035 * UIProcess/TextChecker.h:
10036 * UIProcess/WebPageProxy.cpp:
10037 (WebKit::WebPageProxy::WebPageProxy):
10038 Initialize m_pendingLearnOrIgnoreWordMessageCount.
10040 (WebKit::WebPageProxy::contextMenuItemSelected):
10041 Handle smart toggles directly in the UI process, keep track of whether
10042 we're asked to learn or ignore a word.
10044 (WebKit::WebPageProxy::advanceToNextMisspelling):
10045 Pass the boolean through.
10047 (WebKit::WebPageProxy::changeSpellingToWord):
10048 Send a ChangeSpellingToWord message.
10050 (WebKit::WebPageProxy::learnWord):
10051 (WebKit::WebPageProxy::ignoreWord):
10052 Check that we do have a pending learn or ignore word message. Call through to
10055 (WebKit::WebPageProxy::processDidCrash):
10056 Reset the m_pendingLearnOrIgnoreWordMessageCount variable.
10058 * UIProcess/WebPageProxy.h:
10059 * UIProcess/WebPageProxy.messages.in:
10062 * UIProcess/mac/TextCheckerMac.mm:
10063 (WebKit::TextChecker::learnWord):
10064 (WebKit::TextChecker::ignoreWord):
10065 Implement in terms of NSSpellChecker.
10067 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
10068 (WebKit::WebEditorClient::ignoreWordInSpellDocument):
10069 (WebKit::WebEditorClient::learnWord):
10070 Send IgnoreWord and LearnWord messages.
10072 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
10073 (WebKit::WebEditorClient::toggleAutomaticQuoteSubstitution):
10074 (WebKit::WebEditorClient::toggleAutomaticLinkDetection):
10075 (WebKit::WebEditorClient::toggleAutomaticDashSubstitution):
10076 (WebKit::WebEditorClient::toggleAutomaticTextReplacement):
10079 * WebProcess/WebPage/WebPage.cpp:
10080 (WebKit::WebPage::advanceToNextMisspelling):
10081 Pass the bool along to the Editor.
10083 (WebKit::WebPage::changeSpellingToWord):
10084 Replace the selected text.
10086 * WebProcess/WebPage/WebPage.messages.in:
10087 Add new ChangeSpellingToWord message and add a boolean to AdvanceToNextMisspelling.
10089 2011-01-05 Anders Carlsson <andersca@apple.com>
10091 Reviewed by Dan Bernstein.
10093 Keep track of active text substitution preferences
10094 https://bugs.webkit.org/show_bug.cgi?id=51931
10096 * Shared/TextCheckerState.h:
10097 * UIProcess/API/mac/WKView.mm:
10098 (-[WKView validateUserInterfaceItem:]):
10099 Handle new selectors, mostly copied from WebKit1 code.
10101 (-[WKView orderFrontSubstitutionsPanel:]):
10102 Open the substitution panel.
10104 (-[WKView isAutomaticQuoteSubstitutionEnabled]):
10105 (-[WKView setAutomaticQuoteSubstitutionEnabled:]):
10106 (-[WKView toggleAutomaticQuoteSubstitution:]):
10107 (-[WKView isAutomaticDashSubstitutionEnabled]):
10108 (-[WKView setAutomaticDashSubstitutionEnabled:]):
10109 (-[WKView toggleAutomaticDashSubstitution:]):
10110 (-[WKView isAutomaticLinkDetectionEnabled]):
10111 (-[WKView setAutomaticLinkDetectionEnabled:]):
10112 (-[WKView toggleAutomaticLinkDetection:]):
10113 (-[WKView isAutomaticTextReplacementEnabled]):
10114 (-[WKView setAutomaticTextReplacementEnabled:]):
10115 (-[WKView toggleAutomaticTextReplacement:]):
10116 Call the text checker, and update the state in the web process if needed.
10118 * UIProcess/TextChecker.h:
10121 * UIProcess/mac/TextCheckerMac.mm:
10122 (WebKit::initializeState):
10123 Initialize flags from user defaults.
10125 (WebKit::TextChecker::setAutomaticQuoteSubstitutionEnabled):
10126 (WebKit::TextChecker::setAutomaticDashSubstitutionEnabled):
10127 (WebKit::TextChecker::setAutomaticLinkDetectionEnabled):
10128 (WebKit::TextChecker::setAutomaticTextReplacementEnabled):
10129 Update and save the flags.
10131 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
10132 (WebKit::WebEditorClient::isAutomaticQuoteSubstitutionEnabled):
10133 (WebKit::WebEditorClient::isAutomaticLinkDetectionEnabled):
10134 (WebKit::WebEditorClient::isAutomaticDashSubstitutionEnabled):
10135 (WebKit::WebEditorClient::isAutomaticTextReplacementEnabled):
10136 Get the text checker state.
10138 2011-01-05 Dan Bernstein <mitz@apple.com>
10140 Rubber-stamped by Darin Adler.
10142 Cleaned up com.apple.WebProcess.sb
10144 * WebProcess/com.apple.WebProcess.sb: Moved the closing parentheses of multi-line blocks to
10145 their own lines. Changed to use WebKit-standard 4-space indentation.
10147 2011-01-05 Alexey Proskuryakov <ap@apple.com>
10149 Reviewed by Sam Weinig.
10151 https://bugs.webkit.org/show_bug.cgi?id=51903
10152 Tell UI process which subframe is largest
10154 * UIProcess/WebPageProxy.h:
10155 (WebKit::WebPageProxy::frameSetLargestFrame):
10156 Remember largest frame in frameset pages.
10158 * UIProcess/WebPageProxy.cpp:
10159 (WebKit::WebPageProxy::frameDidBecomeFrameSet): Reset stored largest frame if main frame
10160 changes to a frameset or back.
10161 (WebKit::WebPageProxy::frameSetLargestFrameChanged): Store a new largest frame when notified
10164 * UIProcess/WebPageProxy.messages.in: Added FrameSetLargestFrameChanged.
10166 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
10167 (WebKit::area): Calculate area of a frame.
10168 (WebKit::findLargestFrameInFrameSet): Find largest first-level subframe in a frameset page.
10169 (WebKit::WebChromeClient::contentsSizeChanged): Recalculate largest frame, and notify UI
10170 process if it changed.
10172 * WebProcess/WebCoreSupport/WebChromeClient.h: Store the latest largest frame.
10174 * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::size):
10175 * WebProcess/WebPage/WebFrame.h:
10178 2011-01-04 Benjamin Poulain <benjamin.poulain@nokia.com>
10180 Reviewed by Kenneth Rohde Christiansen.
10182 [Qt] [WK2] Add support for non-trivial context menu action
10183 https://bugs.webkit.org/show_bug.cgi?id=51902
10185 Implement a call back from the QAction triggered in the UIProcess to the
10186 action in WebProcess.
10188 A few basic actions have been implemented based on this feature.
10190 * UIProcess/API/qt/qwkpage.cpp:
10191 (contextMenuActionForWebAction):
10192 (QWKPage::triggerAction):
10194 * UIProcess/API/qt/qwkpage.h:
10195 * UIProcess/qt/WebContextMenuProxyQt.cpp:
10196 (WebKit::webActionForContextMenuAction):
10198 2011-01-04 Siddharth Mathur <siddharth.mathur@nokia.com>
10200 Reviewed by Laszlo Gombos.
10202 Include unistd.h for sleep() for non-Windows builds.
10204 * WebProcess/WebProcess.cpp:
10205 * WebProcess/qt/WebProcessMainQt.cpp:
10207 2011-01-04 Brian Weinstein <bweinstein@apple.com>
10209 Windows build fix. Change the inline type of consumePermanently.
10211 * Shared/SandboxExtension.h:
10212 (WebKit::SandboxExtension::consumePermanently):
10214 2011-01-04 Anders Carlsson <andersca@apple.com>
10216 Reviewed by Dan Bernstein.
10218 <rdar://problem/8821203> Sandbox violations trying to access the Safari cache
10220 * Shared/SandboxExtension.h:
10221 (WebKit::SandboxExtension::consumePermanently):
10222 New function which consumes a sandbox extension and destroys it, making it impossible
10223 to later revoke it.
10225 * Shared/WebProcessCreationParameters.cpp:
10226 (WebKit::WebProcessCreationParameters::encode):
10227 (WebKit::WebProcessCreationParameters::decode):
10228 Encode and decode the path extension handle.
10230 * Shared/mac/SandboxExtensionMac.mm:
10231 (WebKit::SandboxExtension::createHandle):
10232 Standardize the path before creating the handle.
10234 * UIProcess/mac/WebContextMac.mm:
10235 (WebKit::WebContext::platformInitializeWebProcess):
10236 Create a sandbox extension for the cache path.
10238 * WebProcess/mac/WebProcessMac.mm:
10239 (WebKit::WebProcess::platformInitializeWebProcess):
10240 Consume the sandbox extension.
10242 2011-01-04 Anders Carlsson <andersca@apple.com>
10246 * UIProcess/mac/TextCheckerMac.mm:
10247 (WebKit::TextChecker::getGuessesForWord):
10249 2011-01-04 Jeff Miller <jeffm@apple.com>
10251 Reviewed by Darin Adler.
10253 Mouse events in WebKit2 on Windows need to know whether the click activated the WebView to match WebKit1 behavior.
10254 https://bugs.webkit.org/show_bug.cgi?id=51228
10256 * Shared/WebEvent.h:
10257 (WebKit::WebMouseEvent::didActivateWebView):
10258 Add m_didActivateWebView to WebMouseEvent on Windows.
10260 * Shared/WebEventConversion.cpp:
10261 (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
10262 Propagate whether the click activated the WebView when converting to a PlatformMouseEvent.
10264 * Shared/WebMouseEvent.cpp:
10265 (WebKit::WebMouseEvent::WebMouseEvent):
10266 Add m_didActivateWebView to WebMouseEvent on Windows.
10268 (WebKit::WebMouseEvent::encode):
10269 (WebKit::WebMouseEvent::decode):
10270 Encode and decode new m_didActivateWebView member variable.
10272 * Shared/win/WebEventFactory.cpp:
10273 (WebKit::WebEventFactory::createWebMouseEvent):
10274 * Shared/win/WebEventFactory.h:
10275 Add didActivateWebView parameter to createWebMouseEvent().
10277 * UIProcess/win/WebView.cpp:
10278 (WebKit::WebView::wndProc):
10279 (WebKit::WebView::WebView):
10280 (WebKit::WebView::onMouseEvent):
10281 * UIProcess/win/WebView.h:
10282 (WebKit::WebView::setWasActivatedByMouseEvent):
10283 Keep track of whether the click activated the WebView.
10285 2011-01-04 Ivan Krstić <ike@apple.com>
10287 Reviewed and landed by Anders Carlsson.
10289 <rdar://problem/8602585>
10290 <rdar://problem/8711641>
10292 * WebProcess/com.apple.WebProcess.sb:
10293 Fix a misplaced right parenthesis and add a new system path regex.
10295 2011-01-04 Anders Carlsson <andersca@apple.com>
10297 Reviewed by Sam Weinig.
10299 More work on spelling and grammar
10300 https://bugs.webkit.org/show_bug.cgi?id=51910
10302 * Scripts/webkit2/messages.py:
10303 Add special case for WebCore::TextCheckingResult.
10305 * Shared/NotImplemented.h:
10306 Fix macro so that defining DISABLE_NOT_IMPLEMENTED_WARNINGS to 0 will enable the warnings.
10308 * Shared/WebCoreArgumentCoders.h:
10309 Add argument coders for WebCore::GrammarDetail and WebCore::TextCheckingResult.
10311 * UIProcess/API/mac/WKView.mm:
10312 (-[WKView checkSpelling:]):
10313 Call advanceToNextMisspelling.
10315 * UIProcess/TextChecker.h:
10316 Add new NSSpellChecker wrappers.
10318 * UIProcess/WebPageProxy.cpp:
10319 (WebKit::WebPageProxy::WebPageProxy):
10320 Initialize the new member variables.
10322 (WebKit::WebPageProxy::~WebPageProxy):
10323 Call TextChecker::closeSpellDocumentWithTag.
10325 (WebKit::WebPageProxy::advanceToNextMisspelling):
10326 Send the AdvanceToNextMisspelling message.
10328 (WebKit::WebPageProxy::spellDocumentTag):
10329 Create a spell document tag if necessary.
10331 (WebKit::WebPageProxy::checkTextOfParagraph):
10332 (WebKit::WebPageProxy::updateSpellingUIWithMisspelledWord):
10333 (WebKit::WebPageProxy::getGuessesForWord):
10334 Call the TextChecker.
10336 * UIProcess/WebPageProxy.messages.in:
10339 * UIProcess/mac/TextCheckerMac.mm:
10340 (WebKit::TextChecker::uniqueSpellDocumentTag):
10341 (WebKit::TextChecker::closeSpellDocumentWithTag):
10342 (WebKit::TextChecker::checkTextOfParagraph):
10343 (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
10344 (WebKit::TextChecker::getGuessesForWord):
10345 Add NSSpellChecker wrappers.
10347 * UIProcess/qt/TextCheckerQt.cpp:
10348 * UIProcess/win/TextCheckerWin.cpp:
10351 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
10352 (WebKit::WebEditorClient::isContinuousSpellCheckingEnabled):
10353 (WebKit::WebEditorClient::isGrammarCheckingEnabled):
10354 Get the text checking state from the web process.
10356 (WebKit::WebEditorClient::updateSpellingUIWithMisspelledWord):
10357 (WebKit::WebEditorClient::getGuessesForWord):
10358 Proxy calls to the UI process.
10360 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
10361 (WebKit::WebEditorClient::isAutomaticSpellingCorrectionEnabled):
10363 (WebKit::WebEditorClient::checkTextOfParagraph):
10364 Proxy calls to the UI process.
10366 * WebProcess/WebPage/WebPage.cpp:
10367 (WebKit::WebPage::advanceToNextMisspelling):
10370 * WebProcess/WebPage/WebPage.messages.in:
10371 Add AdvanceToNextMisspelling message.
10373 * WebProcess/WebProcess.cpp:
10374 (WebKit::WebProcess::initializeWebProcess):
10375 Set the text checker state.
10377 2011-01-04 Chris Fleizach <cfleizach@apple.com>
10379 Unreviewed. Build fix.
10381 WK2: Support Accessibility
10382 https://bugs.webkit.org/show_bug.cgi?id=51859
10384 * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm:
10386 2011-01-04 Chris Fleizach <cfleizach@apple.com>
10388 Unreviewed. Build fix.
10390 WK2: Support Accessibility
10391 https://bugs.webkit.org/show_bug.cgi?id=51859
10393 * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm:
10394 (-[AccessibilityWebPageObject accessibilityAttributeValue:]):
10396 2011-01-04 Chris Fleizach <cfleizach@apple.com>
10398 Reviewed by Sam Weinig.
10400 WK2: Support Accessibility
10401 https://bugs.webkit.org/show_bug.cgi?id=51859
10403 Implement remote accessibility API to support cross process accessibility
10404 on the Mac platform.
10406 * Shared/WebProcessCreationParameters.cpp:
10407 (WebKit::WebProcessCreationParameters::encode):
10408 (WebKit::WebProcessCreationParameters::decode):
10409 * Shared/WebProcessCreationParameters.h:
10410 * UIProcess/API/mac/PageClientImpl.h:
10411 * UIProcess/API/mac/PageClientImpl.mm:
10412 (WebKit::PageClientImpl::accessibilityChildTokenReceived):
10413 * UIProcess/API/mac/WKView.mm:
10414 (-[WKView initWithFrame:contextRef:pageGroupRef:]):
10415 (-[WKView _updateWindowAndViewFrames]):
10416 (-[WKView _setAccessibilityChildToken:]):
10417 (-[WKView accessibilityIsIgnored]):
10418 (-[WKView accessibilityHitTest:]):
10419 (-[WKView accessibilityAttributeValue:]):
10420 * UIProcess/API/mac/WKViewInternal.h:
10421 * UIProcess/PageClient.h:
10422 * UIProcess/WebContext.cpp:
10423 (WebKit::WebContext::ensureWebProcess):
10424 * UIProcess/WebPageProxy.cpp:
10425 (WebKit::WebPageProxy::windowAndViewFramesChanged):
10426 (WebKit::WebPageProxy::didReceiveAccessibilityPageToken):
10427 (WebKit::WebPageProxy::sendAccessibilityPresenterToken):
10428 * UIProcess/WebPageProxy.h:
10429 * UIProcess/WebPageProxy.messages.in:
10430 * WebKit2.xcodeproj/project.pbxproj:
10431 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
10432 (WebKit::WebFrameLoaderClient::accessibilityRemoteObject):
10433 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
10434 * WebProcess/WebPage/WebPage.cpp:
10435 (WebKit::WebPage::windowAndViewFramesChanged):
10436 * WebProcess/WebPage/WebPage.h:
10437 (WebKit::WebPage::accessibilityPosition):
10438 * WebProcess/WebPage/WebPage.messages.in:
10439 * WebProcess/WebPage/mac/AccessibilityWebPageObject.h: Added.
10440 * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm: Added.
10441 (-[AccessibilityWebPageObject setWebPage:]):
10442 (-[AccessibilityWebPageObject setRemoteParent:]):
10443 (-[AccessibilityWebPageObject dealloc]):
10444 (-[AccessibilityWebPageObject accessibilityIsIgnored]):
10445 (-[AccessibilityWebPageObject accessibilityAttributeNames]):
10446 (-[AccessibilityWebPageObject accessibilityIsAttributeSettable:]):
10447 (-[AccessibilityWebPageObject accessibilitySetValue:forAttribute:]):
10448 (-[AccessibilityWebPageObject accessibilityActionNames]):
10449 (-[AccessibilityWebPageObject accessibilityChildren]):
10450 (-[AccessibilityWebPageObject accessibilityAttributeValue:]):
10451 (-[AccessibilityWebPageObject accessibilityShouldUseUniqueId]):
10452 (-[AccessibilityWebPageObject accessibilityHitTest:]):
10453 (-[AccessibilityWebPageObject accessibilityFocusedUIElement]):
10454 * WebProcess/WebPage/mac/WebPageMac.mm:
10455 (WebKit::WebPage::platformInitialize):
10456 (WebKit::WebPage::sendAccessibilityPresenterToken):
10457 (WebKit::WebPage::accessibilityRemoteObject):
10458 * WebProcess/WebProcess.cpp:
10459 (WebKit::WebProcess::initializeWebProcess):
10460 * WebProcess/WebProcess.h:
10461 (WebKit::WebProcess::presenterApplicationPid):
10462 * WebProcess/mac/WebProcessMainMac.mm:
10463 (WebKit::WebProcessMain):
10465 2011-01-04 Brady Eidson <beidson@apple.com>
10467 Reviewed by Darin Adler.
10469 Get rid of an extra copy in the back/forward item IPC message by using a DataReference.
10471 * UIProcess/WebBackForwardListItem.cpp:
10472 (WebKit::WebBackForwardListItem::WebBackForwardListItem):
10473 (WebKit::WebBackForwardListItem::setBackForwardData):
10474 * UIProcess/WebBackForwardListItem.h:
10476 * UIProcess/WebPageProxy.cpp:
10477 (WebKit::WebPageProxy::dataCallback): Get rid of no-longer-needed check for size 0.
10479 * UIProcess/WebProcessProxy.cpp:
10480 (WebKit::WebProcessProxy::addBackForwardItem):
10481 * UIProcess/WebProcessProxy.h:
10483 * UIProcess/WebProcessProxy.messages.in:
10485 * WebProcess/WebPage/EncoderAdapter.cpp:
10486 (WebKit::EncoderAdapter::data):
10487 * WebProcess/WebPage/EncoderAdapter.h:
10489 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
10491 2011-01-04 Brady Eidson <beidson@apple.com>
10493 Reviewed by Darin Adler.
10495 Store more data per history entry in the session state blob.
10497 * UIProcess/WebBackForwardListItem.cpp:
10498 (WebKit::WebBackForwardListItem::WebBackForwardListItem):
10499 * UIProcess/WebBackForwardListItem.h:
10500 (WebKit::WebBackForwardListItem::create):
10502 * UIProcess/WebProcessProxy.cpp:
10503 (WebKit::WebProcessProxy::addBackForwardItem):
10505 * UIProcess/cf/WebBackForwardListCF.cpp:
10506 (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
10508 * UIProcess/cf/WebPageProxyCF.cpp:
10510 2011-01-04 Darin Adler <darin@apple.com>
10512 Reviewed by Brady Eidson.
10514 Add back/forward encoding and decoding to WebKit2
10515 https://bugs.webkit.org/show_bug.cgi?id=51901
10517 * GNUmakefile.am: Added new source files.
10518 * WebKit2.pro: Ditto.
10519 * WebKit2.xcodeproj/project.pbxproj: Ditto.
10520 * win/WebKit2.vcproj: Ditto.
10522 * WebProcess/WebPage/DecoderAdapter.cpp: Added.
10523 * WebProcess/WebPage/DecoderAdapter.h: Added.
10524 * WebProcess/WebPage/EncoderAdapter.cpp: Added.
10525 * WebProcess/WebPage/EncoderAdapter.h: Added.
10527 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
10528 (WebKit::updateBackForwardItem): Added code to encode the back/forward
10529 tree and send it along. The code to decode needs to wait on Brady's
10532 2011-01-04 Anders Carlsson <andersca@apple.com>
10534 Reviewed by Sam Weinig.
10536 <rdar://problem/8766999> WebKit2: Sandboxing causes certificate error on access to any HTTPS URL
10538 Allow read access to /Library/Preferences/com.apple.security.plist.
10540 * WebProcess/com.apple.WebProcess.sb:
10542 2011-01-04 Anders Carlsson <andersca@apple.com>
10546 * UIProcess/qt/TextCheckerQt.cpp:
10547 * UIProcess/win/TextCheckerWin.cpp:
10549 2011-01-04 Anders Carlsson <andersca@apple.com>
10551 Reviewed by Darin Adler.
10553 Don't use macros for the key names.
10555 * UIProcess/mac/TextCheckerMac.mm:
10557 2011-01-04 Anders Carlsson <andersca@apple.com>
10559 Reviewed by Sam Weinig.
10561 Send over text checker state to the web process
10562 https://bugs.webkit.org/show_bug.cgi?id=51896
10564 * Platform/CoreIPC/Arguments.h:
10565 Remove 'const' from the argument, this matches all the other Arguments classes.
10567 * Shared/TextCheckerState.h: Added.
10568 New class with text checker state.
10570 * Shared/WebProcessCreationParameters.cpp:
10571 (WebKit::WebProcessCreationParameters::encode):
10572 (WebKit::WebProcessCreationParameters::decode):
10573 * Shared/WebProcessCreationParameters.h:
10574 Add textCheckerState.
10576 * UIProcess/API/mac/WKView.mm:
10577 (-[WKView validateUserInterfaceItem:]):
10578 (-[WKView toggleContinuousSpellChecking:]):
10579 (-[WKView toggleGrammarChecking:]):
10580 (-[WKView toggleAutomaticSpellingCorrection:]):
10581 Get the needed flags from the text checker state.
10583 * UIProcess/TextChecker.h:
10584 Add state() function, remove getters.
10586 * UIProcess/WebContext.cpp:
10587 (WebKit::WebContext::ensureWebProcess):
10588 Initialize the text checker state.
10590 * UIProcess/WebProcessProxy.cpp:
10591 (WebKit::WebProcessProxy::updateTextCheckerState):
10592 Send the SetTextCheckerState message to the web process.
10594 * UIProcess/mac/TextCheckerMac.mm:
10595 (WebKit::initializeState):
10596 Initialize the state from the user defaults.
10598 (WebKit::TextChecker::state):
10601 (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
10602 (WebKit::TextChecker::setGrammarCheckingEnabled):
10603 (WebKit::TextChecker::setAutomaticSpellingCorrectionEnabled):
10604 Make sure to write the new state.
10606 * UIProcess/qt/TextCheckerQt.cpp:
10607 (WebKit::TextChecker::state):
10608 * UIProcess/win/TextCheckerWin.cpp:
10609 (WebKit::TextChecker::state):
10612 * WebKit2.xcodeproj/project.pbxproj:
10613 Add TextCheckerState.h.
10615 * WebProcess/WebProcess.cpp:
10616 (WebKit::WebProcess::WebProcess):
10617 Initialize m_textCheckerState.
10619 (WebKit::WebProcess::setTextCheckerState):
10622 * WebProcess/WebProcess.messages.in:
10623 Add SetTextCheckerState message.
10625 * win/WebKit2.vcproj:
10626 Add TextCheckerState.h.
10628 2011-01-04 Brady Eidson <beidson@apple.com>
10630 Rubberstamped by Anders Carlsson.
10632 Attach a radar # to this FIXME:
10633 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
10635 2011-01-04 Anders Carlsson <andersca@apple.com>
10637 Reviewed by John Sullivan.
10639 Add more spelling/grammar related methods
10640 https://bugs.webkit.org/show_bug.cgi?id=51886
10642 * UIProcess/API/mac/WKView.mm:
10643 (-[WKView validateUserInterfaceItem:]):
10644 Handle more selectors.
10646 (-[WKView showGuessPanel:]):
10649 (-[WKView checkSpelling:]):
10652 (-[WKView toggleAutomaticSpellingCorrection:]):
10653 Toggle automatic spelling correction.
10655 * UIProcess/TextChecker.h:
10656 Add setAutomaticSpellingCorrectionEnabled and isAutomaticSpellingCorrectionEnabled.
10658 * UIProcess/mac/TextCheckerMac.mm:
10659 (WebKit::TextChecker::setAutomaticSpellingCorrectionEnabled):
10660 (WebKit::TextChecker::isAutomaticSpellingCorrectionEnabled):
10663 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
10664 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
10665 Add a Radar URL for the localization FIXMEs.
10667 2011-01-04 Brent Fulgham <bfulgham@webkit.org>
10669 Unreviewed build fix.
10671 * win/WebKit2.vcproj: Correct the missing $(WebKitVSPropsRedirectionDir)
10672 variables that Visual Studio helpfully removes when making changes.
10674 2011-01-04 Brent Fulgham <bfulgham@webkit.org>
10676 Unreviewed build fix.
10678 * win/WebKit2.vcproj: Disable CG-specific WKImageCG.cpp from
10679 Debug_Cairo_CFLite/Release_Cario_CFLite builds.
10681 2011-01-04 Brady Eidson <beidson@apple.com>
10683 Reviewed by Darin Adler.
10685 https://bugs.webkit.org/show_bug.cgi?id=51856
10686 Pass encoded back/forward tree data from the WebProcess to the UIProcess
10688 Remove the WKBackForwardListItemCopyOriginalURL API as it's not needed:
10689 * UIProcess/API/C/WKBackForwardListItem.cpp:
10690 * UIProcess/API/C/WKBackForwardListItem.h:
10691 * UIProcess/API/qt/qwkhistory.cpp:
10692 * UIProcess/API/qt/qwkhistory.h:
10694 * UIProcess/WebBackForwardListItem.cpp:
10695 (WebKit::WebBackForwardListItem::WebBackForwardListItem):
10696 * UIProcess/WebBackForwardListItem.h:
10697 (WebKit::WebBackForwardListItem::create):
10698 (WebKit::WebBackForwardListItem::setBackForwardData):
10699 (WebKit::WebBackForwardListItem::backForwardData):
10701 * UIProcess/WebProcessProxy.cpp:
10702 (WebKit::WebProcessProxy::addBackForwardItem):
10703 * UIProcess/WebProcessProxy.h:
10705 * UIProcess/WebProcessProxy.messages.in:
10707 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
10708 (WebKit::updateBackForwardItem):
10710 2011-01-04 Balazs Kelemen <kbalazs@webkit.org>
10712 Reviewed by Kenneth Rohde Christiansen.
10714 [Qt][WK2] Incomplete clean up on termination
10715 https://bugs.webkit.org/show_bug.cgi?id=51474
10717 Do not kill the web process to force it's termination.
10718 Fix object destruction and cleanup logic and make the cleanup more reliable.
10719 Do not try to cleanup on crash because it is not reliable.
10721 * Platform/CoreIPC/qt/ConnectionQt.cpp:
10722 (CoreIPC::Connection::platformInvalidate): Do not delete the socket if we
10723 do not own it. This is the case with a server connection.
10724 * Platform/qt/MappedMemoryPool.cpp:
10725 Turn MappedMemoryPool into a QObject so the CleanupHandler can destruct it
10726 in the same way as the other objects.
10727 (WebKit::MappedMemoryPool::instance):
10728 (WebKit::MappedMemoryPool::~MappedMemoryPool):
10729 * Platform/qt/MappedMemoryPool.h:
10730 (WebKit::MappedMemoryPool::MappedMemoryPool):
10731 * Platform/qt/SharedMemoryQt.cpp:
10732 (WebKit::SharedMemory::create): No need to care about QCoreApplication::aboutToQuit.
10733 It is handled by the CleanupHandler.
10734 (WebKit::SharedMemory::~SharedMemory): Ditto.
10735 * Shared/qt/CleanupHandler.cpp: Renamed from WebKit2/Shared/qt/CrashHandler.cpp.
10736 No longer try to handle crash but just normal termination.
10737 (WebKit::CleanupHandler::CleanupHandler): Connect deleteObjects with QCoreApplication::aboutToQuit.
10738 Ensure appropriate thread affinity.
10739 (WebKit::CleanupHandler::sigTermHandler): Stop the main event loop.
10740 (WebKit::CleanupHandler::deleteObjects): Use deleteLater instead of delete since it is more reliable.
10741 * Shared/qt/CleanupHandler.h: Renamed from WebKit2/Shared/qt/CrashHandler.h.
10742 (WebKit::CleanupHandler::instance):
10743 (WebKit::CleanupHandler::markForCleanup):
10744 (WebKit::CleanupHandler::unmark):
10745 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
10746 Do not kill the web process immidiately but give it a chance to cleanup.
10747 Use QLocalServer::removeServer for assuring that the socket file will be removed.
10748 (WebKit::ProcessLauncherHelper::serverName):
10749 (WebKit::cleanupAtExit): Renamed from cleanupProcesses. Only kill the web process when it times
10750 out terminating. Fixed the bug of changing the list while iterating it over by disconnecting
10751 from the processStateChanged slot.
10752 (WebKit::QtWebProcess::QtWebProcess): Added missing meta type registration of QProcess::ProcessState.
10753 (WebKit::ProcessLauncherHelper::~ProcessLauncherHelper):
10754 (WebKit::ProcessLauncherHelper::ProcessLauncherHelper): No need to add the the instance to the
10755 CleanupHandler because we will remove the socket file in cleanupAtExit.
10756 (WebKit::ProcessLauncherHelper::instance):
10757 (WebKit::ProcessLauncher::terminateProcess):
10760 2011-01-04 Benjamin Poulain <benjamin.poulain@nokia.com>
10762 Reviewed by Kenneth Rohde Christiansen.
10764 [Qt] [WK2] create an initial implementation of the context menu handling for WebKit 2
10765 https://bugs.webkit.org/show_bug.cgi?id=51825
10767 Implement the necessary methods to get a basic context menu working for Qt.
10769 Only 4 basic WebAction have been added on the UIProcess side: back, forward, stop and reload.
10771 * UIProcess/API/qt/qgraphicswkview.cpp:
10772 (QGraphicsWKView::QGraphicsWKView):
10773 (QGraphicsWKView::showContextMenu):
10774 (QGraphicsWKViewPrivate::QGraphicsWKViewPrivate):
10775 * UIProcess/API/qt/qgraphicswkview.h:
10776 * UIProcess/API/qt/qwkpage.cpp:
10777 (QWKPagePrivate::createContextMenuProxy):
10778 * UIProcess/API/qt/qwkpage.h:
10779 * UIProcess/qt/WebContextMenuProxyQt.cpp:
10780 (WebKit::webActionForContextMenuAction):
10781 (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
10782 (WebKit::WebContextMenuProxyQt::create):
10783 (WebKit::WebContextMenuProxyQt::showContextMenu):
10784 (WebKit::WebContextMenuProxyQt::hideContextMenu):
10785 (WebKit::WebContextMenuProxyQt::createContextMenu):
10786 * UIProcess/qt/WebContextMenuProxyQt.h:
10788 2011-01-03 Yi Shen <yi.4.shen@nokia.com>
10790 Reviewed by Adam Barth.
10792 [Qt] Add SelectAll option to the context menu for the editor
10793 https://bugs.webkit.org/show_bug.cgi?id=50049
10795 Add WebPlatformStrategies::contextMenuItemTagSelectAll for Qt.
10797 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
10798 (WebKit::WebPlatformStrategies::contextMenuItemTagSelectAll):
10799 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
10801 2011-01-03 Sam Weinig <sam@webkit.org>
10803 Reviewed by Anders Carlsson.
10805 Ensure that the correct initial focusable area is focused when tabbing
10806 and shift-tabbing into the WKView.
10808 * UIProcess/API/mac/WKView.mm:
10809 (-[WKView becomeFirstResponder]): Use the keyViewSelectionDirection to set
10812 2011-01-02 Dan Bernstein <mitz@apple.com>
10814 Rubber-stamped by Simon Fraser.
10816 <rdar://problem/8812159> Update copyright strings
10819 * WebProcess/Info.plist:
10821 2011-01-02 Benjamin Poulain <benjamin.poulain@nokia.com>
10823 Reviewed by Csaba Osztrogonác.
10825 WebKit 2 does not build on 64bits with a recent GCC
10826 https://bugs.webkit.org/show_bug.cgi?id=51754
10828 Change the argument coding for DatabaseDetails to use explicitly the 64 bits type.
10830 * Shared/OriginAndDatabases.h:
10831 * Shared/WebCoreArgumentCoders.h:
10833 2011-01-02 Csaba Osztrogonác <ossy@webkit.org>
10835 Reviewed by Adam Barth.
10837 Move JavaScriptCore to Source
10838 https://bugs.webkit.org/show_bug.cgi?id=51604
10840 Workaround until moving all sources to Source directory is finished.
10842 * Scripts/generate-forwarding-headers.pl: Add Sources to searching path for JavaScriptCore.
10844 2011-01-01 Adam Barth <abarth@webkit.org>
10846 Speculative build fix for Qt. Add some more include paths.
10850 2011-01-01 Adam Barth <abarth@webkit.org>
10852 Reviewed by Eric Seidel.
10854 Move JavaScriptCore to Source
10855 https://bugs.webkit.org/show_bug.cgi?id=51604
10858 - Point to JavaScriptCore in its new location.
10860 2010-12-15 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com>
10862 Reviewed by Martin Robinson.
10864 [GTK] Enable building whatever already exists of WebKit2
10865 https://bugs.webkit.org/show_bug.cgi?id=37369
10867 * GNUmakefile.am: Added.
10868 * WebKit2Prefix.h: Included WebCore/config.h for GTK port as the first header
10869 file for WebKit2 sources files.
10871 * gtk/webkit2.pc.in: Added.
10873 2010-12-29 Juha Savolainen <juha.savolainen@weego.fi>
10875 Reviewed by Kenneth Rohde Christiansen.
10877 [Qt] [WK2] Added more webattributes to the qwkpreferences
10878 https://bugs.webkit.org/show_bug.cgi?id=51697
10880 Added PrivateBrowsingEnabled, DeveloperExtrasEnabled, DnsPrefetchEnabled attributes
10882 * UIProcess/API/qt/qwkpreferences.cpp:
10883 (QWKPreferences::testAttribute):
10884 (QWKPreferences::setAttribute):
10885 * UIProcess/API/qt/qwkpreferences.h:
10887 2010-12-27 Sam Weinig <sam@webkit.org>
10889 Reviewed by Anders Carlsson.
10891 WebKit2 snapshots should contain accelerated content
10892 <rdar://problem/8807393>
10893 https://bugs.webkit.org/show_bug.cgi?id=51660
10895 When creating a snapshot, flatten the layer tree for painting so that
10896 accelerated content is included in the snapshot.
10898 * WebProcess/WebPage/WebPage.cpp:
10899 (WebKit::WebPage::snapshotInViewCoordinates):
10900 (WebKit::WebPage::snapshotInDocumentCoordinates):
10902 2010-12-27 Daniel Bates <dbates@rim.com>
10904 Attempt to fix the WebKit2 Windows build after changeset 74698
10905 <http://trac.webkit.org/changeset/74698> (bug #51656).
10907 Add "..\Shared\API\c\WKImage.h" to WebKit2Generated.make.
10909 * win/WebKit2Generated.make:
10911 2010-12-27 Sam Weinig <sam@webkit.org>
10913 Reviewed by Anders Carlsson.
10915 WebKit2: Add API for getting snapshots
10916 https://bugs.webkit.org/show_bug.cgi?id=51656
10918 * Shared/API/c/WKBase.h:
10919 * Shared/API/c/WKImage.cpp: Added.
10920 (WKImageGetTypeID):
10923 * Shared/API/c/WKImage.h: Added.
10924 * Shared/WebImage.cpp: Added.
10925 (WebKit::WebImage::create):
10926 (WebKit::WebImage::size):
10927 * Shared/WebImage.h: Added.
10928 (WebKit::WebImage::backingStore):
10929 (WebKit::WebImage::WebImage):
10930 (WebKit::WebImage::type):
10931 Add a general purpose API image class.
10933 * Shared/API/c/cg: Added.
10934 * Shared/API/c/cg/WKImageCG.cpp: Added.
10935 (WKImageCreateCGImage):
10936 * Shared/API/c/cg/WKImageCG.h: Added.
10937 Add function to convert a WKImageRef to a CGImageRef for platforms that use CG.
10939 * Shared/API/c/WKSharedAPICast.h:
10940 (WebKit::toFloatRect):
10941 (WebKit::toIntSize):
10942 (WebKit::toIntPoint):
10943 (WebKit::toIntRect):
10944 (WebKit::toImageOptions):
10945 Make conversion functions that are ambiguous more explicit.
10947 * Shared/APIObject.h:
10948 * Shared/BackingStore.h:
10949 (WebKit::BackingStore::isBackedBySharedMemory):
10950 * Shared/ImageOptions.h: Added.
10951 * Shared/UserMessageCoders.h:
10952 (WebKit::UserMessageEncoder::baseEncode):
10953 (WebKit::UserMessageDecoder::baseDecode):
10954 Allow a WKImageRef to be passed in user messages. Right now, it only
10955 works if the image is sharable.
10957 * UIProcess/API/C/WKPage.cpp:
10958 (WKPageScaleWebView):
10959 * UIProcess/WebUIClient.cpp:
10960 (WebKit::WebUIClient::windowFrame):
10961 Use the more explicit conversion function name.
10963 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
10964 (WKBundlePageCreateSnapshotInViewCoordinates):
10965 (WKBundlePageCreateSnapshotInDocumentCoordinates):
10966 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
10967 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
10968 (WKBundlePageOverlaySetNeedsDisplay):
10969 * WebProcess/WebPage/WebPage.cpp:
10970 (WebKit::WebPage::snapshotInViewCoordinates):
10971 (WebKit::WebPage::snapshotInDocumentCoordinates):
10972 Add function to take the snapshot.
10974 * WebProcess/WebPage/WebPage.h:
10976 * WebKit2.xcodeproj/project.pbxproj:
10977 * win/WebKit2.vcproj:
10980 2010-12-27 Sam Weinig <sam@webkit.org>
10982 Reviewed by Anders Carlsson.
10984 WebKit2: Add additional API for managing databases
10985 https://bugs.webkit.org/show_bug.cgi?id=51629
10987 - Adds client for the database manager to get notifications
10988 of changes to databases.
10990 * UIProcess/API/C/WKDatabaseManager.cpp:
10991 (WKDatabaseManagerSetClient):
10992 * UIProcess/API/C/WKDatabaseManager.h:
10993 * UIProcess/WebDatabaseManagerProxy.cpp:
10994 (WebKit::WebDatabaseManagerProxy::initializeClient):
10995 (WebKit::WebDatabaseManagerProxy::didModifyOrigin):
10996 (WebKit::WebDatabaseManagerProxy::didModifyDatabase):
10997 * UIProcess/WebDatabaseManagerProxy.h:
10998 * UIProcess/WebDatabaseManagerProxy.messages.in:
10999 * UIProcess/WebDatabaseManagerProxyClient.cpp: Added.
11000 (WebKit::WebDatabaseManagerProxyClient::didModifyOrigin):
11001 (WebKit::WebDatabaseManagerProxyClient::didModifyDatabase):
11002 * UIProcess/WebDatabaseManagerProxyClient.h: Added.
11004 * WebKit2.xcodeproj/project.pbxproj:
11005 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
11006 (WebKit::WebDatabaseManager::WebDatabaseManager):
11007 (WebKit::WebDatabaseManager::~WebDatabaseManager):
11008 (WebKit::WebDatabaseManager::dispatchDidModifyOrigin):
11009 (WebKit::WebDatabaseManager::dispatchDidModifyDatabase):
11010 * WebProcess/WebCoreSupport/WebDatabaseManager.h:
11011 * win/WebKit2.vcproj:
11013 2010-12-27 Sam Weinig <sam@webkit.org>
11015 Reviewed by Anders Carlsson.
11017 WebKit2: Add additional API for managing databases
11018 https://bugs.webkit.org/show_bug.cgi?id=51629
11020 - Adds WKDatabaseManagerGetDatabasesByOrigin, which asynchronously returns
11021 an array of dictionaries containing details about each origin using
11022 databases and details about each database. Keys were added for accessing
11023 the data in the dictionaries.
11024 - Adds WKDatabaseManagerDeleteDatabasesWithNameForOrigin to delete a database
11025 with a specific identifier.
11026 - Adds WKDatabaseManagerSetQuotaForOrigin to set the quota for an origin.
11028 * Shared/OriginAndDatabases.cpp: Added.
11029 (WebKit::OriginAndDatabases::encode):
11030 (WebKit::OriginAndDatabases::decode):
11031 * Shared/OriginAndDatabases.h: Added.
11032 * Shared/WebCoreArgumentCoders.h:
11033 * UIProcess/API/C/WKDatabaseManager.cpp:
11034 (WKDatabaseManagerGetOriginKey):
11035 (WKDatabaseManagerGetOriginQuotaKey):
11036 (WKDatabaseManagerGetOriginUsageKey):
11037 (WKDatabaseManagerGetDatabaseDetailsKey):
11038 (WKDatabaseManagerGetDatabaseDetailsNameKey):
11039 (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey):
11040 (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey):
11041 (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey):
11042 (WKDatabaseManagerGetDatabasesByOrigin):
11043 (callGetDatabasesByOriginBlockAndDispose):
11044 (WKDatabaseManagerGetDatabasesByOrigin_b):
11045 (WKDatabaseManagerGetDatabaseOrigins):
11046 (callGetDatabaseOriginsBlockBlockAndDispose):
11047 (WKDatabaseManagerGetDatabaseOrigins_b):
11048 (WKDatabaseManagerDeleteDatabasesWithNameForOrigin):
11049 (WKDatabaseManagerDeleteDatabasesForOrigin):
11050 (WKDatabaseManagerDeleteAllDatabases):
11051 (WKDatabaseManagerSetQuotaForOrigin):
11052 * UIProcess/API/C/WKDatabaseManager.h:
11053 * UIProcess/WebDatabaseManagerProxy.cpp:
11054 (WebKit::WebDatabaseManagerProxy::originKey):
11055 (WebKit::WebDatabaseManagerProxy::originQuotaKey):
11056 (WebKit::WebDatabaseManagerProxy::originUsageKey):
11057 (WebKit::WebDatabaseManagerProxy::databaseDetailsKey):
11058 (WebKit::WebDatabaseManagerProxy::databaseDetailsNameKey):
11059 (WebKit::WebDatabaseManagerProxy::databaseDetailsDisplayNameKey):
11060 (WebKit::WebDatabaseManagerProxy::databaseDetailsExpectedUsageKey):
11061 (WebKit::WebDatabaseManagerProxy::databaseDetailsCurrentUsageKey):
11062 (WebKit::WebDatabaseManagerProxy::invalidate):
11063 (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
11064 (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
11065 (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
11066 (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
11067 (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
11068 (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
11069 (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
11070 * UIProcess/WebDatabaseManagerProxy.h:
11071 * UIProcess/WebDatabaseManagerProxy.messages.in:
11073 * WebKit2.xcodeproj/project.pbxproj:
11074 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
11075 (WebKit::WebDatabaseManager::getDatabasesByOrigin):
11076 (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
11077 (WebKit::WebDatabaseManager::setQuotaForOrigin):
11078 * WebProcess/WebCoreSupport/WebDatabaseManager.h:
11079 * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in:
11080 * win/WebKit2.vcproj:
11082 2010-12-26 Anders Carlsson <andersca@apple.com>
11084 Reviewed by Dan Bernstein.
11086 Rename DrawingAreaMessage and DrawingAreaLegacyMessage and
11087 DrawingAreaProxyMessage to DrawingAreaProxyLegacyMessage.
11089 * Platform/CoreIPC/MessageID.h:
11090 * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
11091 * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
11092 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
11093 (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
11094 (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
11095 (WebKit::ChunkedUpdateDrawingAreaProxy::update):
11096 (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize):
11097 (WebKit::ChunkedUpdateDrawingAreaProxy::didReceiveMessage):
11098 * UIProcess/LayerBackedDrawingAreaProxy.cpp:
11099 (WebKit::LayerBackedDrawingAreaProxy::sizeDidChange):
11100 (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible):
11101 (WebKit::LayerBackedDrawingAreaProxy::update):
11102 (WebKit::LayerBackedDrawingAreaProxy::didReceiveMessage):
11103 (WebKit::LayerBackedDrawingAreaProxy::didReceiveSyncMessage):
11104 * UIProcess/TiledDrawingAreaProxy.cpp:
11105 (WebKit::TiledDrawingAreaProxy::sizeDidChange):
11106 (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
11107 (WebKit::TiledDrawingAreaProxy::didReceiveMessage):
11108 (WebKit::TiledDrawingAreaProxy::requestTileUpdate):
11109 (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete):
11110 (WebKit::TiledDrawingAreaProxy::takeSnapshot):
11111 (WebKit::TiledDrawingAreaProxy::removeTile):
11112 * UIProcess/WebPageProxy.cpp:
11113 (WebKit::WebPageProxy::didReceiveMessage):
11114 (WebKit::WebPageProxy::didReceiveSyncMessage):
11115 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
11116 (WebKit::ChunkedUpdateDrawingArea::display):
11117 (WebKit::ChunkedUpdateDrawingArea::setSize):
11118 (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
11119 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
11120 (WebKit::LayerBackedDrawingArea::setSize):
11121 (WebKit::LayerBackedDrawingArea::didReceiveMessage):
11122 * WebProcess/WebPage/TiledDrawingArea.cpp:
11123 (WebKit::TiledDrawingArea::display):
11124 (WebKit::TiledDrawingArea::setSize):
11125 (WebKit::TiledDrawingArea::updateTile):
11126 (WebKit::TiledDrawingArea::tileUpdateTimerFired):
11127 (WebKit::TiledDrawingArea::didReceiveMessage):
11128 * WebProcess/WebPage/WebPage.cpp:
11129 (WebKit::WebPage::didReceiveMessage):
11130 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
11131 (WebKit::LayerBackedDrawingArea::attachCompositingContext):
11133 2010-12-26 Anders Carlsson <andersca@apple.com>
11135 Reviewed by Sam Weinig.
11137 Drawing area cleanup. Remove a bunch of redundant functions that just ended
11138 up calling setNeedsDisplay.
11140 * UIProcess/DrawingAreaProxy.h:
11141 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
11142 (WebKit::WebChromeClient::invalidateWindow):
11143 (WebKit::WebChromeClient::invalidateContentsAndWindow):
11144 (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
11145 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
11146 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
11147 * WebProcess/WebPage/DrawingArea.h:
11148 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
11149 * WebProcess/WebPage/LayerBackedDrawingArea.h:
11150 * WebProcess/WebPage/TiledDrawingArea.cpp:
11151 * WebProcess/WebPage/TiledDrawingArea.h:
11153 2010-12-25 Sam Weinig <sam@webkit.org>
11155 Reviewed by Dan Bernstein.
11157 Fill in some more preferences for WebKit2
11158 https://bugs.webkit.org/show_bug.cgi?id=51610
11160 * Shared/WebPreferencesStore.h:
11161 * UIProcess/API/C/WKPreferences.cpp:
11162 (WKPreferencesSetAuthorAndUserStylesEnabled):
11163 (WKPreferencesGetAuthorAndUserStylesEnabled):
11164 (WKPreferencesSetWebArchiveDebugModeEnabled):
11165 (WKPreferencesGetWebArchiveDebugModeEnabled):
11166 (WKPreferencesSetLocalFileContentSniffingEnabled):
11167 (WKPreferencesGetLocalFileContentSniffingEnabled):
11168 (WKPreferencesSetPageCacheEnabled):
11169 (WKPreferencesGetPageCacheEnabled):
11170 (WKPreferencesSetPaginateDuringLayoutEnabled):
11171 (WKPreferencesGetPaginateDuringLayoutEnabled):
11172 (WKPreferencesSetDOMPasteAllowedEnabled):
11173 (WKPreferencesGetDOMPasteAllowedEnabled):
11174 * UIProcess/API/C/WKPreferences.h:
11175 * UIProcess/API/C/WKPreferencesPrivate.h:
11176 * WebProcess/WebPage/WebPage.cpp:
11177 (WebKit::WebPage::updatePreferences):
11178 Pipe through some more preferences.
11180 2010-12-24 Dan Bernstein <mitz@apple.com>
11182 Reviewed by Alexey Proskuryakov.
11184 REGRESSION (r74648): XHR layout test failures
11185 https://bugs.webkit.org/show_bug.cgi?id=51603
11189 * UIProcess/WebPageProxy.cpp:
11190 (WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
11191 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
11192 (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage):
11193 * WebProcess/mac/WebProcessMainMac.mm:
11194 (WebKit::WebProcessMain):
11196 2010-12-24 Simon Fraser <simon.fraser@apple.com>
11198 Fix the Qt build after r74650.
11200 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
11202 2010-12-24 Benjamin Poulain <ikipou@gmail.com>
11204 Reviewed by Darin Adler.
11206 [Qt] [WK2] WebKit 2 does not build on mac, missing reference to RetainPtr
11207 https://bugs.webkit.org/show_bug.cgi?id=51598
11209 Fix the build, add the missing header.
11211 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
11213 2010-12-24 Dan Bernstein <mitz@apple.com>
11215 Reviewed by Anders Carlsson.
11217 <rdar://problem/8758386> The web process uses its own credential storage
11218 https://bugs.webkit.org/show_bug.cgi?id=51599
11220 * UIProcess/WebPageProxy.cpp:
11221 (WebKit::WebPageProxy::didReceiveAuthenticationChallenge): Try to answer the challenge using
11222 the UI process’s credential storage first.
11223 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
11224 (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage): Prevent the web process from using
11225 its own credential storage.
11226 * WebProcess/mac/WebProcessMainMac.mm:
11227 (WebKit::WebProcessMain): Ditto.
11229 2010-12-23 Dan Bernstein <mitz@apple.com>
11231 Reviewed by Sam Weinig.
11233 Make dragging work again after r74591.
11235 * UIProcess/WebPageProxy.cpp:
11236 (WebKit::WebPageProxy::didReceiveEvent): Fixed a typo.
11238 2010-12-23 Jessie Berlin <jberlin@apple.com>
11240 Reviewed by Sam Weinig.
11242 Need WebKit2 API to create a SecurityOrigin from protocol, host, and port
11243 https://bugs.webkit.org/show_bug.cgi?id=51563
11245 Add WKSecurityOriginCreate(WKStringRef protocol, WKStringRef host, int port).
11247 * Shared/API/c/WKSecurityOrigin.cpp:
11248 (WKSecurityOriginCreateFromIdentifier):
11249 Renamed so as not to clash with the new WKSecurityOriginCreate.
11250 (WKSecurityOriginCreate):
11251 * Shared/API/c/WKSecurityOrigin.h:
11252 * Shared/WebSecurityOrigin.h:
11253 (WebKit::WebSecurityOrigin::create):
11255 2010-12-23 Anders Carlsson <andersca@apple.com>
11257 Reviewed by Simon Fraser.
11259 Ensure that we are not getting too many mouse move events
11260 https://bugs.webkit.org/show_bug.cgi?id=51568
11261 <rdar://problem/7881470>
11262 <rdar://problem/8735512>
11264 Implement throttling of mouse move events.
11266 * UIProcess/WebPageProxy.cpp:
11267 (WebKit::WebPageProxy::WebPageProxy):
11268 Initialize m_processingMouseMoveEvent to false.
11270 (WebKit::WebPageProxy::handleMouseEvent):
11271 If we're already processing a mouse move events, just update
11272 m_nextMouseMoveEvent and return.
11274 (WebKit::WebPageProxy::didReceiveEvent):
11275 If we received a mouse move event, send the next mouse move event if there is one.
11277 2010-12-23 Brian Weinstein <bweinstein@apple.com>
11279 Reviewed by Anders Carlsson.
11281 Assertion when loading www.yahoo.com in WebKit2 under decodeResourceRequest
11282 https://bugs.webkit.org/show_bug.cgi?id=51562
11284 Don't assert that our data reference isn't empty when we try to get the data from it.
11285 If it is empty, just return 0.
11287 All callers are safe with this function returning 0.
11289 * Platform/CoreIPC/DataReference.h:
11290 (CoreIPC::DataReference::data): Change the assert to an early return.
11291 * Shared/cf/ArgumentCodersCF.cpp:
11292 (CoreIPC::decode): Add an assert, and remove a ternarny operator because the function now does
11293 this for us (if the data is empty, return 0).
11295 2010-12-23 Sam Weinig <sam@webkit.org>
11297 Fix incorrect assertion causing all pages with subframes to crash.
11299 * UIProcess/WebFrameProxy.cpp:
11300 (WebKit::WebFrameProxy::appendChild):
11302 2010-12-23 Anders Carlsson <andersca@apple.com>
11304 Reviewed by Darin Adler.
11306 Clean up the selection handling code
11307 https://bugs.webkit.org/show_bug.cgi?id=51550
11309 * Shared/SelectionState.h: Added.
11310 Add SelectionState class which hold information about the current selection.
11312 * UIProcess/API/mac/PageClientImpl.h:
11313 * UIProcess/API/mac/PageClientImpl.mm:
11314 Remove selectionChanged function.
11316 * UIProcess/API/mac/WKView.mm:
11317 (-[WKView initWithFrame:contextRef:pageGroupRef:]):
11318 Remove all the selection related state; it lives in the WebPageProxy object now.
11320 (-[WKView insertText:]):
11321 (-[WKView selectedRange]):
11322 (-[WKView hasMarkedText]):
11323 Get the selection information from the WebPageProxy.
11325 * UIProcess/API/mac/WKViewInternal.h:
11326 Remove _selectionChanged declaration.
11328 * UIProcess/PageClient.h:
11329 Remove selectionChanged functions.
11331 * UIProcess/WebPageProxy.cpp:
11332 (WebKit::WebPageProxy::selectionStateChanged):
11333 Update the selection state.
11335 * UIProcess/WebPageProxy.h:
11336 (WebKit::WebPageProxy::selectionState):
11337 Return the selection state.
11339 * UIProcess/WebPageProxy.messages.in:
11340 Add SelectionStateChanged message.
11342 * UIProcess/win/WebView.cpp:
11343 (WebKit::WebView::WebView):
11344 Remove all the selection related state; it lives in the WebPageProxy object now.
11346 (WebKit::WebView::compositionSelectionChanged):
11347 (WebKit::WebView::onIMEComposition):
11348 (WebKit::WebView::onIMEEndComposition):
11349 (WebKit::WebView::onIMERequestCharPosition):
11350 (WebKit::WebView::onIMERequest):
11351 Get the selection information from the WebPageProxy.
11353 * WebKit2.xcodeproj/project.pbxproj:
11354 Add SelectionState.h
11356 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
11357 (WebKit::WebEditorClient::respondToChangedSelection):
11358 Send a SelectionStateChanged message with the updated state.
11360 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
11361 Remove mac specific code.
11363 * WebProcess/WebPage/WebPage.cpp:
11364 (WebKit::WebPage::getLocationAndLengthFromRange):
11365 Rename this function from convertRangeToPlatformRange and move it out of WebPageMac.mm
11367 * WebProcess/WebPage/mac/WebPageMac.mm:
11368 (WebKit::WebPage::getMarkedRange):
11369 (WebKit::WebPage::characterIndexForPoint):
11370 Call getLocationAndLengthFromRange.
11372 * win/WebKit2.vcproj:
11373 Add SelectionState.h
11375 2010-12-23 Darin Adler <darin@apple.com>
11377 Reviewed by Sam Weinig.
11379 WKView should not try to do asynchronous validation for selectors that are not editor commands
11380 https://bugs.webkit.org/show_bug.cgi?id=51555
11382 * UIProcess/API/mac/WKView.mm:
11383 (-[WKView validateUserInterfaceItem:]): Removed the special case for startSpeaking.
11384 Added call to commandIsSupportedFromMenuOrKeyBinding so we only try to do validation
11385 for commands that are supported. Tweaked comments and added some bug numbers.
11386 (-[WKView _setUserInterfaceItemState:enabled:state:]): Tweaked comment and added
11389 2010-12-23 Sam Weinig <sam@webkit.org>
11391 Reviewed by Anders Carlsson.
11393 <rdar://problem/8799032>
11394 REGRESSION(r74436) Crash opening many pages with WebKit2
11396 * Shared/cf/ArgumentCodersCF.cpp:
11398 Fix paste-o. Decode into a CFDataRef not a CFDictionaryRef
11399 when decoding CFDataRefs.
11401 2010-12-22 Sam Weinig <sam@webkit.org>
11403 Reviewed by Darin Adler.
11405 WebKit2 needs to mirror the frame tree in the UIProcess
11406 https://bugs.webkit.org/show_bug.cgi?id=51546
11408 * UIProcess/API/C/WKFrame.cpp:
11409 (WKFrameCopyChildFrames):
11410 * UIProcess/API/C/WKFrame.h:
11411 Add API to get the child frames of a frame.
11413 * UIProcess/WebFrameProxy.cpp:
11414 (WebKit::WebFrameProxy::WebFrameProxy):
11415 (WebKit::WebFrameProxy::disconnect):
11416 (WebKit::WebFrameProxy::appendChild):
11417 (WebKit::WebFrameProxy::removeChild):
11418 (WebKit::WebFrameProxy::isDescendantOf):
11419 (WebKit::WebFrameProxy::dumpFrameTree):
11420 (WebKit::WebFrameProxy::didRemoveFromHierarchy):
11421 (WebKit::WebFrameProxy::childFrames):
11422 * UIProcess/WebFrameProxy.h:
11423 (WebKit::WebFrameProxy::parentFrame): Add getter.
11424 (WebKit::WebFrameProxy::nextSibling): Add getter.
11425 (WebKit::WebFrameProxy::previousSibling): Add getter.
11426 (WebKit::WebFrameProxy::firstChild): Add getter.
11427 (WebKit::WebFrameProxy::lastChild): Add getter.
11428 Make frames keep track of their subframes.
11430 * UIProcess/WebPageProxy.cpp:
11431 (WebKit::WebPageProxy::didCreateSubframe):
11432 Use the now passed parentID to insert the frame into the hierarchy
11434 (WebKit::WebPageProxy::didSaveFrameToPageCache):
11435 When a frame is added to the page cache, remove it from the hierarchy.
11437 (WebKit::WebPageProxy::didRestoreFrameFromPageCache):
11438 When a frame is restored from the page cache, add it back to the hierarchy.
11440 (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
11441 Detached frames should also be removed from the hierarchy.
11443 * UIProcess/WebPageProxy.h:
11444 Add new declarations for didSaveFrameToPageCache and didRestoreFrameFromPageCache.
11446 * UIProcess/WebPageProxy.messages.in:
11447 Add messages for DidSaveFrameToPageCache and DidRestoreFrameFromPageCache.
11449 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
11450 (WebKit::WebFrameLoaderClient::savePlatformDataToCachedFrame):
11451 (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
11452 Remove notImplemented, there is no work we need to do here.
11454 (WebKit::WebFrameLoaderClient::didSaveToPageCache):
11455 (WebKit::WebFrameLoaderClient::didRestoreFromPageCache):
11456 Send message to UIProcess to indicate this happened.
11457 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
11459 * WebProcess/WebPage/WebFrame.cpp:
11460 (WebKit::WebFrame::createSubframe):
11461 Send parent frameID in addition to our own in the message to UIProcess.
11463 2010-12-23 Anders Carlsson <andersca@apple.com>
11465 Reviewed by Sam Weinig.
11467 New popup windows open disproportionately big
11468 https://bugs.webkit.org/show_bug.cgi?id=51547
11469 <rdar://problem/8637029>
11471 * UIProcess/WebPageProxy.cpp:
11472 (WebKit::WebPageProxy::createNewPage):
11473 Pass the correct size back to the UI process.
11475 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
11476 (WebKit::WebChromeClient::pageRect):
11477 Implement this and return the size of the page.
11479 2010-12-23 Anders Carlsson <andersca@apple.com>
11481 Reviewed by John Sullivan.
11483 Nothing happens clicking "launch live player" on live.cnn.com
11484 https://bugs.webkit.org/show_bug.cgi?id=51540
11485 <rdar://problem/8791086>
11487 Implement NPN_PushPopupsEnabledState/NPN_PopPopupsEnabledState.
11489 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
11490 (WebKit::NPN_PushPopupsEnabledState):
11491 Call NetscapePlugin::pushPopupsEnabledState.
11493 (WebKit::NPN_PopPopupsEnabledState):
11494 Call NetscapePlugin::popPopupsEnabledState.
11496 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
11497 (WebKit::NetscapePlugin::pushPopupsEnabledState):
11498 Append the boolean to the vector.
11500 (WebKit::NetscapePlugin::popPopupsEnabledState):
11501 Remove the last boolean from the vector.
11503 (WebKit::NetscapePlugin::allowPopups):
11504 Return the last boolean from the vector.
11506 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
11507 * WebProcess/Plugins/PluginView.cpp:
11508 (WebKit::PluginView::performJavaScriptURLRequest):
11509 Update the "allowPopupsFromPlugin" state.
11511 2010-12-22 Anders Carlsson <andersca@apple.com>
11513 Reviewed by Sam Weinig.
11515 Webkit2: WebProcess crashes when Private browsing is turned on on yahoo.com
11516 https://bugs.webkit.org/show_bug.cgi?id=51516
11517 <rdar://problem/8766995>
11519 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
11520 (WebKit::NetscapePlugin::NPP_SetValue):
11521 Add a null check for NPP_SetValue.
11523 2010-12-22 Anders Carlsson <andersca@apple.com>
11525 Reviewed by Sam Weinig.
11527 REGRESSION (WK2): Plugins swallow CMD-W, CMD-Q, and probably other shortcuts
11528 https://bugs.webkit.org/show_bug.cgi?id=51515
11529 <rdar://problem/8740926>
11531 Always return false for keyboard events where the command key is down.
11533 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
11534 (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
11536 2010-12-22 Sam Weinig <sam@webkit.org>
11538 Reviewed by Darin Adler.
11540 WebProcess should be terminated if invalid frameIDs are
11541 passed to the UIProcess.
11542 https://bugs.webkit.org/show_bug.cgi?id=51508
11544 - Introduce a mechanism to mark a messages as invalid due to
11545 reasons other than in ability to decode the message, eg. an
11546 invalid frameID is passed in a message.
11548 * Platform/CoreIPC/Connection.cpp:
11549 (CoreIPC::Connection::Connection):
11550 (CoreIPC::Connection::markCurrentlyDispatchedMessageAsInvalid): Sets
11551 the m_didReceiveInvalidMessage bit so that it can be picked up in
11552 (CoreIPC::Connection::dispatchMessages): Check for m_didReceiveInvalidMessage in
11553 addition to tainted arguments.
11554 * Platform/CoreIPC/Connection.h:
11555 Add base macro for others to extend, that calls markCurrentlyDispatchedMessageAsInvalid()
11556 ASSERTs, and returns.
11558 * UIProcess/WebPageProxy.cpp:
11559 Add Message checks for all WebFrameProxy's gotten from frameIDs passed
11561 * UIProcess/WebProcessProxy.cpp:
11562 (WebKit::isGoodMapKey):
11563 Checks that the key can be inserted safely into a map (eg. not the empty or deleted value).
11565 (WebKit::WebProcessProxy::webFrame):
11566 Return null for bad keys (eg. 0 or -1).
11568 (WebKit::WebProcessProxy::canCreateFrame):
11569 Added. Checks that the ID is good and not in the map yet. Used
11570 as a consistency check before creating frames.
11572 (WebKit::WebProcessProxy::frameCreated):
11573 ASSERT that the key is good, in addition to not in the map yet.
11575 (WebKit::WebProcessProxy::didDestroyFrame):
11576 ASSERT that the key is good.
11578 * UIProcess/WebProcessProxy.h:
11579 Move WebFrameProxy HashMap type into a typedef.
11581 2010-12-22 Darin Adler <darin@apple.com>
11583 Reviewed by Anders Carlsson.
11585 WebKit2 needs a way to return the main resource data
11586 https://bugs.webkit.org/show_bug.cgi?id=51510
11588 * UIProcess/API/C/WKFrame.cpp:
11589 (WKFrameGetMainResourceData): Added.
11590 (callGetMainResourceDataBlockAndDispose): Added.
11591 (WKFrameGetMainResourceData_b): Added.
11592 * UIProcess/API/C/WKFrame.h: Added WKFrameGetMainResourceData.
11594 * UIProcess/WebFrameProxy.cpp:
11595 (WebKit::WebFrameProxy::getMainResourceData): Added.
11596 * UIProcess/WebFrameProxy.h: Ditto.
11598 * UIProcess/WebPageProxy.cpp:
11599 (WebKit::WebPageProxy::getMainResourceDataOfFrame): Added.
11600 (WebKit::WebPageProxy::dataCallback): Replaced the individual callbacks
11601 with just these two.
11602 (WebKit::WebPageProxy::stringCallback): Ditto.
11603 * UIProcess/WebPageProxy.h: Ditto.
11604 * UIProcess/WebPageProxy.messages.in: Ditto.
11606 * WebProcess/WebPage/WebPage.cpp:
11607 (WebKit::WebPage::runJavaScriptInMainFrame): Send the string callback
11608 message instead of a specific one.
11609 (WebKit::WebPage::getContentsAsString): Ditto.
11610 (WebKit::WebPage::getRenderTreeExternalRepresentation): Ditto.
11611 (WebKit::WebPage::getSelectionOrContentsAsString): Ditto.
11612 (WebKit::WebPage::getSourceForFrame): Ditto.
11613 (WebKit::WebPage::getMainResourceDataOfFrame): Added.
11614 (WebKit::WebPage::getWebArchiveOfFrame): Send the data callback message
11615 instead of a specific one.
11616 * WebProcess/WebPage/WebPage.h: Added getMainResourceDataOfFrame.
11617 * WebProcess/WebPage/WebPage.messages.in: Ditto.
11619 2010-12-22 Darin Adler <darin@apple.com>
11621 * WebProcess/WebPage/WebPage.cpp: Add #if to try to fix non-Mac builds.
11623 2010-12-22 Darin Adler <darin@apple.com>
11625 Reviewed by Anders Carlsson.
11627 Make Speech menu items work in WebKit2
11628 https://bugs.webkit.org/show_bug.cgi?id=51504
11630 * UIProcess/API/C/WKFrame.cpp:
11631 (WKFrameGetWebArchive): Updated to use new-named typedef.
11632 * UIProcess/API/C/WKPage.cpp:
11633 (WKPageRunJavaScriptInMainFrame): Ditto.
11634 (WKPageRenderTreeExternalRepresentation): Ditto.
11635 (WKPageGetSourceForFrame): Ditto.
11636 (WKPageGetContentsAsString): Ditto.
11638 * UIProcess/API/mac/WKView.mm:
11639 (menuItem): Added. Helper function to make it easy to call menu item
11640 functions on arbitrary user interface items.
11641 (toolbarItem): Ditto.
11642 (-[WKView validateUserInterfaceItem:]): Added validation for startSpeaking
11643 and stopSpeaking commands. Reworked the code to fix a bug where
11644 toggleContinuousSpellChecking would always be enabled even when it should
11645 be disabled. Reworked the asynchronous validation code so it works for
11646 items other than menu items and can also handle more than one item for the
11647 same command. Added some comments.
11648 (speakString): Added. Helper function to be used as a callback when we
11649 get the selection or contents to speak.
11650 (-[WKView startSpeaking:]): Added. Uses getSelectionOrContentsAsString.
11651 (-[WKView stopSpeaking:]): Added.
11652 (-[WKView _setUserInterfaceItemState:enabled:state:]): Reworked to work
11653 with the changes to validateUserInterfaceItem above.
11655 * UIProcess/WebFrameProxy.cpp:
11656 (WebKit::WebFrameProxy::isDisplayingMarkupDocument): Added a FIXME about
11657 a problem I noticed.
11658 (WebKit::WebFrameProxy::didCommitLoad): Tweaked argument name.
11659 (WebKit::WebFrameProxy::getWebArchive): Changed to use new-named typedef.
11660 * UIProcess/WebFrameProxy.h: Changed WebArchiveCallback to DataCallaback.
11662 * UIProcess/WebPageProxy.cpp:
11663 (WebKit::WebPageProxy::close): Invalidate the two callback maps since
11664 we only have two now.
11665 (WebKit::WebPageProxy::runJavaScriptInMainFrame): Changed to use merged
11666 maps and typedefs so we don't need a separate callback map for each function.
11667 (WebKit::WebPageProxy::getRenderTreeExternalRepresentation): Ditto.
11668 (WebKit::WebPageProxy::getSourceForFrame): Ditto.
11669 (WebKit::WebPageProxy::getContentsAsString): Ditto.
11670 (WebKit::WebPageProxy::getSelectionOrContentsAsString): Added.
11671 (WebKit::WebPageProxy::getWebArchiveOfFrame): Ditto.
11672 (WebKit::WebPageProxy::didGetContentsAsString): Ditto.
11673 (WebKit::WebPageProxy::didGetSelectionOrContentsAsString): Ditto.
11674 (WebKit::WebPageProxy::didRunJavaScriptInMainFrame): Ditto.
11675 (WebKit::WebPageProxy::didGetRenderTreeExternalRepresentation): Ditto.
11676 (WebKit::WebPageProxy::didGetSourceForFrame): Ditto.
11677 (WebKit::WebPageProxy::didGetWebArchiveOfFrame): Ditto.
11678 (WebKit::WebPageProxy::processDidCrash): Ditto.
11680 * UIProcess/WebPageProxy.h: Updated for changes above.
11682 * UIProcess/WebPageProxy.messages.in: Added DidGetSelectionOrContentsAsString,
11683 GetIsSpeaking, Speak, and StopSpeaking.
11685 * UIProcess/mac/WebPageProxyMac.mm:
11686 (WebKit::WebPageProxy::getIsSpeaking): Added.
11687 (WebKit::WebPageProxy::speak): Added.
11688 (WebKit::WebPageProxy::stopSpeaking): Added.
11690 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
11691 (WebKit::WebContextMenuClient::isSpeaking): Call WebPage instead of doing
11692 the work directly, so it can run in the UI process.
11693 (WebKit::WebContextMenuClient::speak): Ditto.
11694 (WebKit::WebContextMenuClient::stopSpeaking): Ditto.
11695 (WebKit::WebContextMenuClient::searchWithSpotlight): Added FIXME comment and
11696 changed code to avoid a C-style cast.
11698 * WebProcess/WebPage/WebFrame.cpp:
11699 (WebKit::WebFrame::selectionAsString): Added.
11700 * WebProcess/WebPage/WebFrame.h: Ditto.
11702 * WebProcess/WebPage/WebPage.cpp:
11703 (WebKit::WebPage::changeAcceleratedCompositingMode): Use sendSync in the
11704 modern way instead of explicitly calling WebProcess.
11705 (WebKit::WebPage::getSelectionOrContentsAsString): Added.
11706 (WebKit::WebPage::isSpeaking): Added.
11707 (WebKit::WebPage::speak): Added.
11708 (WebKit::WebPage::stopSpeaking): Added.
11709 * WebProcess/WebPage/WebPage.h: Added functions.
11711 * WebProcess/WebPage/WebPage.messages.in: Added GetSelectionOrContentsAsString.
11713 2010-12-22 Anders Carlsson <andersca@apple.com>
11717 * Platform/mac/MachUtilities.cpp:
11719 2010-12-22 Anders Carlsson <andersca@apple.com>
11721 Reviewed by Darin Adler.
11723 Detect WebProcess crashes sooner, without waiting for ReportCrash to finish
11724 https://bugs.webkit.org/show_bug.cgi?id=51505
11726 * Platform/CoreIPC/CoreIPCMessageKinds.h:
11727 Add SetExceptionPort.
11729 * Platform/CoreIPC/mac/ConnectionMac.cpp:
11730 (CoreIPC::Connection::platformInvalidate):
11731 If we have an exception port, unregister it.
11733 (CoreIPC::Connection::platformInitialize):
11734 Set m_exceptionPort to null.
11736 (CoreIPC::Connection::open):
11737 If we have an exception port, register an event handler for it and send it over
11740 (CoreIPC::Connection::receiveSourceEventHandler):
11741 Handle the SetExceptionPort message.
11743 (CoreIPC::Connection::exceptionSourceEventHandler):
11744 Receive the message, forward it to the real exception handler and call connectionDidClose.
11746 (CoreIPC::Connection::setShouldCloseConnectionOnMachExceptions):
11747 Create an exception port.
11749 * Platform/mac/MachUtilities.cpp:
11750 (machExceptionPort):
11751 (setMachExceptionPort):
11752 * Platform/mac/MachUtilities.h:
11753 Add helper functions for getting and setting the mach exception port.
11755 * UIProcess/WebProcessProxy.cpp:
11756 (WebKit::WebProcessProxy::didFinishLaunching):
11757 Call setShouldCloseConnectionOnMachExceptions on Mac.
11759 2010-12-22 Anders Carlsson <andersca@apple.com>
11761 Reviewed by Sam Weinig.
11763 Move Mach message receiving code out into a new function
11764 https://bugs.webkit.org/show_bug.cgi?id=51502
11766 * Platform/CoreIPC/mac/ConnectionMac.cpp:
11767 (CoreIPC::readFromMachPort):
11768 (CoreIPC::Connection::receiveSourceEventHandler):
11770 2010-12-22 Jeff Miller <jeffm@apple.com>
11772 Reviewed by Sam Weinig.
11774 InjectedBundle methods should use the relative URL constructor for KURL instead of the ParsedURLStringTag version
11775 https://bugs.webkit.org/show_bug.cgi?id=51491
11777 The url passed to various InjectedBundle methods is not from KURL::string(), i.e. it has not already been parsed by KURL,
11778 so we have to use the relative URL constructor for KURL instead of the ParsedURLStringTag version.
11780 * WebProcess/InjectedBundle/InjectedBundle.cpp:
11781 (WebKit::InjectedBundle::addUserScript):
11782 (WebKit::InjectedBundle::addUserStyleSheet):
11783 (WebKit::InjectedBundle::removeUserScript):
11784 (WebKit::InjectedBundle::removeUserStyleSheet):
11786 2010-12-22 Darin Adler <darin@apple.com>
11788 Reviewed by Sam Weinig.
11790 Move more of WebPageProxy::didCommitLoadForFrame into WebFrameProxy::didCommitLoad.
11792 * UIProcess/WebFrameProxy.cpp:
11793 (WebKit::WebFrameProxy::didCommitLoad): Added type and certificate info arguments,
11794 and set m_MIMEType, m_isFrameSet, and m_certificateInfo.
11795 * UIProcess/WebFrameProxy.h: Removed setMIMEType and setCertificateInfo and added
11796 arguments to didCommitLoad.
11797 * UIProcess/WebPageProxy.cpp:
11798 (WebKit::WebPageProxy::didCommitLoadForFrame): Removed code that is now inside the
11799 WebFrameProxy::didCommitLoad function.
11801 2010-12-21 Darin Adler <darin@apple.com>
11803 Reviewed by Brady Eidson and Sam Weinig.
11805 Add a way to get a web archive in WebKit2
11806 https://bugs.webkit.org/show_bug.cgi?id=51437
11808 * UIProcess/API/C/WKFrame.cpp:
11809 (WKFrameGetWebArchive): Added.
11810 (callGetWebArchiveBlockAndDispose): Added.
11811 (WKFrameGetWebArchive_b): Added.
11812 * UIProcess/API/C/WKFrame.h: Added functions above.
11813 * UIProcess/WebPageProxy.cpp:
11814 (WebKit::WebPageProxy::close): Clear out m_webArchiveCallbacks.
11815 (WebKit::WebPageProxy::getWebArchiveOfFrame): Added.
11816 (WebKit::WebPageProxy::didGetWebArchiveOfFrame): Added.
11817 (WebKit::WebPageProxy::processDidCrash): Clear out m_webArchiveCallbacks.
11818 * UIProcess/WebPageProxy.h: Added functions above.
11819 * UIProcess/WebPageProxy.messages.in: Added DidGetWebArchiveOfFrame.
11820 * WebProcess/WebPage/WebPage.cpp:
11821 (WebKit::WebPage::getWebArchiveOfFrame): Added.
11822 * WebProcess/WebPage/WebPage.h: Added function above.
11823 * WebProcess/WebPage/WebPage.messages.in: Added GetWebArchiveOfFrame.
11825 2010-12-21 Siddharth Mathur <siddharth.mathur@nokia.com>
11827 Reviewed by Laszlo Gombos.
11829 [Qt] [WK2] Guard gcc-specific syntax
11831 * WebKit2.pro: Non-gcc based compliers choke on the "-include"
11832 syntax for preinclude, make sure it has guard around it.
11834 2010-12-21 Anders Carlsson <andersca@apple.com>
11836 Reviewed by Darin Adler.
11838 Can't stop QT music on santastreefarm.com
11839 https://bugs.webkit.org/show_bug.cgi?id=51438
11840 <rdar://problem/8741152>
11842 Implement NPN_ConvertPoint.
11844 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
11845 (WebKit::NPN_ConvertPoint):
11846 Call NetscapePlugin::convertPoint.
11848 (WebKit::initializeBrowserFuncs):
11849 Only initialize NPN_ConvertPoint and NPN_PopUpContextMenu on Mac.
11851 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
11852 (WebKit::NetscapePlugin::convertPoint):
11853 Implement conversion routines.
11855 (WebKit::NetscapePlugin::windowAndViewFramesChanged):
11856 Keep track of the window and view frames, they are needed to do coordinate conversion.
11858 2010-12-21 Sam Weinig <weinig@apple.com>
11860 Reviewed by Anders Carlsson.
11862 Implement encoding/decoding of ResourceRequest and
11863 ResourceResponse for Windows/CFNetwork.
11865 * Shared/win/WebCoreArgumentCodersWin.cpp:
11866 (CoreIPC::encodeResourceRequest):
11867 (CoreIPC::decodeResourceRequest):
11868 (CoreIPC::encodeResourceResponse):
11869 (CoreIPC::decodeResourceResponse):
11870 * win/WebKit2.vcproj:
11871 * win/WebKit2Common.vsprops:
11873 2010-12-21 Darin Adler <darin@apple.com>
11875 Reviewed by Sam Weinig.
11877 Mac WebKit delivers an extra didCommit when loading web archives
11878 https://bugs.webkit.org/show_bug.cgi?id=51419
11880 * UIProcess/WebFrameProxy.cpp:
11881 (WebKit::WebFrameProxy::didStartProvisionalLoad): Added assertions so we catch
11882 inconsistencies here instead of at the application level. Later, we will have
11883 to decide what to do in cases these assertions fail. The right policy is probably
11884 to consider it a web process failure and do whatever we do for those.
11885 (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad): Ditto.
11886 (WebKit::WebFrameProxy::didFailProvisionalLoad): Ditto.
11887 (WebKit::WebFrameProxy::didCommitLoad): Ditto.
11888 (WebKit::WebFrameProxy::didFinishLoad): Ditto.
11889 (WebKit::WebFrameProxy::didFailLoad): Ditto.
11891 2010-12-21 Anders Carlsson <andersca@apple.com>
11893 Fix Snow Leopard build.
11895 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
11896 (WebKit::NPN_GetValue):
11898 2010-12-21 Anders Carlsson <andersca@apple.com>
11900 Reviewed by Dan Bernstein.
11902 Fix crash when a Carbon plug-in fails to initialize correctly
11903 https://bugs.webkit.org/show_bug.cgi?id=51415
11905 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
11906 (WebKit::NPN_GetValue):
11907 Don't claim to support the QuickDraw event model.
11909 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
11910 (WebKit::NetscapePlugin::platformDestroy):
11911 Only try to remove the window from the map if it's not null.
11913 2010-12-21 Anders Carlsson <andersca@apple.com>
11915 Reviewed by Darin Adler.
11917 Add ArgumentCoder support for CFDataRef
11918 https://bugs.webkit.org/show_bug.cgi?id=51412
11920 * Shared/cf/ArgumentCodersCF.cpp:
11921 (CoreIPC::typeFromCFTypeRef):
11924 * Shared/cf/ArgumentCodersCF.h:
11926 2010-12-21 Anders Carlsson <andersca@apple.com>
11928 Reviewed by John Sullivan.
11930 Clicking missing plug-in text does not show a sheet
11931 https://bugs.webkit.org/show_bug.cgi?id=51403
11933 * UIProcess/API/C/WKPage.h:
11934 Add missingPluginButtonClicked to WKPageUIClient.
11936 * UIProcess/WebPageProxy.cpp:
11937 (WebKit::WebPageProxy::missingPluginButtonClicked):
11938 Call the WebUIClient member function.
11940 * UIProcess/WebPageProxy.messages.in:
11941 Add MissingPluginButtonClicked message.
11943 * UIProcess/WebUIClient.cpp:
11944 (WebKit::WebUIClient::missingPluginButtonClicked):
11945 Call the WKPageUIClient callback.
11947 * UIProcess/WebUIClient.h:
11948 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
11949 (WebKit::WebChromeClient::shouldMissingPluginMessageBeButton):
11950 Always return true for now.
11952 (WebKit::WebChromeClient::missingPluginButtonClicked):
11953 Send a MissingPluginButtonClicked message.
11955 2010-12-21 Laszlo Gombos <laszlo.1.gombos@nokia.com>
11957 Reviewed by Andreas Kling.
11959 [Qt] Set BUILDING_QT__ consistently
11960 https://bugs.webkit.org/show_bug.cgi?id=51341
11962 * WebKit2.pro: Remove the definition of BUILDING_QT__ as it
11963 is already defined in WebKit.pri.
11965 2010-12-20 Sam Weinig <sam@webkit.org>
11967 Reviewed by Anders Carlsson.
11969 WebKit2: Add resource load client API
11970 https://bugs.webkit.org/show_bug.cgi?id=51370
11972 This just pipes through the basic resource load client data.
11974 * UIProcess/API/C/WKPage.cpp:
11975 (WKPageSetPageResourceLoadClient):
11976 * UIProcess/API/C/WKPage.h:
11977 * UIProcess/WebPageProxy.cpp:
11978 (WebKit::WebPageProxy::initializeResourceLoadClient):
11979 (WebKit::WebPageProxy::didInitiateLoadForResource):
11980 (WebKit::WebPageProxy::didSendRequestForResource):
11981 (WebKit::WebPageProxy::didReceiveResponseForResource):
11982 (WebKit::WebPageProxy::didReceiveContentLengthForResource):
11983 (WebKit::WebPageProxy::didFinishLoadForResource):
11984 (WebKit::WebPageProxy::didFailLoadForResource):
11985 * UIProcess/WebPageProxy.h:
11986 * UIProcess/WebPageProxy.messages.in:
11987 * UIProcess/WebResourceLoadClient.cpp: Added.
11988 (WebKit::WebResourceLoadClient::didInitiateLoadForResource):
11989 (WebKit::WebResourceLoadClient::didSendRequestForResource):
11990 (WebKit::WebResourceLoadClient::didReceiveResponseForResource):
11991 (WebKit::WebResourceLoadClient::didReceiveContentLengthForResource):
11992 (WebKit::WebResourceLoadClient::didFinishLoadForResource):
11993 (WebKit::WebResourceLoadClient::didFailLoadForResource):
11994 * UIProcess/WebResourceLoadClient.h: Added.
11996 * WebKit2.xcodeproj/project.pbxproj:
11997 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
11998 (WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest):
11999 (WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
12000 (WebKit::WebFrameLoaderClient::dispatchDidReceiveResponse):
12001 (WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
12002 (WebKit::WebFrameLoaderClient::dispatchDidFinishLoading):
12003 (WebKit::WebFrameLoaderClient::dispatchDidFailLoading):
12004 * win/WebKit2.vcproj:
12006 2010-12-20 Anders Carlsson <andersca@apple.com>
12008 Reviewed by Sam Weinig.
12010 Add a TextChecker class, hook up spelling and grammar toggling
12011 https://bugs.webkit.org/show_bug.cgi?id=51363
12013 * UIProcess/API/mac/WKView.mm:
12014 (-[WKView validateUserInterfaceItem:]):
12015 (-[WKView toggleContinuousSpellChecking:]):
12016 (-[WKView toggleGrammarChecking:]):
12017 * UIProcess/TextChecker.h: Added.
12018 * UIProcess/WebPageProxy.cpp:
12019 (WebKit::WebPageProxy::unmarkAllMisspellings):
12020 (WebKit::WebPageProxy::unmarkAllBadGrammar):
12021 * UIProcess/WebPageProxy.h:
12022 * UIProcess/mac/TextCheckerMac.mm: Added.
12023 (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
12024 (WebKit::TextChecker::isContinuousSpellCheckingEnabled):
12025 (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
12026 (WebKit::TextChecker::isGrammarCheckingEnabled):
12027 (WebKit::TextChecker::setGrammarCheckingEnabled):
12028 * UIProcess/qt/TextCheckerQt.cpp: Added.
12029 (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
12030 (WebKit::TextChecker::isContinuousSpellCheckingEnabled):
12031 (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
12032 (WebKit::TextChecker::isGrammarCheckingEnabled):
12033 (WebKit::TextChecker::setGrammarCheckingEnabled):
12034 * UIProcess/win/TextCheckerWin.cpp: Added.
12035 (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
12036 (WebKit::TextChecker::isContinuousSpellCheckingEnabled):
12037 (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
12038 (WebKit::TextChecker::isGrammarCheckingEnabled):
12039 (WebKit::TextChecker::setGrammarCheckingEnabled):
12041 * WebKit2.xcodeproj/project.pbxproj:
12042 * WebProcess/WebPage/WebPage.cpp:
12043 (WebKit::WebPage::unmarkAllMisspellings):
12044 (WebKit::WebPage::unmarkAllBadGrammar):
12045 * WebProcess/WebPage/WebPage.h:
12046 * WebProcess/WebPage/WebPage.messages.in:
12047 * win/WebKit2.vcproj:
12049 2010-12-20 Anders Carlsson <andersca@apple.com>
12051 Reviewed by Sam Weinig.
12053 Flash plug-in does not work on YouTube video page when accelerated compositing is disabled
12054 https://bugs.webkit.org/show_bug.cgi?id=51348
12055 <rdar://problem/8787667>
12057 * Platform/CoreIPC/HandleMessage.h:
12058 (CoreIPC::callMemberFunction):
12061 * PluginProcess/PluginControllerProxy.cpp:
12062 (WebKit::PluginControllerProxy::create):
12063 (WebKit::PluginControllerProxy::PluginControllerProxy):
12064 These now take an additional isAcceleratedCompositingEnabled parameter.
12066 (WebKit::PluginControllerProxy::isAcceleratedCompositingEnabled):
12067 Return m_isAcceleratedCompositingEnabled.
12069 * PluginProcess/PluginControllerProxy.h:
12070 * PluginProcess/WebProcessConnection.cpp:
12071 (WebKit::WebProcessConnection::createPlugin):
12072 This now takes an additional isAcceleratedCompositingEnabled parameter.
12074 * PluginProcess/WebProcessConnection.messages.in:
12075 Add isAcceleratedCompositingEnabled parameter to the CreatePlugin message.
12077 * WebProcess/Plugins/PluginProxy.cpp:
12078 (WebKit::PluginProxy::initialize):
12079 Pass isAcceleratedCompositingEnabled when sending the CreatePlugin message.
12081 2010-12-20 Anders Carlsson <andersca@apple.com>
12083 Unreviewed, rolling out r74345.
12084 http://trac.webkit.org/changeset/74345
12085 https://bugs.webkit.org/show_bug.cgi?id=51115
12087 Not the correct fix.
12089 * Platform/CoreIPC/Connection.h:
12090 * Platform/CoreIPC/qt/ConnectionQt.cpp:
12091 (CoreIPC::Connection::open):
12093 2010-12-20 Balazs Kelemen <kbalazs@webkit.org>
12095 Reviewed by Kenneth Rohde Christiansen.
12097 [Qt][WK2] Crash in web process after the connection had been closed
12098 https://bugs.webkit.org/show_bug.cgi?id=51115
12100 Do not call connectionDidClose with a connection that has been explicitly
12101 invalidated on the listener thread.
12102 * Platform/CoreIPC/Connection.h:
12103 * Platform/CoreIPC/qt/ConnectionQt.cpp:
12104 (CoreIPC::Connection::disconnectHandler): Added.
12105 (CoreIPC::Connection::open):
12107 2010-12-19 Dan Bernstein <mitz@apple.com>
12109 Reviewed by Sam Weinig.
12111 Improve the fix for <rdar://problem/8769525>.
12113 * UIProcess/API/mac/WKView.mm:
12114 (-[WKView performKeyEquivalent:]): Do not retain the view. Doing so is necessary in
12115 -[WebHTMLView performKeyEquivalent:], which this method was based upon, but not here, because
12116 there is no way for the web process to cause the WKView to be released while it is handling
12119 2010-12-19 Dan Bernstein <mitz@apple.com>
12121 Reviewed by Sam Weinig.
12123 <rdar://problem/8769525> WKView leak when performing key equivalents
12124 https://bugs.webkit.org/show_bug.cgi?id=51315
12126 * UIProcess/API/mac/WKView.mm:
12127 (-[WKView performKeyEquivalent:]): Use a RetainPtr to ensure that the view is released in the
12128 early return code path.
12130 2010-12-19 Benjamin Poulain <benjamin.poulain@nokia.com>
12132 Reviewed by Kenneth Rohde Christiansen.
12134 [Qt] [WK2] QWKPagePrivate::paint() does not need to save the graphics context
12135 https://bugs.webkit.org/show_bug.cgi?id=51300
12137 Remove the unnecessary save() and restore() on the QPainter.
12139 * UIProcess/API/qt/qwkpage.cpp:
12140 (QWKPagePrivate::paint):
12142 2010-12-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
12144 Reviewed by Andreas Kling.
12146 [Qt] [WK2] Client are expected to render their own background for WebPages
12147 https://bugs.webkit.org/show_bug.cgi?id=51296
12149 Remove the rendering of the checkerboard from the tiled DrawingAreaProxy
12151 * UIProcess/TiledDrawingAreaProxy.cpp:
12152 (WebKit::TiledDrawingAreaProxy::paint):
12153 * UIProcess/TiledDrawingAreaTile.h:
12154 * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
12156 2010-12-19 Benjamin Poulain <benjamin.poulain@nokia.com>
12158 Reviewed by Kenneth Rohde Christiansen.
12160 [Qt] [WK2] Client are expected to render their own background for WebPages
12161 https://bugs.webkit.org/show_bug.cgi?id=51296
12163 Do not render a white background before rendering the page with DrawingAreaProxy.
12165 * UIProcess/API/qt/qwkpage.cpp:
12166 (QWKPagePrivate::paint):
12168 2010-12-17 Darin Adler <darin@apple.com>
12170 Reviewed by Dan Bernstein.
12172 Window title for image documents shows corrupted characters instead of multiplication sign when using WebKit2
12173 https://bugs.webkit.org/show_bug.cgi?id=43505
12175 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Changed UI_STRING macros to return
12176 WebCore::String objects instead of C strings.
12177 (WebKit::formatLocalizedString): Added. Uses the Core Foundation string formatting function for
12178 reasons explained in the comment.
12179 (WebKit::WebPlatformStrategies::multipleFileUploadText): Use formatLocalizedString instead of
12181 (WebKit::WebPlatformStrategies::imageTitle): Ditto.
12182 (WebKit::WebPlatformStrategies::localizedMediaTimeDescription): Ditto.
12184 2010-12-17 Anders Carlsson <andersca@apple.com>
12186 Reviewed by Sam Weinig.
12188 Resizing a WKView while loading a page can leave the page at a size that doesn't match the window
12189 https://bugs.webkit.org/show_bug.cgi?id=51282
12190 <rdar://problem/8133142>
12192 Fix a race condition in waitForMessage. If we time out on the wait condition, we would keep the
12193 m_waitForMessageMutex mutex unlocked for a brief period of time before taking the lock again and
12194 then removing the messageID/destinationID pair from the hash map. Under some circumstances, the
12195 connection queue would update the hash map right before we removed it, leading to a lost message.
12197 * Platform/CoreIPC/Connection.cpp:
12198 (CoreIPC::Connection::waitForMessage):
12200 2010-12-17 Anders Carlsson <andersca@apple.com>
12202 Reviewed by Simon Fraser.
12204 Clean up ChunkedUpdateDrawingAreaProxy
12205 https://bugs.webkit.org/show_bug.cgi?id=51277
12207 Get rid of m_lastSetViewSize since it was always equal to m_size.
12209 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
12210 (WebKit::ChunkedUpdateDrawingAreaProxy::sizeDidChange):
12211 Call sendSetSize().
12213 (WebKit::ChunkedUpdateDrawingAreaProxy::didSetSize):
12214 Call sendSetSize if the size differs.
12216 (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize):
12217 Move code from sizeDidChange over here.
12219 * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
12220 * UIProcess/DrawingAreaProxy.cpp:
12221 (WebKit::DrawingAreaProxy::setSize):
12222 Add back the early return if the sizes are equal.
12224 2010-12-17 Brent Fulgham <bfulgham@webkit.org>
12226 Unreviewed build fix.
12228 * WebProcess/WebPage/win/WebPageWin.cpp:
12229 (WebKit::WebPage::canHandleRequest): Provide alternative for
12230 non-CFNetwork implementation.
12232 2010-12-17 Ada Chan <adachan@apple.com>
12234 Reviewed by Anders Carlsson.
12236 Implement WKView::setInitialFocus().
12237 https://bugs.webkit.org/show_bug.cgi?id=51274
12239 * UIProcess/API/C/win/WKView.cpp:
12240 (WKViewSetInitialFocus):
12241 * UIProcess/API/C/win/WKView.h:
12242 * UIProcess/WebPageProxy.cpp:
12243 (WebKit::WebPageProxy::setInitialFocus): Send message to the Web Process to set
12245 * UIProcess/WebPageProxy.h:
12246 * UIProcess/win/WebView.cpp:
12247 (WebKit::WebView::setInitialFocus):
12248 * UIProcess/win/WebView.h:
12249 * WebProcess/WebPage/WebPage.cpp:
12250 (WebKit::WebPage::setInitialFocus): Set the focused node to null initially. Then
12251 ask FocusController to set the initial focus based on the focus direction.
12252 * WebProcess/WebPage/WebPage.h:
12253 * WebProcess/WebPage/WebPage.messages.in: Add a new message for SetInitialFocus.
12255 2010-12-17 Anders Carlsson <andersca@apple.com>
12257 Reviewed by Sam Weinig.
12259 Remove a check that probably uncovered a resizing bug.
12261 * UIProcess/DrawingAreaProxy.cpp:
12262 (WebKit::DrawingAreaProxy::setSize):
12264 2010-12-17 Brian Weinstein <bweinstein@apple.com>
12268 * UIProcess/qt/WebPopupMenuProxyQt.h:
12270 2010-12-17 Brian Weinstein <bweinstein@apple.com>
12272 Reviewed by Anders Carlsson.
12274 Text area does not update when you arrow through a <select> in WebKit2
12275 https://bugs.webkit.org/show_bug.cgi?id=51269
12276 <rdar://problem/8612853>
12278 Patch by Sam Weinig.
12280 Insteaed of keeping track of the selected index of a <select> just in the UI process, we
12281 need to pass this information along to the web process so that the web process can draw
12282 the correct text in the text field at the top of the select, when the selection changes (via
12283 the arrows or other typing while the select is opened).
12285 When the selected item in a popup changes, the UI process sends a message to the web process, telling
12286 it about the new selected index. The web process gets this message, and then sets the text that
12287 is visible in the select element.
12289 * UIProcess/API/mac/PageClientImpl.h: CreatePopupMenuProxy now takes a WebPageProxy.
12290 * UIProcess/API/mac/PageClientImpl.mm:
12291 (WebKit::PageClientImpl::createPopupMenuProxy): Pass the WebPageProxy to create.
12292 * UIProcess/API/qt/qwkpage.cpp:
12293 (QWKPagePrivate::createPopupMenuProxy):
12294 * UIProcess/API/qt/qwkpage_p.h: CreatePopupMenuProxy now takes a WebPageProxy.
12295 * UIProcess/PageClient.h: CreatePopupMenuProxy now takes a WebPageProxy.
12296 * UIProcess/WebPageProxy.cpp:
12297 (WebKit::WebPageProxy::valueChangedForPopupMenu): Send that the selected index changed to the
12298 web process.selected
12299 (WebKit::WebPageProxy::setTextFromItemForPopupMenu): Send that we should update the text for the
12300 active popup menu (with the index of the item to show).
12301 (WebKit::WebPageProxy::showPopupMenu): Pass the WebPageProxy to createPopupMenuProxy.
12302 * UIProcess/WebPageProxy.h:
12303 * UIProcess/WebPopupMenuProxy.h: Add a client who has virtual functions for the state changing of the
12304 popup menu. ShowPopupMenu doesn't take a new selected index anymore, that is handled by the client,
12305 and calling down to the web process.
12306 (WebKit::WebPopupMenuProxy::Client::~Client):
12307 (WebKit::WebPopupMenuProxy::WebPopupMenuProxy): Initialize the client.
12308 * UIProcess/mac/WebPopupMenuProxyMac.h:
12309 (WebKit::WebPopupMenuProxyMac::create): Takes a WebPopupMenuProxy::Client, and passes it to the constructor.
12310 * UIProcess/mac/WebPopupMenuProxyMac.mm:
12311 (WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac): Update what's initialized by the constructor.
12312 (WebKit::WebPopupMenuProxyMac::showPopupMenu): Call through to the web process that the value changed.
12313 * UIProcess/qt/WebPopupMenuProxyQt.cpp:
12314 (WebKit::WebPopupMenuProxyQt::WebPopupMenuProxyQt): Update what's initialized by the constructor.
12315 * UIProcess/win/WebPopupMenuProxyWin.cpp:
12316 (WebKit::WebPopupMenuProxyWin::WebPopupMenuProxyWin): Ditto.
12317 (WebKit::WebPopupMenuProxyWin::showPopupMenu): Call through to the web process that the value changed.
12318 (WebKit::WebPopupMenuProxyWin::setFocusedIndex): Resolve a FIXME to set the text of the popup menu.
12319 * UIProcess/win/WebPopupMenuProxyWin.h:
12320 (WebKit::WebPopupMenuProxyWin::create): Take in a WebPopupMenuProxy::client, and pass it to the constructor.
12321 * UIProcess/win/WebView.cpp:
12322 (WebKit::WebView::createPopupMenuProxy): Pass the WebPageProxy to create.
12323 * UIProcess/win/WebView.h:
12324 * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
12325 (WebKit::WebPopupMenu::setTextForIndex): Call through to setTextFromItem to set the select text.
12326 * WebProcess/WebCoreSupport/WebPopupMenu.h:
12327 * WebProcess/WebPage/WebPage.cpp: Call through to setTextForIndex on the active popup menu.
12328 (WebKit::WebPage::setTextForActivePopupMenu):
12329 * WebProcess/WebPage/WebPage.h:
12330 * WebProcess/WebPage/WebPage.messages.in: Add a new message.
12332 2010-12-17 Anders Carlsson <andersca@apple.com>
12334 Reviewed by Sam Weinig.
12336 DrawingAreaProxy::setSize shouldn't be a virtual member function
12337 https://bugs.webkit.org/show_bug.cgi?id=51275
12339 Add a pure virtual sizeDidChange member function to DrawingAreaProxy, and only
12340 call it if the size changes.
12342 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
12343 (WebKit::ChunkedUpdateDrawingAreaProxy::sizeDidChange):
12344 * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
12345 * UIProcess/DrawingAreaProxy.cpp:
12346 (WebKit::DrawingAreaProxy::setSize):
12347 * UIProcess/DrawingAreaProxy.h:
12348 (WebKit::DrawingAreaProxy::size):
12349 * UIProcess/LayerBackedDrawingAreaProxy.cpp:
12350 (WebKit::LayerBackedDrawingAreaProxy::sizeDidChange):
12351 * UIProcess/LayerBackedDrawingAreaProxy.h:
12352 * UIProcess/TiledDrawingAreaProxy.cpp:
12353 (WebKit::TiledDrawingAreaProxy::sizeDidChange):
12354 * UIProcess/TiledDrawingAreaProxy.h:
12356 2010-12-17 Anders Carlsson <andersca@apple.com>
12358 Reviewed by Sam Weinig.
12360 Add a WebPageProxy parameter to the DrawingAreaProxy constructor
12361 https://bugs.webkit.org/show_bug.cgi?id=51271
12363 * UIProcess/API/mac/WKView.mm:
12364 (-[WKView initWithFrame:contextRef:pageGroupRef:]):
12365 (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::]):
12366 * UIProcess/API/qt/qgraphicswkview.cpp:
12367 (QGraphicsWKView::QGraphicsWKView):
12368 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
12369 (WebKit::ChunkedUpdateDrawingAreaProxy::create):
12370 (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
12371 * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
12372 * UIProcess/DrawingAreaProxy.cpp:
12373 (WebKit::DrawingAreaProxy::DrawingAreaProxy):
12374 * UIProcess/DrawingAreaProxy.h:
12375 * UIProcess/LayerBackedDrawingAreaProxy.cpp:
12376 (WebKit::LayerBackedDrawingAreaProxy::create):
12377 (WebKit::LayerBackedDrawingAreaProxy::LayerBackedDrawingAreaProxy):
12378 * UIProcess/LayerBackedDrawingAreaProxy.h:
12379 * UIProcess/TiledDrawingAreaProxy.cpp:
12380 (WebKit::TiledDrawingAreaProxy::create):
12381 (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
12382 * UIProcess/TiledDrawingAreaProxy.h:
12383 * UIProcess/win/WebView.cpp:
12384 (WebKit::WebView::WebView):
12385 (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
12387 2010-12-17 Dan Bernstein <mitz@apple.com>
12389 Reviewed by Darin Adler.
12391 Add API for "Always Use the Complex Text Code Path"
12392 https://bugs.webkit.org/show_bug.cgi?id=51265
12394 * Shared/WebProcessCreationParameters.cpp:
12395 (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Initialize shouldAlwaysUseComplexTextCodePath.
12396 (WebKit::WebProcessCreationParameters::encode): Encode shouldAlwaysUseComplexTextCodePath.
12397 (WebKit::WebProcessCreationParameters::decode): Decode shouldAlwaysUseComplexTextCodePath.
12398 * Shared/WebProcessCreationParameters.h:
12399 * UIProcess/API/C/WKContext.cpp:
12400 (_WKContextSetAlwaysUsesComplexTextCodePath): Added.
12401 * UIProcess/API/C/WKContextPrivate.h:
12402 * UIProcess/WebContext.cpp:
12403 (WebKit::WebContext::WebContext): Initialize m_alwaysUsesComplexTextCodePath.
12404 (WebKit::WebContext::ensureWebProcess): Set shouldAlwaysUseComplexTextCodePath in the creation parameters.
12405 (WebKit::WebContext::setAlwaysUsesComplexTextCodePath): Added. Sets m_alwaysUsesComplexTextCodePath and
12406 sends a message to the WebProcess.
12407 * UIProcess/WebContext.h:
12408 * WebProcess/WebProcess.cpp:
12409 (WebKit::WebProcess::initializeWebProcess): Call setAlwaysUsesComplexTextCodePath() based on the creation
12411 (WebKit::WebProcess::setAlwaysUsesComplexTextCodePath): Added.
12412 * WebProcess/WebProcess.h:
12413 * WebProcess/WebProcess.messages.in: Added SetAlwaysUsesComplexTextCodePath.
12415 2010-12-17 Sam Weinig <sam@webkit.org>
12417 Reviewed by Darin Adler.
12419 WebKit2: Implement a title attribute per frame
12420 https://bugs.webkit.org/show_bug.cgi?id=51266
12422 Cache the title of each frame on the WebFrameProxy. Removes
12423 the WebPageProxy's cache of the main frame title to just
12424 access the main frame.
12426 We clear the cached title on new committed loads and on failures
12429 * UIProcess/API/C/WKFrame.cpp:
12430 (WKFrameCopyTitle):
12431 * UIProcess/API/C/WKFrame.h:
12432 * UIProcess/WebFrameProxy.cpp:
12433 (WebKit::WebFrameProxy::didCommitLoad):
12434 (WebKit::WebFrameProxy::didFailLoad):
12435 (WebKit::WebFrameProxy::didChangeTitle):
12436 * UIProcess/WebFrameProxy.h:
12437 (WebKit::WebFrameProxy::title):
12438 * UIProcess/WebPageProxy.cpp:
12439 (WebKit::WebPageProxy::close):
12440 (WebKit::WebPageProxy::pageTitle):
12441 (WebKit::WebPageProxy::didReceiveTitleForFrame):
12442 (WebKit::WebPageProxy::processDidCrash):
12443 * UIProcess/WebPageProxy.h:
12445 2010-12-16 Darin Adler <darin@apple.com>
12447 Reviewed by Maciej Stachowiak.
12449 Add text encoding menu API for WebKit2
12450 https://bugs.webkit.org/show_bug.cgi?id=51226
12452 * UIProcess/API/C/WKPage.cpp:
12453 (WKPageSupportsTextEncoding): Added.
12454 (WKPageCopyCustomTextEncodingName): Added.
12455 (WKPageSetCustomTextEncodingName): Added.
12456 * UIProcess/API/C/WKPage.h: Added the functions above.
12458 * UIProcess/WebPageProxy.cpp:
12459 (WebKit::WebPageProxy::WebPageProxy): Initialize
12460 m_mainFrameHasCustomRepresentation to false.
12461 (WebKit::WebPageProxy::supportsTextEncoding): Added.
12462 (WebKit::WebPageProxy::setCustomTextEncodingName): Added.
12463 (WebKit::WebPageProxy::didCommitLoadForFrame): Set
12464 m_mainFrameHasCustomRepresentation.
12466 * UIProcess/WebPageProxy.h: Added supportsTextEncoding,
12467 setCustomTextEncodingName, customTextEncodingName, and
12468 m_mainFrameHasCustomRepresentation.
12470 * UIProcess/WebPageProxy.messages.in: Tweaked formatting
12471 (added a blank line).
12473 * WebProcess/WebPage/WebPage.cpp:
12474 (WebKit::WebPage::setCustomTextEncodingName): Added.
12475 * WebProcess/WebPage/WebPage.h: Added setCustomTextEncodingName.
12477 * WebProcess/WebPage/WebPage.messages.in: Added the
12478 SetCustomTextEncodingName message. Tweaked formatting of the
12481 2010-12-17 Sheriff Bot <webkit.review.bot@gmail.com>
12483 Unreviewed, rolling out r74201.
12484 http://trac.webkit.org/changeset/74201
12485 https://bugs.webkit.org/show_bug.cgi?id=51248
12487 It broke ~6000 layout tests (Requested by Ossy_ on #webkit).
12489 * UIProcess/API/qt/qgraphicswkview.cpp:
12490 (QGraphicsWKView::setGeometry):
12491 (QGraphicsWKView::itemChange):
12493 2010-12-16 Sam Weinig <sam@webkit.org>
12495 Reviewed by Darin Adler.
12497 Add svn:eol-style native to the message.in files as a favor to Darin Adler.
12499 * PluginProcess/PluginControllerProxy.messages.in: Added property svn:eol-style.
12500 * PluginProcess/PluginProcess.messages.in: Added property svn:eol-style.
12501 * PluginProcess/WebProcessConnection.messages.in: Added property svn:eol-style.
12502 * Shared/Plugins/NPObjectMessageReceiver.messages.in: Added property svn:eol-style.
12503 * UIProcess/Downloads/DownloadProxy.messages.in: Added property svn:eol-style.
12504 * UIProcess/Plugins/PluginProcessProxy.messages.in: Added property svn:eol-style.
12505 * UIProcess/WebContext.messages.in: Added property svn:eol-style.
12506 * UIProcess/WebDatabaseManagerProxy.messages.in: Added property svn:eol-style.
12507 * UIProcess/WebInspectorProxy.messages.in: Added property svn:eol-style.
12508 * UIProcess/WebPageProxy.messages.in: Added property svn:eol-style.
12509 * UIProcess/WebProcessProxy.messages.in: Added property svn:eol-style.
12510 * WebProcess/Authentication/AuthenticationManager.messages.in: Added property svn:eol-style.
12511 * WebProcess/Plugins/PluginProxy.messages.in: Added property svn:eol-style.
12512 * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in: Added property svn:eol-style.
12513 * WebProcess/WebPage/WebInspector.messages.in: Added property svn:eol-style.
12514 * WebProcess/WebPage/WebPage.messages.in: Added property svn:eol-style.
12515 * WebProcess/WebProcess.messages.in: Added property svn:eol-style.
12517 2010-12-16 Sam Weinig <sam@webkit.org>
12519 Reviewed by Anders Carlsson.
12521 Move NSURLCache initialization from the ProcessLauncherMac to the centralized
12522 WebContext initialize WebProcess mechanism.
12524 * Shared/WebProcessCreationParameters.cpp:
12525 (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
12526 (WebKit::WebProcessCreationParameters::encode):
12527 (WebKit::WebProcessCreationParameters::decode):
12528 * Shared/WebProcessCreationParameters.h:
12529 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
12530 (WebKit::ProcessLauncher::launchProcess):
12531 * UIProcess/mac/WebContextMac.mm:
12532 (WebKit::WebContext::platformInitializeWebProcess):
12533 * WebProcess/WebProcess.cpp:
12534 (WebKit::WebProcess::initializeWebProcess):
12535 * WebProcess/mac/WebProcessMac.mm:
12536 (WebKit::WebProcess::platformInitializeWebProcess):
12537 * WebProcess/mac/WebProcessMainMac.mm:
12538 (WebKit::WebProcessMain):
12539 * WebProcess/win/WebProcessWin.cpp:
12540 (WebKit::WebProcess::platformInitializeWebProcess):
12541 (WebKit::WebProcess::setShouldPaintNativeControls):
12543 2010-12-16 Anders Carlsson <andersca@apple.com>
12545 Reviewed by Dan Bernstein.
12547 Defer getting a PluginProcessConnection object until the plug-in is initialized
12548 https://bugs.webkit.org/show_bug.cgi?id=51207
12549 <rdar://problem/8731306>
12551 Before this change, we would pass the PluginProcessConnection to the PluginProxy constructor, but not
12552 call PluginProcessConnection::addPluginProxy (which associates the plug-in proxy with the connection)
12553 until the plug-in is initialized.
12555 This could lead to a PluginProxy holding a reference to a PluginProcessConnection when the PluginProxyConnection
12556 itself did not know anything about the PluginProxy. This would happen when a page with plug-ins is opened in a background
12557 tab, with the plug-ins not yet initialized.
12559 Because of this, we could end up in a weird state, where the PluginProcessConnection would think that there are no
12560 more plug-ins alive, and invalidate (and null out) the underlying CoreIPC connection, which would lead to crashes
12561 when trying to send messages to the connection during later initialization.
12563 The fix is to pass the plug-in path to the PluginProxy constructor, and get the connection from PluginProxy::initialize.
12565 PluginProcessConnection object
12566 * WebProcess/Plugins/PluginProxy.cpp:
12567 (WebKit::PluginProxy::create):
12568 (WebKit::PluginProxy::PluginProxy):
12569 (WebKit::PluginProxy::initialize):
12570 * WebProcess/Plugins/PluginProxy.h:
12571 * WebProcess/WebPage/WebPage.cpp:
12572 (WebKit::WebPage::createPlugin):
12574 2010-12-16 Enrica Casucci <enrica@apple.com>
12576 Reviewed by Maciej Stachowiak.
12578 WebKit2: Cannot copy two successive selections using cmd-c
12579 <rdar://problem/8680309>
12580 https://bugs.webkit.org/show_bug.cgi?id=51203
12582 The previous implementation assumed a call sequence from AppKit that
12583 was not always happening.
12584 When the user clicks on the pulldown menu, AppKit sends validateUserInterfaceItem
12585 calls for each element that needs validation and we used to count the number of
12586 validation requests being sent to the web process.
12587 All these calls are made before we have the chance to get one reply from the WebProcess.
12588 We also delayed the menu update until we had received all the replies to the validation requests.
12589 At that point we called update on the menu to trigger the validation one more time with
12590 the data retrived from the WebProcess.
12591 When the user simply presses cmd-c, only one call to vaidateUserInterfaceItem is made
12592 and the menu update triggered the validation of all the menu entries causing the internal
12593 state to be out of sync.
12594 The new implementation is very simple: for each validation request from AppKit we send
12595 a request to the WebProcess and we cache a reference to the menu item being validated.
12596 When the WebProcess replies, we retrieve the menu item from our cache and update its state.
12598 * UIProcess/API/mac/WKView.mm:
12599 (-[WKView initWithFrame:contextRef:pageGroupRef:]): Removed initialization of deleted memebers.
12600 (-[WKView validateUserInterfaceItem:]): Request validation to the WebProcess and return YES to
12601 allow AppKit to do the keyBinding processing.
12602 (-[WKView _setUserInterfaceItemState:enabled:state:]): Called when the WebProcess replies to the
12603 validation request to check/uncheck and enable/disable the menu item.
12605 2010-12-16 Anders Carlsson <andersca@apple.com>
12607 Reviewed by Oliver Hunt.
12609 Don't try to call plug-in member functions if the plug-in hasn't been initialized
12610 https://bugs.webkit.org/show_bug.cgi?id=51205
12611 <rdar://problem/8730204>
12613 Make sure that all PluginView functions that can be called while a plug-in has not been
12614 initialized (if the plug-in page is in a background tab for example) have an additional
12615 check for m_isInitialized.
12617 * WebProcess/Plugins/PluginView.cpp:
12618 (WebKit::PluginView::setWindowIsFocused):
12619 (WebKit::PluginView::windowAndViewFramesChanged):
12620 (WebKit::PluginView::platformLayer):
12621 (WebKit::PluginView::scriptObject):
12622 (WebKit::PluginView::privateBrowsingStateChanged):
12623 (WebKit::PluginView::handleEvent):
12624 (WebKit::PluginView::viewGeometryDidChange):
12625 (WebKit::PluginView::setFocus):
12627 2010-12-16 Anders Carlsson <andersca@apple.com>
12629 Reviewed by John Sullivan.
12631 Add a bunch of m_isStarted assertions to plug-in code.
12633 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
12634 (WebKit::NetscapePlugin::frameDidFinishLoading):
12635 (WebKit::NetscapePlugin::frameDidFail):
12636 (WebKit::NetscapePlugin::didEvaluateJavaScript):
12637 (WebKit::NetscapePlugin::streamDidReceiveResponse):
12638 (WebKit::NetscapePlugin::streamDidReceiveData):
12639 (WebKit::NetscapePlugin::streamDidFinishLoading):
12640 (WebKit::NetscapePlugin::streamDidFail):
12641 (WebKit::NetscapePlugin::manualStreamDidReceiveResponse):
12642 (WebKit::NetscapePlugin::manualStreamDidReceiveData):
12643 (WebKit::NetscapePlugin::manualStreamDidFinishLoading):
12644 (WebKit::NetscapePlugin::manualStreamDidFail):
12645 (WebKit::NetscapePlugin::handleMouseEvent):
12646 (WebKit::NetscapePlugin::handleWheelEvent):
12647 (WebKit::NetscapePlugin::handleMouseEnterEvent):
12648 (WebKit::NetscapePlugin::handleMouseLeaveEvent):
12649 (WebKit::NetscapePlugin::handleKeyboardEvent):
12650 (WebKit::NetscapePlugin::setFocus):
12651 (WebKit::NetscapePlugin::pluginScriptableNPObject):
12652 (WebKit::NetscapePlugin::privateBrowsingStateChanged):
12654 2010-12-16 Anders Carlsson <andersca@apple.com>
12656 Reviewed by Darin Adler.
12658 Save the manual plug-in stream data and redeliver it when the plug-in is initialized
12659 https://bugs.webkit.org/show_bug.cgi?id=51201
12661 * WebProcess/Plugins/PluginView.cpp:
12662 (WebKit::PluginView::PluginView):
12663 Initialize m_manualStreamState.
12665 (WebKit::PluginView::manualLoadDidReceiveResponse):
12666 If the plug-in hasn't been initialized, store the response.
12668 (WebKit::PluginView::manualLoadDidReceiveData):
12669 If the plug-in hasn't been initialized, store the data.
12671 (WebKit::PluginView::manualLoadDidFinishLoading):
12672 If the plug-in hasn't been initialized, update the state.
12674 (WebKit::PluginView::manualLoadDidFail):
12675 If the plug-in hasn't been initialized, store the error and update the state.
12677 (WebKit::PluginView::initializePlugin):
12678 Call redeliverManualStream.
12680 (WebKit::PluginView::redeliverManualStream):
12681 Redeliver the manual stream to the plug-in.
12683 * WebProcess/Plugins/PluginView.h:
12685 2010-12-16 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
12687 Reviewed by Andreas Kling.
12689 [Qt] Turn off drawing area updates if the item is not visible
12691 The updates are controlled by the QGraphicsItem::visible property.
12693 * UIProcess/API/qt/qgraphicswkview.cpp:
12694 (QGraphicsWKViewPrivate::updateViewportSize):
12695 (QGraphicsWKView::setGeometry):
12696 (QGraphicsWKView::itemChange):
12698 2010-12-15 Dan Bernstein <mitz@apple.com>
12700 Reviewed by Sam Weinig.
12702 <rdar://problem/8731320> WebProcess’s CFNetwork cache is in ~/Library/Caches/com.apple.WebProcess
12704 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
12705 (WebKit::ProcessLauncher::launchProcess): Get the location, disk capacity and memory capacity
12706 of the UI process’s NSURLCache and pass them to the WebProcess.
12707 * WebProcess/mac/WebProcessMainMac.mm:
12708 (WebKit::WebProcessMain): If an NSURLCache location was passed on the command line, set the
12709 shared NSURLCache to that path and use the specified capacities as initial values.
12711 2010-12-15 Dan Bernstein <mitz@apple.com>
12713 Reviewed by Sam “I blame andersca” Weinig.
12715 Allow responses to be cached by the NSURLCache.
12717 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
12718 (WebKit::WebFrameLoaderClient::willCacheResponse): Changed to return the response instead of 0.
12720 2010-12-14 Enrica Casucci <enrica@apple.com>
12722 Reviewed by Adam Roben.
12724 Add IME support to WebKit2 on Windows
12725 https://bugs.webkit.org/show_bug.cgi?id=51049
12726 The implementation is very close to the one in WebKit.
12727 The main change is the addition of handlers for WM_IME_STARTCOMPOSITION,
12728 WM_IME_REQUEST, WM_IME_COMPOSITION, WM_IME_ENDCOMPOSITION,
12729 WM_IME_SELECT, WM_IME_SETCONTEXT and a number of new messages
12730 between the UI process and the WebProcess to send/retrieve
12731 the data being handled by the messages listed above.
12733 * UIProcess/PageClient.h: Added compositionSelectionChanged for Windows platform.
12734 * UIProcess/WebPageProxy.cpp:
12735 The following methods send synchronous messages to the WebProcess.
12736 (WebKit::WebPageProxy::firstRectForCharacterInSelectedRange): Retrieves the rectangle to position
12737 the cnadidates window.
12738 (WebKit::WebPageProxy::getSelectedText): Retrieves the currently selected text.
12739 The following methods send asynchronous messages to the WebProcess.
12740 (WebKit::WebPageProxy::confirmComposition):
12741 (WebKit::WebPageProxy::setComposition):
12742 (WebKit::WebPageProxy::didChangeSelection): Name changed.
12743 (WebKit::WebPageProxy::didChangeCompositionSelection): Called when there is a change
12744 in the composition selection.
12745 * UIProcess/WebPageProxy.messages.in: Added messages corresponding to the methods above.
12746 * UIProcess/win/WebView.cpp:
12747 (WebKit::WebView::wndProc): Added handling of messages for IME.
12748 The following are the handlers for the window message being sent during composition.
12749 (WebKit::WebView::onIMEComposition):
12750 (WebKit::WebView::onIMEEndComposition):
12751 (WebKit::WebView::onIMERequestCharPosition):
12752 (WebKit::WebView::onIMERequestReconvertString):
12753 (WebKit::WebView::onIMERequest):
12754 (WebKit::WebView::onIMESelect):
12755 (WebKit::WebView::onIMESetContext):
12756 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
12757 (WebKit::WebEditorClient::respondToChangedSelection): Added notification
12758 of composition selection changed for Windows.
12759 * WebProcess/WebPage/win/WebPageWin.cpp:
12760 The following are the WebProcess counterparts of the new messages.
12761 (WebKit::WebPage::confirmComposition):
12762 (WebKit::WebPage::setComposition):
12763 (WebKit::WebPage::firstRectForCharacterInSelectedRange):
12764 (WebKit::WebPage::getSelectedText):
12766 2010-12-15 Sam Weinig <sam@webkit.org>
12768 Reviewed by Brady Eidson.
12770 Loading webkit.org over and over is slower in WebKit2 than WebKit1, looks like page is not cached
12771 <rdar://problem/8774683>
12772 https://bugs.webkit.org/show_bug.cgi?id=51143
12774 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
12775 (WebKit::WebFrameLoaderClient::canCachePage): Return true as long as we
12776 are not a custom representation (eg. a PDF).
12777 (WebKit::WebFrameLoaderClient::shouldCacheResponse): Always return true.
12778 * WebProcess/WebPage/WebPage.cpp:
12779 (WebKit::WebPage::updatePreferences): Enable the page cache.
12781 2010-12-15 Simon Fraser <simon.fraser@apple.com>
12783 Reviewed by Adele Peterson.
12785 WebKit2 in compositing mode no longer has font smoothing
12786 https://bugs.webkit.org/show_bug.cgi?id=50733
12788 Tell the root GraphicsLayer that its contents are opaque
12789 if the WebPage draws its background, and that background
12790 is not transparent.
12792 The GraphicsLayer then uses the 'contentsOpaque' setting to
12793 determine whether to use font smoothing.
12795 Add pageBackgroundTransparencyChanged() to DrawingArea
12796 so that the WebPage can inform the DrawingArea when the
12797 background transparency changes.
12799 * WebProcess/WebPage/DrawingArea.h:
12800 (WebKit::DrawingArea::pageBackgroundTransparencyChanged):
12801 (WebKit::DrawingArea::onPageClose):
12802 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
12803 (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
12804 (WebKit::LayerBackedDrawingArea::pageBackgroundTransparencyChanged):
12805 * WebProcess/WebPage/LayerBackedDrawingArea.h:
12806 * WebProcess/WebPage/WebPage.cpp:
12807 (WebKit::WebPage::setDrawsBackground):
12808 (WebKit::WebPage::setDrawsTransparentBackground):
12810 2010-12-15 Anders Carlsson <andersca@apple.com>
12812 Reviewed by Sam Weinig.
12814 Fix assertion in plugins/return-error-from-new-stream-callback-in-full-frame-plugin.html test
12815 https://bugs.webkit.org/show_bug.cgi?id=51136
12817 Ensure that a plug-in that has explicitly cancelled the manual stream won't get any more callbacks.
12819 * PluginProcess/PluginControllerProxy.cpp:
12820 (WebKit::PluginControllerProxy::PluginControllerProxy):
12821 (WebKit::PluginControllerProxy::cancelManualStreamLoad):
12822 (WebKit::PluginControllerProxy::manualStreamDidReceiveResponse):
12823 (WebKit::PluginControllerProxy::manualStreamDidReceiveData):
12824 (WebKit::PluginControllerProxy::manualStreamDidFinishLoading):
12825 (WebKit::PluginControllerProxy::manualStreamDidFail):
12826 * PluginProcess/PluginControllerProxy.h:
12828 2010-12-15 Brian Weinstein <bweinstein@apple.com>
12830 Windows Build Fix. A .h file was added to the vcproj twice, but not its corresponding cpp file.
12832 * win/WebKit2.vcproj:
12834 2010-12-15 Sam Weinig <sam@webkit.org>
12836 Reviewed by Anders Carlsson.
12838 WebKit2: Can't add files to an <input type=file>
12839 https://bugs.webkit.org/show_bug.cgi?id=51087
12841 * Scripts/webkit2/messages.py:
12844 * Shared/API/c/WKBase.h:
12845 Adds WKOpenPanelParametersRef and WKOpenPanelResultListenerRef.
12847 * Shared/APIObject.h:
12848 Adds TypeOpenPanelParameters and TypeOpenPanelResultListener.
12850 * Shared/WebOpenPanelParameters.cpp: Added.
12851 (WebKit::WebOpenPanelParameters::create):
12852 (WebKit::WebOpenPanelParameters::WebOpenPanelParameters):
12853 (WebKit::WebOpenPanelParameters::~WebOpenPanelParameters):
12854 (WebKit::WebOpenPanelParameters::Data::encode):
12855 (WebKit::WebOpenPanelParameters::Data::decode):
12856 * Shared/WebOpenPanelParameters.h: Added.
12857 (WebKit::WebOpenPanelParameters::allowMultipleFiles):
12858 (WebKit::WebOpenPanelParameters::type):
12859 Class representing options one can pass to open panel.
12861 * UIProcess/API/C/WKAPICast.h:
12862 Add casts for WebOpenPanelParameters and WebOpenPanelResultListenerProxy.
12864 * UIProcess/API/C/WKOpenPanelParameters.cpp: Added.
12865 (WKOpenPanelParametersGetTypeID):
12866 (WKOpenPanelParametersGetAllowsMultipleFiles):
12867 * UIProcess/API/C/WKOpenPanelParameters.h: Added.
12868 * UIProcess/API/C/WKOpenPanelResultListener.cpp: Added.
12869 (WKOpenPanelResultListenerGetTypeID):
12870 (WKOpenPanelResultListenerChooseFiles):
12871 (WKOpenPanelResultListenerCancel):
12872 * UIProcess/API/C/WKOpenPanelResultListener.h: Added.
12875 * UIProcess/API/C/WKPage.h:
12876 Add new UI callback, WKPageRunOpenPanelCallback.
12878 * UIProcess/API/C/WebKit2.h:
12879 Add includes for new API headers.
12881 * UIProcess/API/qt/qwkpage.cpp:
12882 (QWKPage::QWKPage):
12883 Stub out the runOpenPanel callback.
12885 * UIProcess/WebOpenPanelResultListenerProxy.cpp: Added.
12886 (WebKit::WebOpenPanelResultListenerProxy::WebOpenPanelResultListenerProxy):
12887 (WebKit::WebOpenPanelResultListenerProxy::~WebOpenPanelResultListenerProxy):
12888 (WebKit::WebOpenPanelResultListenerProxy::chooseFiles):
12889 (WebKit::WebOpenPanelResultListenerProxy::cancel):
12890 (WebKit::WebOpenPanelResultListenerProxy::invalidate):
12891 * UIProcess/WebOpenPanelResultListenerProxy.h: Added.
12892 (WebKit::WebOpenPanelResultListenerProxy::create):
12893 (WebKit::WebOpenPanelResultListenerProxy::type):
12894 Adds the listener used to choose files for <input type=file>
12896 * UIProcess/WebPageProxy.cpp:
12897 (WebKit::WebPageProxy::runOpenPanel):
12898 (WebKit::WebPageProxy::didChooseFilesForOpenPanel):
12899 (WebKit::WebPageProxy::didCancelForOpenPanel):
12900 * UIProcess/WebPageProxy.h:
12901 * UIProcess/WebPageProxy.messages.in:
12902 * UIProcess/WebUIClient.cpp:
12903 (WebKit::WebUIClient::runOpenPanel):
12904 * UIProcess/WebUIClient.h:
12905 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
12906 (WebKit::WebChromeClient::runOpenPanel):
12907 * WebProcess/WebPage/WebOpenPanelResultListener.cpp: Added.
12908 (WebKit::WebOpenPanelResultListener::create):
12909 (WebKit::WebOpenPanelResultListener::WebOpenPanelResultListener):
12910 (WebKit::WebOpenPanelResultListener::~WebOpenPanelResultListener):
12911 (WebKit::WebOpenPanelResultListener::didChooseFiles):
12912 * WebProcess/WebPage/WebOpenPanelResultListener.h: Added.
12913 (WebKit::WebOpenPanelResultListener::disconnectFromPage):
12914 * WebProcess/WebPage/WebPage.cpp:
12915 (WebKit::WebPage::close):
12916 (WebKit::WebPage::setActiveOpenPanelResultListener):
12917 (WebKit::WebPage::didChooseFilesForOpenPanel):
12918 (WebKit::WebPage::didCancelForOpenPanel):
12919 * WebProcess/WebPage/WebPage.h:
12920 (WebKit::WebPage::activeOpenPanelResultListener):
12921 * WebProcess/WebPage/WebPage.messages.in:
12922 Pipe through file choosing.
12925 * WebKit2.xcodeproj/project.pbxproj:
12926 * win/WebKit2.vcproj:
12927 * win/WebKit2Generated.make:
12930 2010-12-15 Anders Carlsson <andersca@apple.com>
12932 Reviewed by Maciej Stachowiak.
12934 Semi-reproducible crash in ChunkedUpdateDrawingArea::paintIntoUpdateChunk closing a particular yahoo page
12935 https://bugs.webkit.org/show_bug.cgi?id=51126
12936 <rdar://problem/8771219>
12938 Laying out the web page can cause the drawing area to change so we need to protect against this.
12940 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
12941 (WebKit::ChunkedUpdateDrawingArea::display):
12942 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
12943 (WebKit::LayerBackedDrawingArea::display):
12944 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
12945 (WebKit::LayerBackedDrawingArea::updateLayoutRunLoopObserverFired):
12947 2010-12-15 Brian Weinstein <bweinstein@apple.com>
12949 Reviewed by Adam Roben.
12951 WebKit2: WebPageWin needs implementations of hasLocalDataForURL and canHandleRequest
12952 https://bugs.webkit.org/show_bug.cgi?id=51090
12954 Implement these functions for WebKit2 on Windows.
12956 * WebProcess/WebPage/WebPage.cpp:
12957 (WebKit::WebPage::hasLocalDataForURL): Does the cross-platform part of the check for having local
12958 data (file URL or subresource), then calls platformHasLocalDataForURL to let the platform do
12959 their specific checks.
12960 * WebProcess/WebPage/WebPage.h:
12961 * WebProcess/WebPage/mac/WebPageMac.mm:
12962 (WebKit::WebPage::platformHasLocalDataForURL): Moved the cross-platform code from here to WebPage::hasLocalDataForURL.
12963 * WebProcess/WebPage/qt/WebPageQt.cpp:
12964 (WebKit::WebPage::platformHasLocalDataForURL): Renamed from hasLocalDataForURL.
12965 * WebProcess/WebPage/win/WebPageWin.cpp:
12966 (WebKit::WebPage::platformHasLocalDataForURL): Renamed from hasLocalDataForURL and implemented with CFNetwork calls. This is the
12967 CFNetwork equivalent of the code in WebPageMac::platformHasLocalDataForURL.
12968 (WebKit::WebPage::canHandleRequest): Copied the line of code from WebView::canHandleRequest in WebKit1, with a FIXME saying
12969 this might not be enough (although it was in WebKit1 on Windows).
12971 2010-12-15 Sheriff Bot <webkit.review.bot@gmail.com>
12973 Unreviewed, rolling out r74117.
12974 http://trac.webkit.org/changeset/74117
12975 https://bugs.webkit.org/show_bug.cgi?id=51113
12977 This broke the GTK1 build. (Requested by mrobinson on
12980 * GNUmakefile.am: Removed.
12981 * Scripts/generate-forwarding-headers.pl:
12983 * gtk/webkit2.pc.in: Removed.
12985 2010-12-15 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com>
12987 Reviewed by Martin Robinson.
12989 Changes to enable building WebKit2 for Gtk port.
12990 (https://bugs.webkit.org/show_bug.cgi?id=37369)
12992 * GNUmakefile.am: Added.
12993 * Scripts/generate-forwarding-headers.pl: For GTK port, taking 1 extra argument for copying network headers.
12994 * WebKit2Prefix.h: Included WebCore/config.h for GTK port as the first header file for WebKit2 sources files.
12996 * gtk/webkit2.pc.in: Added.
12998 2010-12-15 Jan Erik Hanssen <jhanssen@sencha.com>
13000 Reviewed by Andreas Kling.
13002 [Qt][WK2] webkit2 does not compile on OS X
13003 https://bugs.webkit.org/show_bug.cgi?id=50128
13005 prctl(2) is only available on Linux, so use an atexit handler for killing
13006 all the child processes when the process is exiting.
13008 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
13009 (WebKit::cleanupProcesses):
13010 (WebKit::QtWebProcess::QtWebProcess):
13011 (WebKit::QtWebProcess::processStateChanged):
13012 (WebKit::ProcessLauncherHelper::instance):
13014 2010-12-14 Anders Carlsson <andersca@apple.com>
13018 * win/WebKit2Common.vsprops:
13020 2010-12-14 Anders Carlsson <andersca@apple.com>
13026 2010-12-14 Anders Carlsson <andersca@apple.com>
13028 Reviewed by TYPO FIX.
13032 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
13033 (WebKit::NetscapePluginModule::determineQuirks):
13035 2010-12-14 Anders Carlsson <andersca@apple.com>
13037 Reviewed by Sam Weinig.
13039 Cannot type into plugin edit field
13040 https://bugs.webkit.org/show_bug.cgi?id=51074
13041 <rdar://problem/8483741>
13043 Add a PrognameShouldBeWebKitPluginHost quirk, since it turns out Flash Player calls getprogname() and checks
13044 if the return value is "WebKitPluginHost" in order to determine when to handle NPCocoaEventKeyDown events.
13046 * PluginProcess/PluginProcess.cpp:
13047 (WebKit::PluginProcess::netscapePluginModule):
13048 If the plug-in module has the PrognameShouldBeWebKitPluginHost quirk, call setprogname("WebKitPluginHost").
13050 * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
13051 (WebKit::NetscapePluginModule::load):
13052 Call determineQuirks()
13054 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
13055 (WebKit::NetscapePluginModule::determineQuirks):
13056 Add the PrognameShouldBeWebKitPluginHost quirk for Flash.
13058 * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
13059 (WebKit::NetscapePluginModule::determineQuirks):
13060 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
13061 (WebKit::NetscapePluginModule::determineQuirks):
13064 * Shared/Plugins/PluginQuirks.h:
13065 Add new PluginQuirks file.
13067 * WebKit2.xcodeproj/project.pbxproj:
13070 2010-12-14 Anders Carlsson <andersca@apple.com>
13072 Reviewed by Sam Weinig.
13074 Add a NetscapePluginModuleX11 and move the Qt implementation of PluginInfoStore::getPluginInfo there
13075 https://bugs.webkit.org/show_bug.cgi?id=51066
13077 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: Copied from WebKit2/UIProcess/Plugins/qt/PluginInfoStoreQt.cpp.
13078 (WebKit::NetscapePluginModule::getPluginInfo):
13079 * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
13080 (WebKit::PluginInfoStore::getPluginInfo):
13083 2010-12-14 Anders Carlsson <andersca@apple.com>
13085 Reviewed by Dan Bernstein.
13087 Move Windows version of getPluginInfo to NetscapePluginModule
13088 https://bugs.webkit.org/show_bug.cgi?id=51073
13090 * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Added.
13091 (WebKit::getVersionInfo):
13092 (WebKit::fileVersion):
13093 (WebKit::NetscapePluginModule::getPluginInfo):
13094 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
13095 (WebKit::PluginInfoStore::getPluginInfo):
13096 * win/WebKit2.vcproj:
13098 2010-12-14 Alice Liu <alice.liu@apple.com>
13102 * UIProcess/WebProcessProxy.h:
13103 (WebKit::WebProcessProxy::sendSync):
13104 Move the default argument to the declaration.
13106 2010-12-14 Anders Carlsson <andersca@apple.com>
13108 Reviewed by Adam Roben.
13110 Move PluginInfoStore::getPluginInfo to NetscapePluginModule
13111 https://bugs.webkit.org/show_bug.cgi?id=51058
13113 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
13114 Move implementation of PluginInfoStore::getPluginInfo and related
13115 helper functions here.
13117 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
13118 (WebKit::PluginInfoStore::getPluginInfo):
13119 Just call NetscapePluginModule::getPluginInfo here for now.
13121 * WebKit2.xcodeproj/project.pbxproj:
13122 Add NetscapePluginModuleMac.mm.
13124 2010-12-14 Anders Carlsson <andersca@apple.com>
13126 Reviewed by John Sullivan.
13128 Switch name and description order when fetching Carbon plug-in info
13129 https://bugs.webkit.org/show_bug.cgi?id=46211
13131 The plug-in description comes before the name in the Carbon string list resource.
13133 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
13134 (WebKit::getPluginInfoFromCarbonResources):
13136 2010-12-14 Anders Carlsson <andersca@apple.com>
13138 Reviewed by Adam Roben.
13140 Move NetscapePluginModule.{cpp|h} to Shared/Plugins/Netscape
13141 https://bugs.webkit.org/show_bug.cgi?id=51052
13143 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: Renamed from WebKit2/WebProcess/Plugins/Netscape/NetscapePluginModule.cpp.
13144 * Shared/Plugins/Netscape/NetscapePluginModule.h: Renamed from WebKit2/WebProcess/Plugins/Netscape/NetscapePluginModule.h.
13146 * WebKit2.xcodeproj/project.pbxproj:
13147 * win/WebKit2.vcproj:
13148 * win/WebKit2Common.vsprops:
13150 2010-12-14 Anders Carlsson <andersca@apple.com>
13152 Reviewed by Sam Weinig.
13154 Handle complex text input for plug-ins
13155 https://bugs.webkit.org/show_bug.cgi?id=51047
13157 * PluginProcess/PluginControllerProxy.cpp:
13158 (WebKit::PluginControllerProxy::sendComplexTextInput):
13159 Pass along the text input to the plug-in.
13161 * PluginProcess/PluginControllerProxy.messages.in:
13162 Add SendComplexTextInput message.
13164 * UIProcess/API/mac/WKTextInputWindowController.h: Added.
13165 * UIProcess/API/mac/WKTextInputWindowController.mm: Added.
13166 Add text input window controller, mostly copied from WebKit1.
13168 * UIProcess/API/mac/WKView.mm:
13169 (-[WKView keyDown:]):
13170 If needed, pass along the event to the text input window controller.
13172 (-[WKView inputContext]):
13173 Return the input context of the text input window controller.
13175 (-[WKView _setComplexTextInputEnabled:pluginComplexTextInputIdentifier:]):
13176 Notify the input window controller that the input source changed.
13178 * UIProcess/WebPageProxy.cpp:
13179 (WebKit::WebPageProxy::sendComplexTextInputToPlugin):
13180 Send the complex text input to the web process.
13182 * WebKit2.xcodeproj/project.pbxproj:
13185 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
13186 (WebKit::convertStringToKeyCodes):
13187 Convert a string to a vector of key codes in the current encoding.
13189 (WebKit::NetscapePlugin::sendComplexTextInput):
13190 In the Cocoa event model, create and dispatch an NPCocoaEventTextInput event.
13191 In the Carbon event model, convert the string to individual key codes and send them
13192 as key down events.
13194 * WebProcess/Plugins/PluginProxy.cpp:
13195 (WebKit::PluginProxy::sendComplexTextInput):
13196 Send the text to the plug-in controller proxy.
13198 * WebProcess/Plugins/PluginView.cpp:
13199 (WebKit::PluginView::sendComplexTextInput):
13200 If the plug-in has a matching text input identifier, call Plugin::sendComplexTextInput.
13202 * WebProcess/WebPage/WebPage.messages.in:
13203 Add SendComplexTextInputToPlugin message.
13205 * WebProcess/WebPage/mac/WebPageMac.mm:
13206 (WebKit::WebPage::sendComplexTextInputToPlugin):
13207 Iterate over all known plug-in views and try to find one to send the text input to.
13209 2010-12-13 Alexey Proskuryakov <ap@apple.com>
13211 Reviewed by Adam Barth.
13213 https://bugs.webkit.org/show_bug.cgi?id=50953
13214 DNS Prefetch should be an opt-in feature
13216 Pass the preference through WebKit2.
13218 * Shared/WebPreferencesStore.h:
13219 * UIProcess/API/C/WKPreferences.cpp:
13220 (WKPreferencesSetDNSPrefetchingEnabled):
13221 (WKPreferencesGetDNSPrefetchingEnabled):
13222 * UIProcess/API/C/WKPreferences.h:
13223 * WebProcess/WebPage/WebPage.cpp:
13224 (WebKit::WebPage::updatePreferences):
13226 2010-12-13 Anders Carlsson <andersca@apple.com>
13228 Reviewed by Kevin Decker.
13230 Pass the complex text input status to the WKView
13231 https://bugs.webkit.org/show_bug.cgi?id=50993
13233 * UIProcess/API/mac/PageClientImpl.h:
13234 * UIProcess/API/mac/PageClientImpl.mm:
13235 (WebKit::PageClientImpl::setComplexTextInputEnabled):
13236 * UIProcess/API/mac/WKView.mm:
13237 (-[WKView _setComplexTextInputEnabled:pluginComplexTextInputIdentifier:]):
13238 * UIProcess/API/mac/WKViewInternal.h:
13239 * UIProcess/PageClient.h:
13240 * UIProcess/WebPageProxy.cpp:
13241 (WebKit::WebPageProxy::setComplexTextInputEnabled):
13243 2010-12-14 Benjamin Poulain <benjamin.poulain@nokia.com>
13245 Reviewed by Kenneth Rohde Christiansen.
13247 WebKit 2 does not send touch cancel events correctly between processes
13248 https://bugs.webkit.org/show_bug.cgi?id=50235
13250 The classes WebKit2PlatformTouchPoint and WebKit2PlatformTouchEvent
13251 misses the conversion of TouchCancel events and points.
13253 This patch add the missing enums when converting from a WebTouchEvent
13254 to a PlatformTouchEvent.
13256 Testing is already covered by fast/events/touch/send-oncancel-event.html
13258 * Shared/WebEventConversion.cpp:
13259 (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):
13260 (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
13262 2010-12-14 Zalan Bujtas <zbujtas@gmail.com>
13264 Reviewed by Kenneth Rohde Christiansen.
13266 Add loadFinished() for provisional load error
13267 This fixes the hanging UI state, when provisional load error occurs due to
13268 the async nature of policy check.
13270 https://bugs.webkit.org/show_bug.cgi?id=48724
13272 * UIProcess/API/qt/ClientImpl.cpp:
13274 (qt_wk_didFailProvisionalLoadWithErrorForFrame):
13275 (qt_wk_didFinishLoadForFrame):
13276 (qt_wk_didFailLoadWithErrorForFrame):
13278 2010-12-13 Sam Weinig <sam@webkit.org>
13280 Reviewed by Anders Carlsson.
13282 WebKit2: Need to be able to set the application name for the user agent for a WKPage
13283 https://bugs.webkit.org/show_bug.cgi?id=51011
13286 WebKit2: Need to be able to set the application name for the user agent for a WKPage
13287 <rdar://problem/8564532>
13288 WebKit2: Need to be able to get the computed user agent for a WKPage
13289 <rdar://problem/8637285>
13291 Moves user agent computation to the UIProcess and just passes it to the WebProcess
13292 when it has changed.
13294 * Shared/WebPageCreationParameters.cpp:
13295 (WebKit::WebPageCreationParameters::encode):
13296 (WebKit::WebPageCreationParameters::decode):
13297 * Shared/WebPageCreationParameters.h:
13298 Add a user agent to the creation parameters.
13300 * UIProcess/API/C/WKPage.cpp:
13301 (WKPageCopyUserAgent):
13302 (WKPageCopyApplicationNameForUserAgent):
13303 (WKPageSetApplicationNameForUserAgent):
13304 (WKPageSetCustomUserAgent):
13305 * UIProcess/API/C/WKPage.h:
13306 Add new API to set the application name and access the computed user agent.
13308 * UIProcess/WebPageProxy.cpp:
13309 (WebKit::WebPageProxy::WebPageProxy):
13310 (WebKit::WebPageProxy::close):
13311 (WebKit::WebPageProxy::setUserAgent):
13312 (WebKit::WebPageProxy::setApplicationNameForUserAgent):
13313 (WebKit::WebPageProxy::setCustomUserAgent):
13314 (WebKit::WebPageProxy::processDidCrash):
13315 (WebKit::WebPageProxy::creationParameters):
13316 * UIProcess/WebPageProxy.h:
13317 (WebKit::WebPageProxy::userAgent):
13318 (WebKit::WebPageProxy::applicationNameForUserAgent):
13319 * UIProcess/mac/WebPageProxyMac.mm: Added.
13320 * WebProcess/WebPage/WebPage.cpp:
13321 (WebKit::WebPage::WebPage):
13322 (WebKit::WebPage::setUserAgent):
13323 * WebProcess/WebPage/WebPage.h:
13324 (WebKit::WebPage::userAgent):
13325 * WebProcess/WebPage/WebPage.messages.in:
13326 Pipe through user agent.
13328 (WebKit::callGestalt):
13329 (WebKit::macOSXVersionString):
13330 (WebKit::userVisibleWebKitVersionString):
13331 (WebKit::WebPageProxy::standardUserAgent):
13332 * UIProcess/win/WebPageProxyWin.cpp: Added.
13333 (WebKit::windowsVersion):
13334 (WebKit::userVisibleWebKitVersionString):
13335 (WebKit::WebPageProxy::standardUserAgent):
13336 Port standardUserAgent computation from WebKit1.
13338 * UIProcess/qt/WebPageProxyQt.cpp: Added.
13339 (WebKit::WebPageProxy::standardUserAgent):
13340 Stub out the user agent so there is no change in behavior.
13343 * WebKit2.xcodeproj/project.pbxproj:
13344 * win/WebKit2.vcproj:
13347 2010-12-13 Brady Eidson <beidson@apple.com>
13349 Reviewed by Jon Honeycutt (and Brian Weinstein in heart).
13351 <rdar://problem/8752202> and https://bugs.webkit.org/show_bug.cgi?id=50997
13352 Expose "link title" and "link label" to InjectedBundleHitTestResult API
13354 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
13355 (WKBundleHitTestResultCopyLinkLabel):
13356 (WKBundleHitTestResultCopyLinkTitle):
13357 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
13359 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
13360 (WebKit::InjectedBundleHitTestResult::linkLabel):
13361 (WebKit::InjectedBundleHitTestResult::linkTitle):
13362 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
13364 2010-12-13 Brian Weinstein <bweinstein@apple.com>
13366 Windows Build Fix. Add a needed include.
13368 * UIProcess/win/WebView.cpp:
13370 2010-12-13 Sam Weinig <sam@webkit.org>
13372 Reviewed by Anders Carlsson.
13374 Remove associated page concept from WKView constructor
13375 https://bugs.webkit.org/show_bug.cgi?id=50983
13377 Step 2: Remove WebPageNamespace. It no longer does anything.
13379 * Shared/APIObject.h:
13380 * UIProcess/API/C/WKPage.h:
13381 * UIProcess/API/mac/WKView.mm:
13382 (-[WKView initWithFrame:contextRef:pageGroupRef:]):
13383 * UIProcess/API/qt/qgraphicswkview.cpp:
13384 * UIProcess/API/qt/qwkcontext.cpp:
13385 (QWKContext::QWKContext):
13386 * UIProcess/API/qt/qwkcontext_p.h:
13387 * UIProcess/API/qt/qwkpage.cpp:
13388 (QWKPagePrivate::QWKPagePrivate):
13389 * UIProcess/API/qt/qwkpage_p.h:
13390 * UIProcess/WebContext.cpp:
13391 (WebKit::WebContext::WebContext):
13392 (WebKit::WebContext::~WebContext):
13393 (WebKit::WebContext::createWebPage):
13394 * UIProcess/WebContext.h:
13395 * UIProcess/WebPageNamespace.cpp: Removed.
13396 * UIProcess/WebPageNamespace.h: Removed.
13397 * UIProcess/WebPageProxy.cpp:
13398 * UIProcess/WebPageProxy.h:
13399 (WebKit::WebPageProxy::context):
13400 * UIProcess/WebProcessProxy.cpp:
13401 (WebKit::WebProcessProxy::createWebPage):
13402 * UIProcess/WebProcessProxy.h:
13403 * UIProcess/win/WebView.cpp:
13404 (WebKit::WebView::WebView):
13405 * UIProcess/win/WebView.h:
13407 * WebKit2.xcodeproj/project.pbxproj:
13408 * win/WebKit2.vcproj:
13410 2010-12-13 Sam Weinig <sam@webkit.org>
13414 * UIProcess/win/WebView.h:
13416 2010-12-13 Sam Weinig <sam@webkit.org>
13420 * UIProcess/win/WebInspectorProxyWin.cpp:
13421 (WebKit::WebInspectorProxy::platformCreateInspectorPage):
13422 * UIProcess/win/WebView.h:
13423 (WebKit::WebView::create):
13425 2010-12-13 Sam Weinig <sam@webkit.org>
13427 Reviewed by Anders Carlsson.
13429 Remove associated page concept from WKView constructor
13430 https://bugs.webkit.org/show_bug.cgi?id=50983
13432 Step 1: Remove associate page constructors from WKView and make
13433 all views use the shared namespace for the context.
13435 * UIProcess/API/C/win/WKView.cpp:
13436 * UIProcess/API/C/win/WKView.h:
13437 * UIProcess/API/mac/WKView.h:
13438 * UIProcess/API/mac/WKView.mm:
13439 (-[WKView initWithFrame:contextRef:pageGroupRef:]):
13440 * UIProcess/API/qt/qwkcontext.cpp:
13441 * UIProcess/API/qt/qwkcontext.h:
13442 * UIProcess/mac/WebInspectorProxyMac.mm:
13443 (WebKit::WebInspectorProxy::platformCreateInspectorPage):
13444 * UIProcess/win/WebView.cpp:
13445 (WebKit::WebView::WebView):
13446 * UIProcess/win/WebView.h:
13447 (WebKit::WebView::create):
13449 2010-12-13 Anders Carlsson <andersca@apple.com>
13453 * UIProcess/WebPageProxy.h:
13455 2010-12-13 Brian Weinstein <bweinstein@apple.com>
13457 Reviewed by Adam Roben.
13459 WebKit2: Leaks a WebView when opening/closing Web Inspector on Windows
13460 https://bugs.webkit.org/show_bug.cgi?id=50975
13461 <rdar://problem/8763501>
13463 Make m_inspectorView be a RefPtr<WebView>, instead of a WebView*.
13465 * UIProcess/WebInspectorProxy.cpp:
13466 (WebKit::WebInspectorProxy::WebInspectorProxy): If we are on Windows, include WebView.h.
13467 * UIProcess/WebInspectorProxy.h: Change the type of m_inspectorView to a RefPtr<WebView>.
13468 * UIProcess/win/WebInspectorProxyWin.cpp:
13469 (WebKit::WebInspectorProxy::platformCreateInspectorPage): Remove the call to leakRef when creating the WebView.
13471 2010-12-13 Anders Carlsson <andersca@apple.com>
13473 Reviewed by Darin Adler.
13475 Pass the complex text input state all the way to the UI process
13476 https://bugs.webkit.org/show_bug.cgi?id=50980
13478 * PluginProcess/PluginControllerProxy.cpp:
13479 (WebKit::PluginControllerProxy::setComplexTextInputEnabled):
13480 * UIProcess/WebPageProxy.cpp:
13481 (WebKit::WebPageProxy::setComplexTextInputEnabled):
13482 * UIProcess/WebPageProxy.h:
13483 * UIProcess/WebPageProxy.messages.in:
13484 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
13485 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
13486 (WebKit::NetscapePlugin::pluginComplexTextInputIdentifier):
13487 * WebProcess/Plugins/Plugin.h:
13488 * WebProcess/Plugins/PluginProxy.cpp:
13489 (WebKit::PluginProxy::pluginComplexTextInputIdentifier):
13490 (WebKit::PluginProxy::setComplexTextInputEnabled):
13491 * WebProcess/Plugins/PluginProxy.h:
13492 * WebProcess/Plugins/PluginProxy.messages.in:
13493 * WebProcess/Plugins/PluginView.cpp:
13494 (WebKit::PluginView::setComplexTextInputEnabled):
13496 2010-12-13 Sam Weinig <sam@webkit.org>
13498 Reviewed by Anders Carlsson.
13500 Change the WebKit2 public API so there is no explicit WKPageNamespace object
13501 https://bugs.webkit.org/show_bug.cgi?id=50898
13503 * Shared/API/c/WKBase.h: Remove definition of WKPageNamespaceRef.
13504 * UIProcess/API/C/WKAPICast.h: Remove toAPI/toImpl for WKPageNamespaceRef.
13506 * UIProcess/API/C/WKPage.cpp:
13507 * UIProcess/API/C/WKPage.h:
13508 Replace WKPageGetPageNamespace with WKPageGetContext.
13510 * UIProcess/API/C/WKPageNamespace.cpp: Removed.
13511 * UIProcess/API/C/WKPageNamespace.h: Removed.
13513 * UIProcess/API/C/WebKit2.h: Remove #include of WKPageNamespace.h.
13515 * UIProcess/API/C/win/WKView.cpp:
13516 (WKViewCreate): Changed to take a WKContextRef instead of a WKPageNamespaceRef.
13517 (WKViewCreateUsingSharedProcess): Added. Similar to WKViewCreate except that
13518 all callers of it will have their views end up in the same shared process, whereas
13519 with WKViewCreate, a new internal page namespace will be created and could place
13520 the view's WebPage into a new process.
13521 (WKViewCreateForAssociatedPage): Added. Creates a view that is forced to use the
13522 same process as the passed in page.
13524 * UIProcess/win/WebView.cpp:
13525 (WebKit::WebView::WebView):
13526 (WebKit::WebView::initialize):
13527 * UIProcess/win/WebView.h:
13528 (WebKit::WebView::create):
13529 (WebKit::WebView::createUsingSharedProcess):
13530 (WebKit::WebView::createForAssociatedPage):
13531 Implementation of the WKView create functions.
13533 * UIProcess/API/C/win/WKView.h:
13534 * UIProcess/API/mac/WKView.h:
13535 * UIProcess/API/mac/WKView.mm:
13536 (-[WKView initWithFrame:]):
13537 (-[WKView initWithFrame:contextRef:]):
13538 (-[WKView initWithFrame:contextRef:pageGroupRef:]):
13539 (-[WKView initWithFrame:contextRef:usingSharedProcess:]):
13540 (-[WKView initWithFrame:contextRef:pageGroupRef:usingSharedProcess:]):
13541 (-[WKView initWithFrame:forAssociatedPageRef:]):
13542 (-[WKView initWithFrame:forAssociatedPageRef:pageGroupRef:]):
13543 (-[WKView initWithFrame:pageNamespace:pageGroup:]):
13544 Add new initializers for the objective-c WKView. It follows the same
13545 pattern as WKViewRef.
13547 * UIProcess/API/qt/qwkcontext.cpp:
13548 (QWKContext::QWKContext):
13549 * UIProcess/API/qt/qwkcontext.h:
13550 Remove uses of WKPageNamespaceRef.
13552 * UIProcess/WebContext.cpp:
13553 (WebKit::WebContext::sharedPageNamespace): Returns a shared
13554 page namespace used by the view's createUsingSharedProcess constructions.
13555 (WebKit::WebContext::createPageNamespace): Change to return
13556 a PassRefPtr to make things clearer.
13557 (WebKit::WebContext::pageNamespaceWasDestroyed): Clear the shared
13558 namespace if it is cleared.
13559 * UIProcess/WebContext.h:
13561 * UIProcess/WebPageNamespace.h: Remove unused "struct WKContextStatistics".
13563 * UIProcess/WebPageProxy.cpp:
13564 (WebKit::WebPageProxy::context):
13565 * UIProcess/WebPageProxy.h:
13566 Add context getter.
13568 * UIProcess/mac/WebInspectorProxyMac.mm:
13569 (WebKit::WebInspectorProxy::platformCreateInspectorPage):
13570 * UIProcess/win/WebInspectorProxyWin.cpp:
13571 (WebKit::WebInspectorProxy::platformCreateInspectorPage):
13572 Use forAssociatedPageRef constructor for the WebInspector view.
13575 * WebKit2.xcodeproj/project.pbxproj:
13576 * win/WebKit2.vcproj:
13577 * win/WebKit2Generated.make:
13578 Remove WKPageNamespace.h/cpp.
13580 2010-12-13 Brent Fulgham <bfulgham@webkit.org>
13582 Unreviewed build fix.
13584 * UIProcess/win/WebInspectorProxyWin.cpp: Non-Apple builds
13585 need to include <wtf/RetainPtr.h>.
13587 2010-12-13 Brent Fulgham <bfulgham@webkit.org>
13589 Unreviewed build fix after r73807.
13591 Added stub implementation of Download object.
13593 * WebProcess/Downloads/curl: Added.
13594 * WebProcess/Downloads/curl/DownloadCurl.cpp: Added.
13595 (WebKit::Download::start):
13596 (WebKit::Download::startWithHandle):
13597 (WebKit::Download::cancel):
13598 (WebKit::Download::platformInvalidate):
13599 * win/WebKit2.vcproj: Exclude DownloadCFNet for Cairo builds,
13600 added DownloadCurl (excluded for regular Apple builds.)
13602 2010-12-13 Anders Carlsson <andersca@apple.com>
13604 Reviewed by Sam Weinig.
13606 Add the ability for plug-ins to toggle complex text input
13607 https://bugs.webkit.org/show_bug.cgi?id=50966
13609 * PluginProcess/PluginControllerProxy.cpp:
13610 (WebKit::PluginControllerProxy::PluginControllerProxy):
13611 Initialize m_isComplexTextInputEnabled.
13613 (WebKit::PluginControllerProxy::setComplexTextInputEnabled):
13614 Update m_isComplexTextInputEnabled.
13616 * PluginProcess/PluginControllerProxy.h:
13617 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
13618 (WebKit::NetscapePlugin::NetscapePlugin):
13619 Initialize m_pluginHasFocus and m_windowHasFocus.
13621 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
13622 (WebKit::NetscapePlugin::isWindowActive):
13623 Return m_windowHasFocus.
13625 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
13626 (WebKit::NetscapePlugin::platformSetFocus):
13627 Update m_pluginHasFocus and call setComplexTextInputEnabled.
13629 (WebKit::NetscapePlugin::windowFocusChanged):
13630 Update m_windowHasFocus and call setComplexTextInputEnabled.
13632 * WebProcess/Plugins/PluginController.h:
13633 Add setComplexTextInputEnabled.
13635 * WebProcess/Plugins/PluginView.cpp:
13636 (WebKit::PluginView::setComplexTextInputEnabled):
13637 * WebProcess/Plugins/PluginView.h:
13638 Add setComplexTextInputEnabled
13640 2010-12-13 David Hyatt <hyatt@apple.com>
13642 Reviewed by Adam Roben.
13644 Remove the space behavior that I added. It's covered in EventHandler in WebCore
13645 already for Windows.
13647 * WebProcess/WebPage/win/WebPageWin.cpp:
13648 (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
13650 2010-12-13 David Hyatt <hyatt@apple.com>
13652 Reviewed by Sam Weinig.
13654 https://bugs.webkit.org/show_bug.cgi?id=48545, Home/End, PageUp/PageDwn should respect writing-mode. Use
13655 logical scrolling instead of physical scrolling for those keys in WebKit2.
13657 * WebProcess/WebPage/mac/WebPageMac.mm:
13658 (WebKit::logicalScroll):
13659 (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
13660 * WebProcess/WebPage/qt/WebPageQt.cpp:
13661 (WebKit::logicalScroll):
13662 (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
13663 * WebProcess/WebPage/win/WebPageWin.cpp:
13664 (WebKit::logicalScroll):
13665 (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
13667 2010-12-13 Brian Weinstein <bweinstein@apple.com>
13669 Reviewed by Darin Adler.
13671 WebKit2: Focusing Web Inspector window doesn't focus contents on Windows
13672 https://bugs.webkit.org/show_bug.cgi?id=50947
13673 <rdar://problem/8762468>
13675 When we get the notification that the inspector window has focused, focus the inner inspector view.
13677 * UIProcess/WebInspectorProxy.h:
13678 * UIProcess/win/WebInspectorProxyWin.cpp:
13679 (WebKit::WebInspectorProxy::onSetFocusEvent): Set the focus of the inspector view, because that is what
13680 needs to be focused in the inspector window.
13682 2010-12-13 Dan Bernstein <mitz@apple.com>
13686 * WebProcess/Downloads/mac/DownloadMac.mm:
13687 (WebKit::originatingURLFromBackForwardList):
13689 2010-12-13 Balazs Kelemen <kbalazs@webkit.org>
13691 Unreviewed trivial build fix (linux, 64 bit, gcc-4.5.1)
13693 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
13694 (WebKit::WebChromeClient::exceededDatabaseQuota):
13695 Don't use unsigned long long as alias for uint64_t.
13697 2010-12-13 Anders Carlsson <andersca@apple.com>
13699 Reviewed by John Sullivan.
13701 Crash when clicking a download link that targets a new tab
13702 https://bugs.webkit.org/show_bug.cgi?id=50935
13703 <rdar://problem/8760572>
13705 Check for a null history item.
13707 * WebProcess/Downloads/mac/DownloadMac.mm:
13708 (WebKit::originatingURLFromBackForwardList):
13710 2010-12-13 Andras Becsi <abecsi@webkit.org>
13712 Reviewed by Csaba Osztrogonác.
13714 [Qt][WK2] Fix build if WebKitTools are not available
13715 https://bugs.webkit.org/show_bug.cgi?id=50242
13717 * DerivedSources.pro: Remove dependency to WebKitTools.
13718 * Scripts/generate-forwarding-headers.pl: Moved from WebKitTools/Scripts/generate-forwarding-headers.pl.
13720 2010-12-13 Csaba Osztrogonác <ossy@webkit.org>
13724 * WebKit2.pro: Remove non-existant Shared/DrawingAreaBase.h from build system.
13726 2010-10-28 MORITA Hajime <morrita@google.com>
13728 Reviewed by Ojan Vafai.
13730 spellcheck does not check pasted text
13731 https://bugs.webkit.org/show_bug.cgi?id=40092
13733 Added a stub implememntation.
13735 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
13736 (WebKit::WebEditorClient::requestCheckingOfString):
13737 * WebProcess/WebCoreSupport/WebEditorClient.h:
13739 2010-12-12 Brian Weinstein <bweinstein@apple.com>
13741 Reviewed by Tim Hatcher.
13743 WebKit2: Implement WebInspector::localizedStringsURL on Windows
13744 https://bugs.webkit.org/show_bug.cgi?id=50896
13746 Find the localized strings file using CFBundleCopyResourceURL.
13748 * WebProcess/WebPage/win/WebInspectorWin.cpp:
13749 (WebKit::WebInspector::localizedStringsURL):
13751 2010-12-12 Sam Weinig <sam@webkit.org>
13753 Reviewed by Anders Carlsson.
13755 Give LogTextInput a sensible flag value.
13757 * Platform/Logging.cpp:
13759 2010-12-12 Sam Weinig <sam@webkit.org>
13761 Reviewed by Anders Carlsson.
13763 Remove incorrect assertion that has been firing in the API tester.
13765 * UIProcess/WebDatabaseManagerProxy.cpp:
13766 (WebKit::WebDatabaseManagerProxy::~WebDatabaseManagerProxy):
13768 2010-12-12 Sam Weinig <sam@webkit.org>
13770 Reviewed by Anders Carlsson.
13772 Disable WebKit2 logging by default.
13773 https://bugs.webkit.org/show_bug.cgi?id=50878
13775 * Platform/Logging.cpp:
13776 (initializeLogChannelsIfNecessary):
13778 2010-12-11 Brian Weinstein <bweinstein@apple.com>
13780 Reviewed by Sam Weinig.
13782 Web Inspector: Make inspector on Windows show and be usable in WebKit2
13783 https://bugs.webkit.org/show_bug.cgi?id=50877
13785 Hook up the unimplemented methods in WebInspectorProxyWin to get the web inspector
13786 showing and usable in WebKit2 on Windows.
13788 * UIProcess/WebInspectorProxy.cpp:
13789 (WebKit::WebInspectorProxy::WebInspectorProxy): Initialize Windows-specific variables to 0.
13790 * UIProcess/WebInspectorProxy.h:
13791 * UIProcess/win/WebInspectorProxyWin.cpp:
13792 (WebKit::WebInspectorProxy::registerInspectorViewWindowClass): Sets up the inspector view class.
13793 (WebKit::WebInspectorProxy::InspectorViewWndProc): Calls through to the WebInspectorProxy's non-static
13795 (WebKit::WebInspectorProxy::wndProc): Handles WM_SIZE, WM_CLOSE, and WM_GETMINMAXINFO, the rest go to
13797 (WebKit::WebInspectorProxy::onSizeEvent): Resize the WKView that has the inspector page to match the
13798 outer window that was just resized.
13799 (WebKit::WebInspectorProxy::onMinMaxInfoEvent): Set the minimum size the window can be resized to.
13800 (WebKit::WebInspectorProxy::onCloseEvent): Hide the window, and call WebInspectorProxy::close.
13801 (WebKit::WebInspectorProxy::platformCreateInspectorPage): Create a WKView and return its page.
13802 (WebKit::WebInspectorProxy::platformOpen): Create an HWND for the inspector, put the inspector's WKView
13803 inside of it, and show the window.
13804 (WebKit::WebInspectorProxy::platformClose): Destroy the inspector's window (which destroys the child WKView),
13805 and 0 out instance variables.
13806 (WebKit::WebInspectorProxy::inspectorPageURL): Finds inspector/inspector.html in the WebKit bundle.
13808 2010-12-12 Balazs Kelemen <kbalazs@webkit.org>
13810 Reviewed by Andreas Kling.
13812 [Qt][WK2] Crash in WebPage constructor.
13813 https://bugs.webkit.org/show_bug.cgi?id=50892
13815 * WebProcess/qt/WebProcessQt.cpp:
13816 (WebKit::WebProcess::platformInitializeWebProcess):
13817 Disable runtime enabled features that have no WebKit2 implementation yet.
13819 2010-12-10 Jon Honeycutt <jhoneycutt@apple.com>
13821 Select menus with short option titles do not paint properly
13822 https://bugs.webkit.org/show_bug.cgi?id=50860
13823 <rdar://problem/8660807>
13825 The backing stores used for painting the popup menu items were only as
13826 wide as the widest option title, but the popup window that we create is
13827 at least as wide as the <select> element. This adjusts the backing
13828 stores to be at least as wide as the <select>, as well.
13830 Reviewed by Sam Weinig.
13832 * UIProcess/win/WebPopupMenuProxyWin.cpp:
13833 (WebKit::WebPopupMenuProxyWin::paint):
13834 Paint using the width of the backing store.
13836 * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
13837 (WebKit::WebPopupMenu::show):
13838 Pass the page coordinates of the <select> element to
13839 setUpPlatformData().
13841 * WebProcess/WebCoreSupport/WebPopupMenu.h:
13842 Added new parameter to setUpPlatformData().
13844 * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
13845 (WebKit::WebPopupMenu::setUpPlatformData):
13848 * WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp:
13849 (WebKit::WebPopupMenu::setUpPlatformData):
13852 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
13853 (WebKit::WebPopupMenu::setUpPlatformData):
13854 Fixed a typo in a comment. Adjust the backing store size to be at least
13855 as wide as the <select> element, and use that width when painting the
13856 items to the backing store.
13858 2010-12-11 Csaba Osztrogonác <ossy@webkit.org>
13860 Unreviewed Qt buildfix after r73808.
13862 WebKit2: Need a WebKit2 equivalent of the WebKit1 WebDatabaseManager
13863 https://bugs.webkit.org/show_bug.cgi?id=50606
13865 * DerivedSources.pro:
13867 2010-12-11 Sheriff Bot <webkit.review.bot@gmail.com>
13869 Unreviewed, rolling out r73834.
13870 http://trac.webkit.org/changeset/73834
13871 https://bugs.webkit.org/show_bug.cgi?id=50866
13873 It broke Qt-WebKit2 build, because of missing WK2_DIR variable
13874 (Requested by Ossy on #webkit).
13878 2010-12-10 Siddharth Mathur <siddharth.mathur@nokia.com>
13880 Reviewed by Eric Seidel.
13882 [Qt][WK2] Make WebKit2 static library compile on Symbian
13883 https://bugs.webkit.org/show_bug.cgi?id=50861
13887 2010-12-10 Sam Weinig <sam@webkit.org>
13889 Reviewed by Anders Carlsson.
13891 Ensure that we are not getting too many wheel events
13892 <rdar://problem/7881465>
13894 Add simple coalescing of wheel events being sent to the WebProcess. This
13895 adds two models, one which drops interim events and one which merges events
13896 together. For now, we are using the simpler dropping model.
13898 * Shared/WebEvent.h:
13899 (WebKit::WebEvent::modifiers):
13900 * UIProcess/WebPageProxy.cpp:
13901 (WebKit::WebPageProxy::WebPageProxy):
13902 (WebKit::coalesceWheelEvents):
13903 (WebKit::WebPageProxy::handleWheelEvent):
13904 (WebKit::WebPageProxy::didReceiveEvent):
13905 * UIProcess/WebPageProxy.h:
13907 2010-12-10 Anders Carlsson <andersca@apple.com>
13909 Reviewed by John Sullivan.
13911 Make WKContextGetStatistics gather global statistics
13912 https://bugs.webkit.org/show_bug.cgi?id=50850
13914 Change WKContextGetStatistics to work on all objects in the process, and
13915 make it more robust by incrementing/decrementing the counts in the constructor
13916 and destructor respectively.
13918 Also, rename WKContextGetStatistics to WKContextGetGlobalStatistics to better match
13919 what it's actually doing.
13921 * UIProcess/API/C/WKContext.cpp:
13922 (WKContextGetStatistics):
13923 * UIProcess/API/C/WKContextPrivate.h:
13924 * UIProcess/API/mac/WKView.mm:
13925 (-[WKView initWithFrame:pageNamespaceRef:pageGroupRef:]):
13926 (-[WKView dealloc]):
13927 * UIProcess/WebContext.cpp:
13928 (WebKit::WebContext::statistics):
13929 * UIProcess/WebContext.h:
13930 * UIProcess/WebFrameProxy.cpp:
13931 (WebKit::WebFrameProxy::WebFrameProxy):
13932 (WebKit::WebFrameProxy::~WebFrameProxy):
13933 * UIProcess/WebPageNamespace.cpp:
13934 * UIProcess/WebPageNamespace.h:
13935 * UIProcess/WebPageProxy.cpp:
13936 (WebKit::WebPageProxy::WebPageProxy):
13937 (WebKit::WebPageProxy::~WebPageProxy):
13938 * UIProcess/WebPageProxy.h:
13940 2010-12-10 Brian Weinstein <bweinstein@apple.com>
13942 Reviewed by Darin Adler.
13944 WebKit2: Context menu support on Windows
13945 <https://bugs.webkit.org/show_bug.cgi?id=50514>
13947 Implment showing of the context menu on Windows for WebKit2, and calling through to
13948 WebPageProxy::contextMenuItemSelected.
13950 * UIProcess/win/WebContextMenuProxyWin.cpp:
13951 (WebKit::WebContextMenuProxyWin::WebContextMenuProxyWin): Initialize the member variables.
13952 (WebKit::WebContextMenuProxyWin::populateMenu): Iterate over the vector of WebContextMenuItemData
13953 that was passed in, adding the menu items and recursively calling back into this function to populate
13954 any submenus that are needed. This function also sets up the map from action identifierss to WebContextMenuItemData,
13955 to use to find the WebContextMenuItemData from a selected menu item.
13956 (WebKit::WebContextMenuProxyWin::showContextMenu): Destroy any menu we have already created, populate the menu
13957 to show, and show the context menu. Once TrackPopupMenuEx returns, it returns identifier of the selected menu item.
13958 Look up that identifier in the map we created, and tell the WebPageProxy that a context menu item was selected.
13959 (WebKit::WebContextMenuProxyWin::hideContextMenu): Destroy the HMENU if it is non-null, and clear the identifier map.
13960 * UIProcess/win/WebContextMenuProxyWin.h:
13961 (WebKit::WebContextMenuProxyWin::create): Call through to the constructor, and change the arguments that it takes.
13962 * UIProcess/win/WebView.cpp:
13963 (WebKit::WebView::createContextMenuProxy): Call with the correct arguments.
13965 2010-12-10 Jessie Berlin <jberlin@apple.com>
13967 Qt Build Fix. Unreviewed.
13970 Add the Messages.h and MessageReceivers.h.
13972 2010-12-10 Jessie Berlin <jberlin@apple.com>
13974 Reviewed by Adam Roben and Sam Weinig.
13976 WebKit2: Need a WebKit2 equivalent of the WebKit1 WebDatabaseManager
13977 https://bugs.webkit.org/show_bug.cgi?id=50606
13979 Add a WebDatabaseManagerProxy owned by the WebContext.
13981 Expose API (similar to the WebKit1 API) to get a list of origins for which there are
13982 Databases, delete all the databases for a given origin, and delete all the databases.
13984 Add WebDatabaseManager and WebDatabaseManagerProxy as messages receivers.
13985 * DerivedSources.make:
13986 * Platform/CoreIPC/MessageID.h:
13988 Add the WebDatabaseManagerProxy as a UIProcess type (DatabaseManager).
13989 * Shared/API/c/WKBase.h:
13990 * Shared/APIObject.h:
13991 * UIProcess/API/C/WKAPICast.h:
13993 * UIProcess/API/C/WKContext.cpp:
13994 (WKContextGetDatabaseManager):
13995 Expose API to get the DatabaseManager.
13996 * UIProcess/API/C/WKContext.h:
13998 * UIProcess/API/C/WKDatabaseManager.cpp: Added.
13999 (WKDatabaseManagerGetTypeID):
14000 (WKDatabaseManagerGetDatabaseOrigins):
14001 (callGetDatabaseOriginsBlockBlockAndDispose):
14002 (WKDatabaseManagerGetDatabaseOrigins_b):
14003 (WKDatabaseManagerDeleteDatabasesForOrigin):
14004 (WKDatabaseManagerDeleteAllDatabases):
14005 * UIProcess/API/C/WKDatabaseManager.h: Added.
14007 * UIProcess/WebContext.cpp:
14008 (WebKit::WebContext::WebContext):
14009 Create the WebDatabaseManagerProxy.
14010 (WebKit::WebContext::processDidClose):
14011 Invalidate the WebDatabaseManagerProxy.
14012 (WebKit::WebContext::didReceiveMessage):
14013 Forward messages to the WebDatabaseManagerProxy.
14014 * UIProcess/WebContext.h:
14015 (WebKit::WebContext::databaseManagerProxy):
14017 * UIProcess/WebDatabaseManagerProxy.cpp: Added.
14018 (WebKit::WebDatabaseManagerProxy::create):
14019 (WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):
14020 (WebKit::WebDatabaseManagerProxy::~WebDatabaseManagerProxy):
14021 (WebKit::WebDatabaseManagerProxy::invalidate):
14022 Invalidate the map of callbacks for getDatabaseOrigins.
14023 (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
14024 Store the callback and send the request for the origins which have databases to the
14026 (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
14027 Call the callback function with the SecurityOrigins created from the identifiers received.
14028 (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
14029 If the origin exists, send the message on to the WebProcess to delete the databases
14030 associated with that origin.
14031 (WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
14032 Send the message to the WebProcess to delete all the databases.
14033 * UIProcess/WebDatabaseManagerProxy.h: Added.
14034 (WebKit::WebDatabaseManagerProxy::type):
14035 * UIProcess/WebDatabaseManagerProxy.messages.in: Added.
14037 * UIProcess/WebPageProxy.cpp:
14038 Move invalidateCallbackMap from here ...
14039 * UIProcess/GenericCallback.h:
14040 (WebKit::invalidateCallbackMap):
14041 .. to here so that it can be used elsewhere (e.g. by WebDatabaseManagerProxy).
14043 * UIProcess/WebProcessProxy.cpp:
14044 (WebKit::WebProcessProxy::didReceiveMessage):
14045 Forward on all messages destined for the WebDatabaseManagerProxy to the WebContext.
14047 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
14048 (WebKit::WebDatabaseManager::didReceiveMessage):
14049 (WebKit::WebDatabaseManager::getDatabaseOrigins):
14050 Send an array of the identifiers for the SecurityOrigins for which there are databases to
14052 (WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
14053 If the SecurityOrigin with that identifier exists, tell the DatabaseTracker to delete the
14054 databases for that origin.
14055 (WebKit::WebDatabaseManager::deleteAllDatabases):
14056 Tell the DatabaseTracker to delete the databases for that origin.
14057 * WebProcess/WebCoreSupport/WebDatabaseManager.h:
14058 * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in: Added.
14059 * WebProcess/WebProcess.cpp:
14060 (WebKit::WebProcess::didReceiveMessage):
14063 Add WKDatabaseManager.cpp/.h and WebDatabaseManagerProxy.cpp/.h
14064 * WebKit2.xcodeproj/project.pbxproj:
14065 Ditto, also add WebDatabaseManagerProxy.messages.in and WebDatabaseManager.messages.in.
14066 * win/WebKit2.vcproj:
14068 * win/WebKit2Generated.make:
14069 Make sure WKDatabaseManager.h is copied into WebKitBuild on Windows.
14071 2010-12-10 Ada Chan <adachan@apple.com>
14073 Reviewed by Anders Carlsson.
14075 Implement Download::start() and Download::startWithHandle() on Windows.
14076 https://bugs.webkit.org/show_bug.cgi?id=50844
14078 * WebProcess/Downloads/Download.h:
14079 * WebProcess/Downloads/cf/DownloadCFNet.cpp:
14080 (WebKit::Download::start): Create a CFURLDownloadRef and schedule it.
14081 (WebKit::Download::startWithHandle): Create a CFURLDownloadRef with the loading connection
14082 retrieved from the ResourceHandle.
14083 (WebKit::Download::platformInvalidate):
14084 (WebKit::downloadFromClientInfo):
14085 (WebKit::didStartCallback):
14086 (WebKit::willSendRequestCallback):
14087 (WebKit::didReceiveAuthenticationChallengeCallback):
14088 (WebKit::didReceiveResponseCallback):
14089 (WebKit::willResumeWithResponseCallback):
14090 (WebKit::didReceiveDataCallback):
14091 (WebKit::shouldDecodeDataOfMIMETypeCallback):
14092 (WebKit::decideDestinationWithSuggestedObjectNameCallback):
14093 (WebKit::didCreateDestinationCallback):
14094 (WebKit::didFinishCallback):
14095 (WebKit::didFailCallback):
14097 2010-12-10 Enrica Casucci <enrica@apple.com>
14099 Windows build fix. Unreviewed.
14101 Adding a dummy synchronous message for platforms
14102 that don't have any.
14104 * WebProcess/WebPage/WebPage.cpp:
14105 (WebKit::WebPage::dummy):
14106 * WebProcess/WebPage/WebPage.h:
14107 * WebProcess/WebPage/WebPage.messages.in:
14109 2010-12-09 Brian Weinstein <bweinstein@apple.com>
14111 Reviewed by Adam Roben.
14113 Prep for WebKit2: Context menu support on Windows
14114 https://bugs.webkit.org/show_bug.cgi?id=50514
14116 Update WebKit2 to call the correct code when CROSS_PLATFORM_CONTEXT_MENUS is set.
14118 * Shared/WebContextMenuItemData.cpp:
14119 (WebKit::WebContextMenuItemData::WebContextMenuItemData): Add a branch based on whether or not
14120 CROSS_PLATFORM_CONTEXT_MENUS is set.
14121 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
14122 (WebKit::WebContextMenuClient::customizeMenu): Define different functions based on
14123 whether or not CROSS_PLATFORM_CONTEXT_MENUS. Both of these are stubs, so functionality
14124 doesn't need to be shared.
14125 * WebProcess/WebCoreSupport/WebContextMenuClient.h: Define different functions based on
14126 whether or not CROSS_PLATFORM_CONTEXT_MENUS.
14127 * WebProcess/WebPage/WebContextMenu.cpp:
14128 (WebKit::WebContextMenu::show): Add a branch based on whether or not
14129 CROSS_PLATFORM_CONTEXT_MENUS is set.
14131 2010-12-09 Enrica Casucci <enrica@apple.com>
14133 Reviewed by Alexey Proskuryakov.
14135 Implement IME support for Mac.
14136 <rdar://problem/7660589> WebKit2: Implement IME support for Mac.
14137 https://bugs.webkit.org/show_bug.cgi?id=50788
14139 This patch addes support for input methods in WebKit2.
14140 In order to support IME, it was necessary to add synchronous calls from the UIProcess
14141 to the WebProcess. These calls all have a timeout of 1 second.
14142 The current implementation still uses the NSTextInput protocol, but the plan is to move
14143 to the NSTextInputClient protocol. This has not been done yet for ease of comparison with
14144 WebKit. attributedSubstringFromRange is the only method that has not been implemented, because
14145 I have not yet decided what is the best way to send an NSAttributedString across the process
14148 * Platform/CoreIPC/HandleMessage.h:
14149 (CoreIPC::callMemberFunction): Added template for member function.
14150 with four reply arguments.
14151 * Scripts/webkit2/messages.py: Added CompositionUnderline and relevant header.
14152 * Shared/WebCoreArgumentCoders.h:
14153 (CoreIPC::): Added encoder/decoder for CompositionUnderline.
14154 * UIProcess/API/mac/PageClientImpl.h: Added parameters to interceptKeyEvent and selectionChanged.
14155 * UIProcess/API/mac/PageClientImpl.mm:
14156 (WebKit::PageClientImpl::selectionChanged): Added parameters.
14157 (WebKit::PageClientImpl::interceptKeyEvent): Added parameters.
14158 * UIProcess/API/mac/WKView.mm:
14159 (-[WKView initWithFrame:pageNamespaceRef:pageGroupRef:]): Added initialization of new private members.
14160 (-[WKView insertText:]):
14161 (-[WKView _selectionChanged:isEditable:isPassword:hasMarkedText:range:]): Added parameters.
14162 (-[WKView _interceptKeyEvent:hasComposition:start:end:lines:WebCore::]): Added parameters.
14163 (-[WKView keyDown:]): Modified to reset state on each keyDown.
14164 (-[WKView selectedRange]): Added.
14165 (-[WKView hasMarkedText]): Added.
14166 (-[WKView unmarkText]): Added.
14167 (-[WKView validAttributesForMarkedText]): Added.
14168 (extractUnderlines): Added.
14169 (-[WKView setMarkedText:selectedRange:]): Added.
14170 (-[WKView markedRange]): Added.
14171 (-[WKView attributedSubstringFromRange:]): Added.
14172 (-[WKView characterIndexForPoint:]): Added.
14173 (-[WKView firstRectForCharacterRange:]): Added.
14174 (-[WKView conversationIdentifier]): Added.
14175 * UIProcess/API/mac/WKViewInternal.h: Added parameters to _interceptKeyEvent and _selectionChanged.
14176 * UIProcess/PageClient.h: Added parameters to interpretKeyEvent and selectionChanged.
14177 * UIProcess/WebPageProxy.cpp:
14178 (WebKit::WebPageProxy::getMarkedRange): Added.
14179 (WebKit::WebPageProxy::characterIndexForPoint): Added.
14180 (WebKit::WebPageProxy::firstRectForCharacterRange): Added.
14181 (WebKit::WebPageProxy::interpretKeyEvent): Additional parameters.
14182 (WebKit::WebPageProxy::didSelectionChange): Additional parameters for Mac platform.
14183 * UIProcess/WebPageProxy.h: Added new methods and parameters to didSelectionChange
14184 and interpretKeyEvent.
14185 * UIProcess/WebPageProxy.messages.in: Added parameters to interpretKeyEvent and selectionChanged messages.
14186 * UIProcess/WebProcessProxy.h:
14187 (WebKit::WebProcessProxy::sendSync): Added support for synchronous messages.
14188 The default timeout is 1 second.
14189 * WebProcess/WebCoreSupport/WebEditorClient.cpp: respondToChangedSelection is now
14190 only for non Mac platform.
14191 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
14192 (WebKit::WebEditorClient::respondToChangedSelection): Added implementation for Mac platform.
14193 * WebProcess/WebPage/WebPage.cpp:
14194 (WebKit::WebPage::didReceiveSyncMessage): Added.
14195 * WebProcess/WebPage/WebPage.h: Added new methods and support for synchronous messages.
14196 * WebProcess/WebPage/WebPage.messages.in: Added new messages.
14197 * WebProcess/WebPage/mac/WebPageMac.mm:
14198 (WebKit::WebPage::interceptEditingKeyboardEvent): Added parameters.
14199 (WebKit::WebPage::convertRangeToPlatformRange): Added.
14200 (WebKit::WebPage::getMarkedRange): Added.
14201 (WebKit::characterRangeAtPoint): Added.
14202 (WebKit::WebPage::characterIndexForPoint): Added.
14203 (WebKit::convertToRange): Added.
14204 (WebKit::WebPage::firstRectForCharacterRange): Added.
14205 * WebProcess/WebProcess.cpp:
14206 (WebKit::WebProcess::didReceiveSyncMessage): Added.
14207 * WebProcess/WebProcess.h: Added didReceiveSyncMessage.
14209 2010-12-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
14211 Reviewed by Kenneth Rohde Christiansen.
14213 [Qt][WK2] Add the QWKContext API class to wrap the WebContext.
14214 https://bugs.webkit.org/show_bug.cgi?id=50750
14216 * UIProcess/API/qt/WKView.h:
14217 * UIProcess/API/qt/qgraphicswkview.cpp:
14218 (QGraphicsWKView::QGraphicsWKView):
14219 Change the WKPageNamespaceRef argument to QWKContext*
14220 * UIProcess/API/qt/qgraphicswkview.h:
14221 * UIProcess/API/qt/qwkcontext.cpp: Added.
14222 * UIProcess/API/qt/qwkcontext.h: Added.
14223 * UIProcess/API/qt/qwkcontext_p.h: Added.
14224 * UIProcess/API/qt/qwkpage.cpp:
14225 (QWKPagePrivate::QWKPagePrivate):
14226 (QWKPage::QWKPage):
14227 Change the WKPageNamespaceRef argument to QWKContext*
14228 * UIProcess/API/qt/qwkpage.h:
14229 * UIProcess/API/qt/qwkpage_p.h:
14232 2010-12-10 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
14234 Reviewed by Kenneth Rohde Christiansen.
14236 Flush IPC connection send buffer after each message.
14238 [Qt] [WK2] IPC messages are not sent until send buffer fills up
14239 https://bugs.webkit.org/show_bug.cgi?id=50667
14241 * Platform/CoreIPC/qt/ConnectionQt.cpp:
14242 (CoreIPC::Connection::sendOutgoingMessage):
14244 2010-12-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
14246 Reviewed by Kenneth Rohde Christiansen.
14248 [Qt][WK2] Use a single QNetworkAccessManager per web process.
14249 https://bugs.webkit.org/show_bug.cgi?id=50757
14251 This allows a better management of network resources and the use
14252 of global cookie jar and disk cache across all frames.
14254 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
14255 (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext):
14256 (WebCore::WebFrameNetworkingContext::networkAccessManager):
14257 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
14258 * WebProcess/WebProcess.cpp:
14259 (WebKit::WebProcess::WebProcess):
14260 (WebKit::WebProcess::initializeWebProcess):
14261 (WebKit::WebProcess::shutdownIfPossible):
14262 * WebProcess/WebProcess.h:
14263 (WebKit::WebProcess::networkAccessManager):
14264 * WebProcess/mac/WebProcessMac.mm:
14265 (WebKit::WebProcess::platformInitializeWebProcess):
14266 (WebKit::WebProcess::platformShutdown):
14267 * WebProcess/qt/WebProcessQt.cpp:
14268 (WebKit::WebProcess::platformInitializeWebProcess):
14269 (WebKit::WebProcess::platformShutdown):
14270 * WebProcess/win/WebProcessWin.cpp:
14271 (WebKit::WebProcess::platformInitializeWebProcess):
14272 (WebKit::WebProcess::platformShutdown):
14274 2010-12-09 Mark Rowe <mrowe@apple.com>
14276 Fix the 32-bit build.
14278 * Shared/cf/ArgumentCodersCF.cpp:
14279 (CoreIPC::sizeForNumberType):
14281 2010-12-09 Maciej Stachowiak <mjs@apple.com>
14283 Reviewed by Brady Eidson.
14285 WebKit2: Control-click doesn't invoke context menu
14286 https://bugs.webkit.org/show_bug.cgi?id=50793
14287 <rdar://problem/8664800>
14289 * WebProcess/WebPage/WebPage.cpp:
14290 (WebKit::isContextClick): New helper function - on Mac, not only right clicks
14291 but also control-left-clicks are context clicks.
14292 (WebKit::handleMouseEvent): Use above.
14294 2010-12-09 Anders Carlsson <andersca@apple.com>
14298 * Scripts/webkit2/messages.py:
14299 DrawingAreaInfo is a struct.
14301 * Shared/WebPreferencesStore.cpp:
14302 (WebKit::valueForKey):
14303 Move valueForKey above code that uses it.
14305 * UIProcess/mac/WebInspectorProxyMac.mm:
14306 (-[WebInspectorProxyObjCAdapter windowWillClose:]):
14307 Remove trailing semicolon.
14309 2010-12-09 Timothy Hatcher <timothy@apple.com>
14311 Add support for transparent WebKit2 WKViews.
14313 https://webkit.org/b/50785
14315 Reviewed by Anders Carlsson.
14317 * Shared/WebPageCreationParameters.cpp:
14318 (WebKit::WebPageCreationParameters::encode): Encode drawsBackground and drawsTransparentBackground.
14319 (WebKit::WebPageCreationParameters::decode): Decode drawsBackground and drawsTransparentBackground.
14320 * Shared/WebPageCreationParameters.h:
14321 * UIProcess/API/mac/WKView.h:
14322 * UIProcess/API/mac/WKView.mm:
14323 (-[WKView setDrawsBackground:]): Added.
14324 (-[WKView drawsBackground]): Added.
14325 (-[WKView setDrawsTransparentBackground:]): Added.
14326 (-[WKView drawsTransparentBackground]): Added.
14327 (-[WKView drawRect:]): Only fill the background if the WebProcess isn't valid and drawsBackground.
14328 Use white or clear based on setDrawsTransparentBackground.
14329 (-[WKView isOpaque]): Return drawsBackground.
14330 * UIProcess/WebPageProxy.cpp:
14331 (WebKit::WebPageProxy::WebPageProxy): Initialize m_drawsBackground and m_drawsTransparentBackground.
14332 (WebKit::WebPageProxy::setDrawsBackground): Added. Send a SetDrawsBackground message.
14333 (WebKit::WebPageProxy::setDrawsTransparentBackground): Added. Send a SetDrawsTransparentBackground message.
14334 (WebKit::WebPageProxy::creationParameters): Set drawsBackground and drawsTransparentBackground.
14335 * UIProcess/WebPageProxy.h:
14336 (WebKit::WebPageProxy::drawsBackground): Added. Return m_drawsBackground.
14337 (WebKit::WebPageProxy::drawsTransparentBackground): Added. Return m_drawsTransparentBackground.
14338 * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
14339 (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint): Use the copy blend mode when drawing a background.
14340 (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore): Use the copy blend mode to replace existing content.
14341 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
14342 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Setup the new view's background color and transparent flag.
14343 * WebProcess/WebPage/WebPage.cpp:
14344 (WebKit::WebPage::WebPage): Initialize m_drawsBackground and m_drawsTransparentBackground.
14345 (WebKit::WebPage::setDrawsBackground): Added. Propagate the flag to the FrameViews.
14346 (WebKit::WebPage::setDrawsTransparentBackground): Added. Propagate the background color to the FrameViews.
14347 * WebProcess/WebPage/WebPage.h:
14348 (WebKit::WebPage::drawsBackground): Added. Return m_drawsBackground.
14349 (WebKit::WebPage::drawsTransparentBackground): Added. Return m_drawsTransparentBackground.
14350 * WebProcess/WebPage/WebPage.messages.in: Added SetDrawsBackground and SetDrawsTransparentBackground.
14352 2010-12-09 Anders Carlsson <andersca@apple.com>
14354 Reviewed by Sam Weinig.
14356 Cannot use NSKeyedArchiver in WK2 for ResourceResponses
14357 https://bugs.webkit.org/show_bug.cgi?id=50792
14358 <rdar://problem/8741799>
14360 When encoding, first convert the requests and responses to the serializable dictionary representation
14361 and use the newly added CF CoreIPC encoders. When decoding, do the opposite.
14363 * Shared/mac/WebCoreArgumentCodersMac.mm:
14364 (CoreIPC::encodeResourceRequest):
14365 (CoreIPC::decodeResourceRequest):
14366 (CoreIPC::encodeResourceResponse):
14367 (CoreIPC::decodeResourceResponse):
14369 2010-12-09 Anders Carlsson <andersca@apple.com>
14371 Reviewed by Sam Weinig.
14373 Add CoreIPC coders for CF types
14374 https://bugs.webkit.org/show_bug.cgi?id=50791
14376 * Platform/CoreIPC/ArgumentDecoder.h:
14377 (CoreIPC::ArgumentDecoder::decodeEnum):
14378 * Platform/CoreIPC/ArgumentEncoder.h:
14379 (CoreIPC::ArgumentEncoder::encodeEnum):
14380 * Shared/cf/ArgumentCodersCF.cpp: Added.
14381 (CoreIPC::tokenNullTypeRef):
14382 (CoreIPC::typeFromCFTypeRef):
14385 (CoreIPC::sizeForNumberType):
14386 * Shared/cf/ArgumentCodersCF.h: Added.
14387 * WebKit2.xcodeproj/project.pbxproj:
14389 2010-12-09 Brady Eidson <beidson@apple.com>
14391 Reviewed by Sam Weinig.
14393 <rdar://problem/8749750> and https://bugs.webkit.org/show_bug.cgi?id=50786
14394 WK2 authentication never consults WebCore session credential storage.
14396 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
14397 (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage): Since we don't need to expose this as
14398 API at this time, always return true.
14400 2010-12-09 Sam Weinig <weinig@apple.com>
14402 Reviewed by Alexey Proskuryakov.
14404 WebKit2: Add support for access keys
14405 https://bugs.webkit.org/show_bug.cgi?id=49832
14407 * WebProcess/WebPage/WebPage.cpp:
14408 (WebKit::handleKeyEvent): Match windows WebKit and call
14409 the event handler's for handleAccessKey function for
14410 system keys. This will never be hit on the Mac.
14412 2010-12-09 Darin Adler <darin@apple.com>
14416 * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp: Include "NotImplemented.h".
14418 2010-12-09 Steve Falkenburg <sfalken@apple.com>
14422 * WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp:
14424 2010-12-09 Brady Eidson <beidson@apple.com>
14426 Reviewed by Anders Carlsson.
14428 <rdar://problem/8613779> and https://bugs.webkit.org/show_bug.cgi?id=50777
14429 WebKit2 ContextMenuClient support
14431 Implement google search in a cross platform manner, and add a FIXME for download support:
14432 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
14433 (WebKit::WebContextMenuClient::downloadURL):
14434 (WebKit::WebContextMenuClient::searchWithGoogle):
14436 Mac implementations for speaking and searching:
14437 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: Added.
14438 (WebKit::WebContextMenuClient::lookUpInDictionary): Add a FIXME for now.
14439 (WebKit::WebContextMenuClient::isSpeaking):
14440 (WebKit::WebContextMenuClient::speak):
14441 (WebKit::WebContextMenuClient::stopSpeaking):
14442 (WebKit::WebContextMenuClient::searchWithSpotlight):
14444 Stubs for Win and Qt:
14445 * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp: Added.
14446 (WebKit::WebContextMenuClient::lookUpInDictionary):
14447 (WebKit::WebContextMenuClient::isSpeaking):
14448 (WebKit::WebContextMenuClient::speak):
14449 (WebKit::WebContextMenuClient::stopSpeaking):
14450 * WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp: Added.
14451 (WebKit::WebContextMenuClient::lookUpInDictionary):
14452 (WebKit::WebContextMenuClient::isSpeaking):
14453 (WebKit::WebContextMenuClient::speak):
14454 (WebKit::WebContextMenuClient::stopSpeaking):
14456 Project file stuffs:
14458 * WebKit2.xcodeproj/project.pbxproj:
14459 * win/WebKit2.vcproj:
14461 2010-12-09 Anders Carlsson <andersca@apple.com>
14463 Reviewed by Sam Weinig.
14465 Don't leak the PDFDocument
14466 https://bugs.webkit.org/show_bug.cgi?id=50771
14468 * UIProcess/API/mac/PDFViewController.mm:
14469 (WebKit::PDFViewController::setPDFDocumentData):
14471 2010-12-09 Anders Carlsson <andersca@apple.com>
14473 Reviewed by Sam Weinig.
14475 Add a basic implementation of PDF support on Mac
14476 https://bugs.webkit.org/show_bug.cgi?id=50768
14478 * UIProcess/API/mac/PDFViewController.h:
14479 * UIProcess/API/mac/PDFViewController.mm: Added.
14480 (-[WKPDFView initWithFrame:PDFViewController:WebKit::]):
14481 Setup the view hierarchy.
14483 (-[WKPDFView invalidate]):
14484 Set the controller to null.
14486 (-[WKPDFView pdfView]):
14487 Return the PDF view.
14489 (WebKit::PDFViewController::create):
14490 (WebKit::PDFViewController::PDFViewController):
14491 Create a WKPDFView and insert it as a subview of the WKView.
14493 (WebKit::PDFViewController::~PDFViewController):
14494 Remove the WKPDFView from the view hierarchy and invalidate it.
14496 (WebKit::convertPostScriptDataSourceToPDF):
14497 Convert the data in the data reference to PDF and return it as a CFDataRef.
14499 (WebKit::PDFViewController::setPDFDocumentData):
14500 Create a PDFDocument and set it on the PDF view.
14502 (WebKit::PDFViewController::pdfDocumentClass):
14503 (WebKit::PDFViewController::pdfPreviewViewClass):
14504 (WebKit::PDFViewController::pdfKitBundle):
14505 Add soft-linking helper functions.
14507 * UIProcess/API/mac/PageClientImpl.mm:
14508 (WebKit::PageClientImpl::didCommitLoadForMainFrame):
14509 (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
14510 Call the WKView methods.
14512 * UIProcess/API/mac/WKView.mm:
14513 (-[WKView _setPageHasCustomRepresentation:]):
14514 Create a PDF view controller if necessary.
14516 (-[WKView _didFinishLoadingDataForCustomRepresentation:CoreIPC::]):
14517 Pass the data along to the PDF view controller.
14519 * WebKit2.xcodeproj/project.pbxproj:
14522 2010-12-09 Anders Carlsson <andersca@apple.com>
14524 Reviewed by Sam Weinig.
14526 Add support for custom representation
14527 https://bugs.webkit.org/show_bug.cgi?id=50767
14529 * Shared/WebProcessCreationParameters.cpp:
14530 (WebKit::WebProcessCreationParameters::encode):
14531 (WebKit::WebProcessCreationParameters::decode):
14532 * Shared/WebProcessCreationParameters.h:
14533 Add mimeTypesWithCustomRepresentation and encode and decode accordingly.
14535 * UIProcess/API/mac/PageClientImpl.h:
14536 * UIProcess/API/mac/PageClientImpl.mm:
14537 (WebKit::PageClientImpl::didCommitLoadForMainFrame):
14538 (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
14539 Add empty stubs for now.
14541 * UIProcess/API/qt/qwkpage.cpp:
14542 (QWKPagePrivate::didCommitLoadForMainFrame):
14543 (QWKPagePrivate::didFinishLoadingDataForCustomRepresentation):
14544 * UIProcess/API/qt/qwkpage_p.h:
14547 * UIProcess/PageClient.h:
14548 Add new functions for custom representations.
14550 * UIProcess/WebFrameProxy.cpp:
14551 (WebKit::WebFrameProxy::canShowMIMEType):
14552 Check that the mime type is not null.
14554 * UIProcess/WebPageProxy.cpp:
14555 (WebKit::WebPageProxy::didCommitLoadForFrame):
14556 This now takes an additional frameHasCustomRepresentation parameter.
14557 Call the page client function.
14559 (WebKit::WebPageProxy::didFinishLoadingDataForCustomRepresentation):
14560 Call the page client function.
14562 * UIProcess/WebPageProxy.messages.in:
14563 Change DidCommitLoadForFrame message, add DidFinishLoadingDataForCustomRepresentation message.
14565 * UIProcess/mac/WebContextMac.mm:
14566 (WebKit::WebContext::platformInitializeWebProcess):
14567 We want to use custom representations for PDF and PostScript MIME types.
14569 * UIProcess/win/WebView.cpp:
14570 (WebKit::WebView::didCommitLoadForMainFrame):
14571 (WebKit::WebView::didFinishLoadingDataForCustomRepresentation):
14572 * UIProcess/win/WebView.h:
14575 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
14576 (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
14577 Initialize m_frameHasCustomRepresentation.
14579 (WebKit::WebFrameLoaderClient::hasHTMLView):
14580 The frame has a HTML view unless it has a custom representation.
14582 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
14583 Pass along whether the frame has a custom representation.
14585 (WebKit::WebFrameLoaderClient::committedLoad):
14586 Don't send data back to WebCore if the frame has a custom representation.
14588 (WebKit::WebFrameLoaderClient::finishedLoading):
14589 Send all the data to the UI process.
14591 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
14592 Update the m_frameHasCustomRepresentation state based on the MIME type.
14594 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
14595 (WebKit::WebFrameLoaderClient::frameHasCustomRepresentation):
14598 * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp:
14599 (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
14600 Don't do any painting if the main frame has a custom representation.
14602 * WebProcess/WebProcess.cpp:
14603 (WebKit::WebProcess::initializeWebProcess):
14604 Add all the MIME types with custom representations.
14606 * WebProcess/WebProcess.h:
14607 (WebKit::WebProcess::shouldUseCustomRepresentationForMIMEType):
14610 2010-12-09 Maciej Stachowiak <mjs@apple.com>
14612 Reviewed by Dan Bernstein.
14614 Implement "Use Selection for Find" in WebKit2
14615 https://bugs.webkit.org/show_bug.cgi?id=50737
14616 <rdar://problem/8564881>
14618 * UIProcess/API/mac/WKView.mm: Add support for the takeFindStringFromSelection:
14619 selector as a command.
14621 2010-12-09 Brady Eidson <beidson@apple.com>
14623 Reviewed by Maciej Stachowiak.
14625 <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191
14626 WebKit2 Authentication Support
14628 Implement authentication-related coders:
14629 * Shared/WebCoreArgumentCoders.h:
14631 Allow the ResourceResponse coders to handle null responses:
14632 * Shared/mac/WebCoreArgumentCodersMac.mm:
14633 (CoreIPC::encodeResourceResponse):
14634 (CoreIPC::decodeResourceResponse):
14636 Add new API and Impl casts for ProtectionSpace and Credential enums:
14637 * UIProcess/API/C/WKAPICast.h:
14639 (WebKit::toCredentialPersistence):
14641 Move the DecisionListener to be accessed off the challenge itself, and fill in other
14643 * UIProcess/API/C/WKAuthenticationChallenge.cpp:
14644 (WKAuthenticationChallengeGetDecisionListener):
14645 (WKAuthenticationChallengeGetProtectionSpace):
14646 (WKAuthenticationChallengeGetProposedCredential):
14647 (WKAuthenticationChallengeGetPreviousFailureCount):
14648 * UIProcess/API/C/WKAuthenticationChallenge.h:
14649 * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
14650 (WebKit::AuthenticationChallengeProxy::~AuthenticationChallengeProxy):
14651 (WebKit::AuthenticationChallengeProxy::proposedCredential):
14652 (WebKit::AuthenticationChallengeProxy::protectionSpace):
14653 * UIProcess/Authentication/AuthenticationChallengeProxy.h:
14654 (WebKit::AuthenticationChallengeProxy::previousFailureCount):
14656 Fill in some credential API:
14657 * UIProcess/API/C/WKCredential.cpp:
14658 (WKCredentialCreate):
14659 (WKCredentialCopyUser):
14660 * UIProcess/API/C/WKCredential.h:
14661 * UIProcess/API/C/WKCredentialTypes.h: Added.
14662 * UIProcess/Authentication/WebCredential.cpp:
14663 (WebKit::WebCredential::WebCredential):
14664 (WebKit::WebCredential::user):
14665 * UIProcess/Authentication/WebCredential.h:
14666 (WebKit::WebCredential::create):
14668 Fill in some protection space API:
14669 * UIProcess/API/C/WKProtectionSpace.cpp:
14670 (WKProtectionSpaceCopyHost):
14671 (WKProtectionSpaceGetPort):
14672 (WKProtectionSpaceCopyRealm):
14673 (WKProtectionSpaceGetIsProxy):
14674 (WKProtectionSpaceGetServerType):
14675 (WKProtectionSpaceGetReceivesCredentialSecurely):
14676 (WKProtectionSpaceGetAuthenticationScheme):
14677 * UIProcess/API/C/WKProtectionSpace.h:
14678 * UIProcess/API/C/WKProtectionSpaceTypes.h: Added.
14679 * UIProcess/Authentication/WebProtectionSpace.cpp:
14680 (WebKit::WebProtectionSpace::WebProtectionSpace):
14681 (WebKit::WebProtectionSpace::host):
14682 (WebKit::WebProtectionSpace::port):
14683 (WebKit::WebProtectionSpace::realm):
14684 (WebKit::WebProtectionSpace::isProxy):
14685 (WebKit::WebProtectionSpace::serverType):
14686 (WebKit::WebProtectionSpace::receivesCredentialSecurely):
14687 (WebKit::WebProtectionSpace::authenticationScheme):
14688 * UIProcess/Authentication/WebProtectionSpace.h:
14690 Change the authentication challenge callback to reflect the new ownership of
14691 the DecisionListener:
14692 * UIProcess/API/C/WKPage.h:
14693 * UIProcess/WebLoaderClient.cpp:
14694 (WebKit::WebLoaderClient::didReceiveAuthenticationChallengeInFrame):
14695 * UIProcess/WebLoaderClient.h:
14696 * UIProcess/WebPageProxy.cpp:
14697 (WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
14700 * WebKit2.xcodeproj/project.pbxproj:
14701 * win/WebKit2.vcproj:
14702 * win/WebKit2Generated.make:
14704 2010-12-08 Sam Weinig <sam@webkit.org>
14706 Reviewed by Geoffrey "Error" Garen.
14708 Fix typo: Diplaying -> Displaying
14710 * UIProcess/API/C/WKFrame.cpp:
14711 (WKFrameIsDisplayingStandaloneImageDocument):
14712 (WKFrameIsDisplayingMarkupDocument):
14713 * UIProcess/API/C/WKFrame.h:
14714 * UIProcess/WebFrameProxy.cpp:
14715 (WebKit::WebFrameProxy::canProvideSource):
14716 (WebKit::WebFrameProxy::isDisplayingStandaloneImageDocument):
14717 (WebKit::WebFrameProxy::isDisplayingMarkupDocument):
14718 * UIProcess/WebFrameProxy.h:
14720 2010-12-08 Sam Weinig <sam@webkit.org>
14722 Reviewed by Gavin Barraclough.
14724 Add WebKit2 Preference for TabsToLinks behavior.
14725 <rdar://problem/8664263>
14727 * Shared/WebPreferencesStore.h:
14728 * UIProcess/API/C/WKPreferences.cpp:
14729 (WKPreferencesSetTabsToLinks):
14730 (WKPreferencesGetTabsToLinks):
14731 * UIProcess/API/C/WKPreferences.h:
14732 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
14733 (WebKit::WebChromeClient::tabsToLinks):
14734 * WebProcess/WebPage/WebPage.cpp:
14735 (WebKit::WebPage::WebPage):
14736 (WebKit::WebPage::updatePreferences):
14737 * WebProcess/WebPage/WebPage.h:
14738 (WebKit::WebPage::tabsToLinks):
14740 2010-12-08 Benjamin Poulain <benjamin.poulain@nokia.com>
14742 Reviewed by Andreas Kling.
14744 WebTouchEvent::isTouchEventType() does not take into account the type TouchCancel
14745 https://bugs.webkit.org/show_bug.cgi?id=50680
14747 Add the missing type check to WebTouchEvent::isTouchEventType().
14749 * Shared/WebTouchEvent.cpp:
14750 (WebKit::WebTouchEvent::isTouchEventType):
14752 2010-12-08 Sam Weinig <sam@webkit.org>
14754 Reviewed by Darin Adler.
14756 Need a way to get a WKBundleFrameRef from JS HTMLIFrameElement
14757 https://bugs.webkit.org/show_bug.cgi?id=50726
14759 Adds WKBundleNodeHandleCopyDocumentFrame, WKBundleNodeHandleCopyHTMLFrameElementContentFrame
14760 and WKBundleNodeHandleCopyHTMLIFrameElementContentFrame, to handle the document, <frame>
14761 and <iframe> cases.
14763 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
14764 (WKBundleNodeHandleCopyDocumentFrame):
14765 (WKBundleNodeHandleCopyHTMLFrameElementContentFrame):
14766 (WKBundleNodeHandleCopyHTMLIFrameElementContentFrame):
14767 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
14768 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
14769 (WebKit::InjectedBundleNodeHandle::copyDocumentFrame):
14770 (WebKit::InjectedBundleNodeHandle::copyHTMLFrameElementContentFrame):
14771 (WebKit::InjectedBundleNodeHandle::copyHTMLIFrameElementContentFrame):
14772 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
14774 2010-12-08 Sam Weinig <sam@webkit.org>
14776 Reviewed by Gavin Barraclough.
14778 Need a WebKit2 way to test whether a frame is displaying a standalone image
14779 <rdar://problem/8443059>
14780 WebKit2: Need a way to test whether a page or frame is showing HTML content
14781 <rdar://problem/8642563>
14783 Add WKFrameIsDiplayingStandaloneImageDocument and WKFrameIsDiplayingMarkupDocument.
14785 * UIProcess/API/C/WKFrame.cpp:
14786 (WKFrameIsDiplayingStandaloneImageDocument):
14787 (WKFrameIsDiplayingMarkupDocument):
14788 * UIProcess/API/C/WKFrame.h:
14789 * UIProcess/WebFrameProxy.cpp:
14790 (WebKit::WebFrameProxy::canProvideSource): This now just calls isDiplayingMarkupDocument.
14791 (WebKit::WebFrameProxy::isDiplayingStandaloneImageDocument):
14792 (WebKit::WebFrameProxy::isDiplayingMarkupDocument):
14793 * UIProcess/WebFrameProxy.h:
14795 2010-12-08 Anders Carlsson <andersca@apple.com>
14797 Reviewed by Darin Adler.
14799 WebFrameProxy::canShowMIMEType should return true for PDF MIME types in the main frame
14800 https://bugs.webkit.org/show_bug.cgi?id=50724
14802 * UIProcess/WebContext.cpp:
14803 (WebKit::WebContext::pdfAndPostScriptMIMETypes):
14804 * UIProcess/WebContext.h:
14805 * UIProcess/WebFrameProxy.cpp:
14806 (WebKit::WebFrameProxy::canShowMIMEType):
14808 2010-12-08 Brian Weinstein <bweinstein@apple.com>
14810 Reviewed by Brady Eidson.
14812 WebMenuTarget implemented in both WebKit and WebKit2
14813 https://bugs.webkit.org/show_bug.cgi?id=50665
14814 <rdar://problem/8742640>
14816 Rename WebMenuTarget to WKMenuTarget to prevent this warning and stay consistent with
14817 other WebKit2 namings.
14819 * UIProcess/mac/WebContextMenuProxyMac.mm:
14820 (+[WKMenuTarget sharedMenuTarget]):
14821 (WebKit::nsMenuItemVector):
14822 (WebKit::WebContextMenuProxyMac::showContextMenu):
14824 2010-12-08 Anders Carlsson <andersca@apple.com>
14826 Reviewed by Sam Weinig.
14828 Move canShowMIMEType to Frame
14829 https://bugs.webkit.org/show_bug.cgi?id=50723
14831 * UIProcess/API/C/WKFrame.cpp:
14832 (WKFrameCanShowMIMEType):
14833 * UIProcess/API/C/WKFrame.h:
14834 * UIProcess/API/C/WKPage.cpp:
14835 * UIProcess/API/C/WKPage.h:
14836 * UIProcess/WebFrameProxy.cpp:
14837 (WebKit::WebFrameProxy::canShowMIMEType):
14838 * UIProcess/WebFrameProxy.h:
14840 2010-12-08 Sam Weinig <sam@webkit.org>
14842 Reviewed by Oliver Hunt.
14844 Rename WKPreferencesGetFTPDirectoryTemplatePath to WKPreferencesCopyFTPDirectoryTemplatePath
14845 since it copies the value.
14847 * UIProcess/API/C/WKPreferences.cpp:
14848 (WKPreferencesCopyFTPDirectoryTemplatePath):
14849 * UIProcess/API/C/WKPreferencesPrivate.h:
14851 2010-12-08 Sam Weinig <sam@webkit.org>
14853 Reviewed by Brady Eidson.
14855 WebKit2: Can't open ftp directory
14856 <rdar://problem/8489321>
14858 * Shared/WebPreferencesStore.h:
14859 * UIProcess/API/C/WKPreferences.cpp:
14860 (WKPreferencesSetForceFTPDirectoryListings):
14861 (WKPreferencesGetForceFTPDirectoryListings):
14862 (WKPreferencesSetFTPDirectoryTemplatePath):
14863 (WKPreferencesGetFTPDirectoryTemplatePath):
14864 * UIProcess/API/C/WKPreferencesPrivate.h:
14865 * WebProcess/WebPage/WebPage.cpp:
14866 (WebKit::WebPage::updatePreferences):
14867 Pipe through the FTP directory listing preferences.
14869 2010-12-08 Chris Marrin <cmarrin@apple.com>
14871 Reviewed by Simon Fraser.
14873 Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
14874 https://bugs.webkit.org/show_bug.cgi?id=49388
14876 Fixes a build failure because WebChromeClient.cpp uses WebCore::Cursor.
14877 This patch adds an include of QuartzCore/CATransform3D, which includes
14878 a file that has a 'Cursor' object defined. So I had to qualify the
14879 use of Cursor in WebChromeClient.cpp.
14881 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
14882 (WebKit::WebChromeClient::setCursor):
14884 2010-12-07 Brian Weinstein <bweinstein@apple.com>
14886 Reviewed by John Sullivan.
14888 Layering Violation in ContextMenu - member variable of type HitTestResult
14889 https://bugs.webkit.org/show_bug.cgi?id=50586
14891 Update users of ContextMenu and ContextMenuController to match where the new functions
14894 * Shared/WebContextMenuItemData.cpp:
14895 (WebKit::WebContextMenuItemData::WebContextMenuItemData): Remove the call to checkOrEnableItem, that call will be made when
14896 the ContextMenuItem is added to the ContextMenu through the ContextMenuController.
14897 * WebProcess/WebPage/WebContextMenu.cpp:
14898 (WebKit::WebContextMenu::show):
14900 2010-12-08 Jessie Berlin <jberlin@apple.com>
14902 Reviewed by Adam Roben.
14904 WebKit2: Implement WebChromeClient::exceededDatabaseQuota
14905 https://bugs.webkit.org/show_bug.cgi?id=50656
14907 The exceededDatabaseQuota call from the WebProcess to the UIProcess needs to be synchronous
14908 because the new quota is checked directly after exceededDatabaseQuota returns in order to
14909 determine if the new Database can be created.
14911 Pass all of the details from the WebProcess to the UIProcess in order to inform the
14912 decision in the UIProcess about the new quota. In WebKit1, these details were
14913 fetched through an additional call to the API detailsForDatabase (which is infeasible in
14914 WebKit2 since exceededDatabaseQuota is a synchronous call).
14916 * Platform/CoreIPC/HandleMessage.h:
14917 (CoreIPC::callMemberFunction):
14918 Add a version that takes 7 parameters.
14920 * UIProcess/API/C/WKPage.h:
14922 * UIProcess/API/qt/qwkpage.cpp:
14923 (QWKPage::QWKPage):
14924 Indicate that exceededDatabaseQuota is not implemented.
14926 * UIProcess/WebPageProxy.cpp:
14927 (WebKit::WebPageProxy::exceededDatabaseQuota):
14928 Call the UIClient's exceededDatabaseQuota
14929 * UIProcess/WebPageProxy.h:
14930 * UIProcess/WebPageProxy.messages.in:
14932 * UIProcess/WebUIClient.cpp:
14933 (WebKit::WebUIClient::exceededDatabaseQuota):
14934 If the client does not implement exceededDatabaseQuota, return a the current quota.
14935 * UIProcess/WebUIClient.h:
14937 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
14938 (WebKit::WebChromeClient::exceededDatabaseQuota):
14939 Send a synchronous message to the UIProcess to ask for the new quota for the origin for the
14942 2010-12-07 Anders Carlsson <andersca@apple.com>
14944 Reviewed by Sam Weinig.
14946 fast/loader/empty-embed-src-attribute.html asserts in debug builds
14947 https://bugs.webkit.org/show_bug.cgi?id=50643
14949 Just always ignore attempts to load requests with empty URLs.
14951 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
14952 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
14954 2010-12-07 Jessie Berlin <jberlin@apple.com>
14956 Build fix. Unreviewed.
14959 Added WebDatabaseManagerQt.cpp.
14960 * WebProcess/WebCoreSupport/qt/WebDatabaseManagerQt.cpp: Added.
14961 (WebKit::WebDatabaseManager::databaseDirectory):
14962 Added a FIXME to implement and return an empty string.
14964 2010-12-07 Darin Adler <darin@apple.com>
14966 Get a bit closer to making Qt WebKit2 compile again.
14968 * WebKit2.pro: Add the WebDatabaseManager source files.
14969 Still missing: The Qt version of the databaseDirectory function.
14971 2010-12-07 Jessie Berlin <jberlin@apple.com>
14973 Reviewed by Darin Adler.
14975 WebKit2: Need to set the location of the Databases directory when the WebProcess is initialized
14976 https://bugs.webkit.org/show_bug.cgi?id=50604
14978 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp: Added.
14979 (WebKit::WebDatabaseManager::shared):
14980 (WebKit::WebDatabaseManager::WebDatabaseManager):
14981 Initialize the DatabaseTracker with the Database directory.
14982 * WebProcess/WebCoreSupport/WebDatabaseManager.h: Added.
14983 * WebProcess/WebCoreSupport/mac/WebDatabaseManagerMac.mm: Added.
14984 (WebKit::WebDatabaseManager::databaseDirectory):
14985 Copied from WebKitInitializeDatabasesIfNecessary in WebKit/mac/Storage/WebDatabaseManager.mm.
14986 * WebProcess/WebCoreSupport/win/WebDatabaseManagerWin.cpp: Added.
14987 (WebKit::WebDatabaseManager::databaseDirectory):
14988 Copied from WebKitInitializeWebDatabasesIfNecessary in WebKit/win/WebDatabaseManager.cpp.
14990 * WebProcess/WebProcess.cpp:
14991 (WebKit::WebProcess::WebProcess):
14992 Make sure that the Databases directory has been set by calling WebDatabaseManager::shared().
14994 * WebKit2.xcodeproj/project.pbxproj:
14995 Add WebDatabaseManager.cpp/.h/Mac.cpp
14996 * win/WebKit2.vcproj:
14997 Add WebDatabaseManager.cpp/.h/Win.cpp
14999 2010-12-06 Darin Adler <darin@apple.com>
15001 Reviewed by Sam Weinig.
15003 Pass security origin to make local file decision correctly
15004 https://bugs.webkit.org/show_bug.cgi?id=48603
15006 * WebProcess/Plugins/PluginView.cpp:
15007 (WebKit::PluginView::loadURL): Pass security origin.
15008 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
15009 (WebKit::WebFrameLoaderClient::dispatchCreatePage): Ditto.
15011 2010-12-06 Simon Fraser <simon.fraser@apple.com>
15013 Reviewed by Sam Weinig.
15015 Fix two WebKit2 prefs issues.
15017 * Shared/WebPreferencesStore.h: Include font-family preferences
15018 in the FOR_EACH_WEBKIT_STRING_PREFERENCE macro, actually propagating
15019 font family prefs to WebCore settings.
15021 * UIProcess/WebPageGroup.cpp:
15022 (WebKit::WebPageGroup::WebPageGroup):
15023 (WebKit::WebPageGroup::~WebPageGroup): Add and remove the WebPageGroup
15024 from the preference object it creates. This allows preference changes
15025 to actually be propagated to the web process.
15027 2010-12-06 Anders Carlsson <andersca@apple.com>
15029 Reviewed by Sam Weinig.
15031 The plug-in process crashes if it can't load the plug-in module
15032 https://bugs.webkit.org/show_bug.cgi?id=50601
15033 <rdar://problem/8692654>
15035 * PluginProcess/PluginControllerProxy.cpp:
15036 (WebKit::PluginControllerProxy::initialize):
15037 Handle m_plugin being 0.
15039 * PluginProcess/PluginProcess.cpp:
15040 (WebKit::PluginProcess::netscapePluginModule):
15041 Create the plug-in module if it doesn't exist.
15043 (WebKit::PluginProcess::initialize):
15044 Store the plug-in path.
15046 * PluginProcess/PluginProcess.h:
15047 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
15048 (WebKit::NetscapePlugin::create):
15049 Return null if the plug-in module doesn't exist.
15051 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
15052 * WebProcess/WebPage/WebPage.cpp:
15053 (WebKit::WebPage::createPlugin):
15056 2010-12-06 Anders Carlsson <andersca@apple.com>
15058 Reviewed by Sam Weinig.
15060 WebProcess crash in NPRemoteObjectMap::invalidate when closing tab
15061 https://bugs.webkit.org/show_bug.cgi?id=50597
15062 <rdar://problem/8655584>
15064 When invalidating the NPRemoteObjectMap, we don't want NPObjectMessageReceiver to
15065 release all objects NPObjects blindly because NPJSObjects have already been deallocated by the plug-in view.
15067 This is not an ideal solution; an ideal solution would involve NPJSObjects notifying any NPObjectMessageReceiver objects
15068 that the NPJSObject is being destroyed. The NPObjectMessageReceiver could then simply null out the NPObject pointer.
15070 * Shared/Plugins/NPObjectMessageReceiver.cpp:
15071 (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver):
15072 (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver):
15073 * Shared/Plugins/NPObjectMessageReceiver.h:
15074 * Shared/Plugins/NPRemoteObjectMap.cpp:
15075 (WebKit::NPRemoteObjectMap::NPRemoteObjectMap):
15076 (WebKit::NPRemoteObjectMap::invalidate):
15077 * Shared/Plugins/NPRemoteObjectMap.h:
15078 (WebKit::NPRemoteObjectMap::isInvalidating):
15080 2010-12-06 Sam Weinig <sam@webkit.org>
15082 Reviewed by Anders Carlsson.
15084 Generalize didChangeLocationWithinPageForFrame for all same document navigations
15085 https://bugs.webkit.org/show_bug.cgi?id=50584
15087 - Rename didChangeLocationWithinPageForFrame callbacks to didSameDocumentNavigationForFrame
15088 - Add WKSameDocumentNavigationType to didChangeLocationWithinPageForFrame.
15089 - Call didSameDocumentNavigationForFrame for HTML session state changes.
15091 * Shared/API/c/WKPageLoadTypes.h: Added.
15092 * Shared/API/c/WKSharedAPICast.h:
15094 Moved WKFrameNavigationType here from WKPage.h and add WKSameDocumentNavigationType.
15096 * Shared/SameDocumentNavigationType.h: Added.
15097 * UIProcess/API/C/WKAPICast.h:
15098 Moved WKFrameNavigationType conversion from here.
15100 * UIProcess/API/C/WKPage.h:
15101 * UIProcess/API/qt/qwkpage.cpp:
15102 (QWKPage::QWKPage):
15105 * UIProcess/WebFrameProxy.cpp:
15106 (WebKit::WebFrameProxy::didSameDocumentNavigation):
15107 * UIProcess/WebFrameProxy.h:
15108 * UIProcess/WebLoaderClient.cpp:
15109 (WebKit::WebLoaderClient::didSameDocumentNavigationForFrame):
15110 * UIProcess/WebLoaderClient.h:
15111 * UIProcess/WebPageProxy.cpp:
15112 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
15113 * UIProcess/WebPageProxy.h:
15114 * UIProcess/WebPageProxy.messages.in:
15115 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
15116 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
15117 (WebKit::InjectedBundlePageLoaderClient::didSameDocumentNavigationForFrame):
15118 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
15119 Pipe new name through.
15121 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
15122 (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
15123 (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
15124 (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
15125 (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
15126 Call didChangeLocationWithinPageForFrame for session state changes.
15129 * WebKit2.xcodeproj/project.pbxproj:
15130 * win/WebKit2.vcproj:
15131 * win/WebKit2Generated.make:
15134 2010-12-06 Jessie Berlin <jberlin@apple.com>
15136 Reviewed by Dan Bernstein.
15138 WebKit2: Expose the preference to enable or disable HTML5 Databases.
15139 https://bugs.webkit.org/show_bug.cgi?id=50411
15141 * Shared/WebPreferencesStore.h:
15142 Make the preference to enable HTML5 Databases default ot true.
15144 * UIProcess/API/C/WKPreferences.cpp:
15145 (WKPreferencesSetDatabasesEnabled):
15146 (WKPreferencesGetDatabasesEnabled):
15147 * UIProcess/API/C/WKPreferences.h:
15149 * WebProcess/WebPage/WebPage.cpp:
15150 (WebKit::WebPage::updatePreferences):
15151 Set AbstractDatabase::isAvailable (mimicking how the preference is set in WebKit1).
15153 2010-12-06 Mark Rowe <mrowe@apple.com>
15157 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
15158 (WebKit::NetscapePlugin::platformHandleKeyboardEvent): Wrap Carbon-specific code in #ifndef NP_NO_CARBON.
15160 2010-12-06 Anders Carlsson <andersca@apple.com>
15162 Reviewed by Adam Roben.
15164 Add a shim for GetCurrentEventButtonState
15165 https://bugs.webkit.org/show_bug.cgi?id=50583
15167 * PluginProcess/mac/PluginProcessMac.mm:
15168 (WebKit::getCurrentEventButtonState):
15169 Get the event button state from the plug-in.
15171 (WebKit::PluginProcess::initializeShim):
15172 Add new shim callback.
15174 * PluginProcess/mac/PluginProcessShim.cpp:
15175 (WebKit::shimGetCurrentEventButtonState):
15178 * PluginProcess/mac/PluginProcessShim.h:
15179 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
15180 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
15181 (WebKit::NetscapePlugin::buttonState):
15182 Return the button state.
15184 (WebKit::NetscapePlugin::platformHandleMouseEvent):
15185 Update the button state. Also, make sure to actually pass the modifiers to NPP_HandleEvent.
15188 2010-12-06 Anders Carlsson <andersca@apple.com>
15190 Reviewed by Adam Roben.
15192 Add a shim for IsWindowActive
15193 https://bugs.webkit.org/show_bug.cgi?id=50582
15195 * PluginProcess/mac/PluginProcessMac.mm:
15196 (WebKit::isWindowActive):
15197 Get the NetscapePlugin from the WindowRef and check if the plug-in's window is active.
15199 (WebKit::PluginProcess::initializeShim):
15200 * PluginProcess/mac/PluginProcessShim.cpp
15201 (WebKit::shimIsWindowActive):
15202 Call isWindowActive. If it returns true, return the result value. Otherwise, call the real
15203 IsWindowActive function.
15205 * PluginProcess/mac/PluginProcessShim.h:
15206 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
15207 (WebKit::NetscapePlugin::NetscapePlugin):
15208 Initialize m_isWindowactive.
15210 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
15211 (WebKit::NetscapePlugin::isWindowActive):
15212 Return whether the window is active.
15214 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
15215 (WebKit::windowMap):
15216 (WebKit::NetscapePlugin::platformPostInitialize):
15217 (WebKit::NetscapePlugin::platformDestroy):
15218 (WebKit::NetscapePlugin::netscapePluginFromWindow):
15219 Add a mapping between windows and the corresponding NetscapePlugin objects.
15221 (WebKit::NetscapePlugin::windowFocusChanged):
15222 Update the window focus member variable.
15224 2010-12-06 Anders Carlsson <andersca@apple.com>
15226 Reviewed by Dan Bernstein.
15228 REGERSSION (r73310?): Contents of <select> popup menus are upside-down on Windows
15229 https://bugs.webkit.org/show_bug.cgi?id=50544
15230 <rdar://problem/8732336>
15232 * Shared/BackingStore.cpp:
15233 * Shared/BackingStore.h:
15234 * Shared/cairo/BackingStoreCairo.cpp:
15235 Remove BackingStore::createFlippedGraphicsContext.
15237 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
15238 (WebKit::WebPopupMenu::setUpPlatformData):
15239 Don't create a flipped graphics context.
15241 2010-12-06 Anders Carlsson <andersca@apple.com>
15243 Reviewed by Dan Bernstein.
15245 REGRESSION: Text in Find indicator is vertically flipped
15246 https://bugs.webkit.org/show_bug.cgi?id=50524
15247 <rdar://problem/8732978>
15249 Don't flip the graphics context.
15251 * UIProcess/FindIndicator.cpp:
15252 (WebKit::FindIndicator::draw):
15254 2010-12-03 Anders Carlsson <andersca@apple.com>
15256 Reviewed by Sam Weinig.
15258 Dispatch keyboard events in the Carbon event model
15259 https://bugs.webkit.org/show_bug.cgi?id=50503
15261 * Shared/WebEvent.h:
15262 (WebKit::WebKeyboardEvent::macCharCode):
15263 * Shared/WebKeyboardEvent.cpp:
15264 (WebKit::WebKeyboardEvent::WebKeyboardEvent):
15265 (WebKit::WebKeyboardEvent::encode):
15266 (WebKit::WebKeyboardEvent::decode):
15267 Add macCharCode field.
15269 * Shared/mac/WebEventFactory.mm:
15270 (WebKit::WebEventFactory::createWebKeyboardEvent):
15271 * Shared/qt/WebEventFactoryQt.cpp:
15272 (WebKit::WebEventFactory::createWebKeyboardEvent):
15273 * Shared/win/WebEventFactory.cpp:
15274 (WebKit::WebEventFactory::createWebKeyboardEvent):
15275 Pass along the Mac char code.
15277 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
15278 (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
15279 Convert the event to a Carobn event.
15281 2010-12-03 John Sullivan <sullivan@apple.com>
15283 Reviewed by Adam Roben.
15285 https://bugs.webkit.org/show_bug.cgi?id=50504
15286 Expose some more WebCore settings in WebKit2 preferences
15288 * Shared/WebPreferencesStore.h:
15289 Changed name of existing FOR_EACH_WEBKIT_STRING_PREFERENCE macro to
15290 FOR_EACH_WEBKIT_FONT_FAMILY_PREFERENCE since it was all about platform-specific
15291 font families, and I'm now introducing a non-platform-spacific string, and
15292 I didn't want to put the new preference in two platform-specific lists. Then
15293 added a new FOR_EACH_WEBKIT_STRING_PREFERENCE to hold the new preference. Note
15294 that the other preferences exposed in this patch were already declared here.
15296 * UIProcess/API/C/WKPreferences.cpp:
15297 (WKPreferencesSetDefaultFontSize):
15299 (WKPreferencesGetDefaultFontSize):
15301 (WKPreferencesSetDefaultFixedFontSize):
15303 (WKPreferencesGetDefaultFixedFontSize):
15305 (WKPreferencesSetDefaultTextEncodingName):
15307 (WKPreferencesCopyDefaultTextEncodingName):
15310 * UIProcess/API/C/WKPreferences.h:
15311 Declare new wrappers.
15313 2010-12-05 Adam Roben <aroben@apple.com>
15315 Windows production build fix
15317 Put spaces after trailing backslashes when setting
15318 %WebKitVSPropsRedirectionDir%. According to MSDN
15319 <http://msdn.microsoft.com/en-us/library/2kzfk8c7(v=VS.80).aspx>:
15321 A backslash ( \ ) followed by a newline character is interpreted as
15322 a space in the command; use a backslash at the end of a line to
15323 continue a command onto the next line. NMAKE interprets the
15324 backslash literally if any other character, including a space or
15325 tab, follows the backslash.
15327 * win/WebKit2.make:
15329 2010-12-04 Sam Weinig <sam@webkit.org>
15331 Reviewed by Jon Honeycutt.
15333 WebKit2: Need client functions to notify app when the url changes due to a fragment navigation
15334 https://bugs.webkit.org/show_bug.cgi?id=50511
15336 Pipe didChangeLocationWithinPageForFrame up through the UIProcess to the WKPageLoadClient,
15337 updating the WebFrameProxy's URL on the way.
15339 Test: PageLoadDidChangeLocationWithinPageForFrame
15341 * UIProcess/API/C/WKPage.h:
15342 * UIProcess/API/qt/qwkpage.cpp:
15343 (QWKPage::QWKPage):
15344 * UIProcess/WebFrameProxy.cpp:
15345 (WebKit::WebFrameProxy::didChangeURLWithoutNavigation):
15346 * UIProcess/WebFrameProxy.h:
15347 * UIProcess/WebLoaderClient.cpp:
15348 (WebKit::WebLoaderClient::didChangeLocationWithinPageForFrame):
15349 * UIProcess/WebLoaderClient.h:
15350 * UIProcess/WebPageProxy.cpp:
15351 (WebKit::WebPageProxy::didChangeLocationWithinPageForFrame):
15352 * UIProcess/WebPageProxy.h:
15353 * UIProcess/WebPageProxy.messages.in:
15354 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
15355 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
15356 (WebKit::InjectedBundlePageLoaderClient::didChangeLocationWithinPageForFrame):
15357 (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
15358 (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
15359 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
15360 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
15361 (WebKit::WebFrameLoaderClient::dispatchDidCancelClientRedirect): Fix typo.
15362 (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
15364 2010-12-03 Timothy Hatcher <timothy@apple.com>
15366 Make the Web Inspector window show and be usable on Mac.
15368 https://webkit.org/b/50490
15370 Reviewed by Sam Weinig.
15372 * UIProcess/WebInspectorProxy.cpp:
15373 (WebKit::WebInspectorProxy::invalidate): Call platformClose.
15374 (WebKit::WebInspectorProxy::didLoadInspectorPage): Call platformOpen.
15375 (WebKit::WebInspectorProxy::didClose): Call platformClose.
15376 * UIProcess/WebInspectorProxy.h:
15377 * UIProcess/WebInspectorProxy.messages.in: Added DidClose.
15378 * UIProcess/mac/WebInspectorProxyMac.mm:
15379 (-[WebInspectorProxyObjCAdapter initWithWebInspectorProxy:]): Added.
15380 (-[WebInspectorProxyObjCAdapter windowWillClose:]): Added. Call WebInspectorProxy::close.
15381 (WebKit::WebInspectorProxy::platformOpen): Added.
15382 (WebKit::WebInspectorProxy::platformClose): Added.
15383 * UIProcess/qt/WebInspectorProxyQt.cpp:
15384 (WebKit::WebInspectorProxy::platformOpen): Added stub.
15385 (WebKit::WebInspectorProxy::platformClose): Added stub.
15386 * UIProcess/win/WebInspectorProxyWin.cpp:
15387 (WebKit::WebInspectorProxy::platformOpen): Added stub.
15388 (WebKit::WebInspectorProxy::platformClose): Added stub.
15389 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
15390 (WebKit::WebInspectorClient::sendMessageToFrontend): Added more null checks to avoid a crash.
15391 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
15392 (WebKit::WebInspectorFrontendClient::closeWindow): Call WebInspector::didClose.
15393 (WebKit::WebInspectorFrontendClient::disconnectFromBackend): Ditto.
15394 (WebKit::WebInspectorFrontendClient::sendMessageToBackend): Removed. This does not need to be
15395 implemented by our subclass since we are in a single process.
15396 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: Removed sendMessageToBackend.
15397 * WebProcess/WebPage/WebInspector.cpp:
15398 (WebKit::WebInspector::didClose): Added. Send a DidClose message to the UI process.
15399 * WebProcess/WebPage/WebInspector.h:
15401 2010-12-03 Anders Carlsson <andersca@apple.com>
15403 Reviewed by Sam Weinig and Dan Bernstein.
15405 Clean up the BackingStore implementation
15406 https://bugs.webkit.org/show_bug.cgi?id=50498
15408 * Shared/BackingStore.cpp:
15409 (WebKit::BackingStore::create):
15410 (WebKit::BackingStore::createSharable):
15411 (WebKit::BackingStore::resize):
15412 Use new numBytesForSize helper function.
15414 (WebKit::BackingStore::createFlippedGraphicsContext):
15415 Make this function platform independent.
15417 * Shared/BackingStore.h:
15418 (WebKit::BackingStore::numBytesForSize):
15419 Given a size, return the number of bytes needed for it.
15421 (WebKit::BackingStore::sizeInBytes):
15424 * Shared/cg/BackingStoreCG.cpp:
15425 (WebKit::BackingStore::paint):
15426 Don't use CGBitmapContextCreateImage; it creates an extra copy of the image data.
15428 * Shared/qt/BackingStoreQt.cpp:
15429 Remove createFlippedGraphicsContext.
15431 2010-12-03 Siddharth Mathur <siddharth.mathur@nokia.com>
15433 Reviewed by Laszlo Gombos.
15435 [Qt] [WK2] Build system improvements for non-Unix targets
15436 https://bugs.webkit.org/show_bug.cgi?id=50257
15438 * DerivedSources.pro:
15439 Fix dir seperator errors on Windows build host. Thanks to Laszlo Gombos.
15441 2010-12-03 Sam Weinig <sam@webkit.org>
15443 Reviewed by Maciej Stachowiak.
15445 Enable <a ping> for Mac/Windows/WebKit2 builds
15446 <rdar://problem/8504473>
15447 https://bugs.webkit.org/show_bug.cgi?id=50488
15449 * Shared/WebPreferencesStore.h:
15450 * UIProcess/API/C/WKPreferences.cpp:
15451 (WKPreferencesSetHyperlinkAuditingEnabled):
15452 (WKPreferencesGetHyperlinkAuditingEnabled):
15453 * UIProcess/API/C/WKPreferences.h:
15454 Add "HyperlinkAuditing" preference and enabled it by default.
15456 2010-12-03 Brady Eidson <beidson@apple.com>
15458 Reviewed by good sense in fixing builds.
15460 Export the 4 new API headers I added today.
15462 * WebKit2.xcodeproj/project.pbxproj:
15464 2010-12-03 Brady Eidson <beidson@apple.com>
15466 Reviewed by Sam Weinig.
15468 <rdar://problem/8725679> and https://bugs.webkit.org/show_bug.cgi?id=50482
15469 Crash trying to empty caches with no WebProcess.
15471 * Shared/WebProcessCreationParameters.h: Add the "clear this cache" flags.
15473 * UIProcess/WebContext.cpp:
15474 (WebKit::WebContext::WebContext):
15475 (WebKit::WebContext::ensureWebProcess): If either of the clear cache flags are set when a new WebProcess is
15476 created, include those flags in the parameters.
15477 (WebKit::WebContext::clearResourceCaches): If the current process isn't valid, flag this action to be done later.
15478 (WebKit::WebContext::clearApplicationCache): Ditto.
15479 * UIProcess/WebContext.h:
15481 * WebProcess/WebProcess.cpp:
15482 (WebKit::WebProcess::initializeWebProcess): Clear the caches if told to.
15484 2010-12-03 Sam Weinig <sam@webkit.org>
15486 Reviewed by Gavin Barraclough.
15488 Fix failing API test. The default san serif font on the mac
15489 should be Helvetica, not Courier.
15491 * Shared/WebPreferencesStore.h:
15493 2010-12-03 Jia Pu <jpu@apple.com>
15495 Reviewed by Darin Adler.
15497 Need to move all code that applies correction into correction panel callback.
15498 https://bugs.webkit.org/show_bug.cgi?id=50426
15499 <rdar://problem/8720832>
15501 Adopted new signature of dismissCorrectionPanel.
15503 * WebProcess/WebCoreSupport/WebEditorClient.h:
15504 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
15505 (WebKit::WebEditorClient::dismissCorrectionPanel):
15507 2010-12-03 Jessie Berlin <jberlin@apple.com>
15509 Windows build fix. Unreviewed.
15511 * win/WebKit2Generated.make:
15512 Add the new API files from http://trac.webkit.org/changeset/73281.
15514 2010-12-03 Brady Eidson <beidson@apple.com>
15516 Reviewed by Anders Carlsson.
15518 Groundwork for <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191
15519 WebKit2 Authentication Support
15521 With this patch in place, authentication challenges are sent up from WebCore and shipped over the IPC layer.
15522 Client apps can implement the related client methods to attempt to continue without credentials or cancel a
15525 There's not yet API to inspect a challenge or create a credential to use in reply - that will come later.
15527 Build-system changes:
15528 * DerivedSources.make:
15529 * DerivedSources.pro:
15531 * WebKit2.xcodeproj/project.pbxproj:
15532 * win/WebKit2.vcproj:
15533 * win/WebKit2Common.vsprops:
15535 Messages and casts for IPC and APIs:
15536 * Platform/CoreIPC/MessageID.h:
15537 * Shared/API/c/WKBase.h:
15538 * Shared/APIObject.h:
15539 * Shared/WebCoreArgumentCoders.h:
15540 * UIProcess/API/C/WKAPICast.h:
15541 * WebProcess/WebProcess.cpp:
15542 (WebKit::WebProcess::didReceiveMessage):
15544 Stub out the AuthenticationChallenge class family:
15545 * UIProcess/API/C/WKAuthenticationChallenge.cpp: Added.
15546 (WKAuthenticationChallengeGetTypeID):
15547 * UIProcess/API/C/WKAuthenticationChallenge.h: Added.
15548 * UIProcess/API/C/WKCredential.cpp: Added.
15549 (WKCredentialGetTypeID):
15550 * UIProcess/API/C/WKCredential.h: Added.
15551 * UIProcess/API/C/WKProtectionSpace.cpp: Added.
15552 (WKProtectionSpaceGetTypeID):
15553 * UIProcess/API/C/WKProtectionSpace.h: Added.
15555 Add an Authentication listener for the client app to respond to:
15556 * UIProcess/API/C/WKAuthenticationDecisionListener.cpp: Added.
15557 (WKAuthenticationDecisionListenerGetTypeID):
15558 (WKAuthenticationDecisionListenerUseCredential):
15559 (WKAuthenticationDecisionListenerCancel):
15560 * UIProcess/API/C/WKAuthenticationDecisionListener.h: Added.
15562 Add Authentication related methods to the page loader client:
15563 * UIProcess/API/C/WKPage.h:
15565 Add empty implementations of the new API objects:
15566 * UIProcess/Authentication: Added.
15567 * UIProcess/Authentication/AuthenticationChallengeProxy.cpp: Added.
15568 (WebKit::AuthenticationChallengeProxy::AuthenticationChallengeProxy):
15569 (WebKit::AuthenticationChallengeProxy::~AuthenticationChallengeProxy):
15570 (WebKit::AuthenticationChallengeProxy::useCredential):
15571 (WebKit::AuthenticationChallengeProxy::cancel):
15572 * UIProcess/Authentication/AuthenticationChallengeProxy.h: Added.
15573 (WebKit::AuthenticationChallengeProxy::create):
15574 (WebKit::AuthenticationChallengeProxy::listener):
15575 (WebKit::AuthenticationChallengeProxy::type):
15577 * UIProcess/Authentication/WebCredential.cpp: Added.
15578 (WebKit::WebCredential::core):
15579 * UIProcess/Authentication/WebCredential.h: Added.
15580 (WebKit::WebCredential::create):
15581 (WebKit::WebCredential::type):
15582 * UIProcess/Authentication/WebProtectionSpace.cpp: Added.
15583 (WebKit::WebProtectionSpace::WebProtectionSpace):
15584 * UIProcess/Authentication/WebProtectionSpace.h: Added.
15585 (WebKit::WebProtectionSpace::create):
15586 (WebKit::WebProtectionSpace::type):
15588 Add implementation of the Authentication decision listener:
15589 * UIProcess/Authentication/AuthenticationDecisionListener.cpp: Added.
15590 (WebKit::AuthenticationDecisionListener::AuthenticationDecisionListener):
15591 (WebKit::AuthenticationDecisionListener::useCredential):
15592 (WebKit::AuthenticationDecisionListener::cancel):
15593 (WebKit::AuthenticationDecisionListener::detachChallenge):
15594 * UIProcess/Authentication/AuthenticationDecisionListener.h: Added.
15595 (WebKit::AuthenticationDecisionListener::create):
15596 (WebKit::AuthenticationDecisionListener::type):
15598 WebPage and PageLoaderClient glue:
15599 * UIProcess/WebLoaderClient.cpp:
15600 (WebKit::WebLoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
15601 (WebKit::WebLoaderClient::didReceiveAuthenticationChallengeInFrame):
15602 * UIProcess/WebLoaderClient.h:
15603 * UIProcess/WebPageProxy.cpp:
15604 (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame):
15605 (WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
15606 * UIProcess/WebPageProxy.h:
15607 * UIProcess/WebPageProxy.messages.in:
15609 Add a manager to map the actual platform authentication challenges to a challenge ID,
15610 as at least some platforms require the object identity to persist:
15611 * WebProcess/Authentication: Added.
15612 * WebProcess/Authentication/AuthenticationManager.cpp: Added.
15613 (WebKit::generateAuthenticationChallengeID):
15614 (WebKit::AuthenticationManager::shared):
15615 (WebKit::AuthenticationManager::AuthenticationManager):
15616 (WebKit::AuthenticationManager::didReceiveMessage):
15617 (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
15618 (WebKit::AuthenticationManager::useCredentialForChallenge):
15619 (WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
15620 (WebKit::AuthenticationManager::cancelChallenge):
15621 * WebProcess/Authentication/AuthenticationManager.h: Added.
15622 * WebProcess/Authentication/AuthenticationManager.messages.in: Added.
15624 Hand off Authentication challenges to the manager to be sent over IPC:
15625 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
15626 (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
15627 (WebKit::WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
15629 * UIProcess/API/qt/qwkpage.cpp:
15631 2010-12-03 Anders Carlsson <andersca@apple.com>
15633 Reviewed by Dan Bernstein.
15635 Flip the destination context when painting a backing store into the destination
15636 https://bugs.webkit.org/show_bug.cgi?id=50491
15638 * Shared/cg/BackingStoreCG.cpp:
15639 (WebKit::BackingStore::paint):
15641 2010-12-03 Anders Carlsson <andersca@apple.com>
15643 Reviewed by Dan Bernstein.
15645 The chunked update drawing area is flipped twice when drawing
15646 https://bugs.webkit.org/show_bug.cgi?id=50465
15647 <rdar://problem/8726836>
15649 * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
15650 (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
15651 (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
15652 Flip the destination contexts, thus unflipping them. (Turns out two wrongs make a right here).
15654 2010-12-03 Jessie Berlin <jberlin@apple.com>
15656 Reviewed by Sam Weinig.
15658 Need a WebKit2 Equivalent of WebSecurityOrigin
15659 https://bugs.webkit.org/show_bug.cgi?id=50170
15661 * Shared/API/c/WKBase.h:
15662 Add the WKSecurityOriginRef typedef.
15664 * Shared/APIObject.h:
15665 Add the SecurityOrigin type as a Shared type.
15667 * Shared/API/c/WKSharedAPICast.h::
15668 Add the mapping between WKSecurityOriginRef and WebSecurityOrigin.
15670 * UIProcess/API/C/WKSecurityOrigin.cpp: Added.
15671 (WKSecurityOriginGetTypeID):
15672 (WKSecurityOriginCreate):
15673 (WKSecurityOriginGetProtocol):
15674 (WKSecurityOriginGetHost):
15675 (WKSecurityOriginGetPort):
15676 * UIProcess/API/C/WKSecurityOrigin.h: Added.
15678 * UIProcess/WebSecurityOrigin.h: Added.
15679 (WebKit::WebSecurityOrigin::create):
15680 Create based on the database identifier, which contains the protocol, host and port.
15681 (WebKit::WebSecurityOrigin::protocol):
15682 (WebKit::WebSecurityOrigin::host):
15683 (WebKit::WebSecurityOrigin::port):
15684 (WebKit::WebSecurityOrigin::databaseIdentifier):
15685 (WebKit::WebSecurityOrigin::WebSecurityOrigin):
15686 (WebKit::WebSecurityOrigin::type):
15689 Add WKSecurityOrigin.cpp/.h.
15691 * WebKit2.xcodeproj/project.pbxproj:
15692 * win/WebKit2.vcproj:
15693 Add the WebSecurityOrigin.h and WKSecurityOrigin.cpp/.h.
15695 * win/WebKit2Generated.make:
15696 Make sure WKSecurityOrigin.h file gets copied over to the WebKitBuild directory on Windows.
15698 2010-12-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
15700 Reviewed by Csaba Osztrogonác.
15702 [Qt] Fix compilation with !ENABLE(OFFLINE_WEB_APPLICATIONS) and
15703 !ENABLE(TILED_BACKING_STORE) for WebKit2
15704 https://bugs.webkit.org/show_bug.cgi?id=50071
15706 Add appropriate guards. No functional change if guards are set.
15708 * UIProcess/API/qt/qwkpage.cpp:
15709 (QWKPage::setActualVisibleContentsRect):
15710 * UIProcess/TiledDrawingAreaProxy.cpp:
15711 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
15712 * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
15713 * UIProcess/qt/WebContextQt.cpp:
15714 (WebKit::WebContext::applicationCacheDirectory):
15715 * WebProcess/WebProcess.cpp:
15716 (WebKit::WebProcess::initializeWebProcess):
15718 2010-12-02 Sam Weinig <sam@webkit.org>
15722 * UIProcess/API/qt/qwkpreferences.cpp:
15723 (QWKPreferencesPrivate::createPreferences):
15725 2010-12-02 Sam Weinig <sam@webkit.org>
15727 Reviewed by Anders Carlsson.
15729 WebKit2 Preferences should be held off the PageGroup, not the Context
15730 https://bugs.webkit.org/show_bug.cgi?id=50414
15732 - In addition, this now makes the preference held off the PageGroup have
15733 the identifier of the PageGroup and autosave to disk (only on the mac
15735 - Adds ability to create an arbitrary preference that can be autosaved
15736 via a new WKPreferencesCreateWithIdentifier function.
15738 * UIProcess/API/C/WKContext.cpp:
15739 * UIProcess/API/C/WKContext.h:
15740 Remove preference related code.
15742 * UIProcess/API/C/WKPageGroup.cpp:
15743 (WKPageGroupSetPreferences):
15744 (WKPageGroupGetPreferences):
15745 * UIProcess/API/C/WKPageGroup.h:
15746 Add getter/setter for preferences.
15748 * UIProcess/API/C/WKPreferences.cpp:
15749 (WKPreferencesCreateWithIdentifier):
15750 * UIProcess/API/C/WKPreferences.h:
15751 Add WKPreferencesCreateWithIdentifier and remove WKPreferencesCreateCopy which is
15754 * UIProcess/WebContext.cpp:
15755 (WebKit::WebContext::WebContext):
15756 (WebKit::WebContext::~WebContext):
15757 * UIProcess/WebContext.h:
15758 Remove preference related code.
15760 * UIProcess/WebPageGroup.cpp:
15761 (WebKit::WebPageGroup::WebPageGroup):
15762 (WebKit::WebPageGroup::addPage):
15763 (WebKit::WebPageGroup::removePage):
15764 (WebKit::WebPageGroup::setPreferences):
15765 (WebKit::WebPageGroup::preferences):
15766 (WebKit::WebPageGroup::preferencesDidChange):
15767 * UIProcess/WebPageGroup.h:
15768 Add preference and page tracking.
15770 * UIProcess/WebPageNamespace.cpp:
15771 * UIProcess/WebPageNamespace.h:
15772 Remove preference change notification code.
15774 * UIProcess/WebPageProxy.cpp:
15775 (WebKit::WebPageProxy::WebPageProxy):
15776 (WebKit::WebPageProxy::~WebPageProxy):
15777 Add/remove self from page group set.
15779 (WebKit::WebPageProxy::preferencesDidChange):
15780 (WebKit::WebPageProxy::creationParameters):
15781 Get preferences from the pageGroup.
15783 * UIProcess/WebPreferences.cpp:
15784 (WebKit::WebPreferences::WebPreferences):
15785 (WebKit::WebPreferences::addPageGroup):
15786 (WebKit::WebPreferences::removePageGroup):
15787 (WebKit::WebPreferences::update):
15788 * UIProcess/WebPreferences.h:
15789 (WebKit::WebPreferences::create):
15790 Change to track page groups instead of contexts.
15792 * UIProcess/mac/WebPreferencesMac.mm:
15793 (WebKit::makeKey): Add ".WebKit2" prefix for keys.
15795 2010-12-02 Anders Carlsson <andersca@apple.com>
15797 Reviewed by Sam Weinig.
15799 Flash videos on YouTube flicker
15800 https://bugs.webkit.org/show_bug.cgi?id=50409
15801 <rdar://problem/8668757>
15803 When painting from a backing store, we need to add the source location
15804 to the destination point.
15806 * WebProcess/Plugins/PluginProxy.cpp:
15807 (WebKit::PluginProxy::paint):
15808 (WebKit::PluginProxy::update):
15810 2010-12-02 Sam Weinig <sam@webkit.org>
15812 Reviewed by Anders Carlsson.
15814 WebKit2 needs API to turn on popup blocking
15815 https://bugs.webkit.org/show_bug.cgi?id=50407
15817 Pipe-through a preference for javascript being able to open
15818 windows without user gesture.
15820 * Shared/WebPreferencesStore.h:
15821 * UIProcess/API/C/WKPreferences.cpp:
15822 (WKPreferencesSetJavaScriptCanOpenWindowsAutomatically):
15823 (WKPreferencesGetJavaScriptCanOpenWindowsAutomatically):
15824 * UIProcess/API/C/WKPreferences.h:
15825 * WebProcess/WebPage/WebPage.cpp:
15826 (WebKit::WebPage::updatePreferences):
15828 2010-12-02 Anders Carlsson <andersca@apple.com>
15830 Reviewed by Sam Weinig.
15832 Plug-ins should be able to update the mouse cursor
15833 https://bugs.webkit.org/show_bug.cgi?id=50399
15835 Call WKEnableSettingCursorWhenInBackground.
15837 * PluginProcess/mac/PluginProcessMainMac.mm:
15838 (WebKit::PluginProcessMain):
15840 2010-12-02 Sam Weinig <sam@webkit.org>
15842 Reviewed by Anders Carlsson.
15844 https://bugs.webkit.org/show_bug.cgi?id=50368
15845 Overhaul WebKit2 preferences code
15847 - Reduces the number of places you have to touch to add a new preference
15848 (From 9 down to 4, but with a bit of elbow grease, we should get that
15850 - Add hooks so that platforms can initialize the preferences based on an
15851 identifier. This is currently only used on the Mac to initialize a
15852 preference store from NSUserDefaults and autosave the changes to disk.
15853 It is not yet enabled due to no way to set the identifier from client
15856 * Shared/WebPageCreationParameters.cpp:
15857 Add necessary #include of WebCoreArgumentCoders.h which is now needed
15858 due to cleanup in WebPreferencesStore.h.
15860 * Shared/WebPreferencesStore.cpp:
15861 (WebKit::WebPreferencesStore::WebPreferencesStore):
15862 (WebKit::WebPreferencesStore::encode):
15863 (WebKit::WebPreferencesStore::decode):
15864 (WebKit::defaultValueForKey):
15865 (WebKit::setValueForKey):
15866 (WebKit::valueForKey):
15867 (WebKit::WebPreferencesStore::setStringValueForKey):
15868 (WebKit::WebPreferencesStore::getStringValueForKey):
15869 (WebKit::WebPreferencesStore::setBoolValueForKey):
15870 (WebKit::WebPreferencesStore::getBoolValueForKey):
15871 (WebKit::WebPreferencesStore::setUInt32ValueForKey):
15872 (WebKit::WebPreferencesStore::getUInt32ValueForKey):
15873 * Shared/WebPreferencesStore.h:
15874 Complete overhaul of this class to store the preferences as
15875 a set of HashMaps and use macros to define the keys and default
15878 * UIProcess/API/C/WKPreferences.cpp:
15879 (WKPreferencesGetFontSmoothingLevel):
15880 Add cast to keep conversion function working.
15882 * UIProcess/WebPreferences.cpp:
15883 (WebKit::WebPreferences::WebPreferences): Add identifier constructor.
15884 (WebKit::WebPreferences::updateStringValueForKey):
15885 (WebKit::WebPreferences::updateBoolValueForKey):
15886 (WebKit::WebPreferences::updateUInt32ValueForKey):
15887 Add type based updaters. These currently give hooks to the platform and
15888 call the generic update, but in the future, we can use this to optimize
15889 updating preferences to not send the entire store for each change.
15891 * UIProcess/WebPreferences.h:
15892 Generate the getters and setters via macro instantiation.
15894 * UIProcess/cf/WebPreferencesCF.cpp: Added.
15895 (WebKit::WebPreferences::platformInitializeStore):
15896 (WebKit::WebPreferences::platformUpdateStringValueForKey):
15897 (WebKit::WebPreferences::platformUpdateBoolValueForKey):
15898 (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
15901 * UIProcess/mac/WebPreferencesMac.mm: Added.
15903 (WebKit::setStringValueIfInUserDefaults):
15904 (WebKit::setBoolValueIfInUserDefaults):
15905 (WebKit::setUInt32ValueIfInUserDefaults):
15906 (WebKit::WebPreferences::platformInitializeStore):
15907 (WebKit::WebPreferences::platformUpdateStringValueForKey):
15908 (WebKit::WebPreferences::platformUpdateBoolValueForKey):
15909 (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
15910 Use the platform hooks to initialize and update the store from
15913 * UIProcess/qt/WebPreferencesQt.cpp: Added.
15914 (WebKit::WebPreferences::platformInitializeStore):
15915 (WebKit::WebPreferences::platformUpdateStringValueForKey):
15916 (WebKit::WebPreferences::platformUpdateBoolValueForKey):
15917 (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
15920 * WebProcess/WebPage/WebPage.cpp:
15921 (WebKit::WebPage::updatePreferences):
15922 * WebProcess/WebPage/win/WebPageWin.cpp:
15923 (WebKit::WebPage::platformPreferencesDidChange):
15924 Update to pull the value using the new type based getters.
15927 * WebKit2.xcodeproj/project.pbxproj:
15928 * win/WebKit2.vcproj:
15931 2010-12-02 Steve Falkenburg <sfalken@apple.com>
15935 * WebProcess/WebKitMain.cpp:
15936 (enableDataExecutionPrevention):
15938 2010-11-30 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com>
15940 Reviewed by Martin Robinson.
15942 [GTK] Implement RunLoop, WorkQueue, Connection classes for WebKit2
15943 https://bugs.webkit.org/show_bug.cgi?id=48507
15945 * Platform/CoreIPC/Connection.h: UNIX_X11 specific changes for GTK port.
15946 (CoreIPC::Connection::messageProcessingCompleted):
15947 * Platform/CoreIPC/gtk: Added.
15948 * Platform/CoreIPC/gtk/ConnectionGtk.cpp: Added. Connection class implementation for GTK port (UNIX_X11 specific).
15949 (CoreIPC::readBytesFromSocket):
15950 (CoreIPC::writeBytesToSocket):
15951 (CoreIPC::Connection::platformInitialize):
15952 (CoreIPC::Connection::platformInvalidate):
15953 (CoreIPC::Connection::processCompletedMessage):
15954 (CoreIPC::Connection::readEventHandler):
15955 (CoreIPC::Connection::open):
15956 (CoreIPC::Connection::platformCanSendOutgoingMessages):
15957 (CoreIPC::Connection::sendOutgoingMessage):
15958 * Platform/PlatformProcessIdentifier.h: UNIX_X11 specific changes for GTK port.
15959 * Platform/RunLoop.h: GTK port specific changes.
15960 * Platform/WorkQueue.h: GTK port specific changes.
15961 * Platform/gtk/RunLoopGtk.cpp: Added. Runs an event loop using GMainLoop and handles the incoming messages.
15962 (RunLoop::RunLoop):
15963 (RunLoop::~RunLoop):
15965 (RunLoop::mainLoop):
15967 (RunLoop::queueWork):
15969 (RunLoop::TimerBase::TimerBase):
15970 (RunLoop::TimerBase::~TimerBase):
15971 (RunLoop::TimerBase::resetTimerSource):
15972 (RunLoop::TimerBase::oneShotTimerFired):
15973 (RunLoop::TimerBase::repeatingTimerFired):
15974 (RunLoop::TimerBase::start):
15975 (RunLoop::TimerBase::stop):
15976 (RunLoop::TimerBase::isActive):
15977 * Platform/gtk/WorkQueueGtk.cpp: Added. Creates a thread and polls on a given fd using GIOChannel.
15978 Dispatches the obtained messages to RunLoop's GMainLoop.
15979 (WorkQueue::EventSource::EventSource):
15980 (WorkQueue::EventSource::dispatchSource):
15981 (WorkQueue::EventSource::performWorkOnce):
15982 (WorkQueue::EventSource::performWork):
15983 (WorkQueue::EventSource::deleteEventSource):
15984 (WorkQueue::platformInitialize):
15985 (WorkQueue::platformInvalidate):
15986 (WorkQueue::startWorkQueueThread):
15987 (WorkQueue::workQueueThreadBody):
15988 (WorkQueue::registerEventSourceHandler):
15989 (WorkQueue::unregisterEventSourceHandler):
15990 (WorkQueue::scheduleWork):
15992 2010-12-02 Steve Falkenburg <sfalken@apple.com>
15994 Reviewed by Adam Roben.
15996 Move enableExecutionPrevention to WebKitMain
15997 https://bugs.webkit.org/show_bug.cgi?id=50392
15999 * WebProcess/WebKitMain.cpp:
16000 (enableDataExecutionPrevention):
16002 * WebProcess/win/WebProcessMainWin.cpp:
16003 (WebKit::WebProcessMain):
16005 2010-12-02 Steve Falkenburg <sfalken@apple.com>
16007 Reviewed by Adam Roben.
16009 Enable DEP at runtime to allow for compatibility with older versions of ATL
16010 https://bugs.webkit.org/show_bug.cgi?id=50378
16012 * WebProcess/win/WebProcessMainWin.cpp:
16013 (WebKit::enableDataExecutionPrevention):
16014 (WebKit::WebProcessMain):
16015 * win/WebKit2WebProcessCommon.vsprops:
16017 2010-12-01 Sam Weinig <sam@webkit.org>
16021 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
16022 (WebKit::NetscapePlugin::windowAndViewFramesChanged):
16024 2010-12-01 Anders Carlsson <andersca@apple.com>
16026 Reviewed by Sam Weinig.
16028 Give the fake Carbon window the right bounds
16029 https://bugs.webkit.org/show_bug.cgi?id=50361
16031 * PluginProcess/PluginControllerProxy.cpp:
16032 (WebKit::PluginControllerProxy::windowAndViewFramesChanged):
16033 * PluginProcess/PluginControllerProxy.h:
16034 * PluginProcess/PluginControllerProxy.messages.in:
16035 * UIProcess/API/mac/WKView.mm:
16036 (-[WKView _updateWindowAndViewFrames]):
16037 Pass both the window frame and view frame along.
16039 (-[WKView renewGState]):
16040 Call _updateWindowAndViewFrames.
16042 * UIProcess/WebPageProxy.cpp:
16043 (WebKit::WebPageProxy::windowAndViewFramesChanged):
16044 Pass both the window frame and view frame along.
16046 * UIProcess/WebPageProxy.h:
16047 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
16048 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
16049 (WebKit::NetscapePlugin::platformPostInitialize):
16050 We don't want a title bar in our fake window.
16052 (WebKit::computeFakeWindowBoundsRect):
16053 Compute the fake window bounds.
16055 (WebKit::NetscapePlugin::windowAndViewFramesChanged):
16056 Update the fake window bounds.
16058 * WebProcess/Plugins/Plugin.h:
16059 * WebProcess/Plugins/PluginProxy.cpp:
16060 (WebKit::PluginProxy::windowAndViewFramesChanged):
16061 * WebProcess/Plugins/PluginProxy.h:
16062 * WebProcess/Plugins/PluginView.cpp:
16063 (WebKit::PluginView::windowAndViewFramesChanged):
16064 (WebKit::PluginView::initializePlugin):
16065 * WebProcess/Plugins/PluginView.h:
16066 * WebProcess/WebPage/WebPage.cpp:
16067 (WebKit::WebPage::windowAndViewFramesChanged):
16068 * WebProcess/WebPage/WebPage.h:
16069 (WebKit::WebPage::windowFrameInScreenCoordinates):
16070 (WebKit::WebPage::viewFrameInWindowCoordinates):
16071 * WebProcess/WebPage/WebPage.messages.in:
16072 Pass both the window frame and view frame along.
16074 2010-12-01 Jia Pu <jpu@apple.com>
16076 Reviewed by Darin Adler.
16078 Support multiple correction candidates panel for misspelled word on Mac OS X.
16079 https://bugs.webkit.org/show_bug.cgi?id=50137
16080 <rdar://problem/8568059>
16082 Adopted new function signatures defined in base class.
16084 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
16085 (WebKit::WebEditorClient::getGuessesForWord):
16086 * WebProcess/WebCoreSupport/WebEditorClient.h:
16087 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
16088 (WebKit::WebEditorClient::showCorrectionPanel):
16090 2010-12-01 Simon Fraser <simon.fraser@apple.com>
16092 Reviewed by John Sullivan.
16094 Hit testing broken on sibling views of the WKView
16095 <rdar://problem/8718397>
16097 Make sure that hitView is not null when comparing with the
16100 * UIProcess/API/mac/WKView.mm:
16101 (-[WKView hitTest:]):
16103 2010-12-01 Anders Carlsson <andersca@apple.com>
16105 Reviewed by Sam Weinig.
16107 Implement the remaining PluginController/Plugin member functions
16108 https://bugs.webkit.org/show_bug.cgi?id=50356
16110 * PluginProcess/PluginControllerProxy.cpp:
16111 (WebKit::PluginControllerProxy::cancelStreamLoad):
16112 (WebKit::PluginControllerProxy::cancelManualStreamLoad):
16113 (WebKit::PluginControllerProxy::setStatusbarText):
16114 (WebKit::PluginControllerProxy::pluginProcessCrashed):
16115 (WebKit::PluginControllerProxy::frameDidFinishLoading):
16116 (WebKit::PluginControllerProxy::frameDidFail):
16117 (WebKit::PluginControllerProxy::manualStreamDidReceiveResponse):
16118 (WebKit::PluginControllerProxy::manualStreamDidReceiveData):
16119 (WebKit::PluginControllerProxy::manualStreamDidFinishLoading):
16120 (WebKit::PluginControllerProxy::manualStreamDidFail):
16121 * PluginProcess/PluginControllerProxy.h:
16122 * PluginProcess/PluginControllerProxy.messages.in:
16123 * WebProcess/Plugins/PluginProxy.cpp:
16124 (WebKit::PluginProxy::frameDidFinishLoading):
16125 (WebKit::PluginProxy::frameDidFail):
16126 (WebKit::PluginProxy::manualStreamDidReceiveResponse):
16127 (WebKit::PluginProxy::manualStreamDidReceiveData):
16128 (WebKit::PluginProxy::manualStreamDidFinishLoading):
16129 (WebKit::PluginProxy::manualStreamDidFail):
16130 (WebKit::PluginProxy::windowFrameChanged):
16131 (WebKit::PluginProxy::cancelStreamLoad):
16132 (WebKit::PluginProxy::cancelManualStreamLoad):
16133 (WebKit::PluginProxy::setStatusbarText):
16134 * WebProcess/Plugins/PluginProxy.h:
16135 * WebProcess/Plugins/PluginProxy.messages.in:
16137 2010-12-01 Steve Falkenburg <sfalken@apple.com>
16139 Reviewed by Adam Roben.
16141 WinCairo build should not use link-time code generation (LTCG)
16142 https://bugs.webkit.org/show_bug.cgi?id=50353
16144 * win/WebKit2.vcproj:
16145 * win/WebKit2WebProcess.vcproj:
16147 2010-12-01 Anders Carlsson <andersca@apple.com>
16149 Reviewed by Sam Weinig..
16151 Fix <rdar://problem/8717674>.
16153 * WebProcess/com.apple.WebProcess.sb:
16154 Allow the UI process to issue file-write extensions.
16156 2010-12-01 Sam Weinig <sam@webkit.org>
16158 Another windows build fix.
16160 * UIProcess/API/C/win/WKView.cpp:
16163 2010-12-01 Sam Weinig <sam@webkit.org>
16165 Attempt to fix Windows build.
16167 * UIProcess/API/C/win/WKViewPrivate.cpp:
16168 * UIProcess/API/C/win/WKViewPrivate.h:
16170 2010-12-01 Sam Weinig <sam@webkit.org>
16172 Reviewed by Anders Carlsson.
16174 Add PageGrouping to WebKit2 API
16175 https://bugs.webkit.org/show_bug.cgi?id=50332
16177 - Adds WKPageGroupRef and WKBundlePageGroupRef API objects
16178 (backed by WebPageGroup and WebPageGroupProxy respectively).
16179 - Moves visibleToInjectedBundle from page to PageGroup.
16180 - Make userScript/userStyleSheet functions take a page group parameter.
16182 * Shared/API/c/WKBase.h:
16183 * Shared/APIObject.h:
16184 * Shared/WebPageCreationParameters.cpp:
16185 (WebKit::WebPageCreationParameters::encode):
16186 (WebKit::WebPageCreationParameters::decode):
16187 * Shared/WebPageCreationParameters.h:
16188 * Shared/WebPageGroupData.cpp: Added.
16189 (WebKit::WebPageGroupData::encode):
16190 (WebKit::WebPageGroupData::decode):
16191 * Shared/WebPageGroupData.h: Added.
16192 * UIProcess/API/C/WKAPICast.h:
16193 * UIProcess/API/C/WKPage.cpp:
16194 (WKPageGetPageGroup):
16195 * UIProcess/API/C/WKPage.h:
16196 * UIProcess/API/C/WKPageGroup.cpp: Added.
16197 (WKPageGroupGetTypeID):
16198 (WKPageGroupCreateWithIdentifier):
16199 (WKPageGroupCopyIdentifier):
16200 * UIProcess/API/C/WKPageGroup.h: Added.
16201 * UIProcess/API/C/WebKit2.h:
16202 * UIProcess/API/C/win/WKView.cpp:
16204 * UIProcess/API/C/win/WKView.h:
16205 * UIProcess/API/mac/WKView.h:
16206 * UIProcess/API/mac/WKView.mm:
16207 (-[WKView initWithFrame:pageNamespaceRef:pageGroupRef:]):
16208 (-[WKView initWithFrame:pageNamespaceRef:]):
16209 * UIProcess/API/mac/WKViewInternal.h:
16210 * UIProcess/API/qt/qwkpage.cpp:
16211 (QWKPagePrivate::QWKPagePrivate):
16212 * UIProcess/WebContext.cpp:
16213 (WebKit::WebContext::WebContext):
16214 (WebKit::WebContext::createWebPage):
16215 * UIProcess/WebContext.h:
16216 * UIProcess/WebContextUserMessageCoders.h:
16217 (WebKit::WebContextUserMessageEncoder::encode):
16218 (WebKit::WebContextUserMessageDecoder::decode):
16219 * UIProcess/WebInspectorProxy.cpp:
16220 (WebKit::WebInspectorProxy::inspectorPageGroup):
16221 * UIProcess/WebInspectorProxy.h:
16222 * UIProcess/WebPageGroup.cpp: Added.
16223 (WebKit::generatePageGroupID):
16224 (WebKit::webPageGroupMap):
16225 (WebKit::WebPageGroup::create):
16226 (WebKit::WebPageGroup::get):
16227 (WebKit::WebPageGroup::WebPageGroup):
16228 (WebKit::WebPageGroup::~WebPageGroup):
16229 * UIProcess/WebPageGroup.h: Added.
16230 (WebKit::WebPageGroup::identifier):
16231 (WebKit::WebPageGroup::pageGroupID):
16232 (WebKit::WebPageGroup::data):
16233 (WebKit::WebPageGroup::type):
16234 * UIProcess/WebPageNamespace.cpp:
16235 (WebKit::WebPageNamespace::createWebPage):
16236 * UIProcess/WebPageNamespace.h:
16237 * UIProcess/WebPageProxy.cpp:
16238 (WebKit::WebPageProxy::create):
16239 (WebKit::WebPageProxy::WebPageProxy):
16240 (WebKit::WebPageProxy::creationParameters):
16241 * UIProcess/WebPageProxy.h:
16242 (WebKit::WebPageProxy::pageGroup):
16243 * UIProcess/WebProcessProxy.cpp:
16244 (WebKit::WebProcessProxy::createWebPage):
16245 * UIProcess/WebProcessProxy.h:
16246 * UIProcess/mac/WebInspectorProxyMac.mm:
16247 (WebKit::WebInspectorProxy::platformCreateInspectorPage):
16248 * UIProcess/win/WebView.cpp:
16249 (WebKit::WebView::WebView):
16250 * UIProcess/win/WebView.h:
16251 (WebKit::WebView::create):
16253 * WebKit2.xcodeproj/project.pbxproj:
16254 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
16255 (WKBundleAddUserScript):
16256 (WKBundleAddUserStyleSheet):
16257 (WKBundleRemoveUserScript):
16258 (WKBundleRemoveUserStyleSheet):
16259 (WKBundleRemoveUserScripts):
16260 (WKBundleRemoveUserStyleSheets):
16261 (WKBundleRemoveAllUserContent):
16262 (WKBundleOverrideXSSAuditorEnabledForTestRunner):
16263 * WebProcess/InjectedBundle/API/c/WKBundle.h:
16264 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
16265 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
16266 (WKBundlePageGetPageGroup):
16267 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
16268 * WebProcess/InjectedBundle/API/c/WKBundlePageGroup.cpp: Added.
16269 (WKBundlePageGroupGetTypeID):
16270 (WKBundlePageGroupCopyIdentifier):
16271 * WebProcess/InjectedBundle/API/c/WKBundlePageGroup.h: Added.
16272 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
16273 * WebProcess/InjectedBundle/InjectedBundle.cpp:
16274 (WebKit::InjectedBundle::overrideXSSAuditorEnabledForTestRunner):
16275 (WebKit::InjectedBundle::addUserScript):
16276 (WebKit::InjectedBundle::addUserStyleSheet):
16277 (WebKit::InjectedBundle::removeUserScript):
16278 (WebKit::InjectedBundle::removeUserStyleSheet):
16279 (WebKit::InjectedBundle::removeUserScripts):
16280 (WebKit::InjectedBundle::removeUserStyleSheets):
16281 (WebKit::InjectedBundle::removeAllUserContent):
16282 (WebKit::InjectedBundle::didInitializePageGroup):
16283 * WebProcess/InjectedBundle/InjectedBundle.h:
16284 * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
16285 (WebKit::InjectedBundleClient::didInitializePageGroup):
16286 * WebProcess/InjectedBundle/InjectedBundleClient.h:
16287 * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
16288 (WebKit::InjectedBundleUserMessageEncoder::encode):
16289 (WebKit::InjectedBundleUserMessageDecoder::decode):
16290 * WebProcess/WebPage/WebPage.cpp:
16291 (WebKit::WebPage::create):
16292 (WebKit::WebPage::WebPage):
16293 (WebKit::WebPage::close):
16294 * WebProcess/WebPage/WebPage.h:
16295 (WebKit::WebPage::pageGroup):
16296 * WebProcess/WebPage/WebPageGroupProxy.cpp: Added.
16297 (WebKit::WebPageGroupProxy::create):
16298 (WebKit::WebPageGroupProxy::~WebPageGroupProxy):
16299 * WebProcess/WebPage/WebPageGroupProxy.h: Added.
16300 (WebKit::WebPageGroupProxy::identifier):
16301 (WebKit::WebPageGroupProxy::pageGroupID):
16302 (WebKit::WebPageGroupProxy::isVisibleToInjectedBundle):
16303 (WebKit::WebPageGroupProxy::WebPageGroupProxy):
16304 (WebKit::WebPageGroupProxy::type):
16305 * WebProcess/WebProcess.cpp:
16306 (WebKit::WebProcess::webPageGroup):
16307 * WebProcess/WebProcess.h:
16308 * win/WebKit2.vcproj:
16309 * win/WebKit2Generated.make:
16311 2010-12-01 Steve Falkenburg <sfalken@apple.com>
16313 Reviewed by Adam Roben.
16315 vcproj changes can't be applied cleanly by the Windows EWS bot
16316 https://bugs.webkit.org/show_bug.cgi?id=50328
16318 * win/WebKit2.submit.sln: Added property svn:eol-style.
16319 * win/WebKit2.vcproj: Added property svn:eol-style.
16320 * win/WebKit2Apple.vsprops: Added property svn:eol-style.
16321 * win/WebKit2CFLite.vsprops: Added property svn:eol-style.
16322 * win/WebKit2Common.vsprops: Added property svn:eol-style.
16323 * win/WebKit2DirectX.vsprops: Added property svn:eol-style.
16324 * win/WebKit2Generated.vcproj: Added property svn:eol-style.
16325 * win/WebKit2GeneratedCommon.vsprops: Added property svn:eol-style.
16326 * win/WebKit2WebProcess.vcproj: Added property svn:eol-style.
16327 * win/WebKit2WebProcessCommon.vsprops: Added property svn:eol-style.
16329 2010-12-01 Simon Fraser <simon.fraser@apple.com>
16331 Reviewed by Anders Carlsson.
16333 Size changes on layer-backed drawing areas don't always end up with the correct value
16334 https://bugs.webkit.org/show_bug.cgi?id=50351
16335 <rdar://problem/8692966>
16337 When the UI process does not receive didSetSize messages promptly,
16338 LayerBackedDrawingAreaProxy::setSize() bails early based on the
16339 m_isWaitingForDidSetFrameNotification flag.
16341 In this situation, the final size may be incorrect. didSetSize()
16342 needs to compare the size that the web process has to the expected size,
16343 and send a final setSize if they differ.
16345 * UIProcess/LayerBackedDrawingAreaProxy.cpp:
16346 (WebKit::LayerBackedDrawingAreaProxy::didSetSize):
16347 (WebKit::LayerBackedDrawingAreaProxy::didReceiveMessage):
16348 * UIProcess/LayerBackedDrawingAreaProxy.h:
16349 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
16350 (WebKit::LayerBackedDrawingArea::setSize):
16352 2010-12-01 Simon Fraser <simon.fraser@apple.com>
16354 Reviewed by Anders Carlsson.
16356 Crash when closing WebKit2 window with accelerated composting content
16357 https://bugs.webkit.org/show_bug.cgi?id=50307
16358 <rdar://problem/8640126>
16360 When the web page is closing, notify the drawing area, so that
16361 the layer-backed drawing area can kill the runloop obsever,
16362 then clear it. Clearing it is not sufficient, since the drawing
16363 area is ref-counted.
16365 * WebProcess/WebPage/DrawingArea.h:
16366 (WebKit::DrawingArea::onPageClose):
16367 * WebProcess/WebPage/LayerBackedDrawingArea.h:
16368 * WebProcess/WebPage/WebPage.cpp:
16369 (WebKit::WebPage::close):
16370 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
16371 (WebKit::LayerBackedDrawingArea::platformClear):
16372 (WebKit::LayerBackedDrawingArea::onPageClose):
16374 2010-12-01 Anders Carlsson <andersca@apple.com>
16376 Reviewed by Darin Adler.
16378 Return a correct user agent if NPN_UserAgent is called with a null NPP from NPP_New.
16379 https://bugs.webkit.org/show_bug.cgi?id=50336
16381 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
16382 (WebKit::NPN_UserAgent):
16383 Call the static NetscapePlugin::userAgent function instead.
16385 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
16386 (WebKit::NetscapePlugin::userAgent):
16387 If the passed in NPP is null, get the NetscapePlugin currently executing NPP_New.
16389 (WebKit::NetscapePlugin::initialize):
16390 Keep track of the plug-in currently executing NPP_New.
16392 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
16394 2010-12-01 Brian Weinstein <bweinstein@apple.com>
16396 One last Windows build fix.
16398 * UIProcess/win/WebView.cpp:
16399 (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
16401 2010-12-01 Anders Carlsson <andersca@apple.com>
16405 * UIProcess/win/WebView.cpp:
16406 (WebKit::WebView::pageDidEnterAcceleratedCompositing):
16407 (WebKit::WebView::pageDidLeaveAcceleratedCompositing):
16408 (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
16410 2010-12-01 Anders Carlsson <andersca@apple.com>
16414 * UIProcess/win/WebView.h:
16416 2010-12-01 Anders Carlsson <andersca@apple.com>
16418 Reviewed by Andreas Kling.
16420 Get rid of DrawingAreaBase
16421 https://bugs.webkit.org/show_bug.cgi?id=50329
16423 * Scripts/webkit2/messages.py:
16424 * Shared/DrawingAreaInfo.h:
16425 (WebKit::DrawingAreaInfo::DrawingAreaInfo):
16426 * Shared/WebPageCreationParameters.h:
16427 * UIProcess/API/mac/WKView.mm:
16428 (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::]):
16429 (-[WKView _pageDidEnterAcceleratedCompositing]):
16430 (-[WKView _pageDidLeaveAcceleratedCompositing]):
16431 * UIProcess/API/qt/qgraphicswkview.cpp:
16432 (QGraphicsWKView::takeSnapshot):
16433 (QGraphicsWKViewPrivate::commitScale):
16434 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
16435 (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
16436 (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
16437 (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
16438 (WebKit::ChunkedUpdateDrawingAreaProxy::update):
16439 * UIProcess/DrawingAreaProxy.cpp:
16440 (WebKit::DrawingAreaProxy::DrawingAreaProxy):
16441 (WebKit::DrawingAreaProxy::nextIdentifier):
16442 * UIProcess/DrawingAreaProxy.h:
16443 (WebKit::DrawingAreaProxy::info):
16444 * UIProcess/LayerBackedDrawingAreaProxy.cpp:
16445 (WebKit::LayerBackedDrawingAreaProxy::LayerBackedDrawingAreaProxy):
16446 (WebKit::LayerBackedDrawingAreaProxy::setSize):
16447 (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible):
16448 (WebKit::LayerBackedDrawingAreaProxy::update):
16449 * UIProcess/TiledDrawingAreaProxy.cpp:
16450 (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
16451 * UIProcess/WebPageProxy.cpp:
16452 (WebKit::WebPageProxy::didChangeAcceleratedCompositing):
16453 * UIProcess/WebPageProxy.h:
16454 * UIProcess/WebPageProxy.messages.in:
16455 * UIProcess/win/WebView.cpp:
16456 (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
16457 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
16458 (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
16459 (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
16460 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
16461 * WebProcess/WebPage/DrawingArea.cpp:
16462 (WebKit::DrawingArea::create):
16463 (WebKit::DrawingArea::DrawingArea):
16464 * WebProcess/WebPage/DrawingArea.h:
16465 (WebKit::DrawingArea::info):
16466 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
16467 (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
16468 (WebKit::LayerBackedDrawingArea::didReceiveMessage):
16469 * WebProcess/WebPage/LayerBackedDrawingArea.h:
16470 * WebProcess/WebPage/TiledDrawingArea.cpp:
16471 (WebKit::TiledDrawingArea::TiledDrawingArea):
16472 * WebProcess/WebPage/TiledDrawingArea.h:
16473 * WebProcess/WebPage/WebPage.cpp:
16474 (WebKit::WebPage::WebPage):
16475 (WebKit::WebPage::changeAcceleratedCompositingMode):
16477 2010-11-30 Ryosuke Niwa <rniwa@webkit.org>
16479 Unreviewed speculative build fix for Windows.
16481 * UIProcess/win/WebView.cpp:
16482 (WebKit::WebView::pageDidEnterAcceleratedCompositing):
16483 (WebKit::WebView::pageDidLeaveAcceleratedCompositing):
16484 (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
16485 * UIProcess/win/WebView.h:
16487 2010-11-30 Anders Carlsson <andersca@apple.com>
16491 * UIProcess/API/qt/qgraphicswkview.cpp:
16492 (QGraphicsWKView::takeSnapshot):
16493 (QGraphicsWKViewPrivate::commitScale):
16495 2010-11-30 Anders Carlsson <andersca@apple.com>
16497 Reviewed by Sam Weinig.
16499 Change DrawingArea and DrawingAreaProxy to not inherit from DrawingAreaBase
16500 https://bugs.webkit.org/show_bug.cgi?id=50300
16502 * UIProcess/API/mac/WKView.mm:
16503 (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaBase::]):
16504 (-[WKView _pageDidEnterAcceleratedCompositing]):
16505 (-[WKView _pageDidLeaveAcceleratedCompositing]):
16506 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
16507 (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
16508 * UIProcess/DrawingAreaProxy.cpp:
16509 (WebKit::DrawingAreaProxy::DrawingAreaProxy):
16510 (WebKit::DrawingAreaProxy::nextDrawingAreaID):
16511 * UIProcess/DrawingAreaProxy.h:
16512 (WebKit::DrawingAreaProxy::info):
16513 * UIProcess/LayerBackedDrawingAreaProxy.cpp:
16514 (WebKit::LayerBackedDrawingAreaProxy::LayerBackedDrawingAreaProxy):
16515 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
16516 (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
16517 (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
16518 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
16519 * WebProcess/WebPage/DrawingArea.cpp:
16520 (WebKit::DrawingArea::create):
16521 (WebKit::DrawingArea::DrawingArea):
16522 * WebProcess/WebPage/DrawingArea.h:
16523 (WebKit::DrawingArea::info):
16524 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
16525 (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
16526 (WebKit::LayerBackedDrawingArea::didReceiveMessage):
16527 * WebProcess/WebPage/LayerBackedDrawingArea.h:
16528 * WebProcess/WebPage/TiledDrawingArea.cpp:
16529 (WebKit::TiledDrawingArea::TiledDrawingArea):
16530 * WebProcess/WebPage/TiledDrawingArea.h:
16531 * WebProcess/WebPage/WebPage.cpp:
16532 (WebKit::WebPage::changeAcceleratedCompositingMode):
16534 2010-11-30 Simon Fraser <simon.fraser@apple.com>
16536 Reviewed by Sam Weinig.
16538 Context menus broken after WebKit2 goes into accelerated composting mode.
16539 https://bugs.webkit.org/show_bug.cgi?id=50296
16541 Override hitTest: on the WKView to exclude the child layer-backed view from
16542 hit testing, so that context menus work.
16544 * UIProcess/API/mac/WKView.mm:
16545 (-[WKView hitTest:]):
16547 2010-11-30 Mark Rowe <mrowe@apple.com>
16549 Reviewed by Sam Weinig.
16553 * Configurations/BaseTarget.xcconfig: Don't run Copy Files and Run Script build phases
16554 during installhdrs. It's not necessary, and it results in Xcode attempting to copy the
16555 plug-in shim dylib when it has not yet been built.
16556 * WebKit2.xcodeproj/project.pbxproj: Stop copying the .xcconfig file in to the application
16559 2010-11-30 Anders Carlsson <andersca@apple.com>
16563 * Scripts/webkit2/messages.py:
16565 2010-11-30 Anders Carlsson <andersca@apple.com>
16567 Reviewed by Sam Weinig.
16569 Rename DrawingAreaBase.h to DrawingAreaInfo.h.
16571 * Shared/DrawingAreaInfo.h: Renamed from WebKit2/Shared/DrawingAreaBase.h.
16572 (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo):
16573 (WebKit::DrawingAreaBase::~DrawingAreaBase):
16574 (WebKit::DrawingAreaBase::info):
16575 (WebKit::DrawingAreaBase::DrawingAreaBase):
16576 * Shared/WebPageCreationParameters.h:
16577 * UIProcess/DrawingAreaProxy.h:
16578 * WebKit2.xcodeproj/project.pbxproj:
16579 * WebProcess/WebPage/DrawingArea.h:
16580 * win/WebKit2.vcproj:
16582 2010-11-30 Anders Carlsson <andersca@apple.com>
16586 * PluginProcess/mac/PluginProcessShim.cpp:
16588 2010-11-30 Anders Carlsson <andersca@apple.com>
16590 Reviewed by Dan Bernstein.
16592 Add a simple shim function for Debugger().
16593 https://bugs.webkit.org/show_bug.cgi?id=50268
16595 * PluginProcess/PluginProcess.h:
16596 * PluginProcess/mac/PluginProcessMac.mm:
16597 (WebKit::initShouldCallRealDebugger):
16598 We only want to call the real Debugger() function when USERBREAK is set.
16600 (WebKit::shouldCallRealDebugger):
16601 Return whether USERBREAK is set.
16603 (WebKit::PluginProcess::initializeShim):
16604 Initialize the shim.
16606 * PluginProcess/mac/PluginProcessMainMac.mm:
16607 (WebKit::PluginProcessMain):
16608 Call PluginProcess::initializeShim.
16610 * PluginProcess/mac/PluginProcessShim.cpp:
16611 (WebKit::WebKitPluginProcessShimInitialize):
16612 This now takes a struct of callbacks.
16614 (WebKit::shimDebugger):
16615 Call the shouldCallDebugger function. If it returns true, the real Debugger() function should be called.
16617 * PluginProcess/mac/PluginProcessShim.h:
16618 * WebKit2.xcodeproj/project.pbxproj:
16620 2010-11-30 Anders Carlsson <andersca@apple.com>
16622 Reviewed by Sam Weinig.
16624 Pass the plug-in process shim in DYLD_INSERT_LIBRARIES when launching the plug-in process
16625 https://bugs.webkit.org/show_bug.cgi?id=50262
16627 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
16628 Add an EnvironmentVariables class that allows for easy modification of the environment variables
16629 passed to posix_spawn.
16631 (WebKit::ProcessLauncher::launchProcess):
16632 When spawning the plug-in process, insert the plug-in process shim.
16634 2010-11-30 Anders Carlsson <andersca@apple.com>
16636 Reviewed by Sam Weinig.
16638 Add plug-in process shim
16639 https://bugs.webkit.org/show_bug.cgi?id=50261
16641 * Configurations/PluginProcessShim.xcconfig: Added.
16642 * PluginProcess/mac/PluginProcessShim.cpp: Added.
16643 (PluginProcessShimInitialize):
16644 * PluginProcess/mac/PluginProcessShim.h: Added.
16645 * WebKit2.xcodeproj/project.pbxproj:
16647 2010-11-30 Brian Weinstein <bweinstein@apple.com>
16649 Fix the Windows build by copying WKFindOptions.h into WebKitOutputDir with the other headers.
16651 * win/WebKit2Generated.make:
16653 2010-11-30 Dan Bernstein <mitz@apple.com>
16655 Try to fix the Windows build.
16657 * win/WebKit2.vcproj:
16659 2010-11-30 Dan Bernstein <mitz@apple.com>
16661 Reviewed by Anders Carlsson.
16663 Injected bundle support for <rdar://problem/8710645> WebKitTestRunner needs layoutTestController.findString
16664 https://bugs.webkit.org/show_bug.cgi?id=50238
16666 * Shared/API/c/WKFindOptions.h: Added. Moved the definition of WKFindOptions here from WKPage.h.
16667 * Shared/API/c/WKSharedAPICast.h:
16668 (WebKit::toFindOptions): Moved from WKAPICast.h.
16669 * UIProcess/API/C/WKAPICast.h:
16670 * UIProcess/API/C/WKPage.h:
16671 * WebKit2.xcodeproj/project.pbxproj: Added WKFindOptions.h.
16672 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
16673 (WKBundlePageFindString): Added.
16674 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
16675 * WebProcess/WebPage/WebPage.cpp:
16676 (WebKit::WebPage::findStringFromInjectedBundle): Added.
16677 * WebProcess/WebPage/WebPage.h:
16679 2010-11-30 Andreas Kling <kling@webkit.org>
16681 Reviewed by Dirk Schulze.
16683 GraphicsContext: Remove "current path" and have strokePath, fillPath and clipPath take a Path argument
16684 https://bugs.webkit.org/show_bug.cgi?id=48516
16686 * UIProcess/FindIndicator.cpp:
16687 (WebKit::FindIndicator::draw):
16689 2010-11-30 Steve Falkenburg <sfalken@apple.com>
16691 Reviewed by Adam Roben.
16693 All projects on Windows should use cmd files for build events
16694 https://bugs.webkit.org/show_bug.cgi?id=50213
16696 * win/WebKit2Common.vsprops:
16697 * win/WebKit2WebProcessCommon.vsprops:
16698 * win/WebKit2WebProcessPostBuild.cmd: Added.
16699 * win/WebKit2WebProcessPreBuild.cmd: Added.
16700 * win/WebKitPostBuild.cmd: Added.
16701 * win/WebKitPreBuild.cmd: Added.
16702 * win/WebKitPreLink.cmd: Added.
16704 2010-11-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
16706 Reviewed by Andreas Kling.
16708 [Qt] Early return if setResizesToContentsUsingLayoutSize() is called with already-set size
16710 * WebProcess/WebPage/WebPage.cpp:
16711 (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
16713 2010-11-29 Dan Bernstein <mitz@apple.com>
16715 Reviewed by Darin Adler.
16717 WebKit2 part of <rdar://problem/8650085> adding word-prefix search options to the text search API.
16718 https://bugs.webkit.org/show_bug.cgi?id=50038
16719 Based on a patch from Darin Adler.
16721 * Shared/WebFindOptions.h: Renamed FindOptions.h to this to account for WebCore’s new private
16722 FindOptions.h. Added and reordered FindOptions and rolled FindDirection into FindOptions.
16723 * UIProcess/API/C/WKAPICast.h: Removed toFindDirection().
16724 (WebKit::toFindOptions): Updated for new values.
16725 * UIProcess/API/C/WKPage.cpp:
16726 (WKPageFindString): Removed separate WKFindDirection.
16727 (WKPageCountStringMatches): Replaces caseInsensitive boolean with WKFindOptions.
16728 * UIProcess/API/C/WKPage.h: Removed WKFindDirection and updated WKFindOptions.
16729 * UIProcess/WebPageProxy.cpp:
16730 (WebKit::WebPageProxy::findString): Removed separate FindDirection.
16731 (WebKit::WebPageProxy::countStringMatches): Replaced caseInsensitive boolean with FindOptions.
16732 * UIProcess/WebPageProxy.h:
16733 * WebKit2.xcodeproj/project.pbxproj: Updated for the header rename.
16734 * WebProcess/WebPage/FindController.cpp:
16735 (WebKit::core): Added. Converts WebKit2 FindOptions to WebCore FindOptions.
16736 (WebKit::FindController::countStringMatches): Changed to use FindOptions.
16737 (WebKit::FindController::findString): Ditto.
16738 * WebProcess/WebPage/FindController.h:
16739 * WebProcess/WebPage/WebPage.cpp:
16740 (WebKit::WebPage::findString): Ditto.
16741 (WebKit::WebPage::countStringMatches): Ditto.
16742 * WebProcess/WebPage/WebPage.h:
16743 * WebProcess/WebPage/WebPage.messages.in: Ditto.
16745 2010-11-29 Brent Fulgham <bfulgham@webkit.org>
16747 Unreviewed build fix.
16749 * win/WebKit2.vcproj: Add missing vsprops association for
16750 Debug_Cairo_CFLite target.
16752 2010-11-29 Anders Carlsson <andersca@apple.com>
16754 Reviewed by Sam Weinig.
16756 Cursor does not always change back to arrow when exiting image document
16757 https://bugs.webkit.org/show_bug.cgi?id=50190
16758 <rdar://problem/8665265>
16760 * Shared/mac/WebEventFactory.mm:
16761 (WebKit::mouseEventTypeForEvent):
16762 (WebKit::globalPointForEvent):
16763 (WebKit::pointForEvent):
16764 Handle the NSMouseEntered and NSMouseExited events.
16766 * UIProcess/API/mac/WKView.mm:
16767 (-[WKView initWithFrame:pageNamespaceRef:hiddenFromInjectedBundle:]):
16768 We want entered and exited events for this tracking area.
16769 Add mouseEntered and mouseExited handlers.
16771 2010-11-29 Anders Carlsson <andersca@apple.com>
16773 Reviewed by Darin Adler.
16775 Should be able to pause and resume downloads
16776 https://bugs.webkit.org/show_bug.cgi?id=50185
16777 <rdar://problem/8691135>
16779 * UIProcess/API/C/WKContext.h:
16780 Add didCancel callback.
16782 * UIProcess/API/C/WKDownload.cpp:
16783 (WKDownloadGetResumeData):
16784 (WKDownloadCancel):
16785 Call the respective DownloadProxy member functions.
16787 * UIProcess/API/C/WKDownload.h:
16788 * UIProcess/Downloads/DownloadProxy.cpp:
16789 (WebKit::DownloadProxy::cancel):
16790 Send Cancel to the WebProcess.
16792 (WebKit::DownloadProxy::didFail):
16793 This now takes a resumeData reference.
16795 (WebKit::DownloadProxy::didCancel):
16796 Set the resume data and call didCancel.
16798 * UIProcess/Downloads/DownloadProxy.h:
16799 (WebKit::DownloadProxy::resumeData):
16800 Return the resume data.
16802 * UIProcess/Downloads/DownloadProxy.messages.in:
16803 Add DidCancel message, Add resume data to DidFail.
16805 * UIProcess/WebDownloadClient.cpp:
16806 (WebKit::WebDownloadClient::didCancel):
16807 Call the didCancel context client function.
16809 * WebProcess/Downloads/Download.cpp:
16810 (WebKit::Download::didFail):
16811 This now takes a resume data argument as well.
16813 (WebKit::Download::didCancel):
16816 * WebProcess/Downloads/DownloadManager.cpp:
16817 (WebKit::DownloadManager::cancelDownload):
16818 Look up the download and cancel it.
16820 * WebProcess/Downloads/cf/DownloadCFNet.cpp:
16821 (WebKit::Download::cancel):
16824 * WebProcess/Downloads/mac/DownloadMac.mm:
16825 (WebKit::Download::cancel):
16826 Cancel the download.
16828 (-[WKDownloadAsDelegate download:didFailWithError:]):
16829 Pass the resume data along.
16831 * WebProcess/Downloads/qt/DownloadQt.cpp:
16832 (WebKit::Download::cancel):
16835 * WebProcess/WebProcess.cpp:
16836 (WebKit::WebProcess::cancelDownload):
16837 Ask the download manager to cancel the download.
16839 * WebProcess/WebProcess.h:
16840 * WebProcess/WebProcess.messages.in:
16841 Add CancelDownload message.
16843 2010-11-29 Balazs Kelemen <kbalazs@webkit.org>
16845 Reviewed by Adam Roben.
16847 [WK2] Support repeating timers
16848 https://bugs.webkit.org/show_bug.cgi?id=50024
16850 Added boolean member for TimerBase on PLATFORM(WIN)
16851 and PLATFORM(QT) to be able to differentiate between
16852 repeating and one shot operating mode. Change the confusing
16853 signature of TimerBase::start: use a bool for selecting
16855 * Platform/RunLoop.h:
16856 (RunLoop::TimerBase::startRepeating):
16857 (RunLoop::TimerBase::startOneShot):
16858 * Platform/mac/RunLoopMac.mm:
16859 (RunLoop::TimerBase::start):
16860 * Platform/qt/RunLoopQt.cpp:
16861 (RunLoop::TimerBase::timerFired): Only stop the timer if it
16862 is not in repeating mode.
16863 (RunLoop::TimerBase::TimerBase):
16864 (RunLoop::TimerBase::start):
16865 * Platform/win/RunLoopWin.cpp:
16866 (RunLoop::TimerBase::timerFired): Only stop the timer if it
16867 is not in repeating mode.
16868 (RunLoop::TimerBase::TimerBase):
16869 (RunLoop::TimerBase::start):
16871 2010-11-29 Anders Carlsson <andersca@apple.com>
16873 Reviewed by Sam Weinig.
16875 Downloads: When the web process crashes, call error callbacks for pending downloads
16876 https://bugs.webkit.org/show_bug.cgi?id=50164
16877 <rdar://problem/8691170>
16879 * UIProcess/API/C/WKContext.h:
16880 Add processDidCrash callback.
16882 * UIProcess/Downloads/DownloadProxy.cpp:
16883 (WebKit::DownloadProxy::~DownloadProxy):
16884 Assert that the web context is null.
16886 (WebKit::DownloadProxy::processDidClose):
16887 Call the processDidCrash callback.
16889 (WebKit::DownloadProxy::didFinish):
16890 (WebKit::DownloadProxy::didFail):
16891 Call downloadFinished.
16893 * UIProcess/WebContext.cpp:
16894 (WebKit::WebContext::processDidClose):
16895 Call processDidClose on all pending downloads.
16897 (WebKit::WebContext::downloadFinished):
16898 Remove the download proxy from the map.
16900 * UIProcess/WebDownloadClient.cpp:
16901 (WebKit::WebDownloadClient::processDidCrash):
16902 Call the processDidCrash callback function.
16904 2010-11-29 Laszlo Gombos <laszlo.1.gombos@nokia.com>
16906 Reviewed by Kenneth Rohde Christiansen.
16908 [Qt] Allow pre-generation for package builds for WebKit2
16909 https://bugs.webkit.org/show_bug.cgi?id=50139
16911 Use a build variable for the generated directory path and set the
16912 value based on CONFIG just like for WebKit1.
16914 For non-package builds use a relative base path for the
16915 genrated directory just like for WebKit1.
16917 * DerivedSources.pro:
16920 2010-11-28 Laszlo Gombos <laszlo.1.gombos@nokia.com>
16922 Reviewed by Kenneth Rohde Christiansen.
16924 [Qt] Move some build logic from Qt to platform independent code
16925 https://bugs.webkit.org/show_bug.cgi?id=50134
16927 Remove the creation of the directories under $$OUTPUT_DIR/include
16928 as these will be handled by the fwheader_generator target.
16930 Remove the explicit generation of $$OUTPUT_DIR/WebKit2/generated as
16931 this is not required.
16933 * DerivedSources.pro:
16935 2010-11-24 Brady Eidson <beidson@apple.com>
16937 Reviewed implicitly by John Sullivan.
16939 https://bugs.webkit.org/show_bug.cgi?id=50042
16941 * UIProcess/mac/WebContextMenuProxyMac.mm:
16942 (-[WebUserDataWrapper initWithUserData:WebKit::]): Do the proper self = [super init] dance here.
16944 2010-11-24 Brady Eidson <beidson@apple.com>
16946 Reviewed by Dan Bernstein.
16948 More of <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=50042
16949 WK2 Context Menu Items need a user data object and a client callback for selection.
16951 * Shared/API/c/WKContextMenuItem.cpp:
16952 (WKContextMenuItemGetUserData):
16953 (WKContextMenuItemSetUserData):
16954 * Shared/API/c/WKContextMenuItem.h:
16956 * Shared/WebContextMenuItem.cpp:
16957 (WebKit::WebContextMenuItem::userData):
16958 (WebKit::WebContextMenuItem::setUserData):
16959 * Shared/WebContextMenuItem.h:
16961 * Shared/WebContextMenuItemData.cpp:
16962 (WebKit::WebContextMenuItemData::userData):
16963 (WebKit::WebContextMenuItemData::setUserData):
16964 * Shared/WebContextMenuItemData.h:
16966 * UIProcess/API/C/WKPage.h:
16968 * UIProcess/WebPageContextMenuClient.cpp:
16969 (WebKit::WebPageContextMenuClient::customContextMenuItemSelected): Added for WK2 apps to get a callback.
16970 * UIProcess/WebPageContextMenuClient.h:
16972 * UIProcess/WebPageProxy.cpp:
16973 (WebKit::WebPageProxy::contextMenuItemSelected):
16974 * UIProcess/mac/WebContextMenuProxyMac.mm:
16975 (-[WebUserDataWrapper initWithUserData:WebKit::]): Add an "APIObject" user data wrapper class to associate with the NSMenuItem.
16976 (-[WebUserDataWrapper WebKit::]):
16977 (-[WebMenuTarget forwardContextMenuAction:]): Include the user data object in the created ContextMenuItemData.
16978 (WebKit::nsMenuItemVector):
16980 2010-11-24 Andras Becsi <abecsi@inf.u-szeged.hu>
16982 Reviewed by Kenneth Rohde Christiansen.
16984 Make WebKit2 compile with !ENABLE(INSPECTOR).
16985 https://bugs.webkit.org/show_bug.cgi?id=49973
16987 * Shared/API/c/WKSharedAPICast.h:
16990 * UIProcess/API/C/WKAPICast.h:
16991 * UIProcess/API/C/WKInspector.cpp:
16992 * UIProcess/API/C/WKInspector.h:
16993 * UIProcess/API/C/WKPage.cpp:
16994 * UIProcess/API/C/WKPage.h:
16995 * UIProcess/WebInspectorProxy.cpp:
16996 * UIProcess/WebInspectorProxy.h:
16997 * UIProcess/WebInspectorProxy.messages.in:
16998 * UIProcess/WebPageProxy.cpp:
16999 (WebKit::WebPageProxy::close):
17000 (WebKit::WebPageProxy::didReceiveMessage):
17001 (WebKit::WebPageProxy::didReceiveSyncMessage):
17002 (WebKit::WebPageProxy::processDidCrash):
17003 * UIProcess/WebPageProxy.h:
17004 * UIProcess/mac/WebInspectorProxyMac.mm:
17005 * UIProcess/qt/WebInspectorProxyQt.cpp:
17006 * UIProcess/win/WebInspectorProxyWin.cpp:
17007 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
17008 * WebProcess/WebCoreSupport/WebInspectorClient.h:
17009 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
17010 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
17011 * WebProcess/WebPage/WebInspector.cpp:
17012 * WebProcess/WebPage/WebInspector.h:
17013 * WebProcess/WebPage/WebInspector.messages.in:
17014 * WebProcess/WebPage/WebPage.cpp:
17015 (WebKit::WebPage::WebPage):
17016 (WebKit::WebPage::close):
17017 (WebKit::WebPage::windowIsFocused):
17018 (WebKit::WebPage::didReceiveMessage):
17019 * WebProcess/WebPage/WebPage.h:
17020 * WebProcess/WebPage/qt/WebInspectorQt.cpp:
17021 * WebProcess/WebPage/win/WebInspectorWin.cpp:
17023 2010-11-24 Andreas Kling <kling@webkit.org>
17025 Reviewed by Kenneth Rohde Christiansen.
17027 [Qt][WK2] Make deep copies of tile images
17029 We need the tile images we get from UpdateChunk::createImage() to persist,
17030 so we should take a copy() of them.
17032 * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
17033 (WebKit::TiledDrawingAreaTile::updateFromChunk):
17035 2010-11-24 Andreas Kling <kling@webkit.org>
17037 Reviewed by Kenneth Rohde Christiansen.
17039 [Qt] Fix uninitialized variable in QGraphicsWKViewPrivate
17041 Always initialize QGWKVP::m_isChangingScale in the constructor.
17043 * UIProcess/API/qt/qgraphicswkview.cpp:
17044 (QGraphicsWKViewPrivate::QGraphicsWKViewPrivate):
17046 2010-11-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
17048 Reviewed by Andreas Kling.
17050 Adapt to setShouldDelegateScrolling not being a real setting anymore.
17051 We now similarily to setUseFixedLayout and setPaintEntireContents
17052 set it on the FrameView wen transitioning to a new page, etc.
17054 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
17055 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
17056 * WebProcess/WebPage/WebPage.cpp:
17057 (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
17059 2010-11-22 Adam Roben <aroben@apple.com>
17061 Use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops files
17063 Apple's Windows build allows placing header files and import libraries for WebKit's
17064 dependencies (CoreGraphics, CFNetwork, SQLite, etc.) outside the source tree via the
17065 $WebKitLibrariesDir environment variable. This is both required for production builds and
17066 convenient for Apple-internal developer builds. Apple's production builds also require that
17067 WebKit's shared .vsprops files be accessed relative to $WebKitLibrariesDir. In production
17068 builds, the files are copied into that directory tree by the
17069 WebKitLibraries/win/tools/WinTools.make file. In Apple-internal developer builds, the
17071 JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make.
17073 This .vsprops copying is problematic in one very important case: when a developer updates
17074 their source tree and then tries to build. Visual Studio only reads .vsprops files when a
17075 project is first loaded. So, when Visual Studio is first opened after the .vsprops files are
17076 updated, it reads in the old files that were already residing in $WebKitLibrariesDir. When a
17077 build is started, JavaScriptCoreGenerated.make copies the new .vsprops files into
17078 $WebKitLibrariesDir, but Visual Studio will not pick up the changes. The rest of the build
17079 will proceed with out-of-date .vsprops files, which will likely result in a build failure.
17081 To fix this, we now use normal relative paths to access the .vsprops files in the source
17082 tree rather than in $WebKitLibrariesDir, but prefix those paths with a new environment
17083 variable, $WebKitVSPropsRedirectionDir. In developer builds, this environment variable is
17084 unset, so the normal relative paths are used to read the .vsprops files out of the source
17085 tree directly. In production builds, this environment variable is set to a fake directory
17086 that will cause the .vsprops files in $WebKitLibrariesDir to be found when the relative path
17089 For example, JavaScriptCore.vcproj uses this path for FeatureDefines.vsprops:
17091 $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
17093 In developer builds, where $WebKitVSPropsRedirectionDir is unset, this will point to the
17094 files in WebKitLibraries\win\tools\vsprops in the source tree. In production builds,
17095 JavaScriptCore.make sets $WebKitVSPropsRedirectionDir to
17096 "$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\", so the full path for
17097 FeatureDefines.vsprops becomes:
17099 $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
17103 $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
17105 (We rely on the fact that Windows doesn't care whether the directories "1", "2", and "3"
17106 actually exist since they are matched by an equal number of ".." path components.)
17108 Note that Visual Studio still won't pick up changes made to .vsprops files while Visual
17109 Studio is open, but that problem hasn't seemed to cause developers many headaches so far.
17111 Fixes <http://webkit.org/b/49181> Windows build fails mysteriously when .vsprops files are
17114 Reviewed by Dave Hyatt.
17116 * win/WebKit2.make: Set $WebKitVSPropsRedirectionDir so that production builds can
17117 find the .vsprops files.
17119 * win/WebKit2.vcproj:
17120 * win/WebKit2WebProcess.vcproj:
17121 Changed to use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops
17124 2010-11-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
17126 Reviewed by Andreas Kling.
17128 Make WebKit2 compile with ENABLE_JAVASCRIPT_DEBUGGER=0
17130 * WebProcess/WebPage/WebInspector.cpp: Add missing ENABLE(JAVASCRIPT_DEBUGGER) guards.
17131 (WebKit::WebInspector::startJavaScriptDebugging):
17132 (WebKit::WebInspector::stopJavaScriptDebugging):
17133 (WebKit::WebInspector::startJavaScriptProfiling):
17134 (WebKit::WebInspector::stopJavaScriptProfiling):
17136 2010-11-21 Sam Weinig <sam@webkit.org>
17138 Reviewed by Dan Bernstein.
17140 Textareas should be resizable by default
17141 https://bugs.webkit.org/show_bug.cgi?id=49892
17143 Test: WebKit2/WKPreferences
17145 * Shared/WebPreferencesStore.cpp:
17146 (WebKit::WebPreferencesStore::WebPreferencesStore):
17147 (WebKit::WebPreferencesStore::encode):
17148 (WebKit::WebPreferencesStore::decode):
17149 * Shared/WebPreferencesStore.h:
17150 Add textAreasAreResizable bit.
17152 * UIProcess/API/C/WKPreferences.cpp:
17153 (WKPreferencesSetJavaEnabled):
17154 (WKPreferencesGetJavaEnabled):
17155 Fix typo, WKPRe... -> WKPre...
17157 (WKPreferencesSetMinimumFontSize):
17158 (WKPreferencesGetMinimumFontSize):
17159 Fix comment to correctly reflect that the default minimumFontSize is 0, not 1.
17161 (WKPreferencesSetTextAreasAreResizable):
17162 (WKPreferencesGetTextAreasAreResizable):
17163 * UIProcess/API/C/WKPreferences.h:
17166 * UIProcess/API/C/WKPreferencesPrivate.h:
17167 Don't use PLATFORM in API headers.
17169 * UIProcess/WebPreferences.cpp:
17170 (WebKit::WebPreferences::setTextAreasAreResizable):
17171 (WebKit::WebPreferences::textAreasAreResizable):
17172 * UIProcess/WebPreferences.h:
17173 * WebProcess/WebPage/WebPage.cpp:
17174 (WebKit::WebPage::updatePreferences):
17175 Pipe bit through to the WebProcess and onto WebCore::Settings.
17177 2010-11-19 Zalan Bujtas <zbujtas@gmail.com>
17179 Reviewed by Andreas Kling.
17181 WebUIClient::createNewPage() expects a retained WKPageRef.
17182 https://bugs.webkit.org/show_bug.cgi?id=48549
17184 * UIProcess/API/qt/ClientImpl.cpp:
17185 (qt_wk_createNewPage):
17187 2010-11-19 Anders Carlsson <andersca@apple.com>
17189 Reviewed by Sam Weinig.
17191 Add a didFail WKContextDownloadClient callback
17192 https://bugs.webkit.org/show_bug.cgi?id=49847
17194 * UIProcess/API/C/WKContext.h:
17195 Add didFail callback.
17197 * UIProcess/Downloads/DownloadProxy.cpp:
17198 (WebKit::DownloadProxy::didFail):
17199 Call WebDownloadClient::didFail.
17201 * UIProcess/WebDownloadClient.cpp:
17202 (WebKit::WebDownloadClient::didFail):
17203 Call the didFail client function.
17206 2010-11-19 Anders Carlsson <andersca@apple.com>
17208 Reviewed by Sam Weinig.
17210 Extend sandbox when downloading files
17211 https://bugs.webkit.org/show_bug.cgi?id=49844
17213 * Platform/CoreIPC/HandleMessage.h:
17214 (CoreIPC::callMemberFunction):
17217 * UIProcess/Downloads/DownloadProxy.cpp:
17218 (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
17219 Create a sandbox extension handle if necessary.
17221 * UIProcess/Downloads/DownloadProxy.messages.in:
17222 Add a sandbox extension handle out parameter to the DecideDestinationWithSuggestedFilename message.
17224 * WebProcess/Downloads/Download.cpp:
17225 (WebKit::Download::decideDestinationWithSuggestedFilename):
17226 Create and consume the returned sandbox extension handle.
17228 (WebKit::Download::didFinish):
17229 (WebKit::Download::didFail):
17230 Invalidate the sandbox extension handles.
17232 * WebProcess/Downloads/mac/DownloadMac.mm:
17233 (-[WKDownloadAsDelegate download:shouldDecodeSourceDataOfMIMEType:]):
17234 Whoops, fix inverted logic.
17236 2010-11-19 Steve Falkenburg <sfalken@apple.com>
17238 Reviewed by Adam Roben.
17240 Add Debug_Cairo_CFLite and Release_Cairo_CFLite configurations for all vcproj files
17241 https://bugs.webkit.org/show_bug.cgi?id=49819
17243 * win/WebKit2.vcproj:
17244 * win/WebKit2Generated.vcproj:
17245 * win/WebKit2WebProcess.vcproj:
17246 * win/WebKit2WebProcessCommon.vsprops:
17248 2010-11-19 Brady Eidson <beidson@apple.com>
17250 Reviewed by Darin Adler.
17252 More of <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=49836
17253 Add WebKit2 API relevant to customization of context menus
17255 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
17256 (WKBundleFrameAllowsFollowingLink):
17257 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
17259 * WebProcess/WebPage/WebFrame.cpp:
17260 (WebKit::WebFrame::allowsFollowingLink):
17261 * WebProcess/WebPage/WebFrame.h:
17263 2010-11-19 Brady Eidson <beidson@apple.com>
17265 Reviewed by Darin Adler.
17267 <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=49836
17268 Add WebKit2 API relevant to customization of context menus
17270 Most of this is just exposing already-existing concepts in API.
17272 * Shared/API/c/WKURLRequest.cpp:
17273 (WKURLRequestCreateWithWKURL):
17274 * Shared/API/c/WKURLRequest.h:
17276 * Shared/WebURLRequest.cpp:
17277 (WebKit::WebURLRequest::create):
17278 * Shared/WebURLRequest.h:
17280 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
17281 (WKBundleHitTestResultCopyAbsoluteImageURL):
17282 (WKBundleHitTestResultCopyAbsoluteMediaURL):
17283 (WKBundleHitTestResultGetImageRect):
17284 (WKBundleHitTestResultGetIsSelected):
17285 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
17287 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
17288 (WKBundlePageHasLocalDataForURL):
17289 (WKBundlePageCanHandleRequest):
17290 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
17292 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
17293 (WebKit::InjectedBundleHitTestResult::absoluteImageURL):
17294 (WebKit::InjectedBundleHitTestResult::absoluteMediaURL):
17295 (WebKit::InjectedBundleHitTestResult::imageRect):
17296 (WebKit::InjectedBundleHitTestResult::isSelected):
17297 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
17299 * WebProcess/WebPage/WebContextMenu.cpp:
17300 (WebKit::WebContextMenu::show):
17302 * WebProcess/WebPage/WebPage.h:
17303 * WebProcess/WebPage/mac/WebPageMac.mm:
17304 (WebKit::WebPage::hasLocalDataForURL):
17305 (WebKit::WebPage::canHandleRequest):
17306 * WebProcess/WebPage/qt/WebPageQt.cpp:
17307 (WebKit::WebPage::hasLocalDataForURL): Stubbed for now.
17308 (WebKit::WebPage::canHandleRequest): Ditto.
17309 * WebProcess/WebPage/win/WebPageWin.cpp:
17310 (WebKit::WebPage::hasLocalDataForURL): Ditto.
17311 (WebKit::WebPage::canHandleRequest): Ditto.
17313 2010-11-19 Darin Adler <darin@apple.com>
17315 Reviewed by Sam Weinig.
17317 Need a way to clear disk cache from WebContext
17318 https://bugs.webkit.org/show_bug.cgi?id=49820
17320 * UIProcess/API/C/WKContext.cpp:
17321 (WKContextClearResourceCaches): Added.
17322 (WKContextClearApplicationCache): Added.
17323 * UIProcess/API/C/WKContext.h:
17324 * UIProcess/WebContext.cpp:
17325 (WebKit::WebContext::clearResourceCaches): Added.
17326 (WebKit::WebContext::clearApplicationCache): Added.
17327 * UIProcess/WebContext.h:
17328 * WebProcess/WebProcess.cpp:
17329 (WebKit::WebProcess::clearResourceCaches): Added.
17330 (WebKit::WebProcess::clearApplicationCache): Added.
17331 * WebProcess/WebProcess.h:
17332 * WebProcess/WebProcess.messages.in: Added messages.
17333 * WebProcess/mac/WebProcessMac.mm:
17334 (WebKit::WebProcess::platformClearResourceCaches): Added.
17335 * WebProcess/qt/WebProcessQt.cpp:
17336 (WebKit::WebProcess::platformClearResourceCaches): Added.
17337 * WebProcess/win/WebProcessWin.cpp:
17338 (WebKit::WebProcess::platformClearResourceCaches): Added.
17340 2010-11-19 Anders Carlsson <andersca@apple.com>
17342 Reviewed by Sam Weinig.
17344 Implement support for loading local files
17345 https://bugs.webkit.org/show_bug.cgi?id=49828
17346 <rdar://problem/8447121>
17348 * UIProcess/WebPageProxy.cpp:
17349 (WebKit::initializeSandboxExtensionHandle):
17350 Given an URL, create a sandbox extension if it's a local file URL.
17352 (WebKit::WebPageProxy::loadURL):
17353 (WebKit::WebPageProxy::loadURLRequest):
17354 Pass along sandbox extension handles to the LoadURL and LoadURLRequest messages.
17356 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
17357 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
17358 Call SandboxExtensionTracker::didStartProvisionalLoad.
17360 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
17361 Call SandboxExtensionTracker::didCommitProvisionalLoad.
17363 (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
17364 Call SandboxExtensionTracker::didFailProvisionalLoad.
17366 * WebProcess/WebPage/WebPage.cpp:
17367 (WebKit::WebPage::~WebPage):
17368 Invalidate the sandbox extension tracker.
17370 (WebKit::WebPage::close):
17371 Invalidate the sandbox extension tracker.
17373 (WebKit::WebPage::loadURL):
17374 (WebKit::WebPage::loadURLRequest):
17375 Pass the sandbox extension handle to the sandbox extension tracker.
17377 (WebKit::WebPage::SandboxExtensionTracker::~SandboxExtensionTracker):
17378 Invalidate the sandbox extension tracker.
17380 (WebKit::WebPage::SandboxExtensionTracker::invalidate):
17381 invalidate ell the sandbox extensions.
17383 (WebKit::WebPage::SandboxExtensionTracker::beginLoad):
17384 Create a sandbox extension and store it as the "pending provisional extension".
17386 (WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad):
17387 Consume the pending provisional extension and make it the provisional extension.
17389 (WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad):
17390 Invalidate the committed extension and make the provisional extension the committed extension.
17392 (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad):
17393 Invalidate the provisional extension.
17395 * WebProcess/WebPage/WebPage.messages.in:
17396 Add SandboxExtension::Handle parameters to LoadURL and LoadURLRequest.
17398 2010-11-19 Anders Carlsson <andersca@apple.com>
17400 Reviewed by Darin Adler.
17402 Make it possible to encode null SandboxExtension handles
17403 https://bugs.webkit.org/show_bug.cgi?id=49825
17405 * Shared/mac/SandboxExtensionMac.mm:
17406 (WebKit::SandboxExtension::Handle::encode):
17407 If there's no underlying sandbox extension, just encode an empty byte array.
17409 (WebKit::SandboxExtension::Handle::decode):
17410 If the decoded byte array is empty, don't try to create a sandbox extension.
17412 (WebKit::SandboxExtension::create):
17413 If the handle is null, return null.
17415 (WebKit::SandboxExtension::consume):
17416 Consuming shuld not null out the underlying sandbox extension object.
17418 2010-11-19 Steve Falkenburg <sfalken@apple.com>
17420 Reviewed by Darin Adler.
17422 Normalize Cairo/CFLite project/solution configuration names
17423 https://bugs.webkit.org/show_bug.cgi?id=49818
17425 * win/WebKit2.vcproj:
17426 * win/WebKit2WebProcess.vcproj:
17428 2010-11-19 Anders Carlsson <andersca@apple.com>
17430 Reviewed by Sam Weinig.
17432 Add SandboxExtension abstraction and use it for the injected bundle extension
17433 https://bugs.webkit.org/show_bug.cgi?id=49817
17435 * Shared/SandboxExtension.h:
17436 Add SandboxExtension abstraction.
17438 * Shared/WebProcessCreationParameters.cpp:
17439 (WebKit::WebProcessCreationParameters::encode):
17440 (WebKit::WebProcessCreationParameters::decode):
17441 * Shared/WebProcessCreationParameters.h:
17442 Instead of encoding/decoding a token, encode/decode the sandbox extension handle.
17444 * Shared/mac/SandboxExtensionMac.mm: Added.
17445 Add Mac implementation of SandboxExtension.
17447 * UIProcess/WebContext.cpp:
17448 (WebKit::WebContext::ensureWebProcess):
17449 Create a SandboxExtension::Handle object.
17451 * WebKit2.xcodeproj/project.pbxproj:
17454 * WebProcess/InjectedBundle/InjectedBundle.h:
17455 (WebKit::InjectedBundle::setSandboxExtension):
17456 Set the sandbox extension.
17458 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
17459 (WebKit::InjectedBundle::load):
17460 Consume the sandbox extension.
17462 * WebProcess/WebProcess.cpp:
17463 (WebKit::WebProcess::initializeWebProcess):
17464 Create a sandbox extension and set it on the injected bundle.
17466 2010-11-18 Steve Falkenburg <sfalken@apple.com>
17468 Reviewed by Adam Roben.
17470 Windows vcproj configuration names should be normalized across projects
17471 https://bugs.webkit.org/show_bug.cgi?id=49776
17473 * win/WebKit2.submit.sln:
17474 * win/WebKit2Generated.vcproj:
17475 * win/WebKit2GeneratedCommon.vsprops: Added.
17477 2010-11-18 Anders Carlsson <andersca@apple.com>
17479 Reviewed by Adam Roben.
17481 Crash in WebKit::PluginView::manualLoadDidReceiveResponse when navigating to a .wav file in WebKit2 on Mac
17482 https://bugs.webkit.org/show_bug.cgi?id=48559
17483 <rdar://problem/8606622>
17485 Add null checks for m_plugin.
17487 * WebProcess/Plugins/PluginView.cpp:
17488 (WebKit::PluginView::manualLoadDidReceiveResponse):
17489 (WebKit::PluginView::manualLoadDidReceiveData):
17490 (WebKit::PluginView::manualLoadDidFinishLoading):
17491 (WebKit::PluginView::manualLoadDidFail):
17493 2010-11-18 Mark Rowe <mrowe@apple.com>
17495 Rubber-stamped by Adam Roben.
17497 <rdar://problem/8602509&8602717&8602724> Enable compaction support.
17499 * Configurations/WebKit2.xcconfig:
17501 2010-11-18 Brian Weinstein <bweinstein@apple.com>
17503 Reviewed by Adam Roben.
17505 WebKit2: Safari shouldn't auto-activate plug-ins in background tabs.
17506 https://bugs.webkit.org/show_bug.cgi?id=49770
17507 <rdar://problem/8482424>
17509 Add an API on Windows to call setIsInWindow, which calls through to WebPage::setIsInWindow.
17510 Remove the !PLATFORM(WIN) check in WebPage, so we don't automatically start plugins that are
17511 loaded in background tabs.
17513 * UIProcess/API/C/win/WKView.cpp:
17514 (WKViewSetIsInWindow): Call through to WebView::setIsInWindow.
17515 * UIProcess/API/C/win/WKView.h:
17516 * UIProcess/win/WebView.cpp:
17517 (WebKit::WebView::setIsInWindow): Call through to WebPage::setIsInWindow.
17518 * UIProcess/win/WebView.h:
17519 * WebProcess/WebPage/WebPage.cpp:
17520 (WebKit::WebPage::WebPage): Remove the !PLATFORM(WIN) check and update the comment.
17522 2010-11-18 Darin Adler <darin@apple.com>
17524 * WebProcess/WebPage/WebPage.cpp: Fix build by rolling out a change.
17526 2010-11-18 Darin Adler <darin@apple.com>
17528 Reviewed by Kevin Decker.
17530 REGRESSION (WebKit2): Plug-ins and <video> start playing immediately in background tabs
17531 https://bugs.webkit.org/show_bug.cgi?id=49766
17533 Test: manual-tests/resources/video-tab.html
17535 * WebProcess/WebPage/WebPage.cpp:
17536 (WebKit::WebPage::WebPage): Call setCanStartMedia(false) since the rest of the code
17537 starts out treating the page as "not in a window".
17539 2010-11-18 Steve Falkenburg <sfalken@apple.com>
17541 Reviewed by Adam Roben.
17543 Remove leftover Windows Debug_Internal configurations
17544 https://bugs.webkit.org/show_bug.cgi?id=49758
17546 * win/WebKit2.vcproj:
17547 * win/WebKit2WebProcess.vcproj:
17549 2010-11-18 Anders Carlsson <andersca@apple.com>
17551 Reviewed by John Sullivan.
17553 Page overlays should be able to handle mouse events
17554 https://bugs.webkit.org/show_bug.cgi?id=49756
17556 * Shared/API/c/WKSharedAPICast.h:
17558 Add API cast function for converting an IntPoint to a WKPoint.
17560 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
17561 (PageOverlayClientImpl::mouseEvent):
17562 Call the appropriate callbacks.
17564 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
17567 2010-11-18 Anders Carlsson <andersca@apple.com>
17569 Reviewed by Sam Weinig.
17571 Keep the web process alive if there are active downloads
17572 https://bugs.webkit.org/show_bug.cgi?id=49755
17574 Make sure that Download objects are destroyed when the download finishes or fails.
17575 Don't close the web process if there are live Download objects.
17577 * UIProcess/Downloads/DownloadProxy.cpp:
17578 (WebKit::DownloadProxy::didFail):
17581 * UIProcess/Downloads/DownloadProxy.h:
17582 * UIProcess/Downloads/DownloadProxy.messages.in:
17583 Add DidFail message.
17585 * WebProcess/Downloads/Download.cpp:
17586 (WebKit::Download::didFinish):
17587 Call DownloadManager::downloadFinished.
17589 (WebKit::Download::didFail):
17590 Send DidFail message and call DownloadManager::downloadFinished.
17592 * WebProcess/Downloads/Download.h:
17593 (WebKit::Download::destinationID):
17596 (WebKit::Download::downloadID):
17597 Return the download ID.
17599 * WebProcess/Downloads/DownloadManager.cpp:
17600 (WebKit::DownloadManager::downloadFinished):
17601 Delete the Download object and call WebProcess::shutdownIfPossible.
17603 * WebProcess/Downloads/DownloadManager.h:
17604 (WebKit::DownloadManager::isDownloading):
17605 Return whether the download manager has any active downloads.
17607 * WebProcess/Downloads/mac/DownloadMac.mm:
17608 (-[WKDownloadAsDelegate download:didFailWithError:]):
17609 Call Download::didFail.
17611 * WebProcess/WebProcess.cpp:
17612 (WebKit::WebProcess::removeWebPage):
17613 Call shutdownIfPossible.
17615 (WebKit::WebProcess::shutdownIfPossible):
17616 New function. Don't shutdown if there are live pages or active downloads.
17618 * WebProcess/WebProcess.h:
17620 2010-11-18 Steve Falkenburg <sfalken@apple.com>
17622 Reviewed by Adam Roben.
17624 Debug_Internal Windows configuration is unnecessary, should be removed
17625 https://bugs.webkit.org/show_bug.cgi?id=49753
17627 * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
17630 2010-11-18 Steve Falkenburg <sfalken@apple.com>
17632 Reviewed by Adam Roben.
17634 Clean up vcproj errors
17635 https://bugs.webkit.org/show_bug.cgi?id=49741
17637 * win/WebKit2WebProcess.vcproj:
17639 2010-11-18 Benjamin Poulain <benjamin.poulain@nokia.com>
17641 Reviewed by Laszlo Gombos.
17643 [Qt] [WK2] WebKit 2 would not compile for Qt without ENABLE_TOUCH_EVENT
17644 https://bugs.webkit.org/show_bug.cgi?id=49664
17646 Move the ENABLE(TOUCH_EVENTS) to the code where internal WebKit touch
17649 * UIProcess/API/qt/qgraphicswkview.cpp:
17650 (QGraphicsWKView::touchEvent):
17651 * UIProcess/API/qt/qwkpage.cpp:
17652 (QWKPagePrivate::touchEvent):
17654 2010-11-17 Andreas Kling <kling@webkit.org>
17656 Reviewed by Kenneth Rohde Christiansen.
17658 Reuse the size of the actualVisibleContentRect when loading a new page
17659 or navigating session history.
17661 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
17662 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
17664 2010-11-17 Dimitri Glazkov <dglazkov@chromium.org>
17666 Reviewed by Darin Adler.
17668 Converge means of querying a parent node into one way, which is Node::parentNode.
17669 https://bugs.webkit.org/show_bug.cgi?id=49686
17671 * WebProcess/WebPage/WebPage.cpp: Changed to use parentNode.
17672 (WebKit::WebPage::findZoomableAreaForPoint): Ditto.
17674 2010-11-17 Timothy Hatcher <timothy@apple.com>
17676 Remove duplicate Web Inspector message handeling in WebPage::didReceiveMessage.
17678 https://webkit.org/b/49689
17680 Reviewed by Andreas Kling.
17682 * WebProcess/WebPage/WebPage.cpp:
17683 (WebKit::WebPage::didReceiveMessage): Remove duplicate code.
17685 2010-11-17 Timothy Hatcher <timothy@apple.com>
17687 Fix a crash when closing the inspected page when the Web Inspector
17688 page was never created.
17690 https://bugs.webkit.org/show_bug.cgi?id=49687
17692 Reviewed by John Sullivan.
17694 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
17695 (WebKit::WebInspectorClient::sendMessageToFrontend): Null check the Inspector WebPage.
17697 2010-11-17 Anders Carlsson <andersca@apple.com>
17699 Reviewed by John Sullivan.
17701 Don't crash when invalidating a page overlay that hasn't been installed yet
17702 https://bugs.webkit.org/show_bug.cgi?id=49685
17704 Null check the web page.
17706 * WebProcess/WebPage/PageOverlay.cpp:
17707 (WebKit::PageOverlay::setNeedsDisplay):
17709 2010-11-17 Brady Eidson <beidson@apple.com>
17711 Reviewed by Darin Adler.
17713 https://bugs.webkit.org/show_bug.cgi?id=49682 - Expose "removeItemAtIndex" in WKMutableArray
17715 * Shared/API/c/WKMutableArray.cpp:
17716 (WKArrayRemoveItemAtIndex):
17717 * Shared/API/c/WKMutableArray.h:
17719 * Shared/MutableArray.cpp:
17720 (WebKit::MutableArray::removeItemAtIndex):
17721 * Shared/MutableArray.h:
17723 2010-11-17 Brady Eidson <beidson@apple.com>
17725 Reviewed by Anders Carlsson.
17727 https://bugs.webkit.org/show_bug.cgi?id=49683 - Export WKContextMenuItem and WKContextMenuItemTypes as public headers
17729 * WebKit2.xcodeproj/project.pbxproj:
17731 2010-11-17 Anders Carlsson <andersca@apple.com>
17733 Reviewed by Darin Adler.
17735 Need way to invalidate part of a WKOverlayRef so it will be redrawn
17736 https://bugs.webkit.org/show_bug.cgi?id=49679
17737 <rdar://problem/8679152>
17739 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
17740 (WKBundlePageOverlaySetNeedsDisplay):
17741 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
17742 * WebProcess/WebPage/PageOverlay.cpp:
17743 (WebKit::PageOverlay::setNeedsDisplay):
17744 * WebProcess/WebPage/PageOverlay.h:
17746 2010-11-17 Timothy Hatcher <timothy@apple.com>
17748 Provide a way to create a WKView (WebPage) that is hidden from
17749 the InjectedBundle. This is needed for the Web Inspector.
17751 https://webkit.org/b/49670
17753 Reviewed by Sam Weinig.
17755 * Shared/WebPageCreationParameters.cpp:
17756 (WebKit::WebPageCreationParameters::encode): Added visibleToInjectedBundle.
17757 (WebKit::WebPageCreationParameters::decode): Ditto.
17758 * Shared/WebPageCreationParameters.h: Ditto.
17759 * UIProcess/API/C/win/WKView.cpp:
17760 (WKViewCreate): Pass VisibleToInjectedBundle to the WebView create function.
17761 * UIProcess/API/C/win/WKViewPrivate.cpp:
17762 (WKViewCreateForWebInspector): Added. Not used yet. Passes HiddenFromInjectedBundle
17763 to the WebView create function.
17764 * UIProcess/API/C/win/WKViewPrivate.h: Added WKViewCreateForWebInspector.
17765 * UIProcess/API/mac/WKView.mm:
17766 (-[WKView initWithFrame:pageNamespaceRef:hiddenFromInjectedBundle:]): Added hiddenFromInjectedBundle
17767 parameter and calls WebPageProxy::setVisibleToInjectedBundle.
17768 (-[WKView initWithFrame:pageNamespaceRef:]): Calls initWithFrame:pageNamespaceRef:hiddenFromInjectedBundle:
17769 and passes NO for hiddenFromInjectedBundle.
17770 (-[WKView initWithFrame:]): Cleaned up by removing the local assignment to self and just returns the result.
17771 * UIProcess/API/mac/WKViewInternal.h: Added initWithFrame:pageNamespaceRef:hiddenFromInjectedBundle:.
17772 * UIProcess/WebPageProxy.cpp:
17773 (WebKit::WebPageProxy::WebPageProxy): Initialize m_visibleToInjectedBundle from the creation parameters.
17774 (WebKit::WebPageProxy::creationParameters): Set visibleToInjectedBundle using m_visibleToInjectedBundle.
17775 * UIProcess/WebPageProxy.h: Added m_visibleToInjectedBundle.
17776 (WebKit::WebPageProxy::visibleToInjectedBundle): Added. Return m_visibleToInjectedBundle.
17777 (WebKit::WebPageProxy::setVisibleToInjectedBundle): Added. Set m_visibleToInjectedBundle.
17778 * UIProcess/win/WebView.cpp:
17779 (WebKit::WebView::WebView): Added InjectedBundleVisibility parameter and calls
17780 WebPageProxy::setVisibleToInjectedBundle.
17781 * UIProcess/win/WebView.h: Added InjectedBundleVisibility enum.
17782 (WebKit::WebView::create): Added InjectedBundleVisibility parameter.
17783 * WebProcess/WebPage/WebPage.cpp:
17784 (WebKit::WebPage::create): Checks visibleToInjectedBundle before talking to the injected bundle.
17785 (WebKit::WebPage::WebPage): Initialize m_isVisibleToInjectedBundle from the creation parameters.
17786 (WebKit::WebPage::close): Checks m_isVisibleToInjectedBundle before talking to the injected bundle.
17787 * WebProcess/WebPage/WebPage.h: Added m_isVisibleToInjectedBundle.
17789 2010-11-17 Andras Becsi <abecsi@webkit.org>
17791 Unreviewed buildfix.
17793 [Qt] D'oh! I screwed up the dependencies.
17795 * DerivedSources.pro:
17797 2010-11-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
17799 Reviewed by Andreas Kling.
17801 [WK2] Set paintsEntireContents for "resizes to contents" mode
17803 Only relevant for the tiled backing store.
17805 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
17806 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
17807 * WebProcess/WebPage/WebPage.cpp:
17808 (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
17810 2010-11-17 Andras Becsi <abecsi@webkit.org>
17812 Reviewed by Andreas Kling.
17814 [Qt][WK2] Make it possible to set custom user agent strings in MiniBrowser
17815 https://bugs.webkit.org/show_bug.cgi?id=49627
17817 Copy the MiniBrowser.qrc and QtTestBrowser's useragentlist.txt file
17818 to the build directory of MiniBrowser because it has to be in a
17819 subdirectory of the resource file.
17820 Add a method to QWKPage to retrieve the custom user agent string.
17822 * DerivedSources.pro:
17823 * UIProcess/API/qt/qwkpage.cpp:
17824 (QWKPage::customUserAgent):
17825 * UIProcess/API/qt/qwkpage.h:
17827 2010-11-17 Simon Fraser <simon.fraser@apple.com>
17829 Reviewed by Adam Roben.
17831 https://bugs.webkit.org/show_bug.cgi?id=45567
17832 Add stubbed-out layer-backed drawing area for Windows.
17834 Add implementations of LayerBackedDrawingArea and
17835 LayerBackedDrawingAreaProxy for Windows, and add them
17838 * UIProcess/LayerBackedDrawingAreaProxy.cpp:
17839 * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp: Added.
17840 (WebKit::LayerBackedDrawingAreaProxy::page):
17841 (WebKit::LayerBackedDrawingAreaProxy::platformSetSize):
17842 (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext):
17843 (WebKit::LayerBackedDrawingAreaProxy::detachCompositingContext):
17844 (WebKit::LayerBackedDrawingAreaProxy::paint):
17845 * UIProcess/win/WebView.cpp:
17846 (WebKit::WebView::pageDidEnterAcceleratedCompositing):
17847 (WebKit::WebView::pageDidLeaveAcceleratedCompositing):
17848 (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
17849 * UIProcess/win/WebView.h:
17850 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
17851 * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp: Added.
17852 (WebKit::LayerBackedDrawingArea::platformInit):
17853 (WebKit::LayerBackedDrawingArea::platformClear):
17854 (WebKit::LayerBackedDrawingArea::attachCompositingContext):
17855 (WebKit::LayerBackedDrawingArea::detachCompositingContext):
17856 (WebKit::LayerBackedDrawingArea::setRootCompositingLayer):
17857 (WebKit::LayerBackedDrawingArea::scheduleCompositingLayerSync):
17858 (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
17859 * win/WebKit2.vcproj:
17861 2010-11-17 Benjamin Poulain <benjamin.poulain@nokia.com>
17863 Reviewed by Kenneth Rohde Christiansen.
17865 [Qt] [WK2] The focus switching does not seems to work with QGraphicsWKView
17866 https://bugs.webkit.org/show_bug.cgi?id=49545
17868 Implement focus switching with Tab. This is now done asynchronously,
17869 waiting for webkit to call takeFocus() and switching the widget.
17871 Since the focus can change between the Tab press and the callback,
17872 QGraphicsWKView::focusNextPrevChildCallback() make sure the view still has
17873 focus before passing it to the next widget.
17875 * UIProcess/API/qt/qgraphicswkview.cpp:
17876 (QGraphicsWKView::QGraphicsWKView):
17877 (QGraphicsWKView::focusNextPrevChildCallback):
17878 (QGraphicsWKView::focusNextPrevChild):
17879 * UIProcess/API/qt/qgraphicswkview.h:
17880 * UIProcess/API/qt/qwkpage.cpp:
17881 (QWKPagePrivate::takeFocus):
17882 * UIProcess/API/qt/qwkpage.h:
17883 * UIProcess/API/qt/qwkpage_p.h:
17885 2010-11-17 Andreas Kling <kling@webkit.org>
17887 Reviewed by Kenneth Rohde Christiansen.
17889 Don't prohibit scrolling in tiled backing store mode.
17891 We delegate scrolling instead.
17893 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
17894 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
17896 2010-11-17 Simon Hausmann <simon.hausmann@nokia.com>
17898 Reviewed by Kenneth Christiansen.
17900 [Qt] Improve painting performance on 16-bit displays
17902 When the default pixmap depth is 16-bit, then use RGB16 instead of
17903 RGB32 for the chunks, to avoid unnecessary conversions and reduce
17904 chunk size. The conversions happen as images as QPixmaps have 16-bit
17905 depth and the tiles on the ui process are also backed by QPixmaps.
17907 * Shared/qt/UpdateChunk.cpp:
17908 (WebKit::UpdateChunk::size):
17909 (WebKit::UpdateChunk::createImage):
17910 * Shared/qt/UpdateChunk.h:
17912 2010-11-16 Sam Weinig <sam@webkit.org>
17914 Reviewed by Adam Roben.
17916 WebKit2: Support enabling site-specific quirks
17917 <rdar://problem/8451371>
17918 https://bugs.webkit.org/show_bug.cgi?id=46076
17920 * Shared/WebPreferencesStore.cpp:
17921 (WebKit::WebPreferencesStore::WebPreferencesStore):
17922 (WebKit::WebPreferencesStore::encode):
17923 (WebKit::WebPreferencesStore::decode):
17924 * Shared/WebPreferencesStore.h:
17925 Add needsSiteSpecificQuirks;
17927 * UIProcess/API/C/WKAPICast.h:
17928 (WebKit::toFontSmoothingLevel):
17930 Move FontSmoothing conversion functions here.
17932 * UIProcess/API/C/WKPreferences.cpp:
17933 (WKPreferencesSetFontSmoothingLevel):
17934 (WKPreferencesGetFontSmoothingLevel):
17935 (WKPreferencesSetAcceleratedCompositingEnabled):
17936 (WKPreferencesGetAcceleratedCompositingEnabled):
17937 (WKPreferencesSetCompositingBordersVisible):
17938 (WKPreferencesGetCompositingBordersVisible):
17939 (WKPreferencesSetCompositingRepaintCountersVisible):
17940 (WKPreferencesGetCompositingRepaintCountersVisible):
17941 (WKPreferencesSetNeedsSiteSpecificQuirks):
17942 (WKPreferencesGetNeedsSiteSpecificQuirks):
17943 Add WKPreferencesSetNeedsSiteSpecificQuirks/WKPreferencesGetNeedsSiteSpecificQuirks
17944 and move implementations from WKPreferencesPrivate.cpp here.
17946 * UIProcess/API/C/WKPreferencesPrivate.cpp: Removed.
17948 * UIProcess/API/C/WKPreferencesPrivate.h:
17949 Add Add WKPreferencesSetNeedsSiteSpecificQuirks/WKPreferencesGetNeedsSiteSpecificQuirks.
17951 * UIProcess/WebPreferences.cpp:
17952 (WebKit::WebPreferences::setNeedsSiteSpecificQuirks):
17953 (WebKit::WebPreferences::needsSiteSpecificQuirks):
17954 * UIProcess/WebPreferences.h:
17955 * WebProcess/WebPage/WebPage.cpp:
17956 (WebKit::WebPage::updatePreferences):
17957 Pipe through needsSiteSpecificQuirks.
17959 * WebKit2.xcodeproj/project.pbxproj:
17961 * win/WebKit2.vcproj:
17962 Update for removed files.
17964 2010-11-16 Adam Roben <aroben@apple.com>
17966 Fix horizontal scrolling via the mousewheel/trackpad on Windows
17968 Reviewed by Mark Rowe.
17970 * Shared/win/WebEventFactory.cpp: Fixed typo in the
17971 WM_VISTA_MOUSEHWHEEL constant.
17973 2010-11-16 Steve Falkenburg <sfalken@apple.com>
17975 Reviewed by Adam Roben.
17977 Disable LTCG for Windows Release builds. Add new Release_LTCG configuration.
17978 https://bugs.webkit.org/show_bug.cgi?id=49632
17980 * win/WebKit2.make:
17981 * win/WebKit2.submit.sln:
17982 * win/WebKit2.vcproj:
17983 * win/WebKit2WebProcess.vcproj:
17985 2010-11-16 Anders Carlsson <andersca@apple.com>
17987 Reviewed by Sam Weinig.
17989 Handle converting a ResourceHandle to a download
17990 https://bugs.webkit.org/show_bug.cgi?id=49631
17992 * WebProcess/Downloads/Download.h:
17993 Add startWithHandle.
17995 * WebProcess/Downloads/DownloadManager.h:
17996 * WebProcess/Downloads/DownloadManager.cpp:
17997 (WebKit::DownloadManager::convertHandleToDownload):
17998 Create a new Download object and call startWithHandle on it.
18000 * WebProcess/Downloads/cf/DownloadCFNet.cpp:
18001 (WebKit::Download::startWithHandle):
18004 * WebProcess/Downloads/mac/DownloadMac.mm:
18005 (WebKit::Download::startWithHandle):
18006 Create an NSURLDownload object from passed in ResourceHandle.
18008 * WebProcess/Downloads/qt/DownloadQt.cpp:
18009 (WebKit::Download::startWithHandle):
18012 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
18013 (WebKit::WebFrameLoaderClient::download):
18014 Call WebFrame::convertHandleToDownload.
18016 * WebProcess/WebPage/WebFrame.cpp:
18017 (WebKit::WebFrame::convertHandleToDownload):
18018 Call DownloadManager::convertHandleToDownload.
18020 2010-11-16 Anders Carlsson <andersca@apple.com>
18022 Reviewed by John Sullivan.
18024 Set the original URL for downloads
18025 https://bugs.webkit.org/show_bug.cgi?id=49628
18027 * WebProcess/Downloads/DownloadManager.cpp:
18028 (WebKit::DownloadManager::startDownload):
18029 * WebProcess/Downloads/DownloadManager.h:
18030 startDownload now takes the originating web page.
18032 * WebProcess/Downloads/cf/DownloadCFNet.cpp:
18033 (WebKit::Download::start):
18034 start now takes the originating web page.
18036 * WebProcess/Downloads/mac/DownloadMac.mm:
18037 (WebKit::originatingURL):
18038 (WebKit::setOriginalURLForDownload):
18039 Port code over from WebKit1 that sets the download URL.
18041 (WebKit::Download::start):
18042 Call setOriginalURLForDownload.
18044 * WebProcess/Downloads/qt/DownloadQt.cpp:
18045 (WebKit::Download::start):
18046 start now takes the originating web page.
18048 * WebProcess/WebPage/WebFrame.cpp:
18049 (WebKit::WebFrame::startDownload):
18050 Pass the web page to DownloadManager::startDownload.
18052 2010-11-16 Dave Hyatt <hyatt@apple.com>
18054 Reviewed by Dan Bernstein.
18056 https://bugs.webkit.org/show_bug.cgi?id=11004
18058 font-size:0 is ignored. Remove the minimum font size of 1 in CSSStyleSelector.
18059 Change the pref value for minimum font size from 1 to 0. Make sure to never use the NSFont's size,
18060 since it doesn't honor a size of 0. Instead pass the size in to the FontPlatformData(NSFont*) version
18061 of the constructor rather than using [NSFont pointSize].
18063 https://bugs.webkit.org/show_bug.cgi?id=49582
18065 Negative leading is not handled correctly. There are two bugs here. The first is that
18066 maxAscent and maxDescent can be negative, so we need a notion of whether or not we have
18067 set them before so that we can allow them to be < 0.
18069 The second issue is that we should understand where fonts will end up relative to
18070 our baseline (excluding line height), and only allow those boxes to impact ascent and
18071 descent if the actual font box (without factoring in line height) is above or below the
18072 root line box baseline.
18074 Added fast/css/negative-leading.html
18076 These two bug fixes have to land together to keep the Acid 3 test rendering correctly.
18078 * Shared/WebPreferencesStore.cpp:
18079 (WebKit::WebPreferencesStore::WebPreferencesStore):
18081 2010-11-16 Anders Carlsson <andersca@apple.com>
18085 * Scripts/webkit2/messages.py:
18086 * WebProcess/WebPage/WebInspector.h:
18088 2010-11-16 Anders Carlsson <andersca@apple.com>
18090 Reviewed by Sam Weinig.
18092 Add WKPageCanShowMIMEType
18093 https://bugs.webkit.org/show_bug.cgi?id=49612
18095 * UIProcess/API/C/WKPage.cpp:
18096 (WKPageCanShowMIMEType):
18097 * UIProcess/API/C/WKPage.h:
18098 * UIProcess/WebPageProxy.cpp:
18099 (WebKit::WebPageProxy::canShowMIMEType):
18100 * UIProcess/WebPageProxy.h:
18102 2010-11-16 Anders Carlsson <andersca@apple.com>
18104 Reviewed by Sam Weinig.
18106 Make WebPageProxy::decidePolicyForMIMEType a tad synchronous
18107 https://bugs.webkit.org/show_bug.cgi?id=49605
18109 Change the DecidePolicyForMIMEType message to be synchronous, and if the policy listener is
18110 invoked from within the decidePolicyForMIMEType callback return the policy information as out
18111 parameters. This is needed in order to convert a loading connection to a download.
18113 * Platform/CoreIPC/HandleMessage.h:
18114 (CoreIPC::callMemberFunction):
18115 * UIProcess/WebPageProxy.cpp:
18116 (WebKit::WebPageProxy::WebPageProxy):
18117 (WebKit::WebPageProxy::receivedPolicyDecision):
18118 (WebKit::WebPageProxy::decidePolicyForMIMEType):
18119 * UIProcess/WebPageProxy.h:
18120 * UIProcess/WebPageProxy.messages.in:
18121 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
18122 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
18124 2010-11-16 Kenneth Rohde Christiansen <kenneth@webkit.org>, Zalan Bujtas <zbujtas@gmail.com>
18126 Reviewed by Andreas Kling.
18128 [WK2][Qt] Add API for finding a zoomable area for a given point
18130 This is useful for implementing e.g "double tap zoom"
18132 Only enabled for Qt.
18134 * UIProcess/API/qt/qwkpage.cpp:
18135 (QWKPage::findZoomableAreaForPoint):
18136 (QWKPagePrivate::didFindZoomableArea):
18137 * UIProcess/API/qt/qwkpage.h:
18138 * UIProcess/API/qt/qwkpage_p.h:
18139 * UIProcess/PageClient.h:
18140 * UIProcess/WebPageProxy.cpp:
18141 (WebKit::WebPageProxy::didFindZoomableArea):
18142 (WebKit::WebPageProxy::findZoomableAreaForPoint):
18143 * UIProcess/WebPageProxy.h:
18144 * UIProcess/WebPageProxy.messages.in:
18145 * WebProcess/WebPage/WebPage.cpp:
18146 (WebKit::WebPage::findZoomableAreaForPoint):
18147 * WebProcess/WebPage/WebPage.h:
18148 * WebProcess/WebPage/WebPage.messages.in:
18150 2010-11-16 Andreas Kling <kling@webkit.org>
18152 Rubber-stamped by Simon Hausmann.
18154 Revert !ENABLE(INSPECTOR) fix- we don't need it right now,
18155 and it was less maintainable than I had though.
18157 * Shared/API/c/WKSharedAPICast.h:
18160 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
18161 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
18162 * WebProcess/WebPage/WebInspector.cpp:
18164 2010-11-16 Andreas Kling <kling@webkit.org>
18166 Reviewed by Simon Hausmann.
18168 Fix compilation with !ENABLE(INSPECTOR)
18170 * Shared/API/c/WKSharedAPICast.h:
18173 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
18174 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
18175 * WebProcess/WebPage/WebInspector.cpp:
18177 2010-11-16 Andras Becsi <abecsi@webkit.org>
18179 Reviewed by Andreas Kling.
18181 [Qt] Use SIGINT instead of SIGKILL to let the web process clean up after itself.
18183 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
18184 (WebKit::QtWebProcess::setupChildProcess):
18186 2010-11-16 Kenneth Rohde Christiansen <kenneth@webkit.org>
18188 Reviewed by Andreas Kling.
18190 [WK2][Qt] Expose resizes-to-contents mode in WebKit2
18192 Only available with ENABLE(TILED_BACKING_STORE)
18194 Based on a patch by Antti Koivisto.
18196 * UIProcess/API/qt/qwkpage.cpp:
18197 (QWKPage::setResizesToContentsUsingLayoutSize):
18198 * UIProcess/API/qt/qwkpage.h:
18199 * UIProcess/WebPageProxy.cpp:
18200 (WebKit::WebPageProxy::setResizesToContentsUsingLayoutSize):
18201 * UIProcess/WebPageProxy.h:
18202 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
18203 (WebKit::WebChromeClient::contentsSizeChanged):
18204 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
18205 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
18206 * WebProcess/WebPage/WebPage.cpp:
18207 (WebKit::WebPage::setSize):
18208 (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
18209 (WebKit::WebPage::resizeToContentsIfNeeded):
18210 * WebProcess/WebPage/WebPage.h:
18211 (WebKit::WebPage::resizesToContentsEnabled):
18212 (WebKit::WebPage::resizesToContentsLayoutSize):
18213 * WebProcess/WebPage/WebPage.messages.in:
18215 2010-11-16 Andreas Kling <kling@webkit.org>
18217 Reviewed by Kenneth Rohde Christiansen.
18219 [Qt][WK2] Get proxy settings from environment (http[s]_proxy)
18221 If http_proxy and/or https_proxy are set in the environment,
18222 pass those in to QNetworkAccessManager.
18224 * WebProcess/qt/WebProcessMainQt.cpp:
18225 (WebKit::EnvHttpProxyFactory::EnvHttpProxyFactory):
18226 (WebKit::EnvHttpProxyFactory::initializeFromEnvironment):
18227 (WebKit::EnvHttpProxyFactory::queryProxy):
18228 (WebKit::initializeProxy):
18229 (WebKit::WebProcessMainQt):
18231 2010-11-16 Andreas Kling <kling@webkit.org>
18233 Reviewed by Kenneth Rohde Christiansen.
18235 [Qt][WK2] Emit windowCloseRequested signal on window.close()
18237 Original patch by Zalan Bujtas.
18239 * UIProcess/API/qt/ClientImpl.cpp:
18241 * UIProcess/API/qt/qwkpage.h:
18243 2010-11-15 Andreas Kling <kling@webkit.org>
18245 Reviewed by Kenneth Rohde Christiansen.
18247 [Qt] Kill the web process if the UI process dies
18249 Connect UI (parent) process death signal to SIGKILL of the web
18250 process (child). This ensures that there's no stale web processes
18251 after the UI process has crashed.
18253 Original patch by Kimmo Kinnunen.
18255 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
18256 (WebKit::QtWebProcess::QtWebProcess):
18257 (WebKit::QtWebProcess::setupChildProcess):
18258 (WebKit::ProcessLauncherHelper::launch):
18260 2010-11-16 Simon Hausmann <simon.hausmann@nokia.com>
18262 Rubber-stamped by Andreas Kling.
18264 [Qt] Trivial build fix for building WebKit2 inside Qt Creator
18266 Similar to WebCore.pro, define a fallback for OUTPUT_DIR.
18270 2010-11-15 Andreas Kling <kling@webkit.org>
18272 Reviewed by Tor Arne Vestbø.
18274 [Qt] Make sure qwkpage.h and qwkpreferences.h are copied into includes/WebKit2
18276 * UIProcess/API/qt/WKView.h:
18278 2010-11-15 Andreas Kling <kling@webkit.org>
18280 Reviewed by Tor Arne Vestbø.
18282 [Qt] Use $${PYTHON} rather than "python" to execute Python scripts
18284 Fixes building with the old Python that currently ships with Scratchbox.
18286 * DerivedSources.pro:
18288 2010-11-15 Brady Eidson <beidson@apple.com>
18290 Reviewed by a better attempt at a Windows build fix.
18292 * win/WebKit2Generated.make:
18294 2010-11-15 Brady Eidson <beidson@apple.com>
18296 Reviewed by my attempt to fix the Windows build
18298 * win/WebKit2Generated.make: Add new API headers here.
18300 2010-11-15 Brady Eidson <beidson@apple.com>
18302 Reviewed by Sam Weinig.
18304 Finish off <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=48720
18305 Customizable context menu support in WebKit2.
18307 - Adds an API-level WKContextMenuItem.
18308 - Round trips through both the InjectedBundle client and the new PageContextMenuClient before
18309 actually displaying the menu.
18312 * WebKit2.xcodeproj/project.pbxproj:
18313 * win/WebKit2.vcproj:
18315 * Shared/API/c/WKBase.h:
18316 * Shared/API/c/WKContextMenuItem.cpp: Added.
18317 (WKContextMenuItemGetTypeID):
18318 (WKContextMenuItemCreateAsAction):
18319 (WKContextMenuItemCreateAsCheckableAction):
18320 (WKContextMenuItemCreateAsSubmenu):
18321 (WKContextMenuItemSeparatorItem):
18322 (WKContextMenuItemGetTag):
18323 (WKContextMenuItemGetType):
18324 (WKContextMenuItemCopyTitle):
18325 (WKContextMenuItemGetEnabled):
18326 (WKContextMenuItemGetChecked):
18327 (WKContextMenuCopySubmenuItems):
18328 * Shared/API/c/WKContextMenuItem.h: Added.
18329 * Shared/API/c/WKContextMenuItemTypes.h: Added.
18331 * Shared/API/c/WKSharedAPICast.h:
18335 * Shared/WebContextMenuItem.cpp:
18336 (WebKit::WebContextMenuItem::create):
18337 (WebKit::WebContextMenuItem::separatorItem):
18338 (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
18339 * Shared/WebContextMenuItem.h:
18341 * UIProcess/API/C/WKPage.cpp:
18342 (WKPageSetPageContextMenuClient):
18343 (WKPageSetPageFindClient):
18344 (WKPageSetPageLoaderClient):
18345 (WKPageSetPagePolicyClient):
18346 (WKPageSetPageUIClient):
18347 * UIProcess/API/C/WKPage.h:
18349 * UIProcess/WebPageContextMenuClient.cpp: Added.
18350 (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
18351 * UIProcess/WebPageContextMenuClient.h: Added.
18353 * UIProcess/WebPageProxy.cpp:
18354 (WebKit::WebPageProxy::initializeContextMenuClient):
18355 (WebKit::WebPageProxy::showContextMenu):
18356 * UIProcess/WebPageProxy.h:
18357 * UIProcess/WebPageProxy.messages.in:
18359 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
18360 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
18361 (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
18362 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
18364 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
18365 (WebKit::WebContextMenuClient::getCustomMenuFromDefaultItems):
18366 * WebProcess/WebPage/WebContextMenu.cpp:
18367 (WebKit::WebContextMenu::show):
18369 2010-11-15 Anders Carlsson <andersca@apple.com>
18371 Reviewed by Sam Weinig.
18373 Add shouldDecodeSourceDataOfMIMEType WKContextDownloadClient callback
18374 https://bugs.webkit.org/show_bug.cgi?id=49558
18376 * UIProcess/API/C/WKContext.h:
18377 Add shouldDecodeSourceDataOfMIMEType callback.
18379 * UIProcess/Downloads/DownloadProxy.cpp:
18380 (WebKit::DownloadProxy::shouldDecodeSourceDataOfMIMEType):
18381 Call WebDownloadClient::shouldDecodeSourceDataOfMIMEType.
18383 (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
18384 Add allowOverwrite out parameter.
18386 * UIProcess/Downloads/DownloadProxy.h:
18387 * UIProcess/Downloads/DownloadProxy.messages.in:
18388 Add ShouldDecodeSourceDataOfMIMEType message.
18390 * UIProcess/WebDownloadClient.cpp:
18391 (WebKit::WebDownloadClient::shouldDecodeSourceDataOfMIMEType):
18392 Call the WKContextDownloadClient.
18394 (WebKit::WebDownloadClient::decideDestinationWithSuggestedFilename):
18395 Add allowOverwrite out parameter.
18397 * UIProcess/WebDownloadClient.h:
18398 * WebProcess/Downloads/Download.cpp:
18399 (WebKit::Download::shouldDecodeSourceDataOfMIMEType):
18400 Send the ShouldDecodeSourceDataOfMIMEType message.
18402 (WebKit::Download::decideDestinationWithSuggestedFilename):
18403 Add allowOverwrite reply parameter.
18405 * WebProcess/Downloads/mac/DownloadMac.mm:
18406 (-[WKDownloadAsDelegate download:shouldDecodeSourceDataOfMIMEType:]):
18407 Call Download::shouldDecodeSourceDataOfMIMEType.
18409 (-[WKDownloadAsDelegate download:decideDestinationWithSuggestedFilename:]):
18410 Add allowOverwrite parameter.
18412 2010-11-15 Anders Carlsson <andersca@apple.com>
18414 Reviewed by Sam Weinig.
18416 Add decideDestinationWithSuggestedFilename WKContextDownloadClient callback
18417 https://bugs.webkit.org/show_bug.cgi?id=49554
18419 * Platform/CoreIPC/MessageSender.h:
18420 (CoreIPC::MessageSender::sendSync):
18421 Add sendSync capabilities to Messagesender.
18423 * UIProcess/API/C/WKContext.h:
18424 Add decideDestinationWithSuggestedFilename callback.
18426 * UIProcess/Downloads/DownloadProxy.cpp:
18427 (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
18428 Call WebDownloadClient::decideDestinationWithSuggestedFilename.
18430 * UIProcess/Downloads/DownloadProxy.messages.in:
18431 Add DecideDestinationWithSuggestedFilename.
18433 * UIProcess/WebContext.cpp:
18434 (WebKit::WebContext::didReceiveSyncMessage):
18435 Process MessageClassDownloadProxy messages.
18437 * UIProcess/WebDownloadClient.cpp:
18438 (WebKit::WebDownloadClient::decideDestinationWithSuggestedFilename):
18439 Ask the WKContextDownloadClient for the destination.
18441 * UIProcess/WebProcessProxy.cpp:
18442 (WebKit::WebProcessProxy::didReceiveSyncMessage):
18443 MessageClassDownloadProxy messages should go to the WebContext.
18445 * WebProcess/Downloads/Download.cpp:
18446 (WebKit::Download::decideDestinationWithSuggestedFilename):
18447 Send the DecideDestinationWithSuggestedFilename message.
18449 * WebProcess/Downloads/Download.h:
18450 * WebProcess/Downloads/mac/DownloadMac.mm:
18451 (-[WKDownloadAsDelegate download:decideDestinationWithSuggestedFilename:]):
18452 call Download::decideDestinationWithSuggestedFilename and set the destination.
18454 2010-11-15 Andreas Kling <kling@webkit.org>
18456 Reviewed by Kenneth Rohde Christiansen.
18458 [WK2][Qt] Add "page snapshot" functionality to tiled backing store
18460 Original patch by Antti Koivisto.
18462 Add a way to take a snapshot of a specific part of the page, at a specific scale.
18463 Only implemented for the tiled drawing area.
18465 * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
18466 New message: TakeSnapshot.
18468 * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
18469 New message: SnapshotTaken.
18471 * UIProcess/API/qt/qgraphicswkview.h:
18472 * UIProcess/API/qt/qgraphicswkview.cpp:
18473 (QGraphicsWKView::takeSnapshot):
18474 Expose the snapshot functionality.
18476 * UIProcess/TiledDrawingAreaProxy.cpp:
18477 (WebKit::TiledDrawingAreaProxy::didReceiveMessage):
18478 (WebKit::TiledDrawingAreaProxy::takeSnapshot):
18479 * UIProcess/TiledDrawingAreaProxy.h:
18480 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
18481 (WebKit::TiledDrawingAreaProxy::snapshotTaken):
18482 * WebProcess/WebPage/TiledDrawingArea.cpp:
18483 (WebKit::TiledDrawingArea::didReceiveMessage):
18485 2010-11-15 Andreas Kling <andreas.kling@nokia.com>
18487 Reviewed by Kenneth Rohde Christiansen.
18489 [WK2][Qt] WebKit2 implementation of tiled backing store
18490 https://bugs.webkit.org/show_bug.cgi?id=49526
18492 Basic opt-in tiling implementation for WebKit2/Qt.
18494 Original patch by Antti Koivisto.
18496 * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
18497 New messages: RequestTileUpdate and CancelTileUpdate.
18499 * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
18500 New messages: Invalidate, TileUpdated, AllTileUpdatesProcessed.
18502 * Shared/DrawingAreaBase.h:
18503 New area type: TiledDrawingAreaType.
18505 * UIProcess/API/qt/qgraphicswkview.h:
18506 * UIProcess/API/qt/qgraphicswkview.cpp:
18507 (QGraphicsWKView::QGraphicsWKView):
18508 (QGraphicsWKView::setGeometry):
18509 (QGraphicsWKViewPrivate::QGraphicsWKViewPrivate):
18510 (QGraphicsWKView::prepareScaleChange):
18511 (QGraphicsWKView::commitScaleChange):
18512 (QGraphicsWKViewPrivate::onScaleChanged):
18513 (QGraphicsWKViewPrivate::commitScale):
18514 Support for tiled backing store.
18516 * UIProcess/TiledDrawingAreaProxy.cpp: Added.
18517 (WebKit::TiledDrawingAreaProxy::create):
18518 (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
18519 (WebKit::TiledDrawingAreaProxy::~TiledDrawingAreaProxy):
18520 (WebKit::TiledDrawingAreaProxy::setSize):
18521 (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
18522 (WebKit::TiledDrawingAreaProxy::didSetSize):
18523 (WebKit::TiledDrawingAreaProxy::didReceiveMessage):
18524 (WebKit::TiledDrawingAreaProxy::didReceiveSyncMessage):
18525 (WebKit::TiledDrawingAreaProxy::requestTileUpdate):
18526 (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete):
18527 (WebKit::TiledDrawingAreaProxy::createTile):
18528 (WebKit::TiledDrawingAreaProxy::setTileSize):
18529 (WebKit::TiledDrawingAreaProxy::setTileCreationDelay):
18530 (WebKit::TiledDrawingAreaProxy::setKeepAndCoverAreaMultipliers):
18531 (WebKit::TiledDrawingAreaProxy::invalidate):
18532 (WebKit::TiledDrawingAreaProxy::updateTileBuffers):
18533 (WebKit::TiledDrawingAreaProxy::tileBufferUpdateComplete):
18534 (WebKit::TiledDrawingAreaProxy::paint):
18535 (WebKit::TiledDrawingAreaProxy::adjustVisibleRect):
18536 (WebKit::TiledDrawingAreaProxy::setContentsScale):
18537 (WebKit::TiledDrawingAreaProxy::removeAllTiles):
18538 (WebKit::TiledDrawingAreaProxy::tileDistance):
18539 (WebKit::TiledDrawingAreaProxy::calculateKeepRect):
18540 (WebKit::TiledDrawingAreaProxy::calculateCoverRect):
18541 (WebKit::TiledDrawingAreaProxy::createTiles):
18542 (WebKit::TiledDrawingAreaProxy::resizeEdgeTiles):
18543 (WebKit::TiledDrawingAreaProxy::dropTilesOutsideRect):
18544 (WebKit::TiledDrawingAreaProxy::tileAt):
18545 (WebKit::TiledDrawingAreaProxy::setTile):
18546 (WebKit::TiledDrawingAreaProxy::removeTile):
18547 (WebKit::TiledDrawingAreaProxy::mapToContents):
18548 (WebKit::TiledDrawingAreaProxy::mapFromContents):
18549 (WebKit::TiledDrawingAreaProxy::contentsRect):
18550 (WebKit::TiledDrawingAreaProxy::tileRectForCoordinate):
18551 (WebKit::TiledDrawingAreaProxy::tileCoordinateForPoint):
18552 (WebKit::TiledDrawingAreaProxy::startTileBufferUpdateTimer):
18553 (WebKit::TiledDrawingAreaProxy::tileBufferUpdateTimerFired):
18554 (WebKit::TiledDrawingAreaProxy::startTileCreationTimer):
18555 (WebKit::TiledDrawingAreaProxy::tileCreationTimerFired):
18556 (WebKit::TiledDrawingAreaProxy::hasPendingUpdates):
18557 * UIProcess/TiledDrawingAreaProxy.h: Added.
18558 (WebKit::TiledDrawingAreaProxy::contentsScale):
18559 (WebKit::TiledDrawingAreaProxy::attachCompositingContext):
18560 (WebKit::TiledDrawingAreaProxy::detachCompositingContext):
18561 (WebKit::TiledDrawingAreaProxy::tileSize):
18562 (WebKit::TiledDrawingAreaProxy::tileCreationDelay):
18563 (WebKit::TiledDrawingAreaProxy::getKeepAndCoverAreaMultipliers):
18564 * UIProcess/TiledDrawingAreaTile.h: Added.
18565 (WebKit::TiledDrawingAreaTile::create):
18566 (WebKit::TiledDrawingAreaTile::hasBackBufferUpdatePending):
18567 (WebKit::TiledDrawingAreaTile::coordinate):
18568 (WebKit::TiledDrawingAreaTile::rect):
18569 (WebKit::TiledDrawingAreaTile::ID):
18570 * WebProcess/WebPage/DrawingArea.cpp:
18571 (WebKit::DrawingArea::create):
18572 * WebProcess/WebPage/TiledDrawingArea.cpp: Added.
18573 (WebKit::TiledDrawingArea::TiledDrawingArea):
18574 (WebKit::TiledDrawingArea::~TiledDrawingArea):
18575 (WebKit::TiledDrawingArea::invalidateWindow):
18576 (WebKit::TiledDrawingArea::invalidateContentsAndWindow):
18577 (WebKit::TiledDrawingArea::invalidateContentsForSlowScroll):
18578 (WebKit::TiledDrawingArea::scroll):
18579 (WebKit::TiledDrawingArea::setNeedsDisplay):
18580 (WebKit::TiledDrawingArea::display):
18581 (WebKit::TiledDrawingArea::scheduleDisplay):
18582 (WebKit::TiledDrawingArea::setSize):
18583 (WebKit::TiledDrawingArea::suspendPainting):
18584 (WebKit::TiledDrawingArea::resumePainting):
18585 (WebKit::TiledDrawingArea::didUpdate):
18586 (WebKit::TiledDrawingArea::updateTile):
18587 (WebKit::TiledDrawingArea::tileUpdateTimerFired):
18588 (WebKit::TiledDrawingArea::didReceiveMessage):
18589 * WebProcess/WebPage/TiledDrawingArea.h: Added.
18590 (WebKit::TiledDrawingArea::attachCompositingContext):
18591 (WebKit::TiledDrawingArea::detachCompositingContext):
18592 (WebKit::TiledDrawingArea::setRootCompositingLayer):
18593 (WebKit::TiledDrawingArea::scheduleCompositingLayerSync):
18594 (WebKit::TiledDrawingArea::syncCompositingLayers):
18595 * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp: Added.
18596 (WebKit::TiledDrawingArea::paintIntoUpdateChunk):
18598 * UIProcess/qt/TiledDrawingAreaTileQt.cpp: Added.
18599 (WebKit::checkeredPixmap):
18600 (WebKit::TiledDrawingAreaTile::TiledDrawingAreaTile):
18601 (WebKit::TiledDrawingAreaTile::~TiledDrawingAreaTile):
18602 (WebKit::TiledDrawingAreaTile::isDirty):
18603 (WebKit::TiledDrawingAreaTile::isReadyToPaint):
18604 (WebKit::TiledDrawingAreaTile::hasReadyBackBuffer):
18605 (WebKit::TiledDrawingAreaTile::invalidate):
18606 (WebKit::TiledDrawingAreaTile::resize):
18607 (WebKit::TiledDrawingAreaTile::swapBackBufferToFront):
18608 (WebKit::TiledDrawingAreaTile::paint):
18609 (WebKit::TiledDrawingAreaTile::paintCheckerPattern):
18610 (WebKit::TiledDrawingAreaTile::updateFromChunk):
18611 (WebKit::TiledDrawingAreaTile::updateBackBuffer):
18612 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: Added.
18613 (WebKit::TiledDrawingAreaProxy::updateWebView):
18614 (WebKit::TiledDrawingAreaProxy::webViewVisibleRect):
18615 (WebKit::TiledDrawingAreaProxy::page):
18617 2010-11-12 Benjamin Poulain <benjamin.poulain@nokia.com>
18619 Reviewed by Andreas Kling.
18621 [Qt] Need to implement WebKit::pluginWillHandleLoadError for WebKit2
18622 https://bugs.webkit.org/show_bug.cgi?id=48764
18624 Add the missing error to Qt support.
18626 * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
18627 (WebKit::pluginWillHandleLoadError):
18629 2010-11-12 John Sullivan <sullivan@apple.com>
18631 Reviewed by Anders Carlsson.
18633 Fixed Target for WKBundlePageOverlay.cpp.
18635 * WebKit2.xcodeproj/project.pbxproj:
18636 Changed Target for WKBundlePageOverlay.cpp from WebProcess to WebKit2.
18638 2010-11-12 Anders Carlsson <andersca@apple.com>
18640 Reviewed by John Sullivan.
18642 Need a way that WKBundlePageOverlayRef clients can make sure they only uninstall the overlay they installed
18643 https://bugs.webkit.org/show_bug.cgi?id=49461
18644 <rdar://problem/8662760>
18646 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
18647 (WKBundlePageUninstallPageOverlay):
18648 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
18649 * WebProcess/WebPage/FindController.cpp:
18650 (WebKit::FindController::findString):
18651 (WebKit::FindController::hideFindUI):
18652 * WebProcess/WebPage/WebPage.cpp:
18653 (WebKit::WebPage::uninstallPageOverlay):
18654 * WebProcess/WebPage/WebPage.h:
18656 2010-11-12 Anders Carlsson <andersca@apple.com>
18658 Reviewed by Sam Weinig.
18660 Allow MessageSender to override sendMessage
18661 https://bugs.webkit.org/show_bug.cgi?id=49457
18663 Change MessageSender::send to encode the message and then call sendMessage.
18664 This allows for clients to override sendMessage, something which WebProcessProxy
18665 will be able to take advantage of.
18667 * Platform/CoreIPC/MessageSender.h:
18668 (CoreIPC::MessageSender::send):
18669 (CoreIPC::MessageSender::sendMessage):
18671 2010-11-12 Anders Carlsson <andersca@apple.com>
18673 Reviewed by Sam Weinig.
18676 https://bugs.webkit.org/show_bug.cgi?id=49455
18678 Add a static create function to ArgumentEncoder.
18679 Factor sync message argument encoder creation out into a new function,
18680 createSyncMessageArgumentEncoder.
18682 * Platform/CoreIPC/ArgumentEncoder.cpp:
18683 (CoreIPC::ArgumentEncoder::create):
18684 * Platform/CoreIPC/ArgumentEncoder.h:
18685 * Platform/CoreIPC/Connection.cpp:
18686 (CoreIPC::Connection::createSyncMessageArgumentEncoder):
18687 (CoreIPC::Connection::dispatchSyncMessage):
18688 * Platform/CoreIPC/Connection.h:
18689 (CoreIPC::Connection::send):
18690 (CoreIPC::Connection::sendSync):
18691 * UIProcess/WebProcessProxy.h:
18692 (WebKit::WebProcessProxy::send):
18694 2010-11-12 Sam Weinig <sam@webkit.org>
18696 Reviewed by Anders Carlsson.
18698 ASSERTION when converting some WKStringRefs returned from willSubmitForm to CFStringRef
18699 <rdar://problem/8662180>
18700 https://bugs.webkit.org/show_bug.cgi?id=49454
18702 Enforce the invariant that a WebString never contains a null WTF::String at a
18703 lower level, in the WebString constructor, instead of relying on the callers of
18704 WebString::create to do it.
18706 * Shared/API/c/WKSharedAPICast.h:
18708 (WebKit::toCopiedAPI): Remove null string check...
18710 * Shared/WebString.h:
18711 (WebKit::WebString::WebString): ... and move it to the constructor.
18713 * Shared/API/c/WKURL.cpp:
18714 (WKURLCopyString): Use toCopiedAPI() instead of calling WebString directly
18715 to match other similar uses.
18717 2010-11-12 Andreas Kling <kling@webkit.org>
18719 Reviewed by Antonio Gomes.
18721 [Qt][WK2] Fix leaking of mapped files
18723 MappedMemory::fileName was never set on the receiving side, which led
18724 the MappedMemoryPool to call QFile::map() again when reusing an existing file.
18726 * Platform/qt/MappedMemoryPool.cpp:
18727 (WebKit::MappedMemoryPool::mapFile):
18729 2010-11-12 Adam Roben <aroben@apple.com>
18733 * win/WebKit2Generated.make: Copy WKBundlePageOverlay.h.
18735 2010-11-12 Benjamin Poulain <benjamin.poulain@nokia.com>
18737 Unreviewed fix after r71857.
18739 * UIProcess/qt/WebInspectorProxyQt.cpp:
18740 * WebProcess/WebPage/qt/WebInspectorQt.cpp:
18742 2010-11-11 Anders Carlsson <andersca@apple.com>
18744 Reviewed by Darin Adler.
18746 Add didReceiveResponse and didReceiveData to the download client
18747 https://bugs.webkit.org/show_bug.cgi?id=49418
18749 * UIProcess/API/C/WKContext.h:
18750 Add didReceiveResponse and didReceiveData to WKContextDownloadClient.
18752 * UIProcess/Downloads/DownloadProxy.cpp:
18753 (WebKit::DownloadProxy::didReceiveResponse):
18754 (WebKit::DownloadProxy::didReceiveData):
18755 Call WebDownloadClient member functions.
18757 * UIProcess/Downloads/DownloadProxy.messages.in:
18758 Add DidReceiveResponse and DidReceiveData messages.
18760 * UIProcess/WebDownloadClient.cpp:
18761 (WebKit::WebDownloadClient::didReceiveResponse):
18762 (WebKit::WebDownloadClient::didReceiveData):
18763 Call client functions.
18765 * WebKit2.xcodeproj/project.pbxproj:
18766 Let Xcode update the file.
18768 * WebProcess/Downloads/Download.cpp:
18769 (WebKit::Download::didReceiveResponse):
18770 (WebKit::Download::didReceiveData):
18773 * WebProcess/Downloads/mac/DownloadMac.mm:
18774 (WebKit::Download::start):
18775 Set deletesFileUponFailure to NO.
18777 (-[WKDownloadAsDelegate download:didReceiveResponse:]):
18778 Call didReceiveResponse.
18780 2010-11-11 Anders Carlsson <andersca@apple.com>
18782 Reviewed by Sam Weinig.
18784 Add an argument coder for ResourceResponse.
18785 https://bugs.webkit.org/show_bug.cgi?id=49415
18787 * Shared/WebCoreArgumentCoders.h:
18788 * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
18789 (CoreIPC::encodeResourceResponse):
18790 (CoreIPC::decodeResourceResponse):
18791 * Shared/mac/WebCoreArgumentCodersMac.mm:
18792 (CoreIPC::encodeResourceResponse):
18793 (CoreIPC::decodeResourceResponse):
18794 * Shared/qt/WebCoreArgumentCodersQt.cpp:
18795 (CoreIPC::encodeResourceResponse):
18796 (CoreIPC::decodeResourceResponse):
18797 * Shared/win/WebCoreArgumentCodersWin.cpp:
18798 (CoreIPC::encodeResourceResponse):
18799 (CoreIPC::decodeResourceResponse):
18801 2010-11-11 Ryosuke Niwa <rniwa@webkit.org>
18803 Unreviewed build fix for r71587.
18805 * WebKit2.xcodeproj/project.pbxproj: No longer uses absolute path.
18807 2010-11-11 Csaba Osztrogonác <ossy@webkit.org>
18809 [Qt] Unreviewed WebKit2 buildfix after r71587.
18811 * UIProcess/qt/WebInspectorProxyQt.cpp:
18814 2010-11-11 Brian Weinstein <bweinstein@apple.com>
18816 More Windows build fixing. Change another #import to a #include, and remove an unneeded
18819 * UIProcess/win/WebInspectorProxyWin.cpp:
18820 * WebProcess/WebPage/win/WebInspectorWin.cpp:
18822 2010-11-11 Brent Fulgham <bfulgham@webkit.org>
18824 Windows [Cairo] build fix. Unreviewed.
18826 Provide stubs for two BackingStore methods.
18828 * Shared/cairo/BackingStoreCairo.cpp:
18829 (WebKit::BackingStore::createFlippedGraphicsContext):
18830 (WebKit::BackingStore::paint):
18832 2010-11-11 Brian Weinstein <bweinstein@apple.com>
18834 Windows Build Fix. Change #imports to #includes.
18836 * UIProcess/win/WebInspectorProxyWin.cpp:
18838 2010-11-08 Timothy Hatcher <timothy@apple.com>
18840 Create and load the Web Inspector page.
18842 https://webkit.org/b/49207
18844 Reviewed by Anders Carlsson.
18846 * UIProcess/WebInspectorProxy.cpp:
18847 (WebKit::WebInspectorProxy::createInspectorPage): Added. Call platformCreateInspectorPage and then
18848 call WebPageProxy::loadURL with inspectorPageURL.
18849 (WebKit::WebInspectorProxy::didLoadInspectorPage): Added stub.
18850 * UIProcess/WebInspectorProxy.h:
18851 * UIProcess/WebInspectorProxy.messages.in: Added.
18852 * UIProcess/WebPageProxy.cpp:
18853 (WebKit::WebPageProxy::didReceiveMessage): Call WebInspectorProxy::didReceiveWebInspectorProxyMessage.
18854 (WebKit::WebPageProxy::didReceiveSyncMessage): Call WebInspectorProxy::didReceiveSyncWebInspectorProxyMessage.
18855 * UIProcess/WebPageProxy.h: Made creationParameters public so WebInspectorProxy can use it.
18857 * UIProcess/mac/WebInspectorProxyMac.mm:
18858 (WebKit::WebInspectorProxy::platformCreateInspectorPage): Make a WkView and return the WebPageProxy.
18859 (WebKit::WebInspectorProxy::inspectorPageURL): Return the file URL for the inspector.html file.
18860 * UIProcess/qt/WebInspectorProxyQt.cpp:
18861 (WebKit::WebInspectorProxy::platformCreateInspectorPage): Added stub.
18862 (WebKit::WebInspectorProxy::inspectorPageURL): Ditto.
18863 * UIProcess/win/WebInspectorProxyWin.cpp:
18864 (WebKit::WebInspectorProxy::platformCreateInspectorPage): Added stub.
18865 (WebKit::WebInspectorProxy::inspectorPageURL): Ditto.
18867 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
18868 (WebKit::WebInspectorClient::openInspectorFrontend): Call WebInspector::createInspectorPage and set up the WebInspectorFrontendClient.
18869 (WebKit::WebInspectorClient::sendMessageToFrontend): Call doDispatchMessageOnFrontendPage in the base class.
18870 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
18871 (WebKit::WebInspectorFrontendClient::frontendLoaded): Call WebInspector::didLoadInspectorPage.
18872 (WebKit::WebInspectorFrontendClient::localizedStringsURL): Call WebInspector::localizedStringsURL.
18873 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
18875 * WebProcess/WebPage/WebInspector.cpp:
18876 (WebKit::WebInspector::WebInspector):
18877 (WebKit::WebInspector::createInspectorPage): Send a sync WebInspectorProxy::CreateInspectorPage message and set up
18878 the WebPage using the result page ID.
18879 (WebKit::WebInspector::didLoadInspectorPage): Send a WebInspectorProxy::DidLoadInspectorPage message.
18880 * WebProcess/WebPage/WebInspector.h:
18881 (WebKit::WebInspector::inspectorPage): Added.
18882 * WebProcess/WebPage/WebPage.cpp:
18883 (WebKit::WebPage::didReceiveMessage): Call WebInspector::didReceiveWebInspectorMessage.
18885 * WebProcess/WebPage/mac/WebInspectorMac.mm:
18886 (WebKit::WebInspector::localizedStringsURL): Return the file URL for the localizedStrings.js file.
18887 * WebProcess/WebPage/qt/WebInspectorQt.cpp:
18888 (WebKit::WebInspector::localizedStringsURL): Added stub.
18889 * WebProcess/WebPage/win/WebInspectorWin.cpp:
18890 (WebKit::WebInspector::localizedStringsURL): Added stub.
18892 * DerivedSources.make: Added WebInspectorProxy.messages.in.
18893 * DerivedSources.pro: Ditto.
18895 * WebKit2.pro: Added new files.
18896 * WebKit2.xcodeproj/project.pbxproj: Ditto.
18897 * win/WebKit2.vcproj: Ditto.
18899 2010-11-11 Sam Weinig <sam@webkit.org>
18901 Reviewed by Anders Carlsson.
18903 Move the remaining API client classes to use the APIClient base class.
18904 https://bugs.webkit.org/show_bug.cgi?id=49404
18906 Also moves InjectedBundleClient into its own class to match other API clients.
18908 * UIProcess/WebContextInjectedBundleClient.cpp:
18909 * UIProcess/WebContextInjectedBundleClient.h:
18910 * UIProcess/WebHistoryClient.cpp:
18911 (WebKit::WebHistoryClient::didNavigateWithNavigationData):
18912 (WebKit::WebHistoryClient::didPerformClientRedirect):
18913 (WebKit::WebHistoryClient::didPerformServerRedirect):
18914 (WebKit::WebHistoryClient::didUpdateHistoryTitle):
18915 (WebKit::WebHistoryClient::populateVisitedLinks):
18916 * UIProcess/WebHistoryClient.h:
18917 (WebKit::WebHistoryClient::shouldTrackVisitedLinks):
18919 * WebKit2.xcodeproj/project.pbxproj:
18920 * WebProcess/InjectedBundle/InjectedBundle.cpp:
18921 (WebKit::InjectedBundle::initializeClient):
18922 (WebKit::InjectedBundle::reportException):
18923 (WebKit::InjectedBundle::didCreatePage):
18924 (WebKit::InjectedBundle::willDestroyPage):
18925 (WebKit::InjectedBundle::didReceiveMessage):
18926 * WebProcess/InjectedBundle/InjectedBundle.h:
18927 * WebProcess/InjectedBundle/InjectedBundleClient.cpp: Added.
18928 (WebKit::InjectedBundleClient::didCreatePage):
18929 (WebKit::InjectedBundleClient::willDestroyPage):
18930 (WebKit::InjectedBundleClient::didReceiveMessage):
18931 * WebProcess/InjectedBundle/InjectedBundleClient.h: Added.
18932 * win/WebKit2.vcproj:
18934 2010-11-11 Anders Carlsson <andersca@apple.com>
18936 Reviewed by Adam Roben.
18938 Remove an unneeded CFAllocatorRef parameter.
18940 * Shared/API/c/mac/WKURLResponseNS.h:
18941 * Shared/API/c/mac/WKURLResponseNS.mm:
18942 (WKURLResponseCopyNSURLResponse):
18944 2010-11-11 Anders Carlsson <andersca@apple.com>
18946 Reviewed by Adam Roben.
18948 Add and implement WKDownloadCopyRequest
18949 https://bugs.webkit.org/show_bug.cgi?id=49393
18951 * Shared/API/c/mac/WKURLRequestNS.h:
18952 * Shared/API/c/mac/WKURLRequestNS.mm:
18953 (WKURLRequestCopyNSURLRequest):
18954 Remove unneeded CFAllocator parameter.
18956 * Shared/WebURLRequest.cpp:
18957 (WebKit::WebURLRequest::WebURLRequest):
18958 * Shared/WebURLRequest.h:
18959 (WebKit::WebURLRequest::create):
18960 Change create to take a ResourceRequest instead.
18962 * UIProcess/API/C/WKDownload.cpp:
18963 (WKDownloadCopyRequest):
18964 Return a copied WKURLRequest.
18966 * UIProcess/API/C/WKDownload.h:
18967 * UIProcess/Downloads/DownloadProxy.cpp:
18968 (WebKit::DownloadProxy::didStart):
18971 * UIProcess/Downloads/DownloadProxy.h:
18972 (WebKit::DownloadProxy::request):
18973 Return the request.
18975 * UIProcess/Downloads/DownloadProxy.messages.in:
18976 * WebProcess/Downloads/Download.cpp:
18977 (WebKit::Download::didStart):
18978 Pass the request along when sending the DidStart message.
18980 2010-11-11 John Sullivan <sullivan@apple.com>
18982 Rubber-stamped by Anders Carlsson.
18984 * WebKit2.xcodeproj/project.pbxproj:
18985 Added WKBundlePageOverlay.h to the WebKit2 Target and made it public.
18987 2010-11-11 Anders Carlsson <andersca@apple.com>
18989 Reviewed by John Sullivan.
18991 Move GraphicsContext setup code to PageOverlay::drawRect
18992 https://bugs.webkit.org/show_bug.cgi?id=49389
18994 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
18995 * WebProcess/WebPage/FindController.cpp:
18996 (WebKit::FindController::drawRect):
18997 * WebProcess/WebPage/PageOverlay.cpp:
18998 (WebKit::PageOverlay::drawRect):
19000 2010-11-11 Adam Roben <aroben@apple.com>
19002 Build fix after r71816
19004 * WebProcess/WebPage/WebPage.messages.in: Compile out
19005 SetActualVisibleContentRect when ENABLE(TILED_BACKING_STORE) is
19008 2010-11-11 Balazs Kelemen <kbalazs@webkit.org>
19010 Reviewed by Andreas Kling.
19012 [Qt][WK2] Implement BackingStore
19013 https://bugs.webkit.org/show_bug.cgi?id=49377
19015 * Shared/qt/BackingStoreQt.cpp:
19016 (WebKit::createQImage): Added static helper. Creates a QImage
19017 from the shared memory buffer.
19018 (WebKit::BackingStore::createGraphicsContext):
19019 (WebKit::BackingStore::createFlippedGraphicsContext): Leave
19020 unimplemented with an ASSERT_NOT_REACHED since this is only
19021 needed for the CoreGraphics backend.
19022 (WebKit::BackingStore::paint):
19024 2010-11-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
19026 Reviewed by Andreas Kling.
19028 [Qt] Add a Qt WebKit2 API for overriding the actual visible content rect
19029 https://bugs.webkit.org/show_bug.cgi?id=49381
19031 Add an Qt WebKit2 API for overriding the actual visible content rect in
19032 WebCore. This is supposed to be used in combination with tiling.
19034 * UIProcess/API/qt/qwkpage.cpp:
19035 (QWKPage::setActualVisibleContentsRect):
19036 * UIProcess/API/qt/qwkpage.h:
19037 * UIProcess/WebPageProxy.cpp:
19038 (WebKit::WebPageProxy::setActualVisibleContentRect):
19039 * UIProcess/WebPageProxy.h:
19040 * WebProcess/WebPage/WebPage.cpp:
19041 (WebKit::WebPage::setActualVisibleContentRect):
19042 * WebProcess/WebPage/WebPage.h:
19043 * WebProcess/WebPage/WebPage.messages.in:
19045 2010-11-10 Beth Dakin <bdakin@apple.com>
19047 Reviewed by Simon Fraser.
19049 Fix for https://bugs.webkit.org/show_bug.cgi?id=49356
19050 -[WebView _scaleWebView:] should take and origin and scroll the
19052 -and corresponding-
19053 <rdar://problem/8643921>
19055 * Shared/API/c/WKSharedAPICast.h:
19057 * UIProcess/API/C/WKPage.cpp:
19058 (WKPageScaleWebView):
19059 * UIProcess/API/C/WKPage.h:
19060 * UIProcess/WebPageProxy.cpp:
19061 (WebKit::WebPageProxy::scaleWebView):
19062 * UIProcess/WebPageProxy.h:
19063 * WebProcess/WebPage/WebPage.cpp:
19064 (WebKit::WebPage::scaleWebView):
19065 * WebProcess/WebPage/WebPage.h:
19066 * WebProcess/WebPage/WebPage.messages.in:
19068 2010-11-10 Ada Chan <adachan@apple.com>
19072 * win/WebKit2Generated.make:
19074 2010-11-10 Simon Fraser <simon.fraser@apple.com>
19076 Reviewed by Anders Carlsson.
19078 Misc drawing area cleanup
19079 https://bugs.webkit.org/show_bug.cgi?id=49349
19081 * UIProcess/LayerBackedDrawingAreaProxy.cpp:
19082 (WebKit::LayerBackedDrawingAreaProxy::setSize):
19083 (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible):
19084 (WebKit::LayerBackedDrawingAreaProxy::update):
19085 Call process()->send() instead of process()->connection()->send() in case
19086 the web process has not been launched yet.
19088 * WebProcess/WebPage/WebPage.cpp:
19089 (WebKit::WebPage::WebPage): Delay creation of the drawing area
19090 until after other WebPage state has been initialized, in case
19091 the DrawingArea creation needs to call back to the WebPage.
19093 2010-11-10 Simon Fraser <simon.fraser@apple.com>
19095 Reviewed by Adam Roben.
19097 Push m_viewSize down to DrawingAreaProxy base class
19098 https://bugs.webkit.org/show_bug.cgi?id=49347
19100 Some refactoring so that the various drawing area classes
19103 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
19104 (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
19105 * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
19106 * UIProcess/DrawingAreaProxy.h:
19107 (WebKit::DrawingAreaProxy::setSize):
19108 (WebKit::DrawingAreaProxy::size):
19109 * UIProcess/LayerBackedDrawingAreaProxy.cpp:
19110 (WebKit::LayerBackedDrawingAreaProxy::setSize):
19111 * UIProcess/LayerBackedDrawingAreaProxy.h:
19112 * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
19113 (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
19114 (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
19115 * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
19116 (WebKit::LayerBackedDrawingAreaProxy::platformSetSize):
19117 (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext):
19118 * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp:
19119 (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
19120 * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
19121 (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
19123 2010-11-10 Anders Carlsson <andersca@apple.com>
19125 Reviewed by Dan Bernstein.
19127 Closing tabs sometimes crashes the WebProcess in invalidateContentsAndWindow
19128 https://bugs.webkit.org/show_bug.cgi?id=49335
19129 <rdar://problem/8646621>
19131 * WebProcess/WebPage/WebPage.cpp:
19132 (WebKit::WebPage::changeAcceleratedCompositingMode):
19133 If we fail to send the DidChangeAcceleratedCompositing message, don't null out the
19134 drawing area. This will happen during page teardown.
19136 2010-11-10 Csaba Osztrogonác <ossy@webkit.org>
19138 Reviewed by David Hyatt.
19140 HTML5 Ruby support should be mandatory feature
19141 https://bugs.webkit.org/show_bug.cgi?id=49272
19143 Remove Ruby as optional feature.
19145 * Configurations/FeatureDefines.xcconfig:
19146 * WebKit2Prefix.h: Touch it to avoid incremental build failure on Windows.
19148 2010-11-10 Sam Weinig <sam@webkit.org>
19150 Reviewed by Anders Carlsson.
19152 Add license to DerivedSources.make.
19154 * DerivedSources.make:
19156 2010-11-09 Sam Weinig <sam@webkit.org>
19158 Reviewed by Adam Roben.
19160 Convert client classes to use APIClient base class.
19161 https://bugs.webkit.org/show_bug.cgi?id=49322
19163 * UIProcess/WebFormClient.cpp:
19164 (WebKit::WebFormClient::willSubmitForm):
19165 * UIProcess/WebFormClient.h:
19166 * UIProcess/WebLoaderClient.cpp:
19167 * UIProcess/WebLoaderClient.h:
19168 * UIProcess/WebPolicyClient.cpp:
19169 * UIProcess/WebPolicyClient.h:
19170 * UIProcess/WebUIClient.cpp:
19171 * UIProcess/WebUIClient.h:
19172 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
19173 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
19174 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
19175 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
19176 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
19177 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
19178 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
19179 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
19180 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
19181 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
19183 2010-11-10 Andreas Kling <kling@webkit.org>
19185 Reviewed by Kenneth Rohde Christiansen.
19187 [Qt][WK2] Fix re-use of memory-mapped files
19188 https://bugs.webkit.org/show_bug.cgi?id=49310
19190 QTemporaryFile::fileName() returns an empty string after close()
19191 so we have to keep separate track of the filename.
19193 Also, we can't reopen the file if it's been QFile::remove()d,
19194 so we defer unlinking until the MappedMemoryPool is destroyed or
19195 the CrashHandler kicks in.
19197 This makes re-use of memory-mapped files work (after we kill an
19198 assertion that the file size == the new mmap size - it's fine if
19199 the file is larger, too.)
19201 * Platform/qt/MappedMemoryPool.cpp:
19202 (WebKit::MappedMemoryPool::~MappedMemoryPool):
19203 (WebKit::MappedMemoryPool::clear):
19204 (WebKit::MappedMemoryPool::mapMemory):
19205 (WebKit::MappedMemoryPool::mapFile):
19206 * Platform/qt/MappedMemoryPool.h:
19207 (WebKit::MappedMemory::mappedFileName):
19208 * Shared/qt/CrashHandler.cpp:
19209 (WebKit::CrashHandler::deleteObjects):
19210 * Shared/qt/UpdateChunk.cpp:
19211 (WebKit::UpdateChunk::encode):
19213 2010-11-09 Brady Eidson <beidson@apple.com>
19215 Reviewed by the ever-picky Windows build-bot.
19217 Windows build bot was complaining about this.
19219 * Shared/WebContextMenuItemData.cpp:
19220 (WebKit::WebContextMenuItemData::core):
19222 2010-11-09 Anders Carlsson <andersca@apple.com>
19224 Reviewed by John Sullivan.
19226 WKDownload.h should be a public header.
19228 * WebKit2.xcodeproj/project.pbxproj:
19230 2010-11-09 Brady Eidson <beidson@apple.com>
19232 Reviewed by Darin Adler.
19234 Part of <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=48720
19235 Customizable context menu support in WebKit2.
19237 This adds a BundlePageContextMenu client and lets WebKit2 consult it with the proposed
19238 list of WebContextMenuItems.
19239 There is no realistic API for the embedding app to actually inspect or create new
19240 WebContextMenuItems (will be "WKContextMenuItem") and that ability will come later.
19243 * WebKit2.xcodeproj/project.pbxproj:
19244 * win/WebKit2.vcproj:
19246 * Platform/Logging.cpp:
19247 (initializeLogChannelsIfNecessary):
19248 * Platform/Logging.h:
19250 * Shared/APIObject.h:
19252 * Shared/MutableArray.cpp:
19253 (WebKit::MutableArray::reserveCapacity):
19254 * Shared/MutableArray.h:
19256 * Shared/WebContextMenuItem.cpp: Added.
19257 (WebKit::WebContextMenuItem::WebContextMenuItem):
19258 (WebKit::WebContextMenuItem::data):
19259 * Shared/WebContextMenuItem.h: Added.
19260 (WebKit::WebContextMenuItem::create):
19261 (WebKit::WebContextMenuItem::type):
19263 * Shared/WebContextMenuItemData.cpp:
19264 (WebKit::WebContextMenuItemData::core):
19265 (WebKit::kitItems):
19266 (WebKit::coreItems):
19267 * Shared/WebContextMenuItemData.h:
19269 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
19270 (WKBundlePageSetContextMenuClient):
19271 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
19273 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp: Added.
19274 (WebKit::InjectedBundlePageContextMenuClient::InjectedBundlePageContextMenuClient):
19275 (WebKit::InjectedBundlePageContextMenuClient::initialize):
19276 (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
19277 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h: Added.
19279 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
19280 (WebKit::WebContextMenuClient::getCustomMenuFromDefaultItems): Call through to the injected bundle client
19281 with the default items and convert the returned items back for WebCore to use.
19283 * WebProcess/WebPage/WebPage.cpp:
19284 (WebKit::WebPage::initializeInjectedBundleContextMenuClient):
19285 * WebProcess/WebPage/WebPage.h:
19286 (WebKit::WebPage::injectedBundleContextMenuClient):
19288 2010-11-09 Sam Weinig <sam@webkit.org>
19290 Add some stylistic flourish to the last patch as suggested by Lord Darin Adler.
19292 * UIProcess/API/C/WKPage.cpp:
19293 (WKPageGetSourceForFrame):
19294 (WKPageGetContentsAsString):
19295 * UIProcess/WebPageProxy.cpp:
19296 (WebKit::invalidateCallbackMap):
19297 * WebProcess/WebPage/WebFrame.cpp:
19298 (WebKit::WebFrame::contentsAsString):
19300 2010-11-09 Sam Weinig <sam@webkit.org>
19302 Reviewed by Anders Carlsson.
19304 Need WebKit2 mechanism for getting the visible page text
19305 <rdar://problem/8646928>
19306 https://bugs.webkit.org/show_bug.cgi?id=49275
19308 * UIProcess/API/C/WKPage.cpp:
19309 (WKPageGetContentsAsString):
19310 (callContentsAsStringBlockBlockAndDispose):
19311 (WKPageGetContentsAsString_b):
19312 * UIProcess/API/C/WKPage.h:
19313 Add GetContentsAsString callback function declaration and forwarding.
19315 * UIProcess/WebPageProxy.cpp:
19316 (WebKit::invalidateCallbackMap):
19317 (WebKit::WebPageProxy::close):
19318 (WebKit::WebPageProxy::getContentsAsString):
19319 (WebKit::WebPageProxy::didGetContentsAsString):
19320 (WebKit::WebPageProxy::processDidCrash):
19321 * UIProcess/WebPageProxy.h:
19322 Add GetContentsAsString callback and generalize invalidating the callback
19323 maps into a standalone function.
19325 * UIProcess/WebPageProxy.messages.in:
19326 Add DidGetContentsAsString return message.
19328 * WebProcess/WebPage/WebFrame.h:
19329 * WebProcess/WebPage/WebFrame.cpp:
19330 (WebKit::WebFrame::contentsAsString):
19331 Gets the string content of all the subframes.
19333 (WebKit::WebFrame::isFrameSet):
19334 Call through to the document.
19336 * WebProcess/WebPage/WebPage.h:
19337 * WebProcess/WebPage/WebPage.cpp:
19338 (WebKit::WebPage::getContentsAsString):
19339 Forward to the the main frames contentsAsString function.
19341 * WebProcess/WebPage/WebPage.messages.in:
19342 Add GetContentsAsString and collect all callback messages together.
19344 2010-11-09 Sam Weinig <sam@webkit.org>
19348 * WebProcess/mac/WebProcessMac.mm:
19349 (WebKit::WebProcess::platformSetCacheModel):
19351 2010-11-09 Simon Fraser <simon.fraser@apple.com>
19353 Reviewed by Darin Adler, Dan Bernstein.
19355 <rdar://problem/8360145> Pages using accelerated compositing missing content on Windows
19357 Disable accelerated compositing on Windows until we have cross-process
19358 rendering implemented.
19360 * WebProcess/WebPage/WebPage.cpp:
19361 (WebKit::WebPage::updatePreferences):
19363 2010-11-09 Anders Carlsson <andersca@apple.com>
19365 Reviewed by Sam Weinig.
19367 Add injected bundle API for creating page overlays
19368 https://bugs.webkit.org/show_bug.cgi?id=49282
19370 * Shared/API/c/WKBase.h:
19371 Add WKBundlePageOverlayRef.
19373 * Shared/APIObject.h:
19374 Add TypeBundlePageOverlay.
19377 * WebKit2.xcodeproj/project.pbxproj:
19380 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
19381 Add WKBundlePageOverlayRef mapping.
19383 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
19384 (WKBundlePageInstallPageOverlay):
19385 Install the passed in page overlay.
19387 (WKBundlePageUninstallPageOverlay):
19388 Uninstall the passed in page overlay.
19390 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: Added.
19391 (PageOverlayClientImpl::create):
19392 (PageOverlayClientImpl::PageOverlayClientImpl):
19393 (PageOverlayClientImpl::pageOverlayDestroyed):
19394 (PageOverlayClientImpl::willMoveToWebPage):
19395 (PageOverlayClientImpl::didMoveToWebPage):
19396 (PageOverlayClientImpl::drawRect):
19397 (PageOverlayClientImpl::mouseEvent):
19398 Add a PageOverlay::Client subclass that forwards everything to its client.
19400 (WKBundlePageOverlayGetTypeID):
19401 (WKBundlePageOverlayCreate):
19402 Create a page overlay.
19404 * WebProcess/WebPage/FindController.cpp:
19405 (WebKit::FindController::pageOverlayDestroyed):
19406 * WebProcess/WebPage/FindController.h:
19409 * WebProcess/WebPage/PageOverlay.h:
19410 Inherit from APIObject.
19412 (WebKit::PageOverlay::type):
19413 return TypeBundlePageOverlay.
19415 * win/WebKit2.vcproj:
19418 2010-11-09 Anders Carlsson <andersca@apple.com>
19420 Reviewed by Sam Weinig.
19422 Get rid of FindPageOverlay
19423 https://bugs.webkit.org/show_bug.cgi?id=49268
19426 * WebKit2.xcodeproj/project.pbxproj:
19429 * WebProcess/WebPage/FindController.cpp:
19430 (WebKit::FindController::findString):
19431 Create a PageOverlay with the FindController as its client.
19433 (WebKit::FindController::willMoveToWebPage):
19434 Null out the find page overlay if the web page is null.
19436 (WebKit::FindController::didMoveToWebPage):
19439 * WebProcess/WebPage/FindController.h:
19440 FindController is now a PageOverlay::Client.
19442 * WebProcess/WebPage/FindPageOverlay.cpp: Removed.
19443 * WebProcess/WebPage/FindPageOverlay.h: Removed.
19444 * WebProcess/WebPage/PageOverlay.cpp:
19445 (WebKit::PageOverlay::setPage):
19446 Call the willMoveToWebPage and didMoveToWebPage client functions.
19448 (WebKit::PageOverlay::setNeedsDisplay):
19449 Pass the page overlay bounds instead of the web page size.
19451 * WebProcess/WebPage/WebPage.cpp:
19452 (WebKit::WebPage::installPageOverlay):
19453 Clear the page of the previous page overlay.
19455 (WebKit::WebPage::uninstallPageOverlay):
19456 Clear the page of the previous page overlay.
19458 * WebProcess/WebPage/WebPage.h:
19459 The page overlay is now refcounted.
19461 * win/WebKit2.vcproj:
19464 2010-11-09 Sam Weinig <sam@webkit.org>
19468 * WebProcess/win/WebProcessWin.cpp:
19469 (WebKit::WebProcess::platformSetCacheModel):
19471 2010-11-09 Sam Weinig <sam@webkit.org>
19473 Reviewed by Adam Roben.
19475 Factor calculation of cache sizes based on cache model into shared function
19476 https://bugs.webkit.org/show_bug.cgi?id=48706
19478 * WebProcess/WebProcess.cpp:
19479 (WebKit::WebProcess::calculateCacheSizes):
19480 * WebProcess/WebProcess.h:
19481 * WebProcess/mac/WebProcessMac.mm:
19482 (WebKit::volumeFreeSize):
19483 (WebKit::WebProcess::platformSetCacheModel):
19484 * WebProcess/win/WebProcessWin.cpp:
19485 (WebKit::memorySize):
19486 (WebKit::volumeFreeSize):
19487 (WebKit::WebProcess::platformSetCacheModel):
19489 2010-11-09 Sam Weinig <sam@webkit.org>
19491 Reviewed by Anders Carlsson.
19493 Context menus show up in the wrong place when the page is scrolled
19494 https://bugs.webkit.org/show_bug.cgi?id=49264
19496 Convert the hitTestResult point into 'window' coordinates before sending over
19497 to the UIProcess to show the menu.
19499 * WebProcess/WebPage/WebContextMenu.cpp:
19500 (WebKit::WebContextMenu::show):
19501 Convert to use message sender interface.
19503 (WebKit::WebContextMenu::itemSelected):
19504 Remove unnecessary WebCore::'s.
19506 2010-11-09 Sam Weinig <sam@webkit.org>
19508 Reviewed by Anders Carlsson.
19510 Send messages directly to the WebContext
19511 https://bugs.webkit.org/show_bug.cgi?id=49262
19513 * Platform/CoreIPC/MessageID.h:
19514 Temporarily add MessageClassWebContextLegacy.
19516 * Shared/CoreIPCSupport/WebContextMessageKinds.h:
19517 Rename adding Legacy prefix.
19519 * UIProcess/WebContext.cpp:
19520 (WebKit::WebContext::didNavigateWithNavigationData):
19521 (WebKit::WebContext::didPerformClientRedirect):
19522 (WebKit::WebContext::didPerformServerRedirect):
19523 (WebKit::WebContext::didUpdateHistoryTitle):
19524 (WebKit::WebContext::setCacheModel):
19525 (WebKit::WebContext::addVisitedLink):
19526 (WebKit::WebContext::addVisitedLinkHash):
19527 (WebKit::WebContext::getPlugins):
19528 (WebKit::WebContext::getPluginPath):
19529 (WebKit::WebContext::didReceiveMessage):
19530 (WebKit::WebContext::didReceiveSyncMessage):
19531 * UIProcess/WebContext.h:
19532 * UIProcess/WebContext.messages.in: Added.
19533 * UIProcess/WebProcessProxy.cpp:
19534 (WebKit::WebProcessProxy::getPluginProcessConnection):
19535 (WebKit::WebProcessProxy::didReceiveMessage):
19536 (WebKit::WebProcessProxy::didReceiveSyncMessage):
19537 * UIProcess/WebProcessProxy.h:
19538 * UIProcess/WebProcessProxy.messages.in:
19539 * WebProcess/InjectedBundle/InjectedBundle.cpp:
19540 (WebKit::InjectedBundle::postMessage):
19541 (WebKit::InjectedBundle::postSynchronousMessage):
19542 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
19543 (WebKit::WebFrameLoaderClient::updateGlobalHistory):
19544 (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
19545 (WebKit::WebFrameLoaderClient::setTitle):
19546 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
19547 (WebKit::WebPlatformStrategies::populatePluginCache):
19548 * WebProcess/WebPage/WebPage.cpp:
19549 (WebKit::WebPage::createPlugin):
19550 * WebProcess/WebProcess.cpp:
19551 (WebKit::WebProcess::addVisitedLink):
19552 Move context related messages to be sent directly to the context.
19554 * DerivedSources.make:
19555 * DerivedSources.pro:
19557 * WebKit2.xcodeproj/project.pbxproj:
19558 * win/WebKit2.vcproj:
19561 2010-11-09 Anders Carlsson <andersca@apple.com>
19563 Reviewed by John Sullivan.
19565 Move the find page overlay code to FindController
19566 https://bugs.webkit.org/show_bug.cgi?id=49266
19568 * WebProcess/WebPage/FindController.cpp:
19569 (WebKit::FindController::~FindController):
19570 (WebKit::FindController::rectsForTextMatches):
19571 (WebKit::overlayBackgroundColor):
19572 (WebKit::FindController::drawRect):
19573 (WebKit::FindController::mouseEvent):
19574 * WebProcess/WebPage/FindController.h:
19575 * WebProcess/WebPage/FindPageOverlay.cpp:
19576 (WebKit::FindPageOverlay::drawRect):
19577 (WebKit::FindPageOverlay::mouseEvent):
19578 * WebProcess/WebPage/FindPageOverlay.h:
19579 * WebProcess/WebPage/PageOverlay.cpp:
19580 (WebKit::PageOverlay::bounds):
19581 (WebKit::PageOverlay::drawRect):
19582 (WebKit::PageOverlay::mouseEvent):
19583 * WebProcess/WebPage/PageOverlay.h:
19585 2010-11-09 Anders Carlsson <andersca@apple.com>
19587 Reviewed by John Sullivan.
19589 Add a PageOverlay::Client object in preparation of not allowing subclassing of PageOverlay
19590 https://bugs.webkit.org/show_bug.cgi?id=49263
19592 * WebProcess/WebPage/FindPageOverlay.cpp:
19593 (WebKit::FindPageOverlay::FindPageOverlay):
19594 Call the PageOverlay constructor.
19596 (WebKit::FindPageOverlay::drawRect):
19597 (WebKit::FindPageOverlay::mouseEvent):
19598 These now take a PageOverlay callback.
19600 * WebProcess/WebPage/FindPageOverlay.h:
19601 FindPageOverlay now inherits from PageOverlay::Client.
19603 * WebProcess/WebPage/PageOverlay.cpp:
19604 (WebKit::PageOverlay::create):
19605 Add create function.
19607 (WebKit::PageOverlay::PageOverlay):
19608 The constructor now takes a client.
19610 (WebKit::PageOverlay::drawRect):
19611 (WebKit::PageOverlay::mouseEvent):
19612 Call the client methods.
19614 * WebProcess/WebPage/PageOverlay.h:
19617 2010-11-09 Dan Bernstein <mitz@apple.com>
19619 Rubber-stamped by Darin Adler.
19621 <rdar://problem/8646456> WebProcess crashes reproducibly on complex text
19623 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
19624 (InitWebCoreSystemInterface): Initialize wkCreateCTTypesetterWithUniCharProviderAndOptions
19625 and wkCreateCTLineWithUniCharProvider.
19627 2010-11-09 Sam Weinig <sam@webkit.org>
19631 * win/WebKit2.vcproj:
19633 2010-11-09 Sam Weinig <sam@webkit.org>
19639 2010-11-09 Sam Weinig <sam@webkit.org>
19641 Reviewed by Anders Carlsson.
19643 Windows Popup widget support (<select>)
19644 <rdar://problem/8559439>
19645 https://bugs.webkit.org/show_bug.cgi?id=48701
19647 Port WebCore's PopupMenuWin's implementation to work within the confines of WebKit2.
19648 Since we currently can't draw text using WebCore in the UIProcess, this approach uses
19649 the WebProcess to create two bitmaps representing the full popup menu (both unselected and
19650 selected) and sends them to the UIProcess to be drawn in an HWND.
19652 * Shared/BackingStore.h:
19653 * Shared/cg/BackingStoreCG.cpp:
19654 * Shared/qt/BackingStoreQt.cpp:
19656 Add new function to create a flipped graphics context from the backing store,
19657 and add additional parameters to paint, to allow more control of how the backing
19658 store is painted into the destination context.
19660 * Shared/PlatformPopupMenuData.cpp: Added.
19661 (WebKit::PlatformPopupMenuData::PlatformPopupMenuData):
19662 (WebKit::PlatformPopupMenuData::encode):
19663 (WebKit::PlatformPopupMenuData::decode):
19664 * Shared/PlatformPopupMenuData.h: Added.
19665 Add struct so platforms can send platform specific data to their popup menu implementations.
19667 * Shared/WebPopupItem.cpp:
19668 (WebKit::WebPopupItem::WebPopupItem):
19669 (WebKit::WebPopupItem::encode):
19670 (WebKit::WebPopupItem::decode):
19671 * Shared/WebPopupItem.h:
19672 Add isLabel for each menu item.
19674 * UIProcess/FindIndicator.cpp:
19675 (WebKit::FindIndicator::draw):
19676 Update for new BackingStore::paint signature.
19678 * UIProcess/WebPageProxy.cpp:
19679 (WebKit::WebPageProxy::showPopupMenu):
19680 * UIProcess/WebPageProxy.h:
19681 * UIProcess/WebPageProxy.messages.in:
19682 * UIProcess/WebPopupMenuProxy.h:
19683 * UIProcess/mac/WebPopupMenuProxyMac.h:
19684 * UIProcess/mac/WebPopupMenuProxyMac.mm:
19685 (WebKit::WebPopupMenuProxyMac::showPopupMenu):
19686 * UIProcess/qt/WebPopupMenuProxyQt.cpp:
19687 (WebKit::WebPopupMenuProxyQt::showPopupMenu):
19688 * UIProcess/qt/WebPopupMenuProxyQt.h:
19689 Pass through the new PlatformPopupMenuData.
19691 * UIProcess/win/WebPopupMenuProxyWin.cpp:
19692 * UIProcess/win/WebPopupMenuProxyWin.h:
19693 Port implementation from WebCore.
19695 * UIProcess/win/WebView.cpp:
19696 (WebKit::WebView::createPopupMenuProxy):
19697 Pass the WebView to the WebPopupMenuProxyWin.
19699 * WebProcess/Plugins/PluginProxy.cpp:
19700 (WebKit::PluginProxy::paint):
19701 (WebKit::PluginProxy::update):
19702 Update for new BackingStore::paint signature.
19704 * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
19705 (WebKit::WebPopupMenu::populateItems): Add isLabel for each item.
19706 (WebKit::WebPopupMenu::show): Give each platform a chance to add platform specific data.
19707 * WebProcess/WebCoreSupport/WebPopupMenu.h:
19709 * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm: Added.
19710 (WebKit::WebPopupMenu::setUpPlatformData):
19711 * WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp: Added.
19712 (WebKit::WebPopupMenu::setUpPlatformData):
19713 Add stubbed out setUpPlatformData.
19715 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: Added.
19716 (WebKit::WebPopupMenu::setUpPlatformData):
19717 Compute data needed in the UIProcess including generating the bitmaps.
19720 * WebKit2.xcodeproj/project.pbxproj:
19721 * win/WebKit2.vcproj:
19724 2010-11-09 Balazs Kelemen <kbalazs@webkit.org>
19726 Reviewed by Csaba Osztrogonác.
19728 [Qt][WK2] ASSERT fail in fast/frames/lots-of-objects.html
19729 https://bugs.webkit.org/show_bug.cgi?id=49253
19731 * Platform/qt/SharedMemoryQt.cpp:
19732 (WebKit::SharedMemory::create): Do not assert
19733 when the attach was unsuccessful but return with 0.
19735 2010-11-09 Balazs Kelemen <kbalazs@webkit.org>
19737 Reviewed by Andreas Kling.
19739 [Qt][WK2] WebKitTestRunner is dead
19740 https://bugs.webkit.org/show_bug.cgi?id=49129
19742 * Platform/qt/SharedMemoryQt.cpp:
19743 (WebKit::SharedMemory::~SharedMemory):
19744 Follow up fix: do not access the QSharedMemory object
19745 in an assert if it has been deleted.
19747 2010-11-08 Kenneth Rohde Christiansen <kenneth@webkit.org>
19749 Reviewed by Andreas Kling.
19751 Send page scroll requests to the PageClient when scroll delegation is turned on
19752 https://bugs.webkit.org/show_bug.cgi?id=49171
19754 Implement the IPC and API required for making scroll delegation work
19755 with WebKit2. This is only used when you have tiling enabled.
19757 * UIProcess/API/qt/qwkpage.cpp:
19758 (QWKPagePrivate::pageDidRequestScroll):
19759 * UIProcess/API/qt/qwkpage.h:
19760 * UIProcess/API/qt/qwkpage_p.h:
19761 * UIProcess/PageClient.h:
19762 * UIProcess/WebPageProxy.cpp:
19763 (WebKit::WebPageProxy::pageDidRequestScroll):
19764 * UIProcess/WebPageProxy.h:
19765 * UIProcess/WebPageProxy.messages.in:
19766 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
19767 (WebKit::WebChromeClient::delegatedScrollRequested):
19768 * WebProcess/WebPage/WebPage.cpp:
19769 (WebKit::WebPage::pageDidRequestScroll):
19770 * WebProcess/WebPage/WebPage.h:
19772 2010-11-08 Ivan Krstić <ike@apple.com>
19774 Reviewed by Mark Rowe.
19776 <rdar://problem/8531943> Enable partial symbolication for sandbox violations in WebProcess.
19778 * WebProcess/com.apple.WebProcess.sb:
19780 2010-11-08 Juha Savolainen <juha.savolainen@weego.fi>
19782 Reviewed by Andreas Kling.
19784 [Qt] Added new methods to QWKHistory and made QWKHistoryItemPrivate to shared object.
19785 https://bugs.webkit.org/show_bug.cgi?id=49063
19787 Added more functionality to the QWKHistory and changed QWKHistoryItemPrivate to shared object.
19788 This is needed because we cannot delete the QWKHistoryItemPrivate pointer in destructor of QWKHistoryItem,
19789 there may have other history instances which share same private implementation.
19791 * UIProcess/API/qt/qwkhistory.cpp:
19792 (QWKHistoryItemPrivate::~QWKHistoryItemPrivate):
19793 (QWKHistoryItem::QWKHistoryItem):
19794 (QWKHistoryItem::QWKHistoryItem::operator=):
19795 (QWKHistory::currentItem): Added
19796 (QWKHistory::backItem): Added
19797 (QWKHistory::forwardItem): Added
19798 (QWKHistory::itemAt): Added
19799 (QWKHistory::backItems): Added
19800 (QWKHistory::forwardItems): Added
19801 * UIProcess/API/qt/qwkhistory.h:
19802 * UIProcess/API/qt/qwkhistory_p.h:
19804 2010-11-08 Anders Carlsson <andersca@apple.com>
19806 Reviewed by Dan Bernstein.
19808 Add WKDownloadClient API
19809 https://bugs.webkit.org/show_bug.cgi?id=49227
19811 * Shared/API/c/WKBase.h:
19814 * UIProcess/API/C/WKAPICast.h:
19815 Add WKDownloadRef <-> DownloadProxy mapping.
19817 * UIProcess/API/C/WKContext.cpp:
19818 (WKContextSetDownloadClient):
19819 Initialize the download client.
19821 * UIProcess/API/C/WKContext.h:
19822 Add new WKContextDownloadClient API.
19824 * UIProcess/API/C/WKDownload.cpp: Added.
19825 * UIProcess/API/C/WKDownload.h:
19826 Add WKDownload files.
19828 * UIProcess/Downloads/DownloadProxy.cpp:
19829 (WebKit::DownloadProxy::didStart):
19830 (WebKit::DownloadProxy::didCreateDestination):
19831 (WebKit::DownloadProxy::didFinish):
19832 Call down to the the WebDownloadClient.
19834 * UIProcess/Downloads/DownloadProxy.messages.in:
19835 Rename DidBegin to DidStart.
19837 * UIProcess/WebContext.cpp:
19838 (WebKit::WebContext::initializeDownloadClient):
19839 Initialize the download client.
19841 * UIProcess/WebContext.h:
19842 (WebKit::WebContext::downloadClient):
19845 * UIProcess/WebDownloadClient.cpp:
19846 (WebKit::WebDownloadClient::didStart):
19847 (WebKit::WebDownloadClient::didCreateDestination):
19848 (WebKit::WebDownloadClient::didFinish):
19849 Call the relevant WKContextDownloadClient functions.
19852 * WebKit2.xcodeproj/project.pbxproj:
19855 * WebProcess/Downloads/Download.cpp:
19856 (WebKit::Download::didStart):
19857 * WebProcess/Downloads/Download.h:
19858 * WebProcess/Downloads/mac/DownloadMac.mm:
19859 (-[WKDownloadAsDelegate downloadDidBegin:]):
19860 Rename Download::didBegin to Download::didStart.
19862 * win/WebKit2.vcproj:
19865 2010-11-08 Brady Eidson <beidson@apple.com>
19867 Reviewed by Anders Carlsson.
19869 Part of https://bugs.webkit.org/show_bug.cgi?id=49222
19870 Rename "WebContextMenuItem" to "WebContextMenuItemData"
19873 * WebKit2.xcodeproj/project.pbxproj:
19874 * win/WebKit2.vcproj:
19876 * Shared/WebContextMenuItem.cpp: Removed.
19877 * Shared/WebContextMenuItem.h: Removed.
19878 * Shared/WebContextMenuItemData.cpp: Copied from Shared/WebContextMenuItem.cpp.
19879 (WebKit::WebContextMenuItemData::WebContextMenuItemData):
19880 (WebKit::WebContextMenuItemData::encode):
19881 (WebKit::WebContextMenuItemData::decode):
19882 (WebKit::kitItems):
19883 * Shared/WebContextMenuItemData.h: Copied from Shared/WebContextMenuItem.h.
19884 (WebKit::WebContextMenuItemData::submenu):
19886 * UIProcess/WebContextMenuProxy.h:
19888 * UIProcess/WebPageProxy.cpp:
19889 (WebKit::WebPageProxy::showContextMenu):
19890 (WebKit::WebPageProxy::contextMenuItemSelected):
19891 * UIProcess/WebPageProxy.h:
19892 * UIProcess/WebPageProxy.messages.in:
19894 * UIProcess/mac/WebContextMenuProxyMac.h:
19895 * UIProcess/mac/WebContextMenuProxyMac.mm:
19896 (-[WebMenuTarget forwardContextMenuAction:]):
19897 (WebKit::WebContextMenuProxyMac::contextMenuItemSelected):
19898 (WebKit::nsMenuItemVector):
19899 (WebKit::WebContextMenuProxyMac::populate):
19900 (WebKit::WebContextMenuProxyMac::showContextMenu):
19902 * UIProcess/qt/WebContextMenuProxyQt.cpp:
19903 (WebKit::WebContextMenuProxyQt::showContextMenu):
19904 * UIProcess/qt/WebContextMenuProxyQt.h:
19906 * UIProcess/win/WebContextMenuProxyWin.cpp:
19907 (WebKit::WebContextMenuProxyWin::showContextMenu):
19908 * UIProcess/win/WebContextMenuProxyWin.h:
19910 * WebProcess/WebPage/WebContextMenu.cpp:
19911 (WebKit::WebContextMenu::itemSelected):
19912 * WebProcess/WebPage/WebContextMenu.h:
19914 * WebProcess/WebPage/WebPage.cpp:
19915 (WebKit::WebPage::didSelectItemFromActiveContextMenu):
19916 * WebProcess/WebPage/WebPage.h:
19917 * WebProcess/WebPage/WebPage.messages.in:
19919 2010-11-08 Anders Carlsson <andersca@apple.com>
19921 Reviewed by John Sullivan and Dan Bernstein.
19923 Find in Page: scrolling the page with the scrollbar while overlay is up dismisses the overlay
19924 https://bugs.webkit.org/show_bug.cgi?id=49219
19925 <rdar://problem/8569550>
19927 * WebProcess/WebPage/FindPageOverlay.cpp:
19928 (WebKit::FindPageOverlay::bounds):
19929 Return the bounds of the find page overlay, excluding any scrollbars.
19931 (WebKit::FindPageOverlay::drawRect):
19934 (WebKit::FindPageOverlay::mouseEvent):
19935 Only dismiss the find UI if the mouse down event happens inside the overlay bounds.
19937 2010-11-08 Anders Carlsson <andersca@apple.com>
19939 Reviewed by Adam Roben.
19941 Add the ability to send messages to DownloadProxy objects
19942 https://bugs.webkit.org/show_bug.cgi?id=49213
19944 * DerivedSources.make:
19945 * DerivedSources.pro:
19946 Add Download.messages.in.
19948 * Platform/CoreIPC/MessageID.h:
19949 Add MessageClassDownloadProxy message class.
19951 * Platform/CoreIPC/MessageSender.h:
19952 Include Connection.h directly since it's required.
19954 * UIProcess/Downloads/DownloadProxy.cpp:
19955 (WebKit::DownloadProxy::didBegin):
19956 (WebKit::DownloadProxy::didCreateDestination):
19957 (WebKit::DownloadProxy::didFinish):
19960 * UIProcess/Downloads/DownloadProxy.messages.in: Added.
19962 * UIProcess/WebContext.cpp:
19963 (WebKit::WebContext::didReceiveMessage):
19964 Handle DownloadProxy messages.
19966 * UIProcess/WebProcessProxy.cpp:
19967 (WebKit::WebProcessProxy::didReceiveMessage):
19968 Hand DownloadProxy messages off to the context.
19971 * WebKit2.xcodeproj/project.pbxproj:
19974 * WebProcess/Downloads/Download.cpp:
19975 (WebKit::Download::didBegin):
19976 (WebKit::Download::didReceiveData):
19977 (WebKit::Download::didCreateDestination):
19978 (WebKit::Download::didFinish):
19981 * WebProcess/Downloads/mac/DownloadMac.mm:
19982 (-[WKDownloadAsDelegate download:didCreateDestination:]):
19983 Call Download::didCreateDestination.
19985 * win/WebKit2.vcproj:
19988 2010-11-08 Anders Carlsson <andersca@apple.com>
19990 Reviewed by Adam Roben.
19992 Add DownloadProxy object
19993 https://bugs.webkit.org/show_bug.cgi?id=49211
19995 DownloadProxy will be the implementation of the forthcoming WKDownloadRef object.
19997 * Shared/APIObject.h:
20000 * UIProcess/Downloads/DownloadProxy.cpp:
20001 (WebKit::generateDownloadID):
20002 Generate a unique download ID.
20004 (WebKit::DownloadProxy::invalidate):
20005 Null out the web context.
20007 * UIProcess/Downloads/DownloadProxy.h:
20008 (WebKit::WebContext::processDidClose):
20009 Invalidate all downloads.
20011 (WebKit::WebContext::createDownloadProxy):
20012 Create a WebDownload object.
20014 * UIProcess/WebPageProxy.cpp:
20015 (WebKit::WebPageProxy::receivedPolicyDecision):
20016 Call createDownloadProxy instead.
20019 * WebKit2.xcodeproj/project.pbxproj:
20020 * win/WebKit2.vcproj:
20023 * win/WebKit2Common.vsprops:
20024 Add new include path.
20026 2010-11-08 Alexey Proskuryakov <ap@apple.com>
20028 Reviewed by Darin Adler.
20030 https://bugs.webkit.org/show_bug.cgi?id=49201
20031 Crash when closing a page
20033 Handle null frame by passing a 0 frame id (normal ones start from 1).
20035 * UIProcess/WebPageProxy.cpp:
20036 (WebKit::WebPageProxy::focusedFrameChanged):
20037 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
20038 (WebKit::WebChromeClient::focusedFrameChanged):
20040 2010-11-08 Nate Chapin <japhet@chromium.org>
20042 Reviewed by Alexey Proskuryakov.
20044 Function call update for
20045 https://bugs.webkit.org/show_bug.cgi?id=27165.
20047 * WebProcess/Plugins/PluginView.cpp:
20048 (WebKit::PluginView::Stream::start):
20050 2010-11-08 Anders Carlsson <andersca@apple.com>
20052 Reviewed by Adam Roben.
20054 NPClass::construct and NPClass::invokeDefault never called with out-of-process plug-ins in WebKit2
20055 https://bugs.webkit.org/show_bug.cgi?id=49198
20057 * Shared/Plugins/NPObjectMessageReceiver.cpp:
20058 (WebKit::NPObjectMessageReceiver::invokeDefault):
20059 Call NPClass::invokeDefault.
20061 (WebKit::NPObjectMessageReceiver::construct):
20062 Call NPClass::construct
20064 * Shared/Plugins/NPObjectMessageReceiver.messages.in:
20065 Add InvokeDefault and Construct messages.
20067 * Shared/Plugins/NPObjectProxy.cpp:
20068 (WebKit::NPObjectProxy::invokeDefault):
20069 Send the InvokeDefault message.
20071 (WebKit::NPObjectProxy::construct):
20072 Send the Construct message.
20074 (WebKit::NPObjectProxy::NP_InvokeDefault):
20075 Call NPObjectProxy::invokeDefault.
20077 (WebKit::NPObjectProxy::NP_Construct):
20078 Call NPObjectProxy::construct.
20080 2010-11-08 Anders Carlsson <andersca@apple.com>
20082 Reviewed by Dan Bernstein.
20084 Plug-in views should not assume that plugins are RenderEmbeddedObjects
20085 https://bugs.webkit.org/show_bug.cgi?id=49196
20086 <rdar://problem/8638467>
20088 * WebProcess/Plugins/PluginView.cpp:
20089 (WebKit::PluginView::pluginProcessCrashed):
20091 2010-11-08 Anders Carlsson <andersca@apple.com>
20093 Reviewed by Adam Roben.
20095 NPN_Evaluate doesn't work with out-of-process plugins in WebKit2
20096 https://bugs.webkit.org/show_bug.cgi?id=49193
20098 * PluginProcess/PluginControllerProxy.cpp:
20099 (WebKit::PluginControllerProxy::evaluate):
20100 Send an Evaluate message.
20102 * WebProcess/Plugins/PluginProxy.cpp:
20103 (WebKit::PluginProxy::evaluate):
20104 Call Evaluate on the plug-in proxy.
20106 * WebProcess/Plugins/PluginProxy.h:
20107 * WebProcess/Plugins/PluginProxy.messages.in:
20108 Add Evaluate message.
20110 2010-11-08 Anders Carlsson <andersca@apple.com>
20112 Reviewed by John Sullivan.
20114 Correctly convert NPObjectProxy to NPVariantData
20115 https://bugs.webkit.org/show_bug.cgi?id=49190
20117 * Shared/Plugins/NPObjectMessageReceiver.h:
20118 (WebKit::NPObjectMessageReceiver::npObject):
20119 Add NPObject getter.
20121 * Shared/Plugins/NPObjectProxy.h:
20122 (WebKit::NPObjectProxy::npObjectID):
20123 Add NPObjectID getter.
20125 * Shared/Plugins/NPRemoteObjectMap.cpp:
20126 (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
20127 Handle the case where the NPObject is an NPObjectProxy.
20129 (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
20130 Handle NPVariantData::LocalNPObjectID.
20132 * Shared/Plugins/NPVariantData.cpp:
20133 (WebKit::NPVariantData::makeRemoteNPObjectID):
20134 * Shared/Plugins/NPVariantData.h:
20135 New function for creating an NPVariantData that contains a remote NPObject ID.
20137 2010-11-08 Alexey Proskuryakov <ap@apple.com>
20139 Reviewed by Darin Adler.
20141 https://bugs.webkit.org/show_bug.cgi?id=48685
20142 Notify UI process about focused frame
20144 Handle notifications, store the current one in WebPageProxy in UI process.
20146 * UIProcess/API/C/WKPage.cpp:
20147 (WKPageGetFocusedFrame):
20148 * UIProcess/API/C/WKPage.h:
20149 * UIProcess/WebPageProxy.cpp:
20150 (WebKit::WebPageProxy::focusedFrameChanged):
20151 * UIProcess/WebPageProxy.h:
20152 (WebKit::WebPageProxy::focusedFrame):
20153 * UIProcess/WebPageProxy.messages.in:
20154 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
20155 (WebKit::WebChromeClient::focusedFrameChanged):
20156 * WebProcess/WebCoreSupport/WebChromeClient.h:
20158 2010-11-07 Adam Barth <abarth@webkit.org>
20160 Reviewed by Eric Seidel.
20162 Rename Cache to MemoryCache
20163 https://bugs.webkit.org/show_bug.cgi?id=49159
20165 * WebProcess/WebProcess.cpp:
20166 * WebProcess/mac/WebProcessMac.mm:
20167 * WebProcess/win/WebProcessWin.cpp:
20169 2010-11-06 Balazs Kelemen <kbalazs@webkit.org>
20171 Reviewed by Andreas Kling.
20173 [Qt][WK2] WebKitTestRunner is dead
20174 https://bugs.webkit.org/show_bug.cgi?id=49129
20176 * Platform/qt/SharedMemoryQt.cpp:
20177 (WebKit::SharedMemory::~SharedMemory):
20178 Avoid double deletion when deleteLater has
20179 already been called.
20181 2010-11-05 Chris Marrin <cmarrin@apple.com>
20183 Reviewed by Simon Fraser.
20185 suspendAnimations/resumeAnimations not present in WebKit2
20186 https://bugs.webkit.org/show_bug.cgi?id=49109
20188 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
20189 (WKBundleFrameSuspendAnimations):
20190 (WKBundleFrameResumeAnimations):
20191 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
20192 * WebProcess/WebPage/WebFrame.cpp:
20193 (WebKit::WebFrame::suspendAnimations):
20194 (WebKit::WebFrame::resumeAnimations):
20195 * WebProcess/WebPage/WebFrame.h:
20197 2010-11-05 Anders Carlsson <andersca@apple.com>
20199 Reviewed by Darin Adler.
20201 WebProcess won't kill itself if UIProcess goes away while WebProcess is spinning
20202 https://bugs.webkit.org/show_bug.cgi?id=49090
20203 <rdar://problem/7834575>
20205 * Platform/CoreIPC/Connection.cpp:
20206 (CoreIPC::Connection::connectionDidClose):
20207 Call Client::didCloseOnConnectionWorkQueue.
20209 * Platform/CoreIPC/Connection.h:
20210 (CoreIPC::Connection::Client::didCloseOnConnectionWorkQueue):
20211 Add new client function. Will be called on the connection work queue when the connection is closed.
20213 * Platform/WorkItem.h:
20214 (FunctionWorkItem0::FunctionWorkItem0):
20215 (FunctionWorkItem0::execute):
20216 (WorkItem::create):
20217 Add a new WorkItem subclass that will invoke a C function.
20219 * Platform/WorkQueue.h:
20220 * Platform/mac/WorkQueueMac.cpp:
20221 (WorkQueue::scheduleWorkAfterDelay):
20222 New function which will schedule the given work item to be executed in at least 'delay' seconds.
20224 * Platform/qt/WorkQueueQt.cpp:
20225 (WorkQueue::scheduleWorkAfterDelay):
20228 * Platform/win/WorkQueueWin.cpp:
20229 (WorkQueue::scheduleWorkAfterDelay):
20232 * PluginProcess/PluginProcess.h:
20233 Derive from ChildProcess.
20235 * Shared/ChildProcess.cpp: Added.
20236 (WebKit::ChildProcess::ChildProcess):
20237 (WebKit::ChildProcess::~ChildProcess):
20238 (WebKit::watchdogCallback):
20241 (WebKit::ChildProcess::didCloseOnConnectionWorkQueue):
20242 When the connection is closed, schedule a work item to be run in 10 seconds. If the process hasn't
20243 exited normally by then, we'll exit.
20245 * Shared/ChildProcess.h:
20246 Add new ChildProcess class which is a common base class of WebProcess and PluginProcess and which contains
20247 the watchdog timer logic.
20250 * WebKit2.xcodeproj/project.pbxproj:
20253 * WebProcess/WebProcess.h:
20254 Derive from ChildProcess.
20256 * win/WebKit2.vcproj:
20259 2010-11-05 Adam Roben <aroben@apple.com>
20261 Implement PluginInfoStore::shouldUsePlugin on Windows
20263 Fixes <http://webkit.org/b/43509> <rdar://problem/8273822> WebKit2
20264 should refuse to load the same plugins that old-WebKit refuses to load
20266 Reviewed by Anders Carlsson.
20268 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
20269 (WebKit::fileVersion): Helper function to construct a 64-bit file
20270 version from two 32-bit numbers.
20271 (WebKit::PluginInfoStore::getPluginInfo): Ported code from
20272 WebCore::PluginPackage::fetchInfo to get the plugin's version. We now
20273 store it in Plugin::fileVersion.
20275 (WebKit::isOldWindowsMediaPlayerPlugin):
20276 (WebKit::isNewWindowsMediaPlayerPlugin):
20277 Added these helpers. The code came from
20278 WebCore::PluginDatabase::getPluginPathsInDirectories.
20280 (WebKit::PluginInfoStore::shouldUsePlugin): Implemented. The code was
20281 ported from WebCore::PluginDatabase::getPluginPathsInDirectories and
20282 WebCore::PluginPackage::isPluginBlacklisted.
20284 2010-11-05 Adam Roben <aroben@apple.com>
20286 Operate on m_plugins directly in PluginInfoStore::shouldUsePlugin
20288 We'll need to operate on m_plugins if we ever want to unload an
20289 already-loaded plugin before loading the new one.
20291 Fixes <http://webkit.org/b/49076> loadedPlugins parameter to
20292 PluginInfoStore::shouldUsePlugin is redundant
20294 Reviewed by Anders Carlsson.
20296 * UIProcess/Plugins/PluginInfoStore.cpp:
20297 (WebKit::PluginInfoStore::loadPlugin):
20298 * UIProcess/Plugins/PluginInfoStore.h:
20299 * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:
20300 (WebKit::PluginInfoStore::shouldUsePlugin):
20301 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
20302 (WebKit::PluginInfoStore::shouldUsePlugin):
20303 * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
20304 (WebKit::PluginInfoStore::shouldUsePlugin):
20305 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
20306 (WebKit::PluginInfoStore::shouldUsePlugin):
20307 Removed the loadedPlugins parameter from shouldUsePlugin. The single
20308 implementation (Mac) now uses m_plugins directly.
20310 2010-11-05 Anders Carlsson <andersca@apple.com>
20312 Reviewed by Adam Roben.
20314 Implement pluginElementNPObject
20315 https://bugs.webkit.org/show_bug.cgi?id=49077
20317 * PluginProcess/PluginControllerProxy.cpp:
20318 (WebKit::PluginControllerProxy::pluginElementNPObject):
20319 Send the GetPluginElementNPObject message.
20321 * WebProcess/Plugins/PluginProxy.cpp:
20322 (WebKit::PluginProxy::getPluginElementNPObject):
20323 Get the plug-in element NPObject and expose it to the other side of the connection.
20325 * WebProcess/Plugins/PluginProxy.messages.in:
20326 Add GetPluginElementNPObject.
20328 2010-11-04 Anders Carlsson <andersca@apple.com>
20330 Reviewed by Oliver Hunt.
20332 Implement NP_RemoveProperty and NP_Enumerate
20333 https://bugs.webkit.org/show_bug.cgi?id=49046
20335 * Shared/Plugins/NPObjectMessageReceiver.cpp:
20336 (WebKit::NPObjectMessageReceiver::removeProperty):
20337 Call the removeProperty NPClass function.
20339 (WebKit::NPObjectMessageReceiver::enumerate):
20340 Call the enumerate NPClass function.
20342 * Shared/Plugins/NPObjectMessageReceiver.messages.in:
20343 Add RemoveProperty and Enumerate messages.
20345 * Shared/Plugins/NPObjectProxy.cpp:
20346 (WebKit::NPObjectProxy::removeProperty):
20347 Send the RemoveProperty message.
20349 (WebKit::NPObjectProxy::enumerate):
20350 Send the Enumerate message.
20352 (WebKit::NPObjectProxy::NP_RemoveProperty):
20353 Call removeProperty.
20355 (WebKit::NPObjectProxy::NP_Enumerate):
20358 2010-11-05 Sam Weinig <sam@webkit.org>
20360 Fix failing python tests.
20362 * Scripts/webkit2/messages.py:
20363 * Scripts/webkit2/messages_unittest.py:
20365 2010-11-05 Sam Weinig <sam@webkit.org>
20367 Reviewed by Adam Roben..
20369 Generate the messages sent to the WebProcessProxy
20370 https://bugs.webkit.org/show_bug.cgi?id=49062
20372 * Platform/CoreIPC/MessageID.h:
20373 Temporarily add MessageClassWebProcessProxyLegacy while we still can't
20374 support GetPluginProcessConnection (and deferred sync replies) in the
20377 * Scripts/webkit2/messages.py:
20378 Add support for WebCore::PluginData and WebKit::WebNavigationDataStore.
20380 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
20381 Remove now unused kinds. Rename to MessageClassWebProcessProxyLegacy.
20383 * UIProcess/WebProcessProxy.cpp:
20384 (WebKit::WebProcessProxy::getPluginPath):
20385 (WebKit::WebProcessProxy::addBackForwardItem):
20386 (WebKit::WebProcessProxy::didNavigateWithNavigationData):
20387 (WebKit::WebProcessProxy::didPerformClientRedirect):
20388 (WebKit::WebProcessProxy::didPerformServerRedirect):
20389 (WebKit::WebProcessProxy::didUpdateHistoryTitle):
20390 (WebKit::WebProcessProxy::didReceiveMessage):
20391 (WebKit::WebProcessProxy::didReceiveSyncMessage):
20392 (WebKit::WebProcessProxy::didDestroyFrame):
20393 * UIProcess/WebProcessProxy.h:
20394 * UIProcess/WebProcessProxy.messages.in: Added.
20395 Move implementations to their own functions.
20397 * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
20398 (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
20399 Change to use WebProcessProxyLegacyMessage.
20401 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
20402 (WebKit::WebFrameLoaderClient::updateGlobalHistory):
20403 (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
20404 (WebKit::WebFrameLoaderClient::setTitle):
20405 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
20406 (WebKit::WebPlatformStrategies::populatePluginCache):
20407 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
20408 (WebKit::updateBackForwardItem):
20409 * WebProcess/WebPage/WebPage.cpp:
20410 (WebKit::WebPage::createPlugin):
20411 * WebProcess/WebProcess.cpp:
20412 (WebKit::WebProcess::addVisitedLink):
20413 (WebKit::WebProcess::removeWebFrame):
20414 Use generated messages.
20416 * DerivedSources.make:
20417 * DerivedSources.pro:
20419 * WebKit2.xcodeproj/project.pbxproj:
20420 * win/WebKit2.vcproj:
20423 2010-11-04 Adam Roben <aroben@apple.com>
20425 Use a window region to clip windowed plugins
20427 Fixes <http://webkit.org/b/49024> <rdar://problem/8487847> Windowed
20428 plugins aren't clipped in WebKit2 on Windows
20430 Reviewed by Jon Honeycutt.
20432 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
20433 (WebKit::registerPluginView): Removed the CS_PARENTDC style. This style
20434 makes Windows ignore the window region and always clip to the parent
20435 window. Also pass WebKit.dll's HINSTANCE as part of the WNDCLASSW
20436 struct so that the window class will be specific to WebKit.dll rather
20437 than to WebKit2WebProcess.exe. This is useful for testing, but also
20438 more pedantically correct.
20439 (WebKit::setWindowRegion): Helper function to set a window region and
20440 deal with ownership of the HRGN correctly.
20441 (WebKit::NetscapePlugin::platformGeometryDidChange): Make an HRGN that
20442 corresponds to m_clipRect and set it on the plugin's window.
20444 2010-11-05 Balazs Kelemen <kbalazs@webkit.org>
20446 Reviewed by Andreas Kling.
20448 [Qt][WK2] Left over files and shared memory segments
20449 https://bugs.webkit.org/show_bug.cgi?id=48985
20451 * Platform/qt/SharedMemoryQt.cpp:
20452 (WebKit::SharedMemory::create): Force deletion of the QSharedMemory
20453 object on terminate by connecting QCoreApplication::aboutToQuit with
20454 deleteLater. Add the object to the CrashHandler as well to release the
20455 shared memory segment even on crash.
20456 (WebKit::SharedMemory::~SharedMemory):
20457 * Shared/qt/CrashHandler.cpp: Added.
20458 CrashHandler has a container for QObjects that we want to
20459 destroy on crash. When we got a signal that we interpret as
20460 a crash then it destroys those objects.
20461 (WebKit::CrashHandler::CrashHandler):
20462 (WebKit::CrashHandler::signalHandler):
20463 (WebKit::CrashHandler::deleteObjects):
20464 * Shared/qt/CrashHandler.h: Added.
20465 (WebKit::CrashHandler::instance):
20466 (WebKit::CrashHandler::didDelete):
20467 (WebKit::CrashHandler::markForDeletionOnCrash):
20468 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
20469 (WebKit::ProcessLauncherHelper::ProcessLauncherHelper):
20470 Add the object itself to the CrashHandler to close the QLocalServer
20471 even on crash. Without that the QLocalServer leaves over socket files on the disk.
20472 (WebKit::ProcessLauncherHelper::~ProcessLauncherHelper):
20475 2010-11-04 Jia Pu <jpu@apple.com>
20477 Reviewed by Dan Bernstein.
20479 reversion bubble in WebViews
20480 https://bugs.webkit.org/show_bug.cgi?id=47630
20481 <rdar://problem/8530960>
20483 This patch is to add reversion to correction panel. Please see WebCore/ChangeLog for detail.
20485 * WebProcess/WebCoreSupport/WebEditorClient.h: Adopted new signature of base class method.
20486 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: Ditto.
20487 (WebKit::WebEditorClient::showCorrectionPanel):
20488 (WebKit::WebEditorClient::dismissCorrectionPanel):
20490 2010-11-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
20492 Reviewed by David Hyatt.
20494 Delegate scrolling via a separate method
20495 https://bugs.webkit.org/show_bug.cgi?id=48988
20497 Add delegatedScrollRequested method to WebChromeClient,
20498 which is only used in conjunging with tiling, and thus ifdef'ed.
20500 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
20501 (WebKit::WebChromeClient::delegatedScrollRequested):
20502 * WebProcess/WebCoreSupport/WebChromeClient.h:
20504 2010-11-03 Enrica Casucci <enrica@apple.com>
20506 Reviewed by Alexey Proskuryakov.
20508 Need a way to test in WebKit2 whether a form field contains marked text
20509 <rdar://problem/8555293>
20510 https://bugs.webkit.org/show_bug.cgi?id=48969
20512 Added a selection changed notification from the Web process to the UI process.
20513 The message being sent contains information about the current selection.
20514 Event though for this specific bug the only information required is the marked text,
20515 I've added other selection information that will be needed to support IME.
20516 All the stubbed methods are required methods by the NSTextInput protocol.
20518 * UIProcess/API/mac/PageClientImpl.h:
20519 * UIProcess/API/mac/PageClientImpl.mm:
20520 (WebKit::PageClientImpl::selectionChanged): Added.
20521 * UIProcess/API/mac/WKView.h:
20522 * UIProcess/API/mac/WKView.mm:
20523 (-[WKView initWithFrame:pageNamespaceRef:]): Added initialization of new members.
20524 (-[WKView _selectionChanged:isEditable:isPassword:hasMarkedText:]): Stores the values from
20525 the selection changed message.
20526 (-[WKView selectedRange]): Added stub.
20527 (-[WKView hasMarkedText]): Implemented.
20528 (-[WKView unmarkText]): Added stub.
20529 (-[WKView validAttributesForMarkedText]): Added stub.
20530 (-[WKView setMarkedText:selectedRange:]): Added stub.
20531 (-[WKView markedRange]): Added stub.
20532 (-[WKView attributedSubstringFromRange:]): Added stub.
20533 (-[WKView conversationIdentifier]): Added stub.
20534 (-[WKView characterIndexForPoint:]): Added stub.
20535 (-[WKView firstRectForCharacterRange:]): Added stub.
20536 * UIProcess/API/mac/WKViewInternal.h:
20537 * UIProcess/API/qt/qwkpage.cpp:
20538 (QWKPagePrivate::selectionChanged): Added.
20539 * UIProcess/API/qt/qwkpage_p.h:
20540 * UIProcess/PageClient.h:
20541 * UIProcess/WebPageProxy.cpp:
20542 (WebKit::WebPageProxy::didSelectionChange): New message handler.
20543 * UIProcess/WebPageProxy.h:
20544 * UIProcess/WebPageProxy.messages.in:
20545 * UIProcess/win/WebView.cpp:
20546 (WebKit::WebView::selectionChanged): Added.
20547 * UIProcess/win/WebView.h:
20548 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
20549 (WebKit::WebEditorClient::respondToChangedSelection): Added implementation.
20551 2010-11-04 Balazs Kelemen <kbalazs@webkit.org>
20553 Reviewed by Andreas Kling.
20555 [Qt][WK2] Cleanup UpdateChunk and MappedMemoryPool
20556 https://bugs.webkit.org/show_bug.cgi?id=48994
20558 * Platform/qt/MappedMemoryPool.cpp:
20559 (WebKit::MappedMemoryPool::mapMemory):
20560 Removed argument with default value that was always
20561 used with the default value.
20562 (WebKit::MappedMemoryPool::mapFile): Ditto and
20564 * Platform/qt/MappedMemoryPool.h:
20565 Encapsulating MappedMemory and remove the unused
20566 MappedMemoryPool::searchForMappedMemory method.
20567 (WebKit::MappedMemory::mappedFile):
20568 (WebKit::MappedMemory::markFree):
20569 (WebKit::MappedMemory::data):
20570 (WebKit::MappedMemory::MappedMemory):
20571 (WebKit::MappedMemory::markUsed):
20572 (WebKit::MappedMemory::mapSize):
20573 (WebKit::MappedMemory::isFree):
20574 (WebKit::MappedMemoryPool::instance):
20575 * Shared/qt/UpdateChunk.cpp:
20576 Removed the unused data method besides other cleanups.
20577 (WebKit::UpdateChunk::UpdateChunk):
20578 (WebKit::UpdateChunk::encode):
20579 (WebKit::UpdateChunk::decode):
20580 (WebKit::UpdateChunk::createImage):
20581 * Shared/qt/UpdateChunk.h:
20583 2010-11-04 Andreas Kling <kling@webkit.org>
20585 Reviewed by Tor Arne Vestbø.
20587 [Qt] Add a stub WebContextMenuProxy
20589 This is the Qt equivalent of r71333.
20591 * UIProcess/API/qt/qwkpage.cpp:
20592 (QWKPagePrivate::createContextMenuProxy):
20593 * UIProcess/qt/WebContextMenuProxyQt.cpp: Added.
20594 (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
20595 (WebKit::WebContextMenuProxyQt::create):
20596 (WebKit::WebContextMenuProxyQt::showContextMenu):
20597 (WebKit::WebContextMenuProxyQt::hideContextMenu):
20598 * UIProcess/qt/WebContextMenuProxyQt.h: Added.
20601 2010-11-04 Adam Roben <aroben@apple.com>
20603 Add a do-nothing WebContextMenuProxy implementation on Windows
20605 Fixes <http://webkit.org/b/48992> REGRESSION (r71041): Crash in
20606 WebPageProxy::showContextMenu when right-clicking in WebKit2 on
20609 Reviewed by Dan Bernstein.
20611 * UIProcess/win/WebContextMenuProxyWin.cpp: Added.
20612 (WebKit::WebContextMenuProxyWin::WebContextMenuProxyWin):
20613 (WebKit::WebContextMenuProxyWin::create):
20614 (WebKit::WebContextMenuProxyWin::showContextMenu):
20615 (WebKit::WebContextMenuProxyWin::hideContextMenu):
20616 * UIProcess/win/WebContextMenuProxyWin.h: Added.
20617 Just stubbed-out this class.
20619 * UIProcess/win/WebView.cpp:
20620 (WebKit::WebView::createContextMenuProxy): Create a new
20621 WebContextMenuProxyWin and return it. Returning 0 results in a crash.
20623 * win/WebKit2.vcproj: Added WebContextMenuProxyWin.
20625 2010-11-04 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
20627 Reviewed by Andreas Kling..
20629 [Qt] Build Webkit2 both in debug and release on Mac
20631 On Mac OS X we build QtWebKit in both debug and release, so
20632 we need to also build the webkit2 library in both configs.
20636 2010-11-04 Adam Roben <aroben@apple.com>
20638 Remove lame puts()s from WebPageProxy
20640 Rubber-stamped by Anders Carlsson.
20642 * UIProcess/WebPageProxy.cpp:
20643 (WebKit::WebPageProxy::loadURL):
20644 (WebKit::WebPageProxy::loadURLRequest):
20646 2010-11-03 Alice Liu <alice.liu@apple.com>
20650 * PluginProcess/PluginProcess.h:
20651 * UIProcess/Plugins/PluginProcessProxy.h:
20652 * UIProcess/WebContextMenuProxy.h:
20653 Change class to struct and vise versa where needed.
20655 2010-11-03 Anders Carlsson <andersca@apple.com>
20657 Reviewed by Adam Roben.
20659 Implement NP_SetProperty
20660 https://bugs.webkit.org/show_bug.cgi?id=48956
20662 * Shared/Plugins/NPObjectMessageReceiver.cpp:
20663 (WebKit::NPObjectMessageReceiver::setProperty):
20664 Call the NPClass setProperty function.
20666 * Shared/Plugins/NPObjectMessageReceiver.messages.in:
20667 Add SetProperty message.
20669 * Shared/Plugins/NPObjectProxy.cpp:
20670 (WebKit::NPObjectProxy::setProperty):
20671 Send a SetProperty message.
20673 (WebKit::NPObjectProxy::NP_SetProperty):
20674 Call NPObjectProxy::setProperty.
20676 2010-11-03 Anders Carlsson <andersca@apple.com>
20678 Reviewed by Simon Fraser.
20680 Out of process plug-ins don't support the CA drawing model
20681 https://bugs.webkit.org/show_bug.cgi?id=48950
20682 <rdar://problem/8626019>
20684 * Platform/CoreIPC/HandleMessage.h:
20685 (CoreIPC::callMemberFunction):
20688 * PluginProcess/PluginControllerProxy.cpp:
20689 (WebKit::PluginControllerProxy::initialize):
20690 Call platformInitialize().
20692 (WebKit::PluginControllerProxy::destroy):
20693 Call platformDestroy().
20695 (WebKit::PluginControllerProxy::isAcceleratedCompositingEnabled):
20696 Assume that accelerated compositing is available if we have a render server port.
20698 (WebKit::PluginControllerProxy::geometryDidChange):
20699 Call platformGeometryDidChange().
20701 * PluginProcess/PluginProcess.h:
20702 * PluginProcess/WebProcessConnection.cpp:
20703 (WebKit::WebProcessConnection::createPlugin):
20704 Pass back the remote layer client ID.
20706 * PluginProcess/WebProcessConnection.messages.in:
20707 Add a remoteLayerClientID out parameter to CreatePlugin.
20709 * PluginProcess/mac/PluginControllerProxyMac.mm: Added.
20710 (WebKit::PluginControllerProxy::platformInitialize):
20711 If the plug-in has a layer, create a remote layer client and associate it with the layer.
20713 (WebKit::PluginControllerProxy::platformDestroy):
20714 Invalidate the remote layer client.
20716 (WebKit::PluginControllerProxy::remoteLayerClientID):
20717 Return the remote layer client ID if one exists.
20719 (WebKit::PluginControllerProxy::platformGeometryDidChange):
20720 Update the layer bounds.
20722 * WebKit2.xcodeproj/project.pbxproj:
20725 * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm: Added.
20726 (WebKit::PluginProxy::pluginLayer):
20727 Create a render layer if needed.
20729 (WebKit::PluginProxy::needsBackingStore):
20730 Return whether the plug-in needs a backing store. (It doesn't need a backing store if it's a CA plug-in).
20732 * WebProcess/Plugins/PluginProxy.cpp:
20733 (WebKit::PluginProxy::PluginProxy):
20734 Initialize m_remoteLayerClientID.
20736 (WebKit::PluginProxy::initialize):
20737 Set m_remoteLayerClientID.
20739 (WebKit::PluginProxy::paint):
20740 Bail if the plug-in doesn't need a backing store.
20742 (WebKit::PluginProxy::geometryDidChange):
20743 Don't create a backing store if the plug-in doesn't need one.
20745 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
20746 (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
20747 Remove RetainPtr initialization.
20749 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
20750 (WebKit::LayerBackedDrawingArea::platformClear):
20751 Use nullptr instead of 0.
20753 2010-11-03 Anders Carlsson <andersca@apple.com>
20755 Reviewed by Simon Fraser.
20757 Crash when layout in response to setSize changes the drawing area
20758 https://bugs.webkit.org/show_bug.cgi?id=48947
20760 This is tested by compositing/plugins/small-to-large-composited-plugin.html.
20762 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
20763 (WebKit::ChunkedUpdateDrawingArea::setSize):
20764 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
20765 (WebKit::LayerBackedDrawingArea::setSize):
20767 2010-11-03 Anders Carlsson <andersca@apple.com>
20769 Reviewed by Adam Roben.
20771 Pass the accelerated compositing render server port to the plug-in process at startup
20772 https://bugs.webkit.org/show_bug.cgi?id=48925
20774 * PluginProcess/PluginProcess.cpp:
20775 (WebKit::PluginProcess::PluginProcess):
20776 Initialize m_compositingRenderServerPort to MACH_PORT_NULL.
20778 (WebKit::PluginProcess::initialize):
20779 Get the plug-in path and render server port from the creation parameters.
20781 * PluginProcess/PluginProcess.messages.in:
20782 Change the Initialize message to take a PluginProcessCreationParameters struct.
20784 * Shared/Plugins/PluginProcessCreationParameters.cpp: Added.
20785 * Shared/Plugins/PluginProcessCreationParameters.h: Added.
20786 Add new PluginProcessCreationParameters struct.
20788 * UIProcess/Plugins/PluginProcessProxy.cpp:
20789 (WebKit::PluginProcessProxy::didFinishLaunching):
20790 Initialize now takes a PluginProcessCreationParameters struct.
20792 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: Added.
20793 (WebKit::PluginProcessProxy::platformInitializePluginProcess):
20794 Initialize the render server port.
20796 * WebKit2.xcodeproj/project.pbxproj:
20799 2010-11-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
20801 Reviewed by Kenneth Rohde Christiansen.
20803 [Qt] Add the webkit2 library to LIBS instead of QMAKE_LFLAGS
20805 Otherwise the library order will get messed up and cause
20806 missing symbols on Mac OS X.
20811 2010-11-02 Daniel Bates <dbates@rim.com>
20813 Reviewed by Adam Barth.
20815 For unnamed frames, window.name returns a generated name
20816 https://bugs.webkit.org/show_bug.cgi?id=6751
20820 Substitute FrameTree::uniqueName() for FrameTree::name() in WebKit2.
20822 * WebProcess/WebPage/WebFrame.cpp:
20823 (WebKit::WebFrame::name):
20825 2010-11-02 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com>
20827 Reviewed by Martin Robinson.
20829 Changes to enable building WebKit2 for Gtk port.
20830 (https://bugs.webkit.org/show_bug.cgi?id=37369)
20832 * Platform/gtk: Added.
20833 * Platform/gtk/SharedMemoryGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
20834 (WebKit::SharedMemory::Handle::Handle):
20835 (WebKit::SharedMemory::Handle::~Handle):
20836 (WebKit::SharedMemory::Handle::encode):
20837 (WebKit::SharedMemory::Handle::decode):
20838 (WebKit::SharedMemory::create):
20839 (WebKit::SharedMemory::~SharedMemory):
20840 (WebKit::SharedMemory::createHandle):
20841 (WebKit::SharedMemory::systemPageSize):
20842 * Shared/gtk: Added.
20843 * Shared/gtk/BackingStoreGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
20844 (WebKit::BackingStore::createGraphicsContext):
20845 (WebKit::BackingStore::paint):
20846 * Shared/gtk/PlatformCertificateInfo.h: Added. Added. Stubbed implementation for GTK port. Yet to implement.
20847 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
20848 (WebKit::PlatformCertificateInfo::encode):
20849 (WebKit::PlatformCertificateInfo::decode):
20850 * Shared/gtk/WebCoreArgumentCodersGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
20851 (CoreIPC::encodeResourceRequest):
20852 (CoreIPC::decodeResourceRequest):
20853 * UIProcess/Plugins/gtk: Added.
20854 * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
20855 (WebKit::PluginInfoStore::pluginsDirectories):
20856 (WebKit::PluginInfoStore::pluginPathsInDirectory):
20857 (WebKit::PluginInfoStore::individualPluginPaths):
20858 (WebKit::PluginInfoStore::getPluginInfo):
20859 (WebKit::PluginInfoStore::shouldUsePlugin):
20860 * WebProcess/InjectedBundle/InjectedBundle.h:
20861 * WebProcess/InjectedBundle/gtk: Added.
20862 * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
20863 (WebKit::InjectedBundle::load):
20864 (WebKit::InjectedBundle::activateMacFontAscentHack):
20865 * WebProcess/Plugins/Netscape/gtk: Added.
20866 * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
20867 (WebKit::NetscapePlugin::platformPostInitialize):
20868 (WebKit::NetscapePlugin::platformDestroy):
20869 (WebKit::NetscapePlugin::platformGeometryDidChange):
20870 (WebKit::NetscapePlugin::platformPaint):
20872 (WebKit::NetscapePlugin::platformHandleMouseEvent):
20873 (WebKit::NetscapePlugin::platformHandleWheelEvent):
20874 (WebKit::NetscapePlugin::platformSetFocus):
20875 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
20876 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
20877 (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
20878 * WebProcess/WebCoreSupport/gtk: Added.
20879 * WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h: Added. Added. Stubbed implementation for GTK port. Yet to implement.
20880 (WebFrameNetworkingContext::create):
20881 (WebFrameNetworkingContext::WebFrameNetworkingContext):
20883 2010-11-02 Jing Jin <jjin@apple.com>
20885 Reviewed by Alexey Proskuryakov.
20887 Key down calls are not being sent to the application.
20888 https://bugs.webkit.org/show_bug.cgi?id=48867
20890 * UIProcess/API/mac/WKView.mm:
20891 (-[WKView keyDown:]): Call super when ignoring a key down.
20893 2010-11-02 Anders Carlsson <andersca@apple.com>
20895 Reviewed by John Sullivan.
20897 Add Null and Int32 to NPVariantData
20898 https://bugs.webkit.org/show_bug.cgi?id=48887
20900 * Shared/Plugins/NPRemoteObjectMap.cpp:
20901 (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
20902 (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
20903 * Shared/Plugins/NPVariantData.cpp:
20904 (WebKit::NPVariantData::NPVariantData):
20905 (WebKit::NPVariantData::makeNull):
20906 (WebKit::NPVariantData::makeInt32):
20907 (WebKit::NPVariantData::encode):
20908 (WebKit::NPVariantData::decode):
20909 * Shared/Plugins/NPVariantData.h:
20910 (WebKit::NPVariantData::int32Value):
20912 2010-11-02 Anders Carlsson <andersca@apple.com>
20914 Reviewed by Adam Roben.
20916 Add support for NP_HasMethod and NP_Invoke
20917 https://bugs.webkit.org/show_bug.cgi?id=48882
20919 * Platform/CoreIPC/HandleMessage.h:
20920 (CoreIPC::callMemberFunction):
20923 * Shared/Plugins/NPObjectMessageReceiver.cpp:
20924 (WebKit::NPObjectMessageReceiver::hasMethod):
20925 Call hasMethod and return the result.
20927 (WebKit::NPObjectMessageReceiver::invoke):
20928 Convert the arguments, call invoke and return the result.
20930 (WebKit::NPObjectMessageReceiver::getProperty):
20931 Release the converted variant.
20933 * Shared/Plugins/NPObjectMessageReceiver.messages.in:
20934 Add HasMethod and Invoke messages.
20936 * Shared/Plugins/NPObjectProxy.cpp:
20937 (WebKit::NPObjectProxy::hasMethod):
20938 Send the HasMethod message.
20940 (WebKit::NPObjectProxy::invoke):
20941 Send the Invoke message.
20943 (WebKit::NPObjectProxy::NP_HasMethod):
20946 (WebKit::NPObjectProxy::NP_Invoke):
20949 2010-11-02 Anders Carlsson <andersca@apple.com>
20951 Reviewed by Sam Weinig.
20953 Implement NP_HasProperty for NPObjectProxy
20954 https://bugs.webkit.org/show_bug.cgi?id=48876
20956 * Shared/Plugins/NPObjectMessageReceiver.cpp:
20957 (WebKit::NPObjectMessageReceiver::hasProperty):
20958 Call The hasProperty callback function.
20960 * Shared/Plugins/NPObjectMessageReceiver.messages.in:
20961 Add HasProperty message.
20963 * Shared/Plugins/NPObjectProxy.cpp:
20964 (WebKit::NPObjectProxy::hasProperty):
20965 Send the HasProperty message.
20967 (WebKit::NPObjectProxy::NP_HasProperty):
20971 2010-11-02 Sam Weinig <sam@webkit.org>
20973 Reviewed by Anders Carlsson.
20975 Add a way to send startup messages on the context which can be posted when a process launches
20976 <rdar://problem/8617928>
20977 https://bugs.webkit.org/show_bug.cgi?id=48838
20979 Adds WKContextSetInitializationUserDataForInjectedBundle which sets an
20980 APIObject on WebContext to be sent to the InjectedBundle's WKBundleInitialize
20981 function each time a process starts up. This can help in cases where
20982 the WebProcess dies, and will be helpful in the world where there are
20983 multiple WebProcess's per context.
20985 * Scripts/webkit2/messages.py:
20986 * UIProcess/API/C/WKContext.cpp:
20987 (WKContextSetInitializationUserDataForInjectedBundle):
20988 * UIProcess/API/C/WKContext.h:
20989 * UIProcess/WebContext.cpp:
20990 (WebKit::WebContext::ensureWebProcess):
20991 * UIProcess/WebContext.h:
20992 (WebKit::WebContext::setInjectedBundleInitializationUserData):
20993 (WebKit::WebContext::injectedBundleInitializationUserData):
20994 * WebProcess/InjectedBundle/API/c/WKBundleInitialize.h:
20995 * WebProcess/InjectedBundle/InjectedBundle.h:
20996 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
20997 (WebKit::InjectedBundle::load):
20998 * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
20999 (WebKit::InjectedBundle::load):
21000 * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
21001 (WebKit::InjectedBundle::load):
21002 * WebProcess/WebProcess.cpp:
21003 (WebKit::WebProcess::initializeWebProcess):
21004 * WebProcess/WebProcess.h:
21005 * WebProcess/WebProcess.messages.in:
21007 2010-11-02 Anders Carlsson <andersca@apple.com>
21009 Reviewed by Sam Weinig.
21011 Implement PluginProxy::pluginScriptableNPObject
21012 https://bugs.webkit.org/show_bug.cgi?id=48874
21014 * PluginProcess/PluginControllerProxy.cpp:
21015 (WebKit::PluginControllerProxy::getPluginScriptableNPObject):
21016 Ask the plug-in for its scriptable NPObject, register it with the map and return its object ID.
21018 * PluginProcess/PluginControllerProxy.messages.in:
21019 Add GetPluginScriptableNPObject message.
21021 * WebProcess/Plugins/PluginProxy.cpp:
21022 (WebKit::PluginProxy::pluginScriptableNPObject):
21023 Send the GetPluginScriptableNPObject message.
21025 2010-11-02 Anders Carlsson <andersca@apple.com>
21027 Reviewed by Dan Bernstein.
21029 Add strings to NPVariantData
21030 https://bugs.webkit.org/show_bug.cgi?id=48871
21032 * Shared/Plugins/NPRemoteObjectMap.cpp:
21033 (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
21034 (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
21035 * Shared/Plugins/NPVariantData.cpp:
21036 (WebKit::NPVariantData::makeString):
21037 (WebKit::NPVariantData::encode):
21038 (WebKit::NPVariantData::decode):
21039 * Shared/Plugins/NPVariantData.h:
21040 (WebKit::NPVariantData::stringValue):
21042 2010-11-02 Anders Carlsson <andersca@apple.com>
21044 Reviewed by Dan Bernstein.
21046 Add convenience functions for allocating NPAPI memory
21047 https://bugs.webkit.org/show_bug.cgi?id=48870
21049 Add npnMemAlloc, npnMemFree and createNPString functions and
21050 npnMemNew, npnMemNewArray function templates.
21052 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
21053 (WebKit::JSNPObject::getOwnPropertyNames):
21056 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
21057 (WebKit::NPJSObject::enumerate):
21058 Use npnMemNewArray.
21060 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
21061 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
21062 Use createNPString.
21064 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
21065 (WebKit::npnMemAlloc):
21068 (WebKit::npnMemFree):
21071 (WebKit::createNPString):
21072 Allocate the characters for a new NPString.
21074 (WebKit::createNPObject):
21077 (WebKit::deallocateNPObject):
21080 (WebKit::releaseNPVariantValue):
21083 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h:
21084 (WebKit::npnMemNew):
21085 (WebKit::npnMemNewArray):
21088 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
21089 (WebKit::NPN_MemAlloc):
21092 (WebKit::NPN_MemFree):
21095 (WebKit::NPN_UTF8FromIdentifier):
21096 Call npnMemNewArray.
21098 (WebKit::copyCString):
21099 Call npnMemNewArray. Correctly initialize the "len" out parameter.
21101 2010-11-02 Jessie Berlin <jberlin@apple.com>
21103 Windows build fix. Unreviewed.
21105 * win/WebKit2Generated.make:
21106 Add WKInspector.h so that it is copied over to the WebKitBuild directory.
21108 2010-11-02 Anders Carlsson <andersca@apple.com>
21110 Reviewed by Adam Roben.
21112 Add some support for remote and local NPObjects to NPRemoteObjectMap
21113 https://bugs.webkit.org/show_bug.cgi?id=48864
21115 * Shared/Plugins/NPRemoteObjectMap.cpp:
21116 (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
21117 If the NPVariant contains an NPObject that isn't an NPObjectProxy, register it
21120 (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
21121 If the NPVariantData contains a remote object, create an NPObjectProxy and return it.
21123 * Shared/Plugins/NPVariantData.cpp:
21124 (WebKit::NPVariantData::NPVariantData):
21125 Initialize m_localNPObjectIDValue and m_remoteNPObjectIDValue.
21127 (WebKit::NPVariantData::makeLocalNPObjectID):
21128 Create an NPVariantData that contains a local NPObject ID.
21130 (WebKit::NPVariantData::encode):
21131 Handle local and remote NPObject IDs.
21133 (WebKit::NPVariantData::decode):
21134 Decode local and remote NPObject IDs and "swap them" so an encoded remote NPObject ID is
21135 decoded as a local NPObjectID (and vice versa).
21137 * Shared/Plugins/NPVariantData.h:
21138 (WebKit::NPVariantData::localNPObjectIDValue):
21139 (WebKit::NPVariantData::remoteNPObjectIDValue):
21141 2010-11-02 Anders Carlsson <andersca@apple.com>
21143 Attempt to fix a GCC release only warning.
21145 * Shared/Plugins/NPVariantData.cpp:
21146 (WebKit::NPVariantData::NPVariantData):
21148 2010-11-02 Anders Carlsson <andersca@apple.com>
21150 Reviewed by John Sullivan.
21152 Invalidate the NPRemoteObjectMap
21153 https://bugs.webkit.org/show_bug.cgi?id=48856
21155 * Shared/Plugins/NPObjectMessageReceiver.cpp:
21156 (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver):
21157 Remove FIXME. The NPRemoteObjectMap always outlives the NPObjectMessageReceiver.
21159 * Shared/Plugins/NPObjectProxy.cpp:
21160 (WebKit::NPObjectProxy::~NPObjectProxy):
21161 Call npObjectProxyDestroyed here.
21163 (WebKit::NPObjectProxy::invalidate):
21164 Null out m_npRemoteObjectMap.
21166 * Shared/Plugins/NPRemoteObjectMap.cpp:
21167 (WebKit::NPRemoteObjectMap::~NPRemoteObjectMap):
21170 (WebKit::NPRemoteObjectMap::createNPObjectProxy):
21171 Keep track of the NPObjectProxy by adding it to the m_npObjectProxies set.
21173 (WebKit::NPRemoteObjectMap::npObjectProxyDestroyed):
21174 Remove the NPObjectProxy from the m_npObjectProxies set.
21176 (WebKit::NPRemoteObjectMap::invalidate):
21177 Delete all NPObjectMessageReceivers. Iterate over all NPObjectProxy objects and invalidate them.
21179 2010-11-02 Mike Thole <mthole@apple.com>
21181 Reviewed by Anders Carlsson.
21183 WebProcessManager informed about crashes too late (pages may have already tried to load a new URL)
21184 https://bugs.webkit.org/show_bug.cgi?id=48853
21186 This also fixes: <rdar://problem/8610451> Webkit2: Crash in WebKit!WebKit::WebProcessProxy::sendMessage opening google.com page
21188 * UIProcess/WebProcessProxy.cpp:
21189 (WebKit::WebProcessProxy::~WebProcessProxy):
21190 Removed invalid assertion that is hit when the WebProcess dies unexpectedly.
21191 (WebKit::WebProcessProxy::didClose):
21192 Reordered so that the individual pages are informed that the processDidCrash() after the shared
21193 WebProcessManager has been. This allows the pages to properly trigger a new process to be launched.
21195 2010-11-02 Enrica Casucci <enrica@apple.com>
21197 Reviewed by Alexey Proskuryakov.
21199 WebKit2: Repeated cmd-key presses lead to unusable UI state
21200 https://bugs.webkit.org/show_bug.cgi?id=48811
21201 <rdar://problem/8611924>
21203 Given the asynchronous nature of every interaction with the WebProcess,
21204 we could re-send a keyDown event to AppKit that maps to an
21205 action that is currently disabled and therefore will not trigger an action
21206 but a call to the keyDown method of the NSView. We need to detect this
21207 situation to avoid an infinite loop.
21209 * UIProcess/API/mac/WKView.mm:
21210 (-[WKView performKeyEquivalent:]): Delay the release of the last processed event
21211 to the moment we receive another event.
21212 (-[WKView keyDown:]): Added early return in case the event is one we have re-sent.
21214 2010-11-02 Anders Carlsson <andersca@apple.com>
21216 Reviewed by John Sullivan.
21218 Handle boolean values in NPVariant and NPVariantData
21219 https://bugs.webkit.org/show_bug.cgi?id=48852
21221 * Shared/Plugins/NPRemoteObjectMap.cpp:
21222 (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
21223 (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
21224 * Shared/Plugins/NPVariantData.cpp:
21225 (WebKit::NPVariantData::makeBool):
21226 (WebKit::NPVariantData::encode):
21227 (WebKit::NPVariantData::decode):
21228 * Shared/Plugins/NPVariantData.h:
21229 (WebKit::NPVariantData::boolValue):
21231 2010-11-02 Anders Carlsson <andersca@apple.com>
21233 Reviewed by John Sullivan.
21235 Assertion hit in WebProcessProxy::~WebProcessProxy()
21236 https://bugs.webkit.org/show_bug.cgi?id=48849
21237 <rdar://problem/8617676>
21239 It is perfectly valid for the page map to contain pages if the web process proxy
21240 goes away, this can happen if the process crashes for example.
21242 * UIProcess/WebProcessProxy.cpp:
21243 (WebKit::WebProcessProxy::~WebProcessProxy):
21244 Remove the assertion.
21246 2010-11-02 Christian Sejersen <christian.webkit@gmail.com>
21248 Reviewed by Andreas Kling.
21250 The previous patch only took into account arm targets. This one
21251 now checks whether the build is done inside Scratchbox.
21252 https://bugs.webkit.org/show_bug.cgi?id=47895
21254 * DerivedSources.pro:
21256 2010-11-02 Anders Carlsson <andersca@apple.com>
21258 Reviewed by Adam Roben.
21260 More NPRuntime work
21261 https://bugs.webkit.org/show_bug.cgi?id=48847
21263 * PluginProcess/WebProcessConnection.cpp:
21264 (WebKit::WebProcessConnection::~WebProcessConnection):
21267 (WebKit::WebProcessConnection::removePluginControllerProxy):
21268 If we have no more plug-in controller proxies, invalidate the remote object map.
21270 * Shared/Plugins/NPIdentifierData.cpp:
21271 (WebKit::NPIdentifierData::createNPIdentifier):
21272 Create an NPIdentifier from the given NPIdentifierData.
21274 * Shared/Plugins/NPObjectMessageReceiver.cpp:
21275 (WebKit::NPObjectMessageReceiver::create):
21276 (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver):
21277 This now takes the NPRemoteObjectMap as well as the npObjectID of the object.
21279 (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver):
21280 Unregister the object.
21282 (WebKit::NPObjectMessageReceiver::deallocate):
21285 (WebKit::NPObjectMessageReceiver::getProperty):
21286 Ask the NPObject for the property and convert it back to an NPVariantData.
21288 * Shared/Plugins/NPObjectProxy.cpp:
21289 (WebKit::NPObjectProxy::~NPObjectProxy):
21290 Send a Deallocate message to the corresponding message receiver on the other side.
21292 (WebKit::NPObjectProxy::getProperty):
21293 Convert the NPVariantData back to an NPVariant and return it.
21295 * Shared/Plugins/NPRemoteObjectMap.cpp:
21296 (WebKit::NPRemoteObjectMap::registerNPObject):
21297 Pass the NPRemoteObjectMap and the npObjectID to NPObjectMessageReceiver::create.
21299 (WebKit::NPRemoteObjectMap::unregisterNPObject):
21300 Remove the given object from the map of registered objects.
21302 (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
21303 Given an NPVariant, create an NPVariantData. Only supports void and double types right now.
21305 (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
21306 Given an NPVariantData, create an NPVariant. Only supports void and double types right now.
21308 (WebKit::NPRemoteObjectMap::invalidate):
21311 * Shared/Plugins/NPVariantData.cpp:
21312 (WebKit::NPVariantData::NPVariantData):
21313 Set the type to void by default.
21315 (WebKit::NPVariantData::makeVoid):
21316 Return a void NPVariantData.
21318 (WebKit::NPVariantData::makeDouble):
21319 Return an NPVariantData that contains a double value.
21321 (WebKit::NPVariantData::encode):
21322 Encode the NPVariantData.
21324 (WebKit::NPVariantData::decode):
21325 Decode the NPVariantData.
21327 * Shared/Plugins/NPVariantData.h:
21328 (WebKit::NPVariantData::type):
21329 Return the type of the NPVariantData.
21331 (WebKit::NPVariantData::doubleValue):
21332 Return the double value of the NPVariantData.
21334 * UIProcess/WebProcessProxy.cpp:
21335 (WebKit::WebProcessProxy::didClose):
21336 Use nullptr instead of 0.
21338 * WebProcess/Plugins/PluginProcessConnection.cpp:
21339 (WebKit::PluginProcessConnection::~PluginProcessConnection):
21340 Assert that the connection and the remote object map are both null.
21342 (WebKit::PluginProcessConnection::removePluginProxy):
21343 If this was the last plug-in proxy, invalidate the remote object map.
21345 * WebProcess/WebProcess.cpp:
21346 (WebKit::WebProcess::shutdown):
21347 Use nullptr instead of 0.
21349 2010-11-02 Balazs Kelemen <kbalazs@webkit.org>
21351 Unreviewed Qt buildfix.
21353 * DerivedSources.pro: Add WebInspector to the list of
21356 2010-11-02 Balazs Kelemen <kbalazs@webkit.org>
21358 Reviewed by Andreas Kling.
21360 [Qt][WK2] SharedMemory is broken
21361 https://bugs.webkit.org/show_bug.cgi?id=48520
21363 Implement SharedMemory with QSharedMemory to correctly handle
21364 ownership and to avoid extra allocation for page size requests.
21365 * Platform/SharedMemory.h:
21366 * Platform/qt/SharedMemoryQt.cpp:
21367 (WebKit::SharedMemory::Handle::Handle):
21368 (WebKit::SharedMemory::Handle::isNull):
21369 (WebKit::SharedMemory::Handle::encode):
21370 (WebKit::SharedMemory::Handle::decode):
21371 (WebKit::createUniqueKey):
21372 (WebKit::SharedMemory::create):
21373 (WebKit::accessMode):
21374 (WebKit::SharedMemory::~SharedMemory):
21375 (WebKit::SharedMemory::createHandle):
21377 2010-11-02 Timothy Hatcher <timothy@apple.com>
21379 Add WKInspector public APIs.
21381 https://webkit.org/b/48718
21383 Reviewed by Pavel Feldman.
21385 * DerivedSources.make: Added WebInspector to MESSAGE_RECEIVERS section.
21386 * UIProcess/API/C/WKInspector.cpp:
21387 (WKInspectorIsVisible): Added.
21388 (WKInspectorShow): Added.
21389 (WKInspectorClose): Added.
21390 (WKInspectorShowConsole): Added.
21391 (WKInspectorIsAttached): Added.
21392 (WKInspectorAttach): Added.
21393 (WKInspectorDetach): Added.
21394 (WKInspectorIsDebuggingJavaScript): Added.
21395 (WKInspectorToggleJavaScriptDebugging): Added.
21396 (WKInspectorIsProfilingJavaScript): Added.
21397 (WKInspectorToggleJavaScriptProfiling): Added.
21398 (WKInspectorIsProfilingPage): Added.
21399 (WKInspectorTogglePageProfiling): Added.
21400 * UIProcess/API/C/WKInspector.h: Added new functions.
21401 * UIProcess/WebInspectorProxy.cpp:
21402 (WebKit::WebInspectorProxy::WebInspectorProxy): Initialize new booleans.
21403 (WebKit::WebInspectorProxy::invalidate): Reset new booleans.
21404 (WebKit::WebInspectorProxy::show): Added.
21405 (WebKit::WebInspectorProxy::close): Added.
21406 (WebKit::WebInspectorProxy::showConsole): Added.
21407 (WebKit::WebInspectorProxy::attach): Added.
21408 (WebKit::WebInspectorProxy::detach): Added.
21409 (WebKit::WebInspectorProxy::toggleJavaScriptDebugging): Added.
21410 (WebKit::WebInspectorProxy::toggleJavaScriptProfiling): Added.
21411 (WebKit::WebInspectorProxy::togglePageProfiling): Added.
21412 * UIProcess/WebInspectorProxy.h:
21413 (WebKit::WebInspectorProxy::isVisible): Added.
21414 (WebKit::WebInspectorProxy::isAttached): Added.
21415 (WebKit::WebInspectorProxy::isDebuggingJavaScript): Added.
21416 (WebKit::WebInspectorProxy::isProfilingJavaScript): Added.
21417 (WebKit::WebInspectorProxy::isProfilingPage): Added.
21418 * UIProcess/WebPageProxy.cpp:
21419 (WebKit::WebPageProxy::close): Invalidate the WebInspectorProxy.
21420 (WebKit::WebPageProxy::inspector): Return 0 if closed or invalid.
21421 * WebKit2.pro: Added new files.
21422 * WebKit2.xcodeproj/project.pbxproj: Added new Files.
21423 * WebProcess/WebPage/WebInspector.cpp:
21424 (WebKit::WebInspector::show): Added.
21425 (WebKit::WebInspector::close): Added.
21426 (WebKit::WebInspector::showConsole): Added.
21427 (WebKit::WebInspector::startJavaScriptDebugging): Added.
21428 (WebKit::WebInspector::stopJavaScriptDebugging): Added.
21429 (WebKit::WebInspector::startJavaScriptProfiling): Added.
21430 (WebKit::WebInspector::stopJavaScriptProfiling): Added.
21431 (WebKit::WebInspector::startPageProfiling): Added.
21432 (WebKit::WebInspector::stopPageProfiling): Added.
21433 * WebProcess/WebPage/WebInspector.h:
21434 (WebKit::WebInspector::page): Added.
21435 * WebProcess/WebPage/WebInspector.messages.in: Added.
21436 * WebProcess/WebPage/WebPage.cpp:
21437 (WebKit::WebPage::close): Destroy the WebInspector.
21438 (WebKit::WebPage::inspector): Return 0 if closed.
21439 (WebKit::WebPage::didReceiveMessage): Send the message to the WebInspector
21440 if the message class is MessageClassWebInspector.
21441 * win/WebKit2.vcproj: Added new files.
21443 2010-11-02 Timothy Hatcher <timothy@apple.com>
21445 Make WebInspectorFrontendClient inherit from InspectorFrontendClientLocal.
21447 We can do this since the Web Inspector WebPage will share the same process
21448 with the inspected WebPage.
21450 https://webkit.org/b/48652
21452 Reviewed by Pavel Feldman.
21454 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
21455 (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient):
21456 Call the InspectorFrontendClientLocal constructor.
21457 (WebKit::WebInspectorFrontendClient::attachWindow): Added.
21458 (WebKit::WebInspectorFrontendClient::detachWindow): Added.
21459 (WebKit::WebInspectorFrontendClient::setAttachedWindowHeight): Added.
21460 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
21462 2010-11-01 Juha Savolainen <juha.savolainen@weego.fi>
21464 Reviewed by Kenneth Rohde Christiansen.
21466 Initial implementation of QWKHistoryItem.
21467 https://bugs.webkit.org/show_bug.cgi?id=48620
21469 The QWkHistoryItem represents one item in the history of QWKPage.
21471 * UIProcess/API/qt/qwkhistory.cpp:
21472 (QWKHistoryItemPrivate::QWKHistoryItemPrivate):
21473 (QWKHistoryItem::QWKHistoryItem):
21474 (QWKHistoryItem::~QWKHistoryItem):
21475 (QWKHistoryItem::title): The page title
21476 (QWKHistoryItem::url): The URL of the page.
21477 (QWKHistoryItem::originalUrl): The URL used to access the page.
21478 * UIProcess/API/qt/qwkhistory.h:
21479 * UIProcess/API/qt/qwkhistory_p.h:
21480 * WebKit2.pro: Added WKBackForwardListItem.h and WKBackForwardListItem.cpp
21482 2010-11-01 Anders Carlsson <andersca@apple.com>
21484 Reviewed by Oliver Hunt.
21486 Make NPRemoteObjectMap a ref counted object
21487 https://bugs.webkit.org/show_bug.cgi?id=48808
21489 * PluginProcess/PluginControllerProxy.cpp:
21490 (WebKit::PluginControllerProxy::windowScriptNPObject):
21491 * PluginProcess/WebProcessConnection.cpp:
21492 (WebKit::WebProcessConnection::WebProcessConnection):
21493 (WebKit::WebProcessConnection::didReceiveSyncMessage):
21494 * PluginProcess/WebProcessConnection.h:
21495 (WebKit::WebProcessConnection::npRemoteObjectMap):
21496 * Shared/Plugins/NPRemoteObjectMap.cpp:
21497 (WebKit::NPRemoteObjectMap::create):
21498 (WebKit::NPRemoteObjectMap::~NPRemoteObjectMap):
21499 (WebKit::NPRemoteObjectMap::createNPObjectProxy):
21500 * Shared/Plugins/NPRemoteObjectMap.h:
21501 * WebProcess/Plugins/PluginProcessConnection.cpp:
21502 (WebKit::PluginProcessConnection::PluginProcessConnection):
21503 (WebKit::PluginProcessConnection::didReceiveSyncMessage):
21504 * WebProcess/Plugins/PluginProcessConnection.h:
21505 (WebKit::PluginProcessConnection::npRemoteObjectMap):
21506 * WebProcess/Plugins/PluginProxy.cpp:
21507 (WebKit::PluginProxy::getWindowScriptNPObject):
21509 2010-11-01 Anders Carlsson <andersca@apple.com>
21511 Reviewed by John Sullivan.
21513 Respond to NP_GetProperty by sending a GetProperty message
21514 https://bugs.webkit.org/show_bug.cgi?id=48797
21516 * Platform/CoreIPC/HandleMessage.h:
21517 (CoreIPC::callMemberFunction):
21518 Add new sync message overload.
21520 * PluginProcess/WebProcessConnection.cpp:
21521 (WebKit::WebProcessConnection::didReceiveSyncMessage):
21522 If the message class is MessageClassNPObjectMessageReceiver, pass it to the NPRemoteObjectMap.
21524 * Shared/Plugins/NPIdentifierData.cpp:
21525 * Shared/Plugins/NPIdentifierData.h:
21526 Add NPIdentifierData, a CoreIPC representation of an NPIdentifier.
21528 * Shared/Plugins/NPObjectMessageReceiver.cpp:
21529 (WebKit::NPObjectMessageReceiver::getProperty):
21532 * Shared/Plugins/NPObjectMessageReceiver.messages.in:
21535 * Shared/Plugins/NPObjectProxy.cpp:
21536 (WebKit::NPObjectProxy::create):
21537 (WebKit::NPObjectProxy::NPObjectProxy):
21538 (WebKit::NPObjectProxy::initialize):
21539 NPObjectProxy now takes an NPRemoteObjectMap in its create function.
21541 (WebKit::NPObjectProxy::getProperty):
21542 Send a GetProperty message.
21544 (WebKit::NPObjectProxy::NP_GetProperty):
21547 * Shared/Plugins/NPRemoteObjectMap.cpp:
21548 (WebKit::NPRemoteObjectMap::createNPObjectProxy):
21549 Pass the NPRemoteObjectMap.
21551 (WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
21552 Find the right message receiver and dispatch the message to it.
21554 * Shared/Plugins/NPVariantData.cpp:
21555 * Shared/Plugins/NPVariantData.h:
21556 Add NPVariantData, which will be a CoreIPC representation of an NPVariant.
21558 * WebKit2.xcodeproj/project.pbxproj:
21561 * WebProcess/Plugins/PluginProcessConnection.cpp:
21562 (WebKit::PluginProcessConnection::didReceiveSyncMessage):
21563 If the message class is MessageClassNPObjectMessageReceiver, pass it to the NPRemoteObjectMap.
21565 2010-11-01 Anders Carlsson <andersca@apple.com>
21567 Reviewed by Sam Weinig.
21569 Add ArgumentCoder specialization for WTF::CString
21570 https://bugs.webkit.org/show_bug.cgi?id=48796
21572 * Platform/CoreIPC/ArgumentCoders.h:
21574 2010-11-01 Anders Carlsson <andersca@apple.com>
21578 * WebKit2.xcodeproj/project.pbxproj:
21580 2010-11-01 Anders Carlsson <andersca@apple.com>
21582 Reviewed by Adam Roben.
21584 Add NPObjectMessageReceiver.messages.in
21585 https://bugs.webkit.org/show_bug.cgi?id=48782
21587 * DerivedSources.make:
21588 Add NPObjectMessageReceiver.
21590 * Platform/CoreIPC/MessageID.h:
21591 Add MessageClassNPObjectMessageReceiver message class.
21593 * Shared/Plugins/NPObjectMessageReceiver.cpp:
21594 (WebKit::NPObjectMessageReceiver::deallocate):
21595 Add stubbed out deallocate member function.
21597 * Shared/Plugins/NPObjectMessageReceiver.messages.in: Added.
21599 * WebKit2.xcodeproj/project.pbxproj:
21600 Add NPObjectMessageReceiver.messages.in.
21602 2010-11-01 Anders Carlsson <andersca@apple.com>
21604 Reviewed by Adam Roben.
21606 Start stubbing out NPClass functions in NPObjectProxy
21607 https://bugs.webkit.org/show_bug.cgi?id=48778
21609 * PluginProcess/PluginControllerProxy.cpp:
21610 (WebKit::PluginControllerProxy::windowScriptNPObject):
21611 getOrCreateNPObjectProxy is now createNPObjectProxy.
21613 * Shared/Plugins/NPObjectProxy.cpp:
21614 (WebKit::NPObjectProxy::create):
21615 Allocate and initialize an NPObjectProxy object.
21617 (WebKit::NPObjectProxy::NPObjectProxy):
21618 Initialize m_npObjectID to 0.
21620 (WebKit::NPObjectProxy::isNPObjectProxy):
21623 (WebKit::NPObjectProxy::initialize):
21626 (WebKit::NPObjectProxy::npClass):
21627 Return the NPClass with all functions filled in.
21629 (WebKit::NPObjectProxy::NP_Allocate):
21630 Create a new NPObjectProxy object.
21632 (WebKit::NPObjectProxy::NP_Deallocate):
21633 Deallocate the NPObjectProxy object.
21635 (WebKit::NPObjectProxy::NP_HasMethod):
21636 (WebKit::NPObjectProxy::NP_Invoke):
21637 (WebKit::NPObjectProxy::NP_InvokeDefault):
21638 (WebKit::NPObjectProxy::NP_HasProperty):
21639 (WebKit::NPObjectProxy::NP_GetProperty):
21640 (WebKit::NPObjectProxy::NP_SetProperty):
21641 (WebKit::NPObjectProxy::NP_RemoveProperty):
21642 (WebKit::NPObjectProxy::NP_Enumerate):
21643 (WebKit::NPObjectProxy::NP_Construct):
21646 * Shared/Plugins/NPRemoteObjectMap.cpp:
21647 (WebKit::NPRemoteObjectMap::createNPObjectProxy):
21648 * Shared/Plugins/NPRemoteObjectMap.h:
21649 Rename getOrCreateNPObjectProxy to createNPObjectProxy.
21651 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
21652 (WebKit::NPJSObject::NP_Allocate):
21653 Remove unused parameter.
21655 2010-11-01 Anders Carlsson <andersca@apple.com>
21657 Reviewed by Adam Roben.
21659 Both the WebProcessConnection and PluginProcessConnection should have NPRemoteObjectMaps
21660 https://bugs.webkit.org/show_bug.cgi?id=48775
21662 * PluginProcess/PluginControllerProxy.cpp:
21663 (WebKit::PluginControllerProxy::windowScriptNPObject):
21664 Ask for an NPObjectProxy for the window script NPObject.
21666 * PluginProcess/WebProcessConnection.cpp:
21667 (WebKit::WebProcessConnection::WebProcessConnection):
21668 Initialize m_npRemoteObjectMap.
21670 * Shared/Plugins/NPObjectMessageReceiver.cpp:
21671 (WebKit::NPObjectMessageReceiver::create):
21672 Add a create member function that takes an NPObject.
21674 (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver):
21675 Retain the NPObject.
21677 (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver):
21678 Release the NPObject.
21680 * Shared/Plugins/NPRemoteObjectMap.cpp:
21681 (WebKit::generateNPObjectID):
21682 Generate a unique 64-bit NPObject ID.
21684 (WebKit::NPRemoteObjectMap::getOrCreateNPObjectProxy):
21687 (WebKit::NPRemoteObjectMap::registerNPObject):
21688 Create a NPObjectMessageReceiver and add it to the map.
21690 * WebKit2.xcodeproj/project.pbxproj:
21691 Set the correct target for NPRuntime related files.
21693 * WebProcess/Plugins/PluginProcessConnection.cpp:
21694 (WebKit::PluginProcessConnection::PluginProcessConnection):
21695 Initialize m_npRemoteObjectMap
21697 * WebProcess/Plugins/PluginProxy.cpp:
21698 (WebKit::PluginProxy::getWindowScriptNPObject):
21699 Ask the real plug-in controller for the window script NPObject and register it.
21701 2010-11-01 John Sullivan <sullivan@apple.com>
21703 Reviewed by Anders Carlsson.
21705 https://bugs.webkit.org/show_bug.cgi?id=48774
21706 minimFontSize preference needs to be exposed in WebKit2
21708 * UIProcess/WebPreferences.cpp:
21709 (WebKit::WebPreferences::setMinimumFontSize):
21710 New function, parallel to existing functions for other preferences.
21711 (WebKit::WebPreferences::minimumFontSize):
21714 * UIProcess/WebPreferences.h:
21715 Declared new function.
21717 * UIProcess/API/C/WKPreferences.cpp:
21718 (WKPreferencesSetMinimumFontSize):
21719 New UI process wrapper for new function.
21720 (WKPreferencesGetMinimumFontSize):
21723 * UIProcess/API/C/WKPreferences.h:
21724 Declared new functions.
21726 2010-11-01 Anders Carlsson <andersca@apple.com>
21728 Reviewed by John Sullivan.
21730 Tear down the related WebProcessProxy when a WebContext is deallocated
21731 https://bugs.webkit.org/show_bug.cgi?id=48769
21733 * UIProcess/WebContext.cpp:
21734 (WebKit::WebContext::~WebContext):
21735 Call WebProcessManager::contextWasDestroyed.
21737 (WebKit::WebContext::didNavigateWithNavigationData):
21738 (WebKit::WebContext::didPerformClientRedirect):
21739 (WebKit::WebContext::didPerformServerRedirect):
21740 (WebKit::WebContext::didUpdateHistoryTitle):
21741 It is valid for a frame to have a null page here, if the frame has outlived
21744 * UIProcess/WebProcessManager.cpp:
21745 (WebKit::WebProcessManager::contextWasDestroyed):
21746 Remove the context from the map.
21748 * UIProcess/WebProcessProxy.cpp:
21749 (WebKit::WebProcessProxy::~WebProcessProxy):
21750 It's OK for the connection to be non-null here if the process goes away because
21751 the context has been deallocated.
21753 2010-11-01 Brady Eidson <beidson@apple.com>
21757 * UIProcess/win/WebView.cpp:
21759 2010-11-01 Brady Eidson <beidson@apple.com>
21761 Reviewed by Anders Carlsson.
21763 <rdar://problem/7660547> and https://bugs.webkit.org/show_bug.cgi?id=48699
21764 Context menu support for WebKit 2.
21767 * WebKit2.xcodeproj/project.pbxproj:
21768 * win/WebKit2.vcproj:
21770 * Shared/WebContextMenuItem.cpp: Added.
21771 (WebKit::WebContextMenuItem::WebContextMenuItem):
21772 (WebKit::WebContextMenuItem::encode):
21773 (WebKit::WebContextMenuItem::decode):
21774 (WebKit::kitItems):
21775 * Shared/WebContextMenuItem.h: Added.
21777 * UIProcess/API/mac/PageClientImpl.h:
21778 * UIProcess/API/mac/PageClientImpl.mm:
21779 (WebKit::PageClientImpl::createContextMenuProxy):
21780 * UIProcess/API/qt/qwkpage.cpp:
21781 (QWKPagePrivate::createContextMenuProxy): Stub to keep the build working.
21782 * UIProcess/API/qt/qwkpage_p.h:
21783 * UIProcess/PageClient.h:
21785 * UIProcess/WebContextMenuProxy.cpp: Added.
21786 (WebKit::WebContextMenuProxy::~WebContextMenuProxy):
21787 (WebKit::WebContextMenuProxy::WebContextMenuProxy):
21788 * UIProcess/WebContextMenuProxy.h: Added.
21790 * UIProcess/WebPageProxy.cpp:
21791 (WebKit::WebPageProxy::showContextMenu): Shows the menu after receiving the message from the WebProcess.
21792 (WebKit::WebPageProxy::contextMenuItemSelected): Sends info about the selected menu item to the WebProcess
21793 * UIProcess/WebPageProxy.h:
21794 * UIProcess/WebPageProxy.messages.in:
21796 * UIProcess/mac/WebContextMenuProxyMac.h: Added.
21797 (WebKit::WebContextMenuProxyMac::create):
21798 * UIProcess/mac/WebContextMenuProxyMac.mm: Added.
21799 (+[WebMenuTarget sharedMenuTarget]):
21800 (-[WebMenuTarget WebKit::]):
21801 (-[WebMenuTarget setMenuProxy:WebKit::]):
21802 (-[WebMenuTarget forwardContextMenuAction:]):
21803 (WebKit::WebContextMenuProxyMac::WebContextMenuProxyMac):
21804 (WebKit::WebContextMenuProxyMac::~WebContextMenuProxyMac):
21805 (WebKit::WebContextMenuProxyMac::contextMenuItemSelected):
21806 (WebKit::populateNSMenu):
21807 (WebKit::nsMenuItemVector):
21808 (WebKit::WebContextMenuProxyMac::populate):
21809 (WebKit::WebContextMenuProxyMac::showContextMenu):
21810 (WebKit::WebContextMenuProxyMac::hideContextMenu):
21812 * UIProcess/win/WebView.cpp:
21813 (WebKit::WebView::createContextMenuProxy): Stub for now.
21814 * UIProcess/win/WebView.h:
21816 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
21817 (WebKit::WebChromeClient::showContextMenu):
21818 * WebProcess/WebCoreSupport/WebChromeClient.h:
21820 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
21821 (WebKit::WebContextMenuClient::getCustomMenuFromDefaultItems): Return the WebCore-provided default
21822 menu for now. Embedding app customization will come later (see bug 48720)
21824 * WebProcess/WebPage/WebContextMenu.cpp: Added.
21825 (WebKit::WebContextMenu::WebContextMenu):
21826 (WebKit::WebContextMenu::~WebContextMenu):
21827 (WebKit::WebContextMenu::show):
21828 (WebKit::WebContextMenu::itemSelected):
21829 * WebProcess/WebPage/WebContextMenu.h: Added.
21830 (WebKit::WebContextMenu::create):
21832 * WebProcess/WebPage/WebPage.cpp:
21833 (WebKit::WebPage::contextMenu):
21834 (WebKit::handleMouseEvent): Pass right mouse presses along to WebCore as both a mouse event and context menu event,
21835 the same way WebKit1 does.
21836 (WebKit::WebPage::didSelectItemFromActiveContextMenu):
21837 * WebProcess/WebPage/WebPage.h:
21838 * WebProcess/WebPage/WebPage.messages.in:
21840 2010-11-01 Adam Roben <aroben@apple.com>
21842 Cancel main resource loads after we hand them off to the media engine
21844 This is the WebKit2 equivalent of r51104. Clearly this code should be
21845 moved to a cross-platform location someday.
21847 Fixes <http://webkit.org/b/48561> <rdar://problem/8606679> Assertion
21848 failure in DocumentLoader::commitData when loading a media document in
21851 Reviewed by Eric Carlson.
21853 * WebProcess/WebCoreSupport/WebErrors.h: Added pluginWillHandleLoadError.
21855 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
21856 (WebFrameLoaderClient::committedLoad): Cancel the main resource load
21857 after handing off the load to the media engine. This code originally
21858 came from -[WebHTMLRepresentation receivedData:withDataSource:].
21859 (WebKit::WebFrameLoaderClient::pluginWillHandleLoadError): Call through to WebErrors.
21860 (WebKit::WebFrameLoaderClient::shouldFallBack): Implemented. We fall
21861 back for all errors except when the load was cancelled or we handed it
21862 off to the media engine or a plugin.
21864 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
21865 (WebKit::pluginWillHandleLoadError): Implemented.
21867 * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
21868 (WebKit::pluginWillHandleLoadError): Stubbed out.
21870 * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
21871 (WebKit::pluginWillHandleLoadError): Implemented.
21873 2010-11-01 Andreas Kling <kling@webkit.org>
21875 Reviewed by Kenneth Rohde Christiansen.
21877 [Qt][WK2] Cleanup viewportAttributesForSize API
21879 Change QSize argument to a const QSize&.
21881 * UIProcess/API/qt/qwkpage.cpp:
21882 (QWKPage::viewportAttributesForSize):
21883 * UIProcess/API/qt/qwkpage.h:
21885 2010-10-31 Darin Adler <darin@apple.com>
21887 Reviewed by Dan Bernstein.
21889 Visited links not populated correctly in new web processes after the first
21890 https://bugs.webkit.org/show_bug.cgi?id=48735
21891 rdar://problem/8442177
21893 * UIProcess/VisitedLinkProvider.cpp:
21894 (WebKit::VisitedLinkProvider::VisitedLinkProvider): Initialize
21895 m_webProcessHasVisitedLinkState.
21896 (WebKit::VisitedLinkProvider::processDidFinishLaunching): Renamed
21897 from populateVisitedLinksIfNeeded. Set m_webProcessHasVisitedLinkState
21898 to false, since this is a new process, and also start the timer
21899 so the visited links messages will be sent.
21900 (WebKit::VisitedLinkProvider::processDidClose): Renamed from
21901 stopVisitedLinksTimer.
21902 (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
21903 Added logic so we send SetVisitedLinkTable and
21904 AllVisitedLinkStateChanged once to each new process and to set
21905 m_webProcessHasVisitedLinkState to true once that is done.
21907 * UIProcess/VisitedLinkProvider.h: Updated for above changes.
21909 * UIProcess/WebContext.cpp:
21910 (WebKit::WebContext::processDidFinishLaunching): Called
21911 VisitedLinkProvider function under its new name. Also used
21912 ASSERT_UNUSED rather than ASSERT since the argument is used
21913 only for the assertion.
21914 (WebKit::WebContext::processDidClose): Ditto.
21916 2010-10-30 Andreas Kling <kling@webkit.org>
21918 Reviewed by Kenneth Rohde Christiansen.
21920 [Qt][WK2] Crash in drawUpdateChunkIntoBackingStore
21921 https://bugs.webkit.org/show_bug.cgi?id=48707
21923 UpdateChunk images have to be created using the QImage constructor
21924 that takes a bytesPerLine (stride) value, or the data length won't
21925 match UpdateChunk::size().
21927 * Shared/qt/UpdateChunk.cpp:
21928 (WebKit::UpdateChunk::createImage):
21930 2010-10-29 Daniel Bates <dbates@rim.com>
21932 No review, rolling out 70971.
21933 http://trac.webkit.org/changeset/70971
21934 https://bugs.webkit.org/show_bug.cgi?id=6751
21936 Rolling out changeset 70971 <http://trac.webkit.org/changeset/70971> since
21937 it caused layout test failures on all bots. In particular, the
21938 child count in a generated frame name differs after this patch. We need
21939 to look into this further.
21941 * WebProcess/WebPage/WebFrame.cpp:
21942 (WebKit::WebFrame::name):
21944 2010-10-29 Daniel Bates <dbates@rim.com>
21946 Reviewed by Adam Barth.
21948 For unnamed frames, window.name returns a generated name
21949 https://bugs.webkit.org/show_bug.cgi?id=6751
21951 Modified WebKit2 to use FrameTree::uniqueName().
21953 * WebProcess/WebPage/WebFrame.cpp:
21954 (WebKit::WebFrame::name):
21956 2010-10-29 Sam Weinig <weinig@apple.com>
21958 Reviewed by Simon Fraser.
21960 Implement WebProcess::platformSetCacheModel for windows
21961 <rdar://problem/8605796>
21962 https://bugs.webkit.org/show_bug.cgi?id=48703
21964 * WebProcess/win/WebProcessWin.cpp:
21965 (WebKit::memorySize):
21966 (WebKit::volumeFreeSize):
21967 (WebKit::WebProcess::platformSetCacheModel):
21968 Add implemenation based on the version in WebKit/win/WebView.cpp.
21970 2010-10-29 Andreas Kling <kling@webkit.org>
21972 Reviewed by Anders Carlsson.
21974 WK2: Unbreak compilation of WebPlatformTouchPoint::decode()
21976 * Shared/WebPlatformTouchPoint.cpp:
21977 (WebKit::WebPlatformTouchPoint::decode):
21979 2010-10-29 Darin Adler <darin@apple.com>
21981 Reviewed by Sam Weinig.
21983 More back/forward refactoring
21985 * WebKit2.pro: Removed WebBackForwardControllerClient.cpp and .h.
21986 * WebKit2.xcodeproj/project.pbxproj: Ditto.
21988 * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp: Removed.
21989 * WebProcess/WebCoreSupport/WebBackForwardControllerClient.h: Removed.
21991 * WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp:
21992 (WebKit::InjectedBundleBackForwardList::itemAtIndex): Use backForward.
21993 (WebKit::InjectedBundleBackForwardList::backListCount): Ditto.
21994 (WebKit::InjectedBundleBackForwardList::forwardListCount): Ditto.
21995 (WebKit::InjectedBundleBackForwardList::clear): Ditto.
21997 * WebProcess/WebPage/WebBackForwardListProxy.h: Added newly-needed include.
21999 * WebProcess/WebPage/WebPage.cpp:
22000 (WebKit::WebPage::WebPage): Set up backForwardClient.
22002 2010-10-29 Adam Roben <aroben@apple.com>
22004 Stop using encode/decodeBytes for WebEvent subclasses
22006 The use of encode/decodeBytes was making these classes sensitive to
22007 differences in padding on different architectures (e.g., 32-bit vs.
22008 64-bit). By encoding each data member explicitly we remove this
22009 sensitivity, allowing these classes to be passed between processes
22010 with different padding.
22012 Fixes <http://webkit.org/b/48552> <rdar://problem/8606571> Mouse
22013 events never reach Flash in WebKit2 on Mac (asserts in Debug builds)
22015 Reviewed by Anders Carlsson.
22017 * Platform/CoreIPC/Arguments.h:
22018 (CoreIPC::Arguments8::Arguments8):
22019 (CoreIPC::Arguments8::encode):
22020 (CoreIPC::Arguments8::decode):
22023 Added Arguments8, the biggest Arguments yet.
22025 * Shared/WebEvent.cpp:
22026 (WebKit::WebEvent::encode):
22027 (WebKit::WebEvent::decode):
22028 * Shared/WebKeyboardEvent.cpp:
22029 (WebKit::WebKeyboardEvent::encode):
22030 (WebKit::WebKeyboardEvent::decode):
22031 * Shared/WebMouseEvent.cpp:
22032 (WebKit::WebMouseEvent::encode):
22033 (WebKit::WebMouseEvent::decode):
22034 * Shared/WebPlatformTouchPoint.cpp:
22035 (WebKit::WebPlatformTouchPoint::encode):
22036 (WebKit::WebPlatformTouchPoint::decode):
22037 * Shared/WebTouchEvent.cpp:
22038 (WebKit::WebTouchEvent::encode):
22039 (WebKit::WebTouchEvent::decode):
22040 * Shared/WebWheelEvent.cpp:
22041 (WebKit::WebWheelEvent::encode):
22042 (WebKit::WebWheelEvent::decode):
22043 Changed all encode/decode function to use CoreIPC::In/Out to
22044 encode/decode data members individually.
22046 2010-10-29 Adam Roben <aroben@apple.com>
22048 Use only CoreIPC-sanctioned types in WebEvent subclasses
22050 Fixes <http://webkit.org//48694> WebEvent subclasses should not use
22051 architecture-dependent types
22053 Reviewed by Anders Carlsson.
22055 * Shared/WebEvent.h:
22056 (WebKit::WebEvent::type):
22057 (WebKit::WebMouseEvent::button):
22058 (WebKit::WebMouseEvent::clickCount):
22059 (WebKit::WebWheelEvent::granularity):
22060 (WebKit::WebPlatformTouchPoint::id):
22061 (WebKit::WebPlatformTouchPoint::state):
22062 Replaced enums, ints, and unsigneds with uint32_ts, int32_ts, and
22063 uint32_ts, respectively.
22065 2010-10-29 Anders Carlsson <andersca@apple.com>
22067 Reviewed by Adam Roben.
22069 Generate a DelayedReply struct for sync messages marked delayed
22070 https://bugs.webkit.org/show_bug.cgi?id=48696
22072 * Scripts/webkit2/messages.py:
22073 If we encounter a sync message marked delayed, generate a DelayedReply struct with a send member funciton
22074 that can be used for sending the reply.
22076 * Scripts/webkit2/messages_unittest.py:
22077 Update expected results.
22079 2010-10-29 Anders Carlsson <andersca@apple.com>
22081 Reviewed by Adam Roben.
22083 Use WebPage::send in a couple of more places.
22085 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
22086 (WebKit::WebChromeClient::setWindowRect):
22087 (WebKit::WebChromeClient::takeFocus):
22088 (WebKit::WebChromeClient::setToolbarsVisible):
22089 (WebKit::WebChromeClient::setStatusbarVisible):
22090 (WebKit::WebChromeClient::setMenubarVisible):
22091 (WebKit::WebChromeClient::setResizable):
22092 (WebKit::WebChromeClient::setStatusbarText):
22093 (WebKit::WebChromeClient::contentsSizeChanged):
22094 (WebKit::WebChromeClient::mouseDidMoveOverElement):
22095 (WebKit::WebChromeClient::setToolTip):
22096 (WebKit::WebChromeClient::setCursor):
22097 (WebKit::WebChromeClient::dispatchViewportDataDidChange):
22098 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
22099 (WebKit::WebEditorClient::registerCommandForUndo):
22100 (WebKit::WebEditorClient::clearUndoRedoOperations):
22101 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
22102 (WebKit::WebFrameLoaderClient::detachedFromParent2):
22103 (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
22104 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
22105 (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
22106 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
22107 (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
22108 (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
22109 (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
22110 (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
22111 (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
22112 (WebKit::WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
22113 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
22114 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
22115 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
22116 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
22117 (WebKit::WebFrameLoaderClient::postProgressStartedNotification):
22118 (WebKit::WebFrameLoaderClient::postProgressEstimateChangedNotification):
22119 (WebKit::WebFrameLoaderClient::postProgressFinishedNotification):
22120 (WebKit::WebFrameLoaderClient::didDisplayInsecureContent):
22121 (WebKit::WebFrameLoaderClient::didRunInsecureContent):
22122 (WebKit::WebFrameLoaderClient::dispatchDidBecomeFrameset):
22123 * WebProcess/WebPage/FindController.cpp:
22124 (WebKit::FindController::findString):
22125 (WebKit::FindController::hideFindIndicator):
22126 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
22127 (WebKit::WebBackForwardListProxy::addItem):
22128 (WebKit::WebBackForwardListProxy::goToItem):
22129 (WebKit::WebBackForwardListProxy::clear):
22130 * WebProcess/WebPage/WebFrame.cpp:
22131 (WebKit::WebFrame::createMainFrame):
22132 (WebKit::WebFrame::createSubframe):
22133 * WebProcess/WebPage/WebPage.cpp:
22134 (WebKit::WebPage::sendClose):
22135 (WebKit::WebPage::pageDidScroll):
22136 (WebKit::WebPage::mouseEvent):
22137 (WebKit::WebPage::wheelEvent):
22138 (WebKit::WebPage::keyEvent):
22139 (WebKit::WebPage::validateMenuItem):
22140 (WebKit::WebPage::touchEvent):
22141 (WebKit::WebPage::show):
22142 (WebKit::WebPage::runJavaScriptInMainFrame):
22143 (WebKit::WebPage::getRenderTreeExternalRepresentation):
22144 (WebKit::WebPage::getSourceForFrame):
22146 2010-10-29 Anders Carlsson <andersca@apple.com>
22148 Reviewed by Adam Roben.
22150 Add a MessageSender class template
22151 https://bugs.webkit.org/show_bug.cgi?id=48683
22153 * Platform/CoreIPC/MessageSender.h: Added.
22154 (CoreIPC::MessageSender::send):
22155 Add send overloads for simple message sending.
22158 * WebKit2.xcodeproj/project.pbxproj:
22159 Add MessageSender.h
22161 * WebProcess/WebPage/FindController.cpp:
22162 (WebKit::FindController::countStringMatches):
22163 (WebKit::FindController::findString):
22164 (WebKit::FindController::updateFindIndicator):
22165 Call send on the web page.
22167 * WebProcess/WebPage/WebPage.cpp:
22168 (WebKit::WebPage::connection):
22169 Add connection(), used by the MessageSender.
22171 * WebProcess/WebPage/WebPage.h:
22172 (WebKit::WebPage::destinationID):
22173 Add destinationID(), used by the MessageSender.
22175 * win/WebKit2.vcproj:
22176 Add MessageSender.h
22178 2010-10-29 Adam Roben <aroben@apple.com>
22180 Remove redundant data members from WebTouchEvent
22182 WebEvent already stores the Type and timestamp.
22184 Fixes <http://webkit.org/b/48671> WebTouchEvent duplicates data from
22187 Reviewed by Anders Carlsson.
22189 * Shared/WebEvent.h:
22190 * Shared/WebTouchEvent.cpp:
22191 (WebKit::WebTouchEvent::WebTouchEvent):
22192 Removed m_type and m_timestamp (which was never even getting
22195 2010-10-29 Anders Carlsson <andersca@apple.com>
22197 Reviewed by Adam Roben.
22199 Add the plug-in proxy to the map before sending the CreatePlugin message
22200 https://bugs.webkit.org/show_bug.cgi?id=48678
22202 * WebProcess/Plugins/PluginProxy.cpp:
22203 (WebKit::PluginProxy::initialize):
22205 2010-10-29 Anders Carlsson <andersca@apple.com>
22207 Reviewed by Adam Roben.
22209 Add GetWindowScriptNPObject message
22210 https://bugs.webkit.org/show_bug.cgi?id=48670
22212 * PluginProcess/PluginControllerProxy.cpp:
22213 (WebKit::PluginControllerProxy::windowScriptNPObject):
22214 Send the GetWindowScriptNPObject message.
22216 * WebProcess/Plugins/PluginProxy.cpp:
22217 (WebKit::PluginProxy::getWindowScriptNPObject):
22220 * WebProcess/Plugins/PluginProxy.messages.in:
22221 Add GetWindowScriptNPObject message.
22223 2010-10-29 Anders Carlsson <andersca@apple.com>
22225 Reviewed by Dan Bernstein.
22227 Change the Connection::sendSync timeout parameter to have the NoTimeout argument as a default
22228 argument and update all the call sites.
22230 * Platform/CoreIPC/Connection.h:
22231 * PluginProcess/PluginControllerProxy.cpp:
22232 (WebKit::PluginControllerProxy::proxiesForURL):
22233 (WebKit::PluginControllerProxy::cookiesForURL):
22234 * WebProcess/InjectedBundle/InjectedBundle.cpp:
22235 (WebKit::InjectedBundle::postSynchronousMessage):
22236 * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
22237 (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
22238 * WebProcess/Plugins/PluginProxy.cpp:
22239 (WebKit::PluginProxy::initialize):
22240 (WebKit::PluginProxy::destroy):
22241 (WebKit::PluginProxy::paint):
22242 (WebKit::PluginProxy::handleMouseEvent):
22243 (WebKit::PluginProxy::handleWheelEvent):
22244 (WebKit::PluginProxy::handleMouseEnterEvent):
22245 (WebKit::PluginProxy::handleMouseLeaveEvent):
22246 (WebKit::PluginProxy::handleKeyboardEvent):
22247 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
22248 (WebKit::WebChromeClient::windowRect):
22249 (WebKit::WebChromeClient::createWindow):
22250 (WebKit::WebChromeClient::toolbarsVisible):
22251 (WebKit::WebChromeClient::statusbarVisible):
22252 (WebKit::WebChromeClient::menubarVisible):
22253 (WebKit::WebChromeClient::canRunBeforeUnloadConfirmPanel):
22254 (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
22255 (WebKit::WebChromeClient::runJavaScriptAlert):
22256 (WebKit::WebChromeClient::runJavaScriptConfirm):
22257 (WebKit::WebChromeClient::runJavaScriptPrompt):
22258 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
22259 (WebKit::WebPlatformStrategies::populatePluginCache):
22260 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
22261 (WebKit::WebBackForwardListProxy::itemAtIndex):
22262 (WebKit::WebBackForwardListProxy::backListCount):
22263 (WebKit::WebBackForwardListProxy::forwardListCount):
22264 * WebProcess/WebPage/WebPage.cpp:
22265 (WebKit::WebPage::createPlugin):
22266 (WebKit::WebPage::changeAcceleratedCompositingMode):
22267 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
22268 (WebKit::LayerBackedDrawingArea::attachCompositingContext):
22269 * WebProcess/WebPage/mac/WebPageMac.mm:
22270 (WebKit::WebPage::interceptEditingKeyboardEvent):
22272 2010-10-29 John Sullivan <sullivan@apple.com>
22274 Reviewed by Anders Carlsson.
22276 https://bugs.webkit.org/show_bug.cgi?id=48666
22277 WebKit2 should provide counterpart getter to WKBundleNodeHandleSetHTMLInputElementAutofilled
22279 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
22280 (WKBundleNodeHandleGetHTMLInputElementAutofilled):
22281 New function, calls through to InjectedBundleNodeHandle.
22283 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
22284 Declared new function.
22286 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
22287 (WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutofilled):
22288 New function, calls through to HTMLInputElement.
22290 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
22291 Declared new function.
22293 2010-10-29 Jessie Berlin <jberlin@apple.com>
22295 Reviewed by Anders Carlsson.
22297 ASSERTION FAILURE in WebProcessProxy::frameDestroyed when a Page is closed before it can send
22298 the DidCreateMainFrame messsage to the UIProcess.
22299 https://bugs.webkit.org/show_bug.cgi?id=48654
22301 WebProcessProxy::frameDestroyed was asserting that the frameID it was called with was
22302 registered in WebProcessProxy::frameCreated (which is called when the WebPageProxy is
22303 created). However, in the case where we close the page before it's had the chance to send
22304 the DidCreateMainFrame message back to the UI process, the UI Process will get the
22305 DidDestroyFrame message because it's sent directly to the WebProcessProxy and doesn't go
22306 through WebPageProxy.
22308 Remove the assert because it is invalid in this case.
22310 * UIProcess/WebProcessProxy.cpp:
22311 (WebKit::WebProcessProxy::frameDestroyed):
22313 2010-10-29 Adam Roben <aroben@apple.com>
22315 Build fix when Carbon plugins are disabled
22317 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
22318 (WebKit::NetscapePlugin::platformHandleMouseEvent):
22320 2010-10-29 Adam Roben <aroben@apple.com>
22322 Move NPRuntime-related files into WebProcess/Plugins/Netscape
22324 Fixes <http://webkit.org/b/48645>.
22326 Reviewed by Anders Carlsson.
22329 * WebKit2.xcodeproj/project.pbxproj:
22330 * win/WebKit2.vcproj:
22331 Updated the files' paths.
22333 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: Renamed from WebKit2/WebProcess/Plugins/JSNPMethod.cpp.
22334 * WebProcess/Plugins/Netscape/JSNPMethod.h: Renamed from WebKit2/WebProcess/Plugins/JSNPMethod.h.
22335 * WebProcess/Plugins/Netscape/JSNPObject.cpp: Renamed from WebKit2/WebProcess/Plugins/JSNPObject.cpp.
22336 * WebProcess/Plugins/Netscape/JSNPObject.h: Renamed from WebKit2/WebProcess/Plugins/JSNPObject.h.
22337 * WebProcess/Plugins/Netscape/NPJSObject.cpp: Renamed from WebKit2/WebProcess/Plugins/NPJSObject.cpp.
22338 * WebProcess/Plugins/Netscape/NPJSObject.h: Renamed from WebKit2/WebProcess/Plugins/NPJSObject.h.
22339 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: Renamed from WebKit2/WebProcess/Plugins/NPRuntimeObjectMap.cpp.
22340 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: Renamed from WebKit2/WebProcess/Plugins/NPRuntimeObjectMap.h.
22341 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp: Renamed from WebKit2/WebProcess/Plugins/NPRuntimeUtilities.cpp.
22342 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h: Renamed from WebKit2/WebProcess/Plugins/NPRuntimeUtilities.h.
22344 2010-10-29 Alexey Proskuryakov <ap@apple.com>
22346 Reviewed by Darin Adler.
22348 https://bugs.webkit.org/show_bug.cgi?id=48576
22349 Let WebKit2 client know when a frame is a frameset
22351 * UIProcess/WebFrameProxy.cpp:
22352 (WebKit::WebFrameProxy::WebFrameProxy):
22353 * UIProcess/WebFrameProxy.h:
22354 (WebKit::WebFrameProxy::setIsFrameSet):
22355 (WebKit::WebFrameProxy::isFrameSet):
22356 Remember whether the frame is currently a frameset.
22358 * UIProcess/API/C/WKFrame.cpp: (WKFrameIsFrameSet):
22359 * UIProcess/API/C/WKFrame.h:
22362 * UIProcess/WebPageProxy.cpp:
22363 (WebKit::WebPageProxy::didCommitLoadForFrame):
22364 (WebKit::WebPageProxy::frameDidBecomeFrameSet):
22365 * UIProcess/WebPageProxy.h:
22366 * UIProcess/WebPageProxy.messages.in:
22367 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
22368 (WebKit::WebFrameLoaderClient::dispatchDidBecomeFrameset):
22369 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
22370 Pass notification from web process to UI process.
22372 2010-10-28 Adam Roben <aroben@apple.com>
22374 Use IntPoint/FloatSize in WebEvent subclasses
22376 This is nicer than passing around pairs of ints/floats.
22378 Fixes <http://webkit.org/b/48611>.
22380 Reviewed by Anders Carlsson.
22382 * Shared/WebEvent.h:
22383 * Shared/WebMouseEvent.cpp:
22384 * Shared/WebPlatformTouchPoint.cpp:
22385 * Shared/WebWheelEvent.cpp:
22386 Changed all x/y pairs to either use IntPoint or FloatSize, as
22389 * Shared/WebEventConversion.cpp:
22390 * Shared/mac/WebEventFactory.mm:
22391 * Shared/qt/WebEventFactoryQt.cpp:
22392 * Shared/win/WebEventFactory.cpp:
22393 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
22394 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
22395 Updated for WebEvent changes.
22397 2010-10-29 Adam Roben <aroben@apple.com>
22399 Touch WebKit2Prefix.h to fix incremental builds on Windows
22403 2010-10-28 Adam Roben <aroben@apple.com>
22405 Remove unnecessary #includes from WebEvent.h
22407 Fixes <http://webkit.org/b/48609> WebEvent.h #includes things it
22410 Reviewed by Sam Weinig.
22412 * Scripts/webkit2/messages.py:
22413 (MessageReceiver.iterparameters): Merged iterreplyparameters into this
22414 function. All callers to iterparameters are really interested in the
22415 reply parameters, too. This will cause us to, e.g., add
22416 forward-declarations for types used in sync replies.
22417 (headers_for_type): Added a special case for WebCore::KeypressCommand.
22419 * Scripts/webkit2/messages_unittest.py: Added a test to cover the
22420 failing case that inspired the above changes.
22422 * Shared/WebEvent.h: Replaced #includes with forward-declarations.
22424 * Shared/API/c/WKSharedAPICast.h:
22425 * Shared/NativeWebKeyboardEvent.h:
22426 * Shared/WebEvent.cpp:
22427 * Shared/WebKeyboardEvent.cpp:
22428 * Shared/WebMouseEvent.cpp:
22429 * Shared/WebPlatformTouchPoint.cpp:
22430 * Shared/WebTouchEvent.cpp:
22431 * Shared/WebWheelEvent.cpp:
22432 * Shared/qt/WebEventFactoryQt.cpp:
22433 * Shared/win/WebEventFactory.cpp:
22434 * UIProcess/API/qt/qwkpage.cpp:
22435 * UIProcess/LayerBackedDrawingAreaProxy.cpp:
22436 * UIProcess/WebUIClient.cpp:
22437 * UIProcess/WebUIClient.h:
22438 * UIProcess/win/WebView.cpp:
22439 * WebProcess/WebPage/FindController.cpp:
22440 * WebProcess/WebPage/mac/WebPageMac.mm:
22441 Added now-needed #includes and declarations.
22443 2010-10-29 Csaba Osztrogonác <ossy@webkit.org>
22445 Reviewed by Adam Roben and David Kilzer.
22447 Fix and cleanup of build systems
22448 https://bugs.webkit.org/show_bug.cgi?id=48342
22450 * Configurations/FeatureDefines.xcconfig: Remove unnecessary ENABLE_SANDBOX and add missing features.
22452 2010-10-28 Dan Bernstein <mitz@apple.com>
22454 LLVM compiler build fix
22456 * WebProcess/Downloads/mac/DownloadMac.mm:
22457 (-[WKDownloadAsDelegate download:didReceiveResponse:]): Removed a stray semicolon.
22459 2010-10-28 Adam Roben <aroben@apple.com>
22461 Move some function definitions from WebEvent.h into new .cpp files
22463 Someday maybe we'll split the classes into their own header files,
22466 Fixes <http://webkit.org/b/48604>.
22468 Reviewed by Anders Carlsson.
22470 * Shared/WebEvent.h: Moved code from here...
22472 * Shared/WebEvent.cpp: Added.
22473 * Shared/WebKeyboardEvent.cpp: Added.
22474 * Shared/WebMouseEvent.cpp: Added.
22475 * Shared/WebPlatformTouchPoint.cpp: Added.
22476 * Shared/WebTouchEvent.cpp: Added.
22477 * Shared/WebWheelEvent.cpp: Added.
22478 ...to here. Also changed WebTouchEvent::touchPoints not to copy the
22482 * WebKit2.xcodeproj/project.pbxproj:
22483 * win/WebKit2.vcproj:
22484 Added the new files.
22486 2010-10-28 Anders Carlsson <andersca@apple.com>
22488 Reviewed by Adam Roben.
22490 Connection::sendSyncMessage needs to dispatch incoming sync messages
22491 https://bugs.webkit.org/show_bug.cgi?id=48606
22493 * Platform/CoreIPC/Connection.cpp:
22494 (CoreIPC::Connection::sendSyncMessage):
22495 Protect the connection when waiting for a reply. Schedule for any remaining incoming sync messages
22496 to be sent once the bottom-most waitForSyncReply calls returns.
22498 (CoreIPC::Connection::waitForSyncReply):
22499 Make sure to dispatch any incoming sync messages.
22501 (CoreIPC::Connection::processIncomingMessage):
22502 If the incoming message is a sync message and we're waiting for a sync reply, add the message to the
22503 queue of "sync messages received while waiting for sync reply" and wake up the client thread.
22505 * Platform/CoreIPC/Connection.h:
22507 2010-10-28 Anders Carlsson <andersca@apple.com>
22509 Reviewed by Adam Roben.
22511 Move code to dispatch a sync message out into a separate function
22512 https://bugs.webkit.org/show_bug.cgi?id=48605
22514 * Platform/CoreIPC/Connection.cpp:
22515 (CoreIPC::Connection::dispatchSyncMessage):
22516 Factor code out from dispatchMessage. Handle receiving a message with an invalid reply ID.
22518 (CoreIPC::Connection::dispatchMessages):
22519 Call dispatchSyncMessage.
22521 * Platform/CoreIPC/Connection.h:
22523 2010-10-28 Anders Carlsson <andersca@apple.com>
22525 Reviewed by Darin Adler.
22527 Add NPObjectMessageReceiver class.
22528 https://bugs.webkit.org/show_bug.cgi?id=48599
22530 * Shared/Plugins/NPObjectMessageReceiver.cpp: Added.
22531 (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver):
22532 (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver):
22533 * Shared/Plugins/NPObjectMessageReceiver.h: Added.
22534 * WebKit2.xcodeproj/project.pbxproj:
22536 2010-10-28 Anders Carlsson <andersca@apple.com>
22538 Reviewed by Sam Weinig.
22540 Add NPObjectProxy class
22541 https://bugs.webkit.org/show_bug.cgi?id=48558
22543 * Shared/Plugins/NPObjectProxy.cpp: Added.
22544 (WebKit::NPObjectProxy::NPObjectProxy):
22545 (WebKit::NPObjectProxy::~NPObjectProxy):
22546 * Shared/Plugins/NPObjectProxy.h: Added.
22547 * WebKit2.xcodeproj/project.pbxproj:
22549 2010-10-28 Anders Carlsson <andersca@apple.com>
22551 Reviewed by Sam Weinig.
22553 Add NPRemoteObjectMap class
22554 https://bugs.webkit.org/show_bug.cgi?id=48553
22556 * Shared/Plugins/NPRemoteObjectMap.cpp: Added.
22557 (WebKit::NPRemoteObjectMap::NPRemoteObjectMap):
22558 * Shared/Plugins/NPRemoteObjectMap.h: Added.
22559 * WebKit2.xcodeproj/project.pbxproj:
22561 2010-10-28 Sam Weinig <sam@webkit.org>
22563 Reviewed by Anders Carlsson.
22565 WKURLRefs should be allowed to be null
22566 <rdar://problem/8575621>
22567 https://bugs.webkit.org/show_bug.cgi?id=48535
22569 * Shared/API/c/WKSharedAPICast.h:
22570 (WebKit::toURLRef):
22571 (WebKit::toCopiedURLAPI):
22572 Turn a null WTF::String into a null WKURLRef.
22574 2010-10-28 Sam Weinig <sam@webkit.org>
22576 Reviewed by Anders Carlsson.
22578 Add WebKit2 API for window feature getter/setters
22579 <rdar://problem/8590373>
22580 https://bugs.webkit.org/show_bug.cgi?id=48496
22582 * UIProcess/API/C/WKPage.h:
22583 * UIProcess/WebPageProxy.cpp:
22584 (WebKit::WebPageProxy::setToolbarsAreVisible):
22585 (WebKit::WebPageProxy::getToolbarsAreVisible):
22586 (WebKit::WebPageProxy::setMenuBarIsVisible):
22587 (WebKit::WebPageProxy::getMenuBarIsVisible):
22588 (WebKit::WebPageProxy::setStatusBarIsVisible):
22589 (WebKit::WebPageProxy::getStatusBarIsVisible):
22590 (WebKit::WebPageProxy::setIsResizable):
22591 (WebKit::WebPageProxy::getIsResizable):
22592 * UIProcess/WebPageProxy.h:
22593 * UIProcess/WebPageProxy.messages.in:
22594 * UIProcess/WebUIClient.cpp:
22595 (WebKit::WebUIClient::toolbarsAreVisible):
22596 (WebKit::WebUIClient::setToolbarsAreVisible):
22597 (WebKit::WebUIClient::menuBarIsVisible):
22598 (WebKit::WebUIClient::setMenuBarIsVisible):
22599 (WebKit::WebUIClient::statusBarIsVisible):
22600 (WebKit::WebUIClient::setStatusBarIsVisible):
22601 (WebKit::WebUIClient::isResizable):
22602 (WebKit::WebUIClient::setIsResizable):
22603 * UIProcess/WebUIClient.h:
22604 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
22605 (WebKit::WebChromeClient::setToolbarsVisible):
22606 (WebKit::WebChromeClient::toolbarsVisible):
22607 (WebKit::WebChromeClient::setStatusbarVisible):
22608 (WebKit::WebChromeClient::statusbarVisible):
22609 (WebKit::WebChromeClient::setMenubarVisible):
22610 (WebKit::WebChromeClient::menubarVisible):
22611 (WebKit::WebChromeClient::setResizable):
22612 Plumb through the calls.
22614 2010-10-28 Dan Bernstein <mitz@apple.com>
22618 * win/WebKit2Common.vsprops:
22620 2010-10-28 Dan Bernstein <mitz@apple.com>
22622 Reviewed by Adam Roben.
22624 No longer soft-link zlib
22625 https://bugs.webkit.org/show_bug.cgi?id=48004
22627 * win/WebKit2Common.vsprops: Added zlib.lib to AdditionalDependencies.
22629 2010-10-28 Adam Roben <aroben@apple.com>
22631 Make PluginView retain its HTMLPlugInElement
22633 This matches WebKit/mac's WebBaseNetscapePluginView. WebCore didn't do
22634 this, but had a very different mechanism for implementing NPRuntime
22635 that didn't require it.
22637 Fixes <http://webkit.org/b/46672> <rdar://problem/8484208> Crash
22638 (preceded by assertion) in Node::document when running
22639 plugins/document-open.html in WebKit2 on Windows
22641 Reviewed by Anders Carlsson.
22643 * WebProcess/Plugins/PluginView.cpp:
22644 (WebKit::PluginView::create): Moved here from the header file so that
22645 clients of the header file won't have to pull in HTMLPlugInElement.h.
22646 Changed to take a PassRefPtr<HTMLPlugInElement>.
22647 (WebKit::PluginView::PluginView): Changed to take a
22648 PassRefPtr<HTMLPlugInElement> and to use m_pluginElement later (because
22649 the parameter to the function will be nulled-out after assigning into
22651 (WebKit::PluginView::pluginElementNPObject): Updated for change to m_pluginElement.
22653 * WebProcess/Plugins/PluginView.h: Made m_pluginElement a RefPtr.
22655 2010-10-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
22657 Reviewed by Andreas Kling.
22659 Make Qt viewportAttributesForSize not assert on (0, 0) size
22660 https://bugs.webkit.org/show_bug.cgi?id=48524
22662 We now return an invalid (isValid() == false) ViewportAttributes
22663 instance when the supplied size is (0, 0).
22665 * UIProcess/API/qt/qwkpage.cpp:
22666 (QWKPage::viewportAttributesForSize):
22668 2010-10-28 Balazs Kelemen <kbalazs@webkit.org>
22670 Reviewed by Andreas Kling.
22672 [Qt][WK2] SharedMemory should be released by the receiving process
22673 https://bugs.webkit.org/show_bug.cgi?id=48520
22675 * Platform/qt/SharedMemoryQt.cpp:
22676 (WebKit::SharedMemory::~SharedMemory):
22677 (WebKit::SharedMemory::createHandle):
22679 2010-10-28 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
22681 Reviewed by Kenneth Rohde Christiansen.
22683 [Qt] Web process cannot be debugged if it crashes in initialization
22684 https://bugs.webkit.org/show_bug.cgi?id=47399
22686 Wait 3 seconds for the debugger on debug mode if
22687 WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH environment variable is set.
22689 The debugging can be initiated for example in following way:
22690 export WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH=1
22691 ./MiniBrowser & while [ -z `pidof QtWebProcess` ]; do sleep 1; done; \
22692 gdb --pid=`pidof QtWebProcess`
22694 * WebProcess/qt/WebProcessMainQt.cpp:
22695 (WebKit::WebProcessMainQt):
22697 2010-10-28 Mark Rowe <mrowe@apple.com>
22701 Qualify references to Rect to avoid ambiguity between WebCore::Rect and Carbon's Rect.
22703 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
22704 (WebKit::NetscapePlugin::platformPostInitialize):
22705 (WebKit::NetscapePlugin::windowFrameChanged):
22707 2010-10-28 Ivan Krstić <ike@apple.com>
22709 Reviewed by Mark Rowe.
22711 Remove unused experimental proxied panel interface.
22712 <rdar://problem/7237059>
22714 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
22715 (InitWebCoreSystemInterface):
22717 2010-10-27 Mark Rowe <mrowe@apple.com>
22721 * UIProcess/API/mac/PageClientImpl.mm: Reference the file using the correct case.
22723 2010-10-27 Anders Carlsson <andersca@apple.com>
22725 Reviewed by Sam Weinig.
22727 Find indicators do not bounce
22728 https://bugs.webkit.org/show_bug.cgi?id=48490
22729 <rdar://problem/8564276>
22731 * UIProcess/API/mac/FindIndicatorWindow.h:
22732 * UIProcess/API/mac/FindIndicatorWindow.mm:
22733 (-[WebFindIndicatorWindowAnimation _initWithFindIndicatorWindow:WebKit::animationDuration:animationProgressCallback:WebKit::FindIndicatorWindow::animationDidEndCallback:WebKit::FindIndicatorWindow::]):
22734 Add an animationDuration parameter.
22736 (WebKit::FindIndicatorWindow::FindIndicatorWindow):
22737 Initialize m_bounceAnimationContext.
22739 (WebKit::FindIndicatorWindow::setFindIndicator):
22740 Create a bounce animation and start it.
22742 (WebKit::FindIndicatorWindow::closeWindow):
22743 Stop the bounce animation and destroy the bounce animation context.
22745 (WebKit::FindIndicatorWindow::startFadeOutTimerFired):
22746 pass the fade out duration.
22748 (WebKit::FindIndicatorWindow::bounceAnimationCallback):
22749 Set the bounce animation progress.
22751 (WebKit::FindIndicatorWindow::bounceAnimationDidEnd):
22752 Destroy the bounce animation context.
22754 2010-10-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
22756 Reviewed by Andreas Kling.
22758 Remove the reference to the pageNamespace in the QWKPagePrivate.
22759 Access it through the WebPageProxy instead which holds a strong
22762 * UIProcess/API/qt/qwkpage.cpp:
22763 (QWKPagePrivate::QWKPagePrivate):
22764 (QWKPage::preferences):
22765 * UIProcess/API/qt/qwkpage_p.h:
22767 2010-10-27 Enrica Casucci <enrica@apple.com>
22769 Reviewed by Alexey Proskuryakov.
22771 Support Appkit key bindings and custom key bindings in WebKit2
22772 https://bugs.webkit.org/show_bug.cgi?id=48271
22773 <rdar://problem/7660723>
22775 We need to support AppKit key bindings and custom key bindings in WebKit2.
22776 Every keyboard event is first sent to the WebProcess and we inform AppKit that
22777 we don't need further processing. When the event is processed by the WebProcess and no handler consumes it,
22778 we send a synchronous message back to the UI process to let AppKit perform the key bindings.
22779 This operation can result in one or more editing commands to execute or a noop.
22780 The WebProcess then replies back to the UI process to inform whether further processing is required, in
22781 which case the event is sent back to the application to be mapped.
22782 There is a potential for a race condition: in case the WebProcess is very slow to process the key events, the UI
22783 process could be in a completely different state when the event is being resent (for example it might not have the
22784 keyboard focus anymore) and the command could be lost. We should look out for user experience impact.
22786 * Scripts/webkit2/messages.py: Added header file in the generated file.
22787 * Shared/WebCoreArgumentCoders.h: Added encoder/decoder for KeypressCommand.
22788 * UIProcess/API/mac/PageClientImpl.h:
22789 * UIProcess/API/mac/PageClientImpl.mm:
22790 (WebKit::PageClientImpl::interceptKeyEvent): Pass-through call to WKView.
22791 (WebKit::PageClientImpl::didNotHandleKeyEvent): Added logic to resend the event to the application.
22792 * UIProcess/API/mac/WKView.mm:
22793 (-[WKView validateUserInterfaceItem:]): Changed the default return value to YES, otherwise no menu shortcut is performed.
22794 (-[WKView doCommandBySelector:]): Added.
22795 (-[WKView insertText:]): Added.
22796 (-[WKView _handleStyleKeyEquivalent:]): Added to handle command-B and command-I.
22797 (-[WKView performKeyEquivalent:]): Added to intercept key binding sequences.
22798 (-[WKView _setEventBeingResent:]):
22799 (-[WKView _interceptKeyEvent:]):
22800 * UIProcess/API/mac/WKViewInternal.h:
22801 * UIProcess/PageClient.h:
22802 * UIProcess/WebPageProxy.cpp:
22803 (WebKit::WebPageProxy::interpretKeyEvent):
22804 * UIProcess/WebPageProxy.h:
22805 * UIProcess/WebPageProxy.messages.in:
22806 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
22807 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
22808 (WebKit::WebEditorClient::handleKeyboardEvent):
22809 (WebKit::WebEditorClient::handleInputMethodKeydown):
22810 * WebProcess/WebPage/WebPage.cpp:
22811 * WebProcess/WebPage/WebPage.h:
22812 * WebProcess/WebPage/mac/WebPageMac.mm: Moved handleKeyboardEvent and handleInputMethodKeydown
22813 to the Mac specific implementation.
22814 (WebKit::WebPage::interceptEditingKeyboardEvent): Added.
22816 2010-10-27 Brian Weinstein <bweinstein@apple.com>
22818 More Windows build fixage. Copy another new header into WebKitOutputDir.
22820 * win/WebKit2Generated.make:
22822 2010-10-27 Brian Weinstein <bweinstein@apple.com>
22824 Windows build fix. Copy a new header into WebKitOutputDir.
22826 * win/WebKit2Generated.make:
22828 2010-10-26 Darin Adler <darin@apple.com>
22830 Reviewed by Sam Weinig.
22832 WebKitTestRunner needs to support layoutTestController.dumpBackForwardList
22833 https://bugs.webkit.org/show_bug.cgi?id=42322
22834 rdar://problem/8193631
22836 WebKitTestRunner needs to support layoutTestController.clearBackForwardList
22837 https://bugs.webkit.org/show_bug.cgi?id=42333
22838 rdar://problem/8193643
22840 * Shared/API/c/WKBase.h: Added WKBundleBackForwardListRef and
22841 WKBundleBackForwardListItemRef.
22843 * Shared/API/c/WKURL.cpp:
22844 (WKURLCopyString): Added.
22845 * Shared/API/c/WKURL.h: Added WKURLCopyString.
22847 * Shared/API/c/cf/WKURLCF.h: Fixed incorrect argument name.
22849 * Shared/APIObject.h: Added TypeBundleBackForwardList and
22850 TypeBundleBackForwardListItem.
22852 * Shared/ImmutableArray.h: Marked destructor virtual explicitly.
22853 * Shared/ImmutableDictionary.h: Ditto.
22854 * UIProcess/WebBackForwardListItem.h: Ditto.
22855 * UIProcess/WebContext.h: Ditto.
22856 * UIProcess/WebFrameProxy.h: Ditto.
22857 * UIProcess/WebNavigationData.h: Ditto.
22858 * UIProcess/WebPageNamespace.h: Ditto.
22859 * UIProcess/WebPreferences.h: Ditto.
22860 * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h: Ditto.
22861 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: Ditto.
22862 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h: Ditto.
22864 * UIProcess/WebBackForwardList.cpp: Removed unneeded backListWithLimit
22865 and forwardListWithLimit functions.
22866 (WebKit::WebBackForwardList::clear): Added.
22867 * UIProcess/WebBackForwardList.h: Marked destructor virtual explicitly.
22868 Added clear, removed backListWithLimit and forwardListWithLimit functions.
22870 * UIProcess/WebPageProxy.cpp: Removed unneeded backForwardBackItem,
22871 backForwardCurrentItem, and backForwardForwardItem functions.
22872 (WebKit::WebPageProxy::backForwardClear): Added.
22873 * UIProcess/WebPageProxy.h: Ditto.
22874 * UIProcess/WebPageProxy.messages.in: Ditto.
22876 * WebKit2.pro: Added new files.
22877 * WebKit2.xcodeproj/project.pbxproj: Ditto.
22878 * win/WebKit2.vcproj: Ditto.
22880 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: Added
22881 WKBundleBackForwardListRef and WKBundleBackForwardListItemRef.
22883 * WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.cpp:
22884 Started with a copy of from WebKit2/UIProcess/API/C/WKBackForwardList.cpp.
22885 * WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.h:
22886 Started with a copy of WebKit2/UIProcess/API/C/WKBackForwardList.h.
22888 * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
22889 Started with a copy of WebKit2/UIProcess/API/C/WKBackForwardListItem.cpp.
22890 * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.h:
22891 Started with a copy of WebKit2/UIProcess/API/C/WKBackForwardListItem.h.
22893 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
22894 (WKBundlePageGetBackForwardList): Added.
22895 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Ditto.
22898 * WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp:
22899 Started with a copy of WebKit2/UIProcess/WebBackForwardList.cpp.
22900 * WebProcess/InjectedBundle/InjectedBundleBackForwardList.h:
22901 Started with a copy of WebKit2/UIProcess/WebBackForwardList.h.
22903 * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
22904 Started with a copy of WebKit2/UIProcess/WebBackForwardListItem.cpp.
22905 * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
22906 Started with a copy of WebKit2/UIProcess/WebBackForwardListItem.h.
22908 * WebProcess/WebPage/WebBackForwardListProxy.cpp: Removed
22909 many unneeded functions.
22910 (WebKit::WebBackForwardListProxy::WebBackForwardListProxy):
22911 Removed unneeded initialization of m_closed.
22912 (WebKit::WebBackForwardListProxy::addItem): Added a check for
22913 the case of a capacity of 0.
22914 (WebKit::WebBackForwardListProxy::goToItem): Added a check for
22915 when the proxy outlives its page.
22916 (WebKit::WebBackForwardListProxy::itemAtIndex): Ditto.
22917 (WebKit::WebBackForwardListProxy::backListCount): Ditto.
22918 (WebKit::WebBackForwardListProxy::forwardListCount): Ditto.
22919 (WebKit::WebBackForwardListProxy::close): Removed unneeded code
22921 (WebKit::WebBackForwardListProxy::isActive): Added.
22922 (WebKit::WebBackForwardListProxy::clear): Added.
22924 * WebProcess/WebPage/WebBackForwardListProxy.h: Added clear,
22925 isActive, and detach functions. Removed many other unneeded
22926 function and data members.
22928 * WebProcess/WebPage/WebPage.cpp:
22929 (WebKit::WebPage::~WebPage): Added call to detach on the
22931 (WebKit::WebPage::backForwardList): Added.
22932 * WebProcess/WebPage/WebPage.h: Added backForwardList function
22933 and m_backForwardList data member.
22935 2010-10-27 Beth Dakin <bdakin@apple.com>
22937 Reviewed by Darin Adler.
22939 Fix for https://bugs.webkit.org/show_bug.cgi?id=48385 Add WebKit
22940 SPI to scale a WebView
22941 -and corresponding-
22942 <rdar://problem/8107667>
22944 This patch adds SPI to Mac WebKit that scales the page by the given
22947 Implement scaleWebView(), which tells WebCore::Frame to scale, and
22948 viewScaleFactor() which returns the current scale factor.
22949 * Shared/API/c/WKSharedAPICast.h:
22950 * UIProcess/API/C/WKPage.cpp:
22951 (WKPageScaleWebView):
22952 (WKPageGetViewScaleFactor):
22953 * UIProcess/API/C/WKPage.h:
22954 * UIProcess/WebPageProxy.cpp:
22955 (WebKit::WebPageProxy::WebPageProxy):
22956 (WebKit::WebPageProxy::scaleWebView):
22957 * UIProcess/WebPageProxy.h:
22958 (WebKit::WebPageProxy::viewScaleFactor):
22959 * WebProcess/WebPage/WebPage.cpp:
22960 (WebKit::WebPage::scaleWebView):
22961 (WebKit::WebPage::viewScaleFactor):
22962 * WebProcess/WebPage/WebPage.h:
22963 * WebProcess/WebPage/WebPage.messages.in:
22965 2010-10-27 Jessie Berlin <jberlin@apple.com>
22967 Reviewed by Sam Weinig.
22969 Fix the WebKit2 API tests.
22970 https://bugs.webkit.org/show_bug.cgi?id=48461
22972 The API tests were failing because the tests expect to be able to send messages before the
22973 WebProcess finishes launching.
22975 Instead of dispatching the pending messages in processDidFinishLaunching, dispatch them in
22976 ensureWebProcess but do not make messages pending if the process is launching.
22978 * UIProcess/WebContext.cpp:
22979 (WebKit::WebContext::processDidFinishLaunching):
22980 Move dispatching the pending messages back from here ...
22981 (WebKit::WebContext::ensureWebProcess):
22983 (WebKit::WebContext::postMessageToInjectedBundle):
22984 Check whether the process can send messages in order to determine if a message needs to be
22987 * UIProcess/WebProcessProxy.h:
22988 (WebKit::WebProcessProxy::canSendMessage):
22989 The WebProcessProxy can send a message if it is valid or if it is launching.
22991 2010-10-27 Anders Carlsson <andersca@apple.com>
22993 Reviewed by Sam Weinig.
22995 More work on downloads
22996 https://bugs.webkit.org/show_bug.cgi?id=48480
22998 * WebProcess/Downloads/Download.cpp:
22999 (WebKit::Download::~Download):
23000 Call platformInvalidate().
23002 (WebKit::Download::didBegin):
23003 (WebKit::Download::didReceiveData):
23004 (WebKit::Download::didFinish):
23007 * WebProcess/Downloads/DownloadManager.cpp:
23008 (WebKit::DownloadManager::startDownload):
23009 Create a Download object and insert it into the m_downloads map.
23011 * WebProcess/Downloads/cf/DownloadCFNet.cpp:
23012 (WebKit::Download::platformInvalidate):
23015 * WebProcess/Downloads/mac/DownloadMac.mm:
23016 (WebKit::Download::platformInvalidate):
23017 Tell the WKDownloadAsDelegate object that we're being invalidated.
23019 (-[WKDownloadAsDelegate downloadDidBegin:]):
23020 Call Download::didBegin.
23022 (-[WKDownloadAsDelegate download:didReceiveDataOfLength:]):
23023 Call Download::didReceiveData.
23025 (-[WKDownloadAsDelegate downloadDidFinish:]):
23026 Call Download::didFinish.
23028 * WebProcess/Downloads/qt/DownloadQt.cpp:
23029 (WebKit::Download::platformInvalidate):
23032 2010-10-27 Anders Carlsson <andersca@apple.com>
23034 Reviewed by Sam Weinig.
23036 WebPageProxy::isValid should return false if the page has been explicitly closed
23037 https://bugs.webkit.org/show_bug.cgi?id=48458
23039 * UIProcess/WebPageProxy.cpp:
23040 (WebKit::WebPageProxy::WebPageProxy):
23041 (WebKit::WebPageProxy::isValid):
23042 (WebKit::WebPageProxy::relaunch):
23043 (WebKit::WebPageProxy::close):
23044 (WebKit::WebPageProxy::processDidCrash):
23045 * UIProcess/WebPageProxy.h:
23046 (WebKit::WebPageProxy::isClosed):
23048 2010-10-27 Anders Carlsson <andersca@apple.com>
23050 Reviewed by Adam Roben.
23052 Begin stubbing out the Download class
23053 https://bugs.webkit.org/show_bug.cgi?id=48447
23056 * WebKit2.xcodeproj/project.pbxproj:
23060 Include WebCore/EmptyProtocolDefinitions.h
23062 * WebProcess/Downloads/Download.cpp: Added.
23063 * WebProcess/Downloads/Download.h: Added.
23065 * WebProcess/Downloads/DownloadManager.cpp:
23066 (WebKit::DownloadManager::startDownload):
23067 Create a Download object and start it.
23069 * WebProcess/Downloads/mac/DownloadMac.mm: Added.
23070 (WebKit::Download::start):
23071 Create an NSURLDownload.
23073 * WebProcess/WebPage/WebFrame.cpp:
23074 (WebKit::WebFrame::startDownload):
23075 Ask the download manager to start downloading.
23077 * win/WebKit2.vcproj:
23078 * win/WebKit2Common.vsprops:
23081 2010-10-27 Adam Roben <aroben@apple.com>
23083 Don't allow setting NetscapePlugin::m_isWindowed after NPP_New has
23086 In Firefox, Chrome, and WebKit1 trying to set this value after NPP_New
23087 does not actually affect whether the plugin is windowed.
23089 Fixes <http://webkit.org/b/46673> <rdar://problem/8484211> Assertion
23090 failure in NetscapePlugin::platformDestroy when running
23091 plugins/mouse-events.html in WebKit2 on Windows
23093 Reviewed by Anders Carlsson.
23095 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
23096 (WebKit::NetscapePlugin::setIsWindowed): Moved here from the header.
23097 Bail out if m_isStarted is true, indicating that NPP_New has already
23100 * WebProcess/Plugins/Netscape/NetscapePlugin.h: Removed the
23101 implementation of setIsWindowed.
23103 2010-10-27 Timothy Hatcher <timothy@apple.com>
23105 Add API for enabling the developer extras (Web Inspector).
23107 http://webkit.org/b/48439
23109 Reviewed by John Sullivan.
23111 * Shared/WebPreferencesStore.cpp:
23112 (WebKit::WebPreferencesStore::WebPreferencesStore):
23113 (WebKit::WebPreferencesStore::encode):
23114 (WebKit::WebPreferencesStore::decode):
23115 * Shared/WebPreferencesStore.h:
23116 * UIProcess/API/C/WKPreferences.cpp:
23117 (WKPreferencesSetDeveloperExtrasEnabled):
23118 (WKPreferencesGetDeveloperExtrasEnabled):
23119 * UIProcess/API/C/WKPreferences.h:
23120 * UIProcess/WebPreferences.cpp:
23121 (WebKit::WebPreferences::setDeveloperExtrasEnabled):
23122 (WebKit::WebPreferences::developerExtrasEnabled):
23123 * UIProcess/WebPreferences.h:
23124 * WebProcess/WebPage/WebPage.cpp:
23125 (WebKit::WebPage::updatePreferences):
23127 2010-10-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
23129 Reviewed by Anders Carlsson.
23131 Move contentsSizeChange from the UIClient into the PageClient and
23132 and make it a private Qt-only API in the process.
23134 Make WKPageContentsSizeChangedCallback be a private API
23135 https://bugs.webkit.org/show_bug.cgi?id=48409
23137 * UIProcess/API/C/WKPage.h:
23138 * UIProcess/API/qt/qwkpage.cpp:
23139 (QWKPagePrivate::didChangeContentsSize):
23140 (QWKPage::QWKPage):
23141 * UIProcess/API/qt/qwkpage_p.h:
23142 * UIProcess/PageClient.h:
23143 * UIProcess/WebPageProxy.cpp:
23144 (WebKit::WebPageProxy::didChangeContentsSize):
23145 * UIProcess/WebPageProxy.h:
23146 * UIProcess/WebPageProxy.messages.in:
23147 * UIProcess/WebUIClient.cpp:
23148 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
23149 (WebKit::WebChromeClient::contentsSizeChanged):
23151 2010-10-26 Brian Weinstein <bweinstein@apple.com>
23153 Reviewed by Adam Roben.
23155 WebKit2 shouldn't try to send an empty user agent
23156 https://bugs.webkit.org/show_bug.cgi?id=48397
23158 Change the check of the custom user agent to an empty check instead of a null check. When the client application
23159 sets a custom user agent and then resets it, the custom user agent is set to an empty string. If all we do
23160 is check for a null string, then we will think we have a custom user agent (which is empty) and send an empty
23163 * WebProcess/WebPage/WebPage.cpp:
23164 (WebKit::WebPage::userAgent):
23166 2010-10-27 Adam Roben <aroben@apple.com>
23168 Don't call NPP_GetValue if the plugin didn't provide an implementation
23170 Fixes <http://webkit.org/b/48433> Crash in
23171 NetscapePlugin::shouldLoadSrcURL when using Shockwave Director 10.3 in
23174 Reviewed by Eric Carlson.
23176 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
23177 (WebKit::NetscapePlugin::NPP_GetValue): Null-check the getvalue pointer
23178 before using it to call NPP_GetValue.
23180 2010-10-27 Balazs Kelemen <kbalazs@webkit.org>
23182 Reviewed by Andreas Kling.
23184 [Qt] Assert due to multiple initialization of WebPlatformStrategies
23185 https://bugs.webkit.org/show_bug.cgi?id=48327
23187 We are using the LocalizationStrategy in the UI process
23188 so the previous attempt to fix this (http://trac.webkit.org/changeset/70620)
23190 * UIProcess/API/qt/qwkpage.cpp:
23191 (initializePlatformStrategiesIfNeeded):
23192 Call WebPlatformStrategies::initialize exactly once.
23193 (QWKPagePrivate::QWKPagePrivate):
23195 2010-10-27 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
23197 Reviewed by Andreas Kling.
23199 [Qt] WebKit2 UI process crashes if web process crashes
23200 https://bugs.webkit.org/show_bug.cgi?id=48400
23202 Check the success of socket write operations.
23203 Avoids crashing the UI process if web process has crashed.
23204 Qt socket code segfaults when write is called for a socket
23205 that has had an error.
23207 * Platform/CoreIPC/qt/ConnectionQt.cpp:
23208 (CoreIPC::Connection::platformInvalidate):
23209 Reset m_socket after deletion.
23211 (CoreIPC::Connection::sendOutgoingMessage):
23212 Check error status of write operations and
23213 invalidate socket if writes fail.
23215 2010-10-27 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
23217 Reviewed by Andreas Kling.
23219 [Qt] Type mismatch while serializing/deserializing message id size
23220 https://bugs.webkit.org/show_bug.cgi?id=48401
23222 Use correct types when reading data from connection buffer.
23224 The message id is written as uint32_t, thus the buffer size should be
23225 calculated based on sizeof(uint32_t) and not sizeof(MessageID).
23227 * Platform/CoreIPC/qt/ConnectionQt.cpp:
23228 (CoreIPC::Connection::readyReadHandler):
23230 2010-10-27 Zalan Bujtas <zbujtas@gmail.com>
23232 Reviewed by Kenneth Rohde Christiansen.
23234 Multiple WebPlatformStrategy initialization triggers assert in WebCore/PlatformStrategies.
23235 Remove the code for now, as it is not used at all.
23236 https://bugs.webkit.org/show_bug.cgi?id=48327
23238 * UIProcess/API/qt/qwkpage.cpp:
23239 (QWKPagePrivate::QWKPagePrivate):
23241 2010-10-26 Brent Fulgham <bfulgham@webkit.org>
23243 Unreviewed build fix.
23245 * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
23246 (WebKit::cancelledError): Conditionalize use of CFNetwork calls
23249 2010-10-26 Alexey Proskuryakov <ap@apple.com>
23253 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Modified original file, not its framework
23256 2010-10-26 Anders Carlsson <andersca@apple.com>
23258 Reviewed by Sam Weinig.
23260 Add DownloadManager class
23261 https://bugs.webkit.org/show_bug.cgi?id=48388
23264 * WebKit2.xcodeproj/project.pbxproj:
23267 * WebProcess/Downloads/DownloadManager.cpp: Added.
23268 (WebKit::DownloadManager::shared):
23269 (WebKit::DownloadManager::DownloadManager):
23270 * WebProcess/Downloads/DownloadManager.h: Added.
23272 * win/WebKit2.vcproj:
23273 * win/WebKit2Common.vsprops:
23276 2010-10-26 Anders Carlsson <andersca@apple.com>
23278 Reviewed by Sam Weinig.
23280 Pass a downloadID to the web process whenever a download is requested
23281 https://bugs.webkit.org/show_bug.cgi?id=48380
23283 * UIProcess/WebContext.cpp:
23284 (WebKit::WebContext::generateDownloadID):
23285 Generate a unique download ID.
23287 * UIProcess/WebPageProxy.cpp:
23288 (WebKit::WebPageProxy::receivedPolicyDecision):
23289 Pass along a download ID if needed.
23291 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
23292 (WebKit::WebFrameLoaderClient::startDownload):
23293 Call the web frame member function.
23295 * WebProcess/WebPage/WebFrame.cpp:
23296 (WebKit::WebFrame::WebFrame):
23297 Initialize m_policyDownloadID.
23299 (WebKit::WebFrame::invalidatePolicyListener):
23300 Reset m_policyDownloadID.
23302 (WebKit::WebFrame::didReceivePolicyDecision):
23303 Set m_policyDownloadID.
23305 (WebKit::WebFrame::startDownload):
23306 Assert that m_policyDownloadID is not zero.
23308 * WebProcess/WebPage/WebPage.cpp:
23309 (WebKit::WebPage::didReceivePolicyDecision):
23310 Pass along the download ID.
23312 * WebProcess/WebPage/WebPage.messages.in:
23313 Add the download ID.
23315 2010-10-26 Alexey Proskuryakov <ap@apple.com>
23317 Reviewed by Sam Weinig.
23319 https://bugs.webkit.org/show_bug.cgi?id=48375
23320 <rdar://problem/8392724> Need delegate calls in PageLoaderClient to indicate if we have
23321 loaded insecure content
23323 Added the delegate. Just like the bundle version, it misses WebOrigin parameter that Mac
23324 delegate call used to have. It doesn't seem necessary for clients.
23326 * UIProcess/API/C/WKPage.h:
23327 * UIProcess/API/qt/qwkpage.cpp:
23328 (QWKPage::QWKPage):
23329 * UIProcess/WebLoaderClient.cpp:
23330 (WebKit::WebLoaderClient::didDisplayInsecureContentForFrame):
23331 (WebKit::WebLoaderClient::didRunInsecureContentForFrame):
23332 * UIProcess/WebLoaderClient.h:
23333 * UIProcess/WebPageProxy.cpp:
23334 (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
23335 (WebKit::WebPageProxy::didRunInsecureContentForFrame):
23336 * UIProcess/WebPageProxy.h:
23337 * UIProcess/WebPageProxy.messages.in:
23338 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
23339 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
23340 (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
23341 (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
23342 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
23343 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
23344 (WebKit::WebFrameLoaderClient::didDisplayInsecureContent):
23345 (WebKit::WebFrameLoaderClient::didRunInsecureContent):
23347 2010-10-26 Jenn Braithwaite <jennb@chromium.org>
23349 Reviewed by Dmitry Titov.
23351 Resource tracking failure when trying to move a frame between documents
23352 https://bugs.webkit.org/show_bug.cgi?id=44713
23354 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
23355 (WebKit::WebFrameLoaderClient::transferLoadingResourceFromPage):
23357 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
23359 2010-10-26 Jessie Berlin <jberlin@apple.com>
23361 Reviewed by Darin Adler.
23363 Post any pending messages to the Injected Bundle in WebContext::processDidFinishLaunching
23364 instead of in WebContext::ensureWebProcess.
23365 https://bugs.webkit.org/show_bug.cgi?id=48367
23367 Send pending injected bundle messages after the process finished launching instead of of
23368 directly after creating it.
23370 * UIProcess/WebContext.cpp:
23371 (WebKit::WebContext::ensureWebProcess):
23372 Move the logic to dispatch pending injected bundle messages from here ...
23373 (WebKit::WebContext::processDidFinishLaunching):
23375 Also use a reference instead of a pointer when sending the pending messages.
23377 2010-10-26 Anders Carlsson <andersca@apple.com>
23379 Reviewed by Sam Weinig.
23381 pageDidScroll callback should be on the UI process client rather than (or in addition to) the web process client
23382 https://bugs.webkit.org/show_bug.cgi?id=48366
23384 * UIProcess/API/qt/qwkpage.cpp:
23385 (QWKPage::QWKPage):
23386 Add zero initializer.
23388 * UIProcess/WebPageProxy.cpp:
23389 (WebKit::WebPageProxy::pageDidScroll):
23390 Call the pageDidScroll client function.
23392 * UIProcess/WebPageProxy.messages.in:
23393 Add PageDidScroll message.
23395 * WebProcess/WebPage/WebPage.cpp:
23396 (WebKit::WebPage::pageDidScroll):
23397 Send the PageDidScroll message.
23399 2010-10-26 Brian Weinstein <bweinstein@apple.com>
23401 Reviewed by Darin Adler.
23403 Need a way to retrieve custom user agent from a WKPage
23404 https://bugs.webkit.org/show_bug.cgi?id=48360
23405 <rdar://problem/8466537>
23407 Add an exported function on WKPage to get the page's custom user agent.
23409 * UIProcess/API/C/WKPage.cpp:
23410 (WKPageCopyCustomUserAgent): Exported function that returns the custom user
23412 * UIProcess/API/C/WKPage.h:
23413 * UIProcess/WebPageProxy.cpp:
23414 (WebKit::WebPageProxy::close): Clear the custom user agent string.
23415 (WebKit::WebPageProxy::processDidCrash): Ditto.
23416 (WebKit::WebPageProxy::setCustomUserAgent): Add a new early return if we're setting
23417 the custom user agent to what it was before, and set the custom user agent member
23419 * UIProcess/WebPageProxy.h:
23420 (WebKit::WebPageProxy::customUserAgent): Returns the custom user agent.
23422 2010-10-26 Simon Fraser <simon.fraser@apple.com>
23424 Reviewed by Sam Weinig.
23426 Support layoutTestController.layerTreeAsText in WebKitTestRunner
23427 https://bugs.webkit.org/show_bug.cgi?id=42145
23429 Expose layerTreeAsText() as private API so that
23430 WebKitTestRunner can use it.
23432 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
23433 (WKBundleFrameCopyLayerTreeAsText):
23434 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
23435 * WebProcess/WebPage/WebFrame.cpp:
23436 (WebKit::WebFrame::numberOfActiveAnimations):
23437 (WebKit::WebFrame::layerTreeAsText):
23438 (WebKit::WebFrame::pendingUnloadCount):
23439 * WebProcess/WebPage/WebFrame.h:
23441 2010-10-26 Anders Carlsson <andersca@apple.com>
23443 Reviewed by Sam Weinig.
23445 Enable the plug-in process on Mac
23446 https://bugs.webkit.org/show_bug.cgi?id=48350
23449 Flip the switch and enable the plug-in process on Mac.
23451 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
23452 (WebKit::NetscapePlugin::platformDestroy):
23453 Fix a bogus assert.
23455 2010-10-26 Zoltan Horvath <zoltan@webkit.org>
23457 Reviewed by Kenneth Rohde Christiansen.
23459 [Qt] Implement SharedMemory for WebKit2
23460 https://bugs.webkit.org/show_bug.cgi?id=47345
23462 Implement unimplemented functions in SharedMemoryQt.cpp.
23463 Rename MappedMemory.h to MappedMemoryPool.h, move MappedMemoryPool.{h|cpp} from
23464 Shared/qt to Platform/qt. Modify affected lines of WebKit2.pro.
23465 Move MappedMemory implementation into MappedMemoryPool. Remove unnecessary
23466 methods of MappedMemoryPool.
23468 * Platform/SharedMemory.h: Add a handle member for Qt.
23469 * Platform/qt/MappedMemoryPool.cpp: Copied from WebKit2/Shared/qt/MappedMemoryPool.cpp.
23470 (WebKit::MappedMemoryPool::searchForMappedMemory):
23471 (WebKit::MappedMemoryPool::mapMemory):
23472 (WebKit::MappedMemoryPool::mapFile):
23473 * Platform/qt/MappedMemoryPool.h: Copied from WebKit2/Shared/qt/MappedMemory.h.
23474 (WebKit::MappedMemoryPool::MappedMemory::mapSize):
23475 (WebKit::MappedMemoryPool::MappedMemory::markUsed):
23476 (WebKit::MappedMemoryPool::MappedMemory::markFree):
23477 (WebKit::MappedMemoryPool::MappedMemory::isFree):
23478 (WebKit::MappedMemoryPool::MappedMemory::data):
23479 (WebKit::MappedMemoryPool::MappedMemoryPool):
23480 Move MappedMemory implementation into MappedMemoryPool.
23481 * Platform/qt/SharedMemoryQt.cpp:
23482 (WebKit::SharedMemory::Handle::Handle): Implement.
23483 (WebKit::SharedMemory::Handle::~Handle):
23484 (WebKit::SharedMemory::Handle::isNull): Implement.
23485 (WebKit::SharedMemory::Handle::encode): Implement.
23486 (WebKit::SharedMemory::Handle::decode): Implement.
23487 (WebKit::SharedMemory::create): Implement.
23488 (WebKit::mapProtection): Added.
23489 (WebKit::SharedMemory::~SharedMemory): Implement.
23490 (WebKit::SharedMemory::createHandle): Implement.
23491 (WebKit::SharedMemory::systemPageSize): Implement.
23492 * Shared/qt/MappedMemory.h: Removed.
23493 * Shared/qt/MappedMemoryPool.cpp: Removed.
23494 * Shared/qt/UpdateChunk.cpp:
23495 (WebKit::UpdateChunk::UpdateChunk):
23496 (WebKit::UpdateChunk::decode):
23497 Modify to use MappedMemoryPool.
23498 * Shared/qt/UpdateChunk.h:
23500 Modify affected lines.
23502 2010-10-25 Anders Carlsson <andersca@apple.com>
23504 Reviewed by Sam Weinig.
23506 WebKit2 callbacks for findString() and countMatchesForString() should report whether the match count was exceeded
23507 https://bugs.webkit.org/show_bug.cgi?id=48285
23508 <rdar://problem/8576318>
23510 * UIProcess/API/C/WKPage.h:
23511 Add a kWKMoreThanMaximumMatchCount constant.
23513 * WebProcess/WebPage/FindController.cpp:
23514 (WebKit::FindController::findString):
23515 If we get back more matches than allowed, send kWKMoreThanMaximumMatchCount as the match constant.
23517 2010-10-25 Dan Bernstein <mitz@apple.com>
23519 Non-Carbon build fix.
23521 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
23522 (WebKit::NetscapePlugin::windowFrameChanged):
23524 2010-10-25 Timothy Hatcher <timothy@apple.com>
23526 Stub out WebInspector objects and WKInspectorRef API.
23528 https://webkit.org/b/48265
23530 Reviewed by Anders Carlsson.
23532 * Platform/CoreIPC/MessageID.h: Added MessageClassWebInspector and MessageClassWebInspectorProxy.
23533 * Shared/API/c/WKBase.h: Added WKInspectorRef.
23534 * Shared/APIObject.h: Added TypeInspector.
23535 * UIProcess/API/C/WKAPICast.h: Added WKInspectorRef to WebInspectorProxy mapping.
23536 * UIProcess/API/C/WKInspector.cpp: Added.
23537 (WKInspectorGetTypeID):
23538 (WKInspectorGetPage):
23539 * UIProcess/API/C/WKInspector.h: Added.
23540 * UIProcess/API/C/WKPage.cpp:
23541 (WKPageGetInspector): Added.
23542 * UIProcess/API/C/WKPage.h:
23543 * UIProcess/WebInspectorProxy.cpp: Added.
23544 (WebKit::WebInspectorProxy::WebInspectorProxy):
23545 (WebKit::WebInspectorProxy::~WebInspectorProxy):
23546 (WebKit::WebInspectorProxy::invalidate):
23547 * UIProcess/WebInspectorProxy.h:
23548 (WebKit::WebInspectorProxy::create):
23549 (WebKit::WebInspectorProxy::page):
23550 (WebKit::WebInspectorProxy::type):
23551 * UIProcess/WebPageProxy.cpp:
23552 (WebKit::WebPageProxy::inspector): Lazily create the WebInspectorProxy.
23553 * UIProcess/WebPageProxy.h:
23554 * WebKit2.pro: Added new files.
23555 * WebKit2.xcodeproj/project.pbxproj: Added new files.
23556 * WebProcess/WebPage/WebInspector.cpp: Added.
23557 (WebKit::WebInspector::WebInspector):
23558 * WebProcess/WebPage/WebInspector.h: Added.
23559 * WebProcess/WebPage/WebPage.cpp:
23560 (WebKit::WebPage::inspector): Lazily create the WebInspector.
23561 * WebProcess/WebPage/WebPage.h:
23562 * win/WebKit2.vcproj: Added new files.
23564 2010-10-25 Anders Carlsson <andersca@apple.com>
23566 Reviewed by Dan Bernstein.
23568 Update the fake Carbon window when the window frame changes
23569 https://bugs.webkit.org/show_bug.cgi?id=48273
23571 * UIProcess/API/mac/WKView.mm:
23573 (-[WKView _updateWindowFrame]):
23574 Pass the window frame in Carbon coordinates.
23576 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
23577 (WebKit::NetscapePlugin::windowFrameChanged):
23578 Update the window bounds.
23580 * WebProcess/Plugins/PluginView.cpp:
23581 (WebKit::PluginView::setWindowFrame):
23584 (WebKit::PluginView::platformLayer):
23585 Fix a crash when WebCore asked for the layer before it was initialized.
23587 2010-10-25 Oliver Hunt <oliver@apple.com>
23589 Reviewed by Gavin Barraclough.
23591 Remove exec and globalData arguments from jsNumber
23592 https://bugs.webkit.org/show_bug.cgi?id=48270
23594 Mechanical removal of exec parameter to jsNumber
23596 * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
23597 (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue):
23599 2010-10-25 Anders Carlsson <andersca@apple.com>
23601 Reviewed by Darin Adler.
23603 Replace matchCountDidChange with didFindString/didFailToFindString
23604 https://bugs.webkit.org/show_bug.cgi?id=48262
23605 <rdar://problem/8568928>
23607 * UIProcess/API/C/WKPage.h:
23608 * UIProcess/WebFindClient.cpp:
23609 (WebKit::WebFindClient::didFindString):
23610 (WebKit::WebFindClient::didFailToFindString):
23611 * UIProcess/WebFindClient.h:
23612 * UIProcess/WebPageProxy.cpp:
23613 (WebKit::WebPageProxy::didFindString):
23614 (WebKit::WebPageProxy::didFailToFindString):
23615 * UIProcess/WebPageProxy.h:
23616 * UIProcess/WebPageProxy.messages.in:
23617 * WebProcess/WebPage/FindController.cpp:
23618 (WebKit::FindController::findString):
23620 2010-10-25 Anders Carlsson <andersca@apple.com>
23622 Reviewed by Adam Roben.
23624 Add a pageDidScroll BundleUIClient callback
23625 https://bugs.webkit.org/show_bug.cgi?id=48260
23626 <rdar://problem/8531159>
23628 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
23629 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
23630 (WebKit::InjectedBundlePageUIClient::pageDidScroll):
23631 Call the pageDidScroll callback.
23633 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
23634 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
23635 (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
23636 (WebKit::WebChromeClient::scroll):
23637 Call pageDidScroll.
23639 * WebProcess/WebPage/WebPage.cpp:
23640 (WebKit::WebPage::pageDidScroll):
23641 Hide the find banner UI and call the BundleUIClient pageDidScroll callback.
23643 2010-10-25 Brian Weinstein <bweinstein@apple.com>
23645 Reviewed by Adam Roben.
23647 Control + Mousewheel shouldn't be handled in WebKit2
23648 https://bugs.webkit.org/show_bug.cgi?id=48253
23650 Don't handle a wheel event if Control is pressed, pass the message back to DefWindowProc.
23652 * UIProcess/win/WebView.cpp:
23653 (WebKit::WebView::onWheelEvent):
23655 2010-10-25 Sam Weinig <sam@webkit.org>
23657 Reviewed by Dan Bernstein.
23659 cancelledError for WebKit2 on windows should use kCFErrorDomainCFNetwork instead of webKitErrorDomain
23660 https://bugs.webkit.org/show_bug.cgi?id=48254
23662 * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
23663 (WebKit::cancelledError): Use kCFErrorDomainCFNetwork instead of webKitErrorDomain and switch over
23664 to using kCFURLErrorCancelled instead of a hard coded constant.
23666 2010-10-25 Sam Weinig <sam@webkit.org>
23668 Reviewed by Anders Carlsson.
23670 Need WebKit2 API to figure out if a frame can provide source
23671 <rdar://problem/8424632>
23672 https://bugs.webkit.org/show_bug.cgi?id=48252
23674 * UIProcess/API/C/WKFrame.cpp:
23675 (WKFrameCanProvideSource):
23676 * UIProcess/API/C/WKFrame.h:
23677 * UIProcess/WebFrameProxy.cpp:
23678 (WebKit::WebFrameProxy::canProvideSource):
23679 * UIProcess/WebFrameProxy.h:
23680 Add API to figure out if a frame can provide source based on its
23683 2010-10-25 Anders Carlsson <andersca@apple.com>
23685 Reviewed by Dan Bernstein.
23687 Java applets don't display on the page
23688 https://bugs.webkit.org/show_bug.cgi?id=48251
23689 <rdar://problem/8483759>
23691 Add WKPreferencesSetJavaEnabled and initialize it to true by default, matching old WebKit.
23693 * Shared/WebPreferencesStore.cpp:
23694 (WebKit::WebPreferencesStore::WebPreferencesStore):
23695 Initialize javaEnabled.
23697 (WebKit::WebPreferencesStore::encode):
23698 Encode javaEnabled.
23700 (WebKit::WebPreferencesStore::decode):
23701 Decode javaEnabled.
23703 * Shared/WebPreferencesStore.h:
23706 * UIProcess/API/C/WKPreferences.cpp:
23707 (WKPReferencesSetJavaEnabled):
23708 (WKPReferencesGetJavaEnabled):
23709 Call the WebPreferences functions.
23711 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
23712 (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
23713 Just call createPlugin.
23715 * WebProcess/WebPage/WebPage.cpp:
23716 (WebKit::WebPage::updatePreferences):
23717 Call Settings::setJavaEnabled.
23719 2010-10-25 Patrick Gansterer <paroga@webkit.org>
23721 Reviewed by David Kilzer.
23723 Replace _countof with WTF_ARRAY_LENGTH
23724 https://bugs.webkit.org/show_bug.cgi?id=48229
23726 * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
23727 (WebKit::ProcessLauncher::launchProcess):
23728 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
23729 (WebKit::safariPluginsDirectory):
23730 (WebKit::addMozillaPluginDirectories):
23731 (WebKit::addWindowsMediaPlayerPluginDirectory):
23732 (WebKit::addAdobeAcrobatPluginDirectory):
23733 (WebKit::addMacromediaPluginDirectories):
23734 (WebKit::addPluginPathsFromRegistry):
23735 * WebProcess/WebPage/win/WebPageWin.cpp:
23736 (WebKit::WebPage::interpretKeyEvent):
23738 2010-10-25 Adam Roben <aroben@apple.com>
23740 Stop copying .messages.in files into WebKit2's framework bundle
23742 Fixes <http://webkit.org/b/48232> Several .messages.in files end up in
23743 WebKit2's framework bundle
23745 Reviewed by Dan Bernstein.
23747 * WebKit2.xcodeproj/project.pbxproj:
23749 2010-10-25 Andras Becsi <abecsi@webkit.org>
23751 Reviewed by Csaba Osztrogonác.
23753 [Qt] Fix the WebKit2 build after sheriffbot messed up the rollout patch.
23754 https://bugs.webkit.org/show_bug.cgi?id=48238
23756 * Shared/qt/MappedMemory.h: Renamed from WebKit2/Platform/qt/MappedMemoryPool.h.
23757 (WebKit::MappedMemory::mapSize):
23758 (WebKit::MappedMemory::markUsed):
23759 (WebKit::MappedMemory::markFree):
23760 (WebKit::MappedMemory::isFree):
23761 (WebKit::MappedMemory::data):
23763 2010-10-25 Sheriff Bot <webkit.review.bot@gmail.com>
23765 Unreviewed, rolling out r70450.
23766 http://trac.webkit.org/changeset/70450
23767 https://bugs.webkit.org/show_bug.cgi?id=48238
23769 Causes WTR to crash on tests which use SharedMemory.
23770 (Requested by bbandix on #webkit).
23772 * Platform/SharedMemory.h:
23773 * Platform/qt/MappedMemoryPool.cpp: Removed.
23774 * Platform/qt/SharedMemoryQt.cpp:
23775 (WebKit::SharedMemory::Handle::Handle):
23776 (WebKit::SharedMemory::Handle::~Handle):
23777 (WebKit::SharedMemory::Handle::encode):
23778 (WebKit::SharedMemory::Handle::decode):
23779 (WebKit::SharedMemory::create):
23780 (WebKit::SharedMemory::~SharedMemory):
23781 (WebKit::SharedMemory::createHandle):
23782 (WebKit::SharedMemory::systemPageSize):
23783 * Shared/qt/MappedMemory.h: Renamed from WebKit2/Platform/qt/MappedMemoryPool.h.
23784 (WebKit::MappedMemory::mapSize):
23785 (WebKit::MappedMemory::markUsed):
23786 (WebKit::MappedMemory::markFree):
23787 (WebKit::MappedMemory::isFree):
23788 (WebKit::MappedMemory::data):
23789 * Shared/qt/MappedMemoryPool.cpp: Added.
23790 (WebKit::MappedMemoryPool::MappedMemoryPool):
23791 (WebKit::MappedMemoryPool::instance):
23792 (WebKit::MappedMemoryPool::size):
23793 (WebKit::MappedMemoryPool::at):
23794 (WebKit::MappedMemoryPool::append):
23795 (WebKit::MappedMemoryPool::cleanUp):
23796 * Shared/qt/UpdateChunk.cpp:
23797 (WebKit::mapMemory):
23799 (WebKit::UpdateChunk::UpdateChunk):
23800 (WebKit::UpdateChunk::decode):
23801 * Shared/qt/UpdateChunk.h:
23804 2010-10-25 Zoltan Horvath <zoltan@webkit.org>
23806 Reviewed by Kenneth Rohde Christiansen.
23808 [Qt] Implement SharedMemory for WebKit2
23809 https://bugs.webkit.org/show_bug.cgi?id=47345
23811 Implement unimplemented functions in SharedMemoryQt.cpp.
23812 Rename MappedMemory.h to MappedMemoryPool.h, move MappedMemoryPool.{h|cpp} from
23813 Shared/qt to Platform/qt. Modify affected lines of WebKit2.pro.
23814 Move MappedMemory implementation into MappedMemoryPool. Remove unnecessary
23815 methods of MappedMemoryPool.
23817 * Platform/SharedMemory.h: Add a handle member for Qt.
23818 * Platform/qt/MappedMemoryPool.cpp: Copied from WebKit2/Shared/qt/MappedMemoryPool.cpp.
23819 (WebKit::MappedMemoryPool::searchForMappedMemory):
23820 (WebKit::MappedMemoryPool::mapMemory):
23821 (WebKit::MappedMemoryPool::mapFile):
23822 * Platform/qt/MappedMemoryPool.h: Copied from WebKit2/Shared/qt/MappedMemory.h.
23823 (WebKit::MappedMemoryPool::MappedMemory::mapSize):
23824 (WebKit::MappedMemoryPool::MappedMemory::markUsed):
23825 (WebKit::MappedMemoryPool::MappedMemory::markFree):
23826 (WebKit::MappedMemoryPool::MappedMemory::isFree):
23827 (WebKit::MappedMemoryPool::MappedMemory::data):
23828 (WebKit::MappedMemoryPool::MappedMemoryPool):
23829 Move MappedMemory implementation into MappedMemoryPool.
23830 * Platform/qt/SharedMemoryQt.cpp:
23831 (WebKit::SharedMemory::Handle::Handle): Implement.
23832 (WebKit::SharedMemory::Handle::~Handle):
23833 (WebKit::SharedMemory::Handle::isNull): Implement.
23834 (WebKit::SharedMemory::Handle::encode): Implement.
23835 (WebKit::SharedMemory::Handle::decode): Implement.
23836 (WebKit::SharedMemory::create): Implement.
23837 (WebKit::mapProtection): Added.
23838 (WebKit::SharedMemory::~SharedMemory): Implement.
23839 (WebKit::SharedMemory::createHandle): Implement.
23840 (WebKit::SharedMemory::systemPageSize): Implement.
23841 * Shared/qt/MappedMemory.h: Removed.
23842 * Shared/qt/MappedMemoryPool.cpp: Removed.
23843 * Shared/qt/UpdateChunk.cpp:
23844 (WebKit::UpdateChunk::UpdateChunk):
23845 (WebKit::UpdateChunk::decode):
23846 Modify to use MappedMemoryPool.
23847 * Shared/qt/UpdateChunk.h:
23849 Modify affected lines.
23851 2010-10-24 Sam Weinig <sam@webkit.org>
23853 Reviewed by Dan Bernstein.
23855 Need a way to determine the screen rect for a form control in WebKit2
23856 <rdar://problem/8530670>
23857 https://bugs.webkit.org/show_bug.cgi?id=48216
23859 * Shared/API/c/WKSharedAPICast.h:
23861 Add conversion from IntRect to WKRect.
23863 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
23864 (WKBundleNodeHandleGetElementBounds):
23865 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
23866 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
23867 (WebKit::InjectedBundleNodeHandle::elementBounds):
23868 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
23869 Add SPI to get the rect in window space. The client can then convert this to screen
23870 space if they wish to.
23872 2010-10-23 Xan Lopez <xlopez@igalia.com>
23874 Reviewed by Sam Weinig.
23876 Unify globalData APIs
23877 https://bugs.webkit.org/show_bug.cgi?id=47969
23879 Adapt code to JSGlobalObject::globalData returning a reference
23880 instead of a pointer.
23882 * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
23883 (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
23884 (WebKit::NPRuntimeObjectMap::evaluate):
23886 2010-10-23 Alexey Proskuryakov <ap@apple.com>
23888 Reviewed by Anders Carlsson.
23890 https://bugs.webkit.org/show_bug.cgi?id=48083
23891 <rdar://problem/8489082> Need WebKit2 API for private browsing (48083)
23893 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
23894 Initialize the new method.
23896 2010-10-21 Timothy Hatcher <timothy@apple.com>
23898 Stub out WebInspectorFrontendClient.
23900 https://bugs.webkit.org/show_bug.cgi?id=48091
23902 Reviewed by Adam Roben.
23904 * WebKit2.pro: Added WebInspectorFrontendClient.{cpp,h}.
23905 * WebKit2.xcodeproj/project.pbxproj: Added WebInspectorFrontendClient.{cpp,h}.
23906 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: Added.
23907 (WebKit::WebInspectorFrontendClient::windowObjectCleared): Added.
23908 (WebKit::WebInspectorFrontendClient::frontendLoaded): Added.
23909 (WebKit::WebInspectorFrontendClient::moveWindowBy): Added.
23910 (WebKit::WebInspectorFrontendClient::localizedStringsURL): Added.
23911 (WebKit::WebInspectorFrontendClient::hiddenPanels): Added.
23912 (WebKit::WebInspectorFrontendClient::bringToFront): Added.
23913 (WebKit::WebInspectorFrontendClient::closeWindow): Added.
23914 (WebKit::WebInspectorFrontendClient::disconnectFromBackend): Added.
23915 (WebKit::WebInspectorFrontendClient::requestAttachWindow): Added.
23916 (WebKit::WebInspectorFrontendClient::requestDetachWindow): Added.
23917 (WebKit::WebInspectorFrontendClient::changeAttachedWindowHeight): Added.
23918 (WebKit::WebInspectorFrontendClient::inspectedURLChanged): Added.
23919 (WebKit::WebInspectorFrontendClient::sendMessageToBackend): Added.
23920 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: Added.
23921 (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient): Added.
23922 * win/WebKit2.vcproj: Added WebInspectorFrontendClient.{cpp,h}.
23924 2010-10-21 Timothy Hatcher <timothy@apple.com>
23926 Remove stale stubs that are not longer part of InspectorClient.
23928 https://bugs.webkit.org/show_bug.cgi?id=48090
23930 Reviewed by Adam Roben.
23932 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
23933 * WebProcess/WebCoreSupport/WebInspectorClient.h:
23935 2010-10-22 Andy Estes <aestes@apple.com>
23937 Reviewed by Adam Roben and Sam Weinig.
23939 WebKit shouldn't load a plug-in based on file extension if a MIME type
23941 https://bugs.webkit.org/show_bug.cgi?id=48046
23943 The fix landed in r70332 only covered the Mac port. Implement this fix
23944 for WebKit2 as well.
23946 * UIProcess/Plugins/PluginInfoStore.cpp:
23947 (WebKit::PluginInfoStore::findPlugin):
23949 2010-10-22 Anders Carlsson <andersca@apple.com>
23953 * Scripts/webkit2/messages.py:
23955 2010-10-22 Anders Carlsson <andersca@apple.com>
23959 * UIProcess/API/qt/qwkpage_p.h:
23960 (QWKPagePrivate::didRelaunchProcess):
23961 * UIProcess/win/WebView.cpp:
23962 (WebKit::WebView::didRelaunchProcess):
23963 * UIProcess/win/WebView.h:
23964 * WebKit2.xcodeproj/project.pbxproj:
23966 2010-10-22 Anders Carlsson <andersca@apple.com>
23968 Reviewed by Sam Weinig.
23970 WebContext::ensureWebProcess shouldn't send multiple InitializeWebProcess messages.
23971 https://bugs.webkit.org/show_bug.cgi?id=48158
23972 <rdar://problem/8512572>
23974 If the web process was launching when another call to ensureWebProcess is sent, we
23975 would end up sending another InitializeWebProcess message to it which would result
23976 in assertions firing. Fix this by only checking for m_process, and not requiring a process
23977 to be valid (which it won't be until it's finished launching).
23979 * UIProcess/WebContext.cpp:
23980 (WebKit::WebContext::ensureWebProcess):
23982 2010-10-22 Anders Carlsson <andersca@apple.com>
23984 Reviewed by Sam Weinig.
23986 Rename revive to relaunch everywhere.
23988 * UIProcess/API/mac/PageClientImpl.h:
23989 * UIProcess/API/mac/PageClientImpl.mm:
23990 (WebKit::PageClientImpl::didRelaunchProcess):
23991 * UIProcess/API/mac/WKView.mm:
23992 (-[WKView _didRelaunchProcess]):
23993 * UIProcess/API/mac/WKViewInternal.h:
23994 * UIProcess/PageClient.h:
23995 * UIProcess/WebContext.cpp:
23996 (WebKit::WebContext::relaunchProcessIfNecessary):
23997 * UIProcess/WebContext.h:
23998 * UIProcess/WebPageNamespace.h:
23999 * UIProcess/WebPageProxy.cpp:
24000 (WebKit::WebPageProxy::relaunch):
24001 (WebKit::WebPageProxy::initializeWebPage):
24002 (WebKit::WebPageProxy::loadURL):
24003 (WebKit::WebPageProxy::loadURLRequest):
24004 * UIProcess/WebPageProxy.h:
24006 2010-10-22 Anders Carlsson <andersca@apple.com>
24008 Reviewed by Adam Roben.
24010 Fix assert when a NetscapePluginModule loses its last NetscapePlugin.
24011 https://bugs.webkit.org/show_bug.cgi?id=48155
24013 (The assert in question is ASSERT(pluginModuleIndex != notFound) in
24014 NetscapePluginModule::shutdown()).
24016 * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
24017 (WebKit::NetscapePluginModule::pluginCreated):
24018 If we didn't have any live plug-ins, load the plug-in module.
24020 (WebKit::NetscapePluginModule::pluginDestroyed):
24021 If this was the last plug-in, unload the plug-in module.
24023 (WebKit::NetscapePluginModule::shutdown):
24024 Set m_isInitialized to false.
24026 (WebKit::NetscapePluginModule::load):
24027 Don't do anything if the plug-in module has already been initialized.
24029 (WebKit::NetscapePluginModule::unload):
24030 Assert that we're not initialized.
24032 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
24033 (WebKit::NetscapePlugin::platformPostInitialize):
24034 Assert that we successfully created the window.
24036 2010-10-22 Jessie Berlin <jberlin@apple.com>
24038 Reviewed by Anders Carlsson.
24040 Crash in Connection::isValid when called in response to
24041 VisitedLinksProvider::pendingVisitedLinksTimerFired after WebProcessProxy::didClose was
24043 https://bugs.webkit.org/show_bug.cgi?id=48153
24045 * UIProcess/VisitedLinkProvider.cpp:
24046 (WebKit::VisitedLinkProvider::stopVisitedLinksTimer):
24047 * UIProcess/VisitedLinkProvider.h:
24049 * UIProcess/WebContext.cpp:
24050 (WebKit::WebContext::processDidClose):
24051 Stop the pendingVisitedLinksTimer and null out the process.
24052 * UIProcess/WebContext.h:
24054 * UIProcess/WebProcessProxy.cpp:
24055 (WebKit::WebProcessProxy::didClose):
24056 Tell the WebContext that the WebProcess did close.
24058 2010-10-22 Sam Weinig <sam@webkit.org>
24062 * UIProcess/API/qt/ClientImpl.h:
24064 2010-10-22 Sam Weinig <sam@webkit.org>
24066 Reviewed by Anders Carlsson.
24068 WebKit2 needs to pass the current event modifier flags when requesting a new window
24069 https://bugs.webkit.org/show_bug.cgi?id=48140
24071 In addition to passing modifier flags from the now passed NavigationAction, also pass
24072 the WindowFeatures to the UIProcess.
24074 * Platform/CoreIPC/HandleMessage.h:
24075 (CoreIPC::callMemberFunction):
24076 * Shared/WebCoreArgumentCoders.h:
24077 * Shared/WebEvent.h:
24078 (WebKit::WebEvent::modifiers):
24079 * UIProcess/API/C/WKPage.h:
24080 * UIProcess/WebPageProxy.cpp:
24081 (WebKit::WebPageProxy::createNewPage):
24082 * UIProcess/WebPageProxy.h:
24083 * UIProcess/WebPageProxy.messages.in:
24084 * UIProcess/WebUIClient.cpp:
24085 (WebKit::WebUIClient::createNewPage):
24086 * UIProcess/WebUIClient.h:
24087 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
24088 (WebKit::WebChromeClient::createWindow):
24089 * WebProcess/WebCoreSupport/WebChromeClient.h:
24090 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
24091 (WebKit::WebFrameLoaderClient::dispatchCreatePage):
24092 (WebKit::modifiersForNavigationAction):
24093 (WebKit::mouseButtonForNavigationAction):
24094 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
24096 2010-10-22 Anders Carlsson <andersca@apple.com>
24098 Reviewed by Sam Weinig.
24100 Rename processDidExit to processDidCrash
24101 https://bugs.webkit.org/show_bug.cgi?id=48146
24103 * UIProcess/API/C/WKPage.h:
24104 * UIProcess/API/mac/PageClientImpl.h:
24105 * UIProcess/API/mac/PageClientImpl.mm:
24106 (WebKit::PageClientImpl::processDidCrash):
24107 * UIProcess/API/mac/WKView.mm:
24108 (-[WKView _processDidCrash]):
24109 * UIProcess/API/mac/WKViewInternal.h:
24110 * UIProcess/API/qt/qwkpage.cpp:
24111 (QWKPage::QWKPage):
24112 * UIProcess/API/qt/qwkpage_p.h:
24113 (QWKPagePrivate::processDidCrash):
24114 * UIProcess/PageClient.h:
24115 * UIProcess/WebLoaderClient.cpp:
24116 (WebKit::WebLoaderClient::processDidBecomeUnresponsive):
24117 (WebKit::WebLoaderClient::processDidBecomeResponsive):
24118 (WebKit::WebLoaderClient::processDidCrash):
24119 * UIProcess/WebLoaderClient.h:
24120 * UIProcess/WebPageProxy.cpp:
24121 (WebKit::WebPageProxy::processDidBecomeUnresponsive):
24122 (WebKit::WebPageProxy::processDidBecomeResponsive):
24123 (WebKit::WebPageProxy::processDidCrash):
24124 * UIProcess/WebPageProxy.h:
24125 * UIProcess/WebProcessProxy.cpp:
24126 (WebKit::WebProcessProxy::didClose):
24127 * UIProcess/win/WebView.cpp:
24128 (WebKit::WebView::processDidCrash):
24129 * UIProcess/win/WebView.h:
24131 2010-10-22 Dan Bernstein <mitz@apple.com>
24133 Reviewed by Sam Weinig.
24135 Corrected target dependencies.
24137 * WebKit2.xcodeproj/project.pbxproj: Made WebKit2 depend on DerivedSources and removed
24138 the explicit dependency of All on DerivedSources and WebKit2, since WebProcess depends on
24141 2010-10-20 Jon Honeycutt <jhoneycutt@apple.com>
24143 <rdar://problem/8423766> Cursor does not become "busy" when a page is
24144 loading with WebKit2
24146 Reviewed by Sam Weinig.
24148 * UIProcess/API/C/win/WKViewPrivate.cpp: Added.
24149 (WKViewSetOverrideCursor):
24150 Call the WebView's setOverrideCursor().
24152 * UIProcess/API/C/win/WKViewPrivate.h: Added.
24153 Declare WKViewSetOVerrideCursor().
24155 * UIProcess/win/WebView.cpp:
24156 (WebKit::WebView::WebView):
24157 Initialize new member vars to 0.
24158 (WebKit::WebView::updateNativeCursor):
24159 If there is an override cursor, and the last cursor set from the web
24160 process was the arrow cursor, use the override cursor. Otherwise, use
24161 the cursor from the web process.
24162 (WebKit::WebView::setCursor):
24163 Record the web process's cursor, and call updateNativeCursor().
24164 (WebKit::WebView::setOverrideCursor):
24165 Record the override cursor, and call updateNativeCursor().
24167 * UIProcess/win/WebView.h:
24168 Declare setOverrideCursor() and updateNativeCursor(). Add members to
24169 hold the last cursor set from the web process and the override cursor.
24171 * win/WebKit2.vcproj:
24172 Add new files to project.
24174 * win/WebKit2Generated.make:
24175 Copy WKViewPrivate.h with other headers.
24177 2010-10-21 Anders Carlsson <andersca@apple.com>
24179 Reviewed by Adam Roben.
24181 Crash evaluating JavaScript string that throws an exception
24182 https://bugs.webkit.org/show_bug.cgi?id=48092
24183 <rdar://problem/8487657>
24185 * UIProcess/WebProcessProxy.cpp:
24186 (WebKit::WebProcessProxy::sendMessage):
24187 m_connection can be null here; just return false if that is the case.
24189 * WebProcess/WebPage/WebPage.cpp:
24190 (WebKit::WebPage::runJavaScriptInMainFrame):
24191 If the JSValue returned is null we just send along a null string.
24193 2010-10-21 Adam Roben <aroben@apple.com>
24195 Invalidate the plugin's HWND when NPN_InvalidateRect is called
24197 Fixes <http://webkit.org/b/48086> <rdar://problem/8482944> Silverlight
24198 doesn't repaint in WebKit2
24200 Reviewed by Anders Carlsson.
24202 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
24203 (WebKit::NetscapePlugin::invalidate): Call platformInvalidate before
24204 invalidating via the PluginController.
24206 * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added platformInvalidate.
24208 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
24209 (WebKit::NetscapePlugin::platformInvalidate):
24210 * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
24211 (WebKit::NetscapePlugin::platformInvalidate):
24214 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
24215 (WebKit::NetscapePlugin::platformInvalidate): If the plugin is
24216 windowed, invalidate its HWND via ::InvalidateRect.
24218 2010-10-21 Anders Carlsson <andersca@apple.com>
24220 Reviewed by John Sullivan.
24222 Find indicator does not draw found text in WebKit2 when page is not scrolled to top
24223 <rdar://problem/8562647>
24224 https://bugs.webkit.org/show_bug.cgi?id=48089
24226 We always want the selection rectangle in "WebCore window coordinates" which is the same
24227 as WKView coordinates in WebKit2.
24229 * WebProcess/WebPage/FindController.cpp:
24230 (WebKit::FindController::updateFindIndicator):
24232 2010-10-21 Anders Carlsson <andersca@apple.com>
24234 Reviewed by David Hyatt.
24236 Always clear the selection when the find string isn't found
24237 https://bugs.webkit.org/show_bug.cgi?id=48087
24238 <rdar://problem/8564640>
24240 * WebProcess/WebPage/FindController.cpp:
24241 (WebKit::FindController::findString):
24243 2010-10-21 Alexey Proskuryakov <ap@apple.com>
24245 Reviewed by John Sullivan.
24247 https://bugs.webkit.org/show_bug.cgi?id=48083
24248 <rdar://problem/8489082> Need WebKit2 API for private browsing
24250 This just adds glue code for passing the preference from embedder to WebCore. The aspects of
24251 private browsing that WebCore is responsible for do work, but cookies are not handled yet.
24253 * Shared/WebPreferencesStore.cpp:
24254 (WebKit::WebPreferencesStore::WebPreferencesStore):
24255 (WebKit::WebPreferencesStore::encode):
24256 (WebKit::WebPreferencesStore::decode):
24257 * Shared/WebPreferencesStore.h:
24258 * UIProcess/API/C/WKPreferences.cpp:
24259 (WKPreferencesSetPrivateBrowsingEnabled):
24260 (WKPreferencesGetPrivateBrowsingEnabled):
24261 * UIProcess/API/C/WKPreferences.h:
24262 * UIProcess/WebPreferences.cpp:
24263 (WebKit::WebPreferences::setPrivateBrowsingEnabled):
24264 (WebKit::WebPreferences::privateBrowsingEnabled):
24265 * UIProcess/WebPreferences.h:
24266 * WebProcess/WebPage/WebPage.cpp:
24267 (WebKit::WebPage::updatePreferences):
24268 Do what it takes to pass a single boolean from WebKit2 to WebCore. And we aren't even syncing
24269 the preference to user defaults yet.
24271 2010-10-20 Adam Roben <aroben@apple.com>
24273 Ask the UI client to close the page when the WKView receives a WM_CLOSE
24276 Fixes <http://webkit.org/b/48044> <rdar://problem/8488446> Pressing
24277 Ctrl+W when viewing a full-page PDF destroys the WKView but doesn't
24278 close its parent window
24280 Reviewed by Jon Honeycutt.
24282 * UIProcess/win/WebView.cpp:
24283 (WebKit::WebView::wndProc): Call through to WebPageProxy::tryClose when
24284 we receive a WM_CLOSE message, rather than passing the message along to
24285 ::DefWindowProcW. tryClose will end up asking the UI client to close
24286 the page, while ::DefWindowProcW would destroy us synchronously without
24287 notifying the UI client at all. One case where we'll get sent a
24288 WM_CLOSE message is when the user presses Ctrl+W when using the Adobe
24289 Reader plugin to view a PDF.
24291 2010-10-20 Adam Roben <aroben@apple.com>
24293 Remove confusing and redundant "host window" terminology from WKView on
24296 WKView's "host window" is really just its HWND's parent window. The
24297 terminology has been updated to reflect this. The unnecessary
24298 WKViewGetHostWindow function has been removed, as it was a synonym for
24299 ::GetParent(WKViewGetWindow(view)).
24301 Fixes <http://webkit.org/b/48039> WKView's "host window" API is
24304 Reviewed by Sam Weinig.
24306 * UIProcess/API/C/win/WKView.cpp:
24308 (WKViewSetParentWindow):
24309 * UIProcess/API/C/win/WKView.h:
24310 Replaced "host window" with "parent window". Removed
24311 WKViewGetHostWindow.
24313 * UIProcess/win/WebView.cpp:
24314 (WebKit::WebView::WebView):
24315 (WebKit::WebView::setParentWindow):
24316 (WebKit::WebView::windowAncestryDidChange):
24317 (WebKit::WebView::close):
24318 * UIProcess/win/WebView.h:
24319 (WebKit::WebView::create):
24320 Replaced "host window" with "parent window". Removed m_hostWindow and
24323 2010-10-21 Sam Weinig <sam@webkit.org>
24325 Reviewed by Adam Roben.
24327 Null frame passed when running alert from UserScript run at document start
24328 <rdar://problem/8573809>
24329 https://bugs.webkit.org/show_bug.cgi?id=48036
24331 Don't initialize a Frame until after we have notified the UIProcess of its creation.
24332 This is necessary since arbitrary actions can happen during the call to Frame::init()
24333 such as the running of UserScripts.
24335 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
24336 (WebKit::WebFrameLoaderClient::createFrame):
24337 * WebProcess/WebPage/WebFrame.cpp:
24338 (WebKit::WebFrame::createMainFrame):
24339 (WebKit::WebFrame::createSubframe):
24340 (WebKit::WebFrame::create):
24341 (WebKit::WebFrame::WebFrame):
24342 (WebKit::WebFrame::init):
24343 * WebProcess/WebPage/WebFrame.h:
24344 * WebProcess/WebPage/WebPage.cpp:
24345 (WebKit::WebPage::WebPage):
24347 2010-10-21 Balazs Kelemen <kbalazs@webkit.org>
24349 Reviewed by Andreas Kling.
24351 [Qt] PluginInfoStore does not set up mime types for plugins
24352 https://bugs.webkit.org/show_bug.cgi?id=48063
24354 * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
24355 (WebKit::PluginInfoStore::getPluginInfo): Store the mime types
24356 that are supported by the plugin into the plugin argument.
24358 2010-10-21 Juha Savolainen <juha.savolainen@weego.fi>
24360 Reviewed by Kenneth Rohde Christiansen.
24362 This is initial implementation of QWKHistory. The QWKHistory class represents the history of a QWKPage.
24363 https://bugs.webkit.org/show_bug.cgi?id=47716
24365 Each QWKPage instance contains a history of a visited pages that can be accessed by QWKHistory::history().
24366 The QWKPagePrivate class creates QWKHistory in constructor.
24368 * UIProcess/API/qt/qwkhistory.cpp: Added.
24369 (QWKHistoryPrivate::QWKHistoryPrivate):
24370 (QWKHistoryPrivate::createHistory): Creates history object.
24371 (QWKHistoryPrivate::~QWKHistoryPrivate):
24372 (QWKHistory::QWKHistory):
24373 (QWKHistory::~QWKHistory):
24374 (QWKHistory::backListCount): Gets items count in back.
24375 (QWKHistory::forwardListCount): Gets items count in forward.
24376 (QWKHistory::count): Gets items count.
24377 * UIProcess/API/qt/qwkhistory.h: Added.
24378 * UIProcess/API/qt/qwkhistory_p.h: Added.
24379 * UIProcess/API/qt/qwkpage.cpp:
24380 (QWKPagePrivate::QWKPagePrivate):
24381 (QWKPagePrivate::~QWKPagePrivate):
24382 (QWKPage::history): Returns history object.
24383 * UIProcess/API/qt/qwkpage.h:
24384 * UIProcess/API/qt/qwkpage_p.h: Added history member variable.
24385 * WebKit2.pro: Added WKBackForwardList.h, WKBackForwardList.cpp and new files.
24387 2010-10-14 Adam Roben <aroben@apple.com>
24389 Don't require the plugin to always use the same NPP struct we gave it
24392 Neither WebCore, nor WebKit/mac, nor Firefox requires this, and
24393 Shockwave (at least) seems to use a different NPP struct that contains
24394 the same ndata member. So we shouldn't enforce it, either.
24396 Fixes <http://webkit.org/b/47690> <rdar://problem/8553020> Assertion
24397 failure in NetscapePlugin::fromNPP when using Shockwave in WebKit2
24399 Reviewed by John Sullivan.
24401 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
24402 (WebKit::NetscapePlugin::fromNPP): Removed the bogus assertion.
24404 2010-10-20 Anders Carlsson <andersca@apple.com>
24408 * UIProcess/API/C/WKNativeEvent.h:
24410 2010-10-20 Eric Carlson <eric.carlson@apple.com>
24412 Reviewed by Simon Fraser.
24414 Crash closing page with <video> element
24415 https://bugs.webkit.org/show_bug.cgi?id=47960
24416 <rdar://problem/8573297>
24418 I couldn't think of a good way to make a layout test for this because the
24419 crash isn't triggered by closing an iframe.
24421 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
24422 (WebKit::WebChromeClient::scheduleCompositingLayerSync): NULL check drawingArea().
24424 2010-10-20 Anders Carlsson <andersca@apple.com>
24426 Reviewed by Darin Adler.
24428 Out of process plug-ins are never asked to initially paint
24429 https://bugs.webkit.org/show_bug.cgi?id=47993
24430 <rdar://problem/8570342>
24432 * Platform/CoreIPC/HandleMessage.h:
24433 (CoreIPC::callMemberFunction):
24434 Add new callMemberFunction overload.
24436 * PluginProcess/PluginControllerProxy.cpp:
24437 (WebKit::PluginControllerProxy::paintEntirePlugin):
24438 Set the dirty rect to be the entire plug-in rect and then paint the plug-in.
24440 * PluginProcess/PluginControllerProxy.messages.in:
24441 Add PaintEntirePlugin message.
24443 * WebProcess/Plugins/PluginProxy.cpp:
24444 (WebKit::PluginProxy::PluginProxy):
24445 Initialize m_pluginBackingStoreContainsValidData to false.
24447 (WebKit::PluginProxy::paint):
24448 If m_pluginBackingStoreContainsValidData is false, synchronously ask the plug-in to paint,
24449 then blit the plug-in backing store into our own backing store.
24451 (WebKit::PluginProxy::geometryDidChange):
24452 Set m_pluginBackingStoreContainsValidData to false.
24454 (WebKit::PluginProxy::update):
24455 Set m_pluginBackingStoreContainsValidData to true if the plug-in has painted its entire area.
24457 2010-10-19 Jessie Berlin <jberlin@apple.com>
24459 Reviewed by Geoffrey Garen.
24461 ASSERTION FAILURE: !m_adoptionIsRequired for the WebFrame under the
24462 InjectedBundlePageLoaderClient::didClearWindowObjectForFrame callback.
24463 https://bugs.webkit.org/show_bug.cgi?id=47960
24465 Do not try to initialize the coreFrame (which results in the
24466 InjectedBundlePageLoaderClient::didClearWindowObjectForFrame being called) until after the
24467 WebFrame constructor has returned and the WebFrame has been adopted.
24469 * WebProcess/WebPage/WebFrame.cpp:
24470 (WebKit::WebFrame::create):
24471 Moved the call to init the coreFrame here ...
24472 (WebKit::WebFrame::WebFrame):
24475 2010-10-20 Dirk Schulze <krit@webkit.org>
24477 Reviewed by Nikolas Zimmermann.
24479 Merge ColorSpace and ImageColorSpace enums
24480 https://bugs.webkit.org/show_bug.cgi?id=47922
24482 Renamed ColorSpace enum entries DeviceColorSpace and sRGBColorSpace to ColorSpaceDeviceRGB and ColorSpaceSRGB
24483 to follow webkit style rules.
24485 * UIProcess/FindIndicator.cpp:
24486 (WebKit::FindIndicator::draw):
24487 * WebProcess/WebPage/FindPageOverlay.cpp:
24488 (WebKit::FindPageOverlay::drawRect):
24490 2010-10-20 Nikolas Zimmermann <nzimmermann@rim.com>
24494 Fix Qt/WebKit2 build, also needs a svg/properties include.
24498 2010-10-19 Anders Carlsson <andersca@apple.com>
24500 Reviewed by Sam Weinig.
24502 Fix MiniBrowser crashes during startup and shutdown
24503 https://bugs.webkit.org/show_bug.cgi?id=47954
24505 * UIProcess/WebContext.cpp:
24506 (WebKit::WebContext::sharedProcessContext):
24507 Initialize the main thread.
24509 (WebKit::WebContext::create):
24512 (WebKit::WebContext::WebContext):
24513 Add the language observer here so we know that it will always be set up.
24515 (WebKit::WebContext::ensureWebProcess):
24518 * UIProcess/WebContext.h:
24520 2010-10-19 Anders Carlsson <andersca@apple.com>
24522 Reviewed by Sam Weinig.
24524 Coalesce plug-in drawing
24525 https://bugs.webkit.org/show_bug.cgi?id=47939
24527 Coalesce plug-in drawing in the same manner as we do it in the chunked update drawing area.
24529 * PluginProcess/PluginControllerProxy.cpp:
24530 (WebKit::PluginControllerProxy::PluginControllerProxy):
24531 Initialize m_waitingForDidUpdate to false.
24533 (WebKit::PluginControllerProxy::startPaintTimer):
24534 Move code from invalidate out to here. Don't start the paint timer if m_waitingForDidUpdate is true.
24536 (WebKit::PluginControllerProxy::invalidate):
24537 Call startPaintTimer.
24539 (WebKit::PluginControllerProxy::didUpdate):
24540 Set m_waitingForDidUpdate to false and start the paint timer.
24542 * PluginProcess/PluginControllerProxy.messages.in:
24543 Add DidUpdate message.
24545 * WebProcess/Plugins/PluginProxy.cpp:
24546 (WebKit::PluginProxy::PluginProxy):
24547 Initialize m_waitingForPaintInResponseToUpdate to false.
24549 (WebKit::PluginProxy::paint):
24550 If m_waitingForPaintInResponseToUpdate is true, send a DidUpdate message.
24552 (WebKit::PluginProxy::update):
24553 Set m_waitingForPaintInResponseToUpdate to true.
24555 2010-10-19 Sam Weinig <sam@webkit.org>
24557 Reviewed by Anders Carlsson.
24559 Add alternateHTMLString and unreachableURL API to WebKit2
24560 <rdar://problem/8557864>
24561 https://bugs.webkit.org/show_bug.cgi?id=47938
24563 * UIProcess/API/C/WKFrame.cpp:
24564 (WKFrameCopyUnreachableURL):
24565 * UIProcess/API/C/WKFrame.h:
24566 Add accessor for the unreachableURL if one is set. It will only be
24567 set during a loadAlternateHTMLString and will be unset on the next normal
24568 didStartProvisionalLoadForFrame call.
24570 * UIProcess/API/C/WKPage.cpp:
24571 (WKPageLoadHTMLString): Remove whitespace.
24572 (WKPageLoadAlternateHTMLString):
24573 * UIProcess/API/C/WKPage.h:
24574 Add function to load a string as "alternate", meant for use as error pages.
24576 * UIProcess/WebFrameProxy.h:
24577 (WebKit::WebFrameProxy::setUnreachableURL):
24578 (WebKit::WebFrameProxy::unreachableURL):
24579 Add setter/getter for the unreachableURL.
24581 * UIProcess/WebPageProxy.cpp:
24582 (WebKit::WebPageProxy::loadAlternateHTMLString):
24583 Plumb through the call to loadAlternateHTMLString to the WebProcess
24584 and set the main frame's unreachableURL. This does nothing if no pages
24585 have ever been loaded in this page.
24587 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
24588 If this is not a provisional load of substitute data for an unreachableURL
24589 (e.g. someone who called WKPageLoadAlternateHTMLString), reset the
24590 frame's unreachableURL.
24592 * UIProcess/WebPageProxy.h:
24593 * UIProcess/WebPageProxy.messages.in:
24594 Update function signatures.
24596 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
24597 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
24598 Pass whether or not this is a load of SubstituteData for an unreachableURL
24601 * WebProcess/WebPage/WebPage.cpp:
24602 (WebKit::WebPage::loadData):
24603 (WebKit::WebPage::loadAlternateHTMLString):
24604 * WebProcess/WebPage/WebPage.h:
24605 * WebProcess/WebPage/WebPage.messages.in:
24606 Plumb through the loading of the alternate HTML string.
24608 2010-10-19 Alexey Proskuryakov <ap@apple.com>
24610 Reviewed by Anders Carlsson.
24612 https://bugs.webkit.org/show_bug.cgi?id=47933
24613 <rdar://problem/8494337> navigator.language doesn't work in WebKit2
24615 * Shared/WebProcessCreationParameters.cpp:
24616 (WebKit::WebProcessCreationParameters::encode):
24617 (WebKit::WebProcessCreationParameters::decode):
24618 * Shared/WebProcessCreationParameters.h:
24619 Pass language code when creating a web process.
24621 * UIProcess/WebContext.cpp:
24622 (WebKit::WebContext::~WebContext): Don't send language change notifications to the destroyed
24624 (WebKit::languageChanged): Make web process know about the change.
24625 (WebKit::WebContext::ensureWebProcess): Fill WebProcessCreationParameters, and register for
24626 change notifications.
24628 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
24629 Initialize wkCopyCFLocalizationPreferredName.
24631 * WebProcess/WebProcess.cpp:
24632 (WebKit::WebProcess::initializeWebProcess): Use passed in language as an override. Web process
24633 doesn't know about per-application settings, so it depends on UI process for those.
24634 (WebKit::WebProcess::languageChanged): Update the language override when messaged.
24636 * WebProcess/WebProcess.h:
24637 * WebProcess/WebProcess.messages.in:
24638 Added LanguageChanged message.
24640 2010-10-19 Anders Carlsson <andersca@apple.com>
24642 Reviewed by Adam Roben.
24644 Stop waiting for sync replies if the connection is closed
24645 https://bugs.webkit.org/show_bug.cgi?id=47930
24647 * Platform/CoreIPC/Connection.cpp:
24648 (CoreIPC::Connection::Connection):
24649 Initialize m_shouldWaitForSyncReplies to true.
24651 (CoreIPC::Connection::sendSyncMessage):
24652 Don't attempt to send a message if m_shouldWaitForSyncReplies is false.
24654 (CoreIPC::Connection::waitForSyncReply):
24655 Return if m_shouldWaitForSyncReplies was set to false.
24657 (CoreIPC::Connection::connectionDidClose):
24658 Set m_shouldWaitForSyncReplies to true and signal the semaphore.
24660 * Platform/CoreIPC/Connection.h:
24662 2010-10-19 Adam Roben <aroben@apple.com>
24666 * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
24667 (WebKit::interruptForPolicyChangeError): Add a missing comma.
24669 2010-10-19 Sam Weinig <sam@webkit.org>
24671 Reviewed by Anders Carlsson.
24674 Need to include WKErrorRef in the WKPageDidFail... functions
24675 <rdar://problem/8564110>
24676 https://bugs.webkit.org/show_bug.cgi?id=47871
24678 * Shared/API/c/WKError.cpp:
24679 (WKErrorCopyWKErrorDomain):
24680 * Shared/API/c/WKError.h:
24681 * Shared/WebError.cpp: Added.
24682 (WebKit::WebError::webKitErrorDomain):
24683 * Shared/WebError.h:
24685 * WebKit2.xcodeproj/project.pbxproj:
24686 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
24687 (+[NSError _webKitErrorWithCode:failingURL:]):
24689 (WebKit::blockedError):
24690 (WebKit::cannotShowURLError):
24691 (WebKit::interruptForPolicyChangeError):
24692 (WebKit::cannotShowMIMETypeError):
24693 * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
24694 (WebKit::cancelledError):
24695 (WebKit::blockedError):
24696 (WebKit::cannotShowURLError):
24697 (WebKit::interruptForPolicyChangeError):
24698 * win/WebKit2.vcproj:
24700 2010-10-19 Sam Weinig <sam@webkit.org>
24702 Reviewed by Dan Bernstein.
24704 Need to include WKErrorRef in the WKPageDidFail... functions
24705 <rdar://problem/8564110>
24706 https://bugs.webkit.org/show_bug.cgi?id=47871
24708 Give WebError a WebCore::ResourceError backing and start passing it over the wire
24709 for failure cases. Also, fill out the WKError API to include domain, errorCode,
24710 failingURL and localizedDescription.
24712 * Shared/API/c/WKError.cpp:
24713 (WKErrorCopyDomain):
24714 (WKErrorGetErrorCode):
24715 (WKErrorCopyFailingURL):
24716 (WKErrorCopyLocalizedDescription):
24717 * Shared/API/c/WKError.h:
24718 * Shared/API/c/WKSharedAPICast.h:
24720 * Shared/WebCoreArgumentCoders.h:
24721 * Shared/WebError.h:
24722 (WebKit::WebError::create):
24723 (WebKit::WebError::domain):
24724 (WebKit::WebError::errorCode):
24725 (WebKit::WebError::failingURL):
24726 (WebKit::WebError::localizedDescription):
24727 (WebKit::WebError::platformError):
24728 (WebKit::WebError::WebError):
24729 * UIProcess/API/C/WKPage.h:
24730 * UIProcess/API/qt/ClientImpl.cpp:
24731 (qt_wk_didFailProvisionalLoadWithErrorForFrame):
24732 (qt_wk_didFailLoadWithErrorForFrame):
24733 * UIProcess/API/qt/ClientImpl.h:
24734 * UIProcess/WebLoaderClient.cpp:
24735 (WebKit::WebLoaderClient::didFailProvisionalLoadWithErrorForFrame):
24736 (WebKit::WebLoaderClient::didFailLoadWithErrorForFrame):
24737 * UIProcess/WebLoaderClient.h:
24738 * UIProcess/WebPageProxy.cpp:
24739 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
24740 (WebKit::WebPageProxy::didFailLoadForFrame):
24741 * UIProcess/WebPageProxy.h:
24742 * UIProcess/WebPageProxy.messages.in:
24743 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
24744 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
24745 (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame):
24746 (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame):
24747 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
24748 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
24749 (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
24750 (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
24752 2010-10-19 Christian Sejersen <christian.webkit@gmail.com>
24754 Reviewed by Kenneth Rohde Christiansen.
24756 Scratchbox has an old version of python as the default one, so
24757 force it to use version 2.6.
24758 https://bugs.webkit.org/show_bug.cgi?id=47895
24760 * DerivedSources.pro:
24762 2010-10-19 Luiz Agostini <luiz.agostini@openbossa.org>
24764 Reviewed by Antti Koivisto.
24766 [Qt] WebKit2 MacOS build fix
24767 https://bugs.webkit.org/show_bug.cgi?id=47897
24769 Qt WebKit2 MacOS build fix.
24771 * UIProcess/WebPageProxy.cpp:
24775 2010-10-18 Anders Carlsson <andersca@apple.com>
24777 Reviewed by Sam Weinig.
24779 Initialize the API client.
24781 * Shared/APIClient.h:
24782 (WebKit::APIClient::APIClient):
24784 2010-10-18 Anders Carlsson <andersca@apple.com>
24786 Reviewed by John Sullivan.
24788 WebKit2 should handle dismissing the Find overlay on mouse-down
24789 https://bugs.webkit.org/show_bug.cgi?id=47854
24791 * WebProcess/WebPage/FindPageOverlay.cpp:
24792 (WebKit::FindPageOverlay::mouseEvent):
24793 Dismiss the find UI on MouseDown.
24795 * WebProcess/WebPage/WebPage.cpp:
24796 (WebKit::WebPage::mouseEvent):
24797 If there's a page overlay, let it have a go at the event.
24799 2010-10-18 Anders Carlsson <andersca@apple.com>
24803 * UIProcess/API/mac/FindIndicatorWindow.mm:
24804 (-[WebFindIndicatorWindowAnimation _initWithFindIndicatorWindow:WebKit::animationProgressCallback:WebKit::FindIndicatorWindow::animationDidEndCallback:WebKit::FindIndicatorWindow::]):
24805 (WebKit::FindIndicatorWindow::setFindIndicator):
24806 * UIProcess/WebPageProxy.h:
24807 * UIProcess/WebPopupMenuProxy.h:
24808 * WebProcess/WebCoreSupport/WebPopupMenu.h:
24810 2010-10-18 Sam Weinig <sam@webkit.org>
24816 2010-10-18 Anders Carlsson <andersca@apple.com>
24818 Reviewed by Simon Fraser.
24820 Don't try to change accelerated compositing mode if the web page is closed
24821 https://bugs.webkit.org/show_bug.cgi?id=47852
24823 changeAcceleratedCompositingMode ends up sending a sync message to the UI process which is unnecessary if
24824 the UI process is being torn down.
24826 * WebProcess/WebPage/WebPage.cpp:
24827 (WebKit::WebPage::WebPage):
24828 (WebKit::WebPage::changeAcceleratedCompositingMode):
24829 (WebKit::WebPage::close):
24830 * WebProcess/WebPage/WebPage.h:
24832 2010-10-18 Anders Carlsson <andersca@apple.com>
24834 Reviewed by Sam Weinig.
24836 <rdar://problem/8036034>
24837 WebKit2's WebProcess dies immediately on Mac due to DYLD_FRAMEWORK_PATH problem
24839 Pass the path to the WebKit2 framework along to the web process and don't rely on DYLD_FRAMEWORK_PATH being set.
24841 * Shared/mac/CommandLineMac.cpp:
24842 (WebKit::CommandLine::parse):
24843 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
24844 (WebKit::ProcessLauncher::launchProcess):
24848 2010-10-18 Jessie Berlin <jberlin@apple.com>
24850 Reviewed by Sam Weinig.
24852 Need a WebKit2 equivalent of the WebKit1 WebUserContentURLPattern.
24853 https://bugs.webkit.org/show_bug.cgi?id=47783
24855 * Shared/API/c/WKBase.h:
24857 * Shared/API/c/WKSharedAPICast.h:
24859 * Shared/API/c/WKUserContentURLPattern.cpp: Added.
24860 (WKUserContentURLPatternGetTypeID):
24861 (WKUserContentURLPatternCreate):
24862 (WKUserContentURLPatternMatchesURL):
24863 * Shared/API/c/WKUserContentURLPattern.h: Added.
24865 * Shared/APIObject.h:
24867 * Shared/UserMessageCoders.h:
24868 Use the original pattern string to encode and decode a UserContentURLPattern.
24869 (WebKit::UserMessageEncoder::baseEncode):
24870 (WebKit::UserMessageDecoder::baseDecode):
24872 * Shared/WebUserContentURLPattern.h: Added.
24873 (WebKit::WebUserContentURLPattern::create):
24874 (WebKit::WebUserContentURLPattern::matchesURL):
24875 Use WebCore::UserContentURLPattern::matches.
24876 (WebKit::WebUserContentURLPattern::patternString):
24877 Expose the pattern string used to create the UserContentURLPattern for the purpose of
24878 encoding and decoding.
24879 (WebKit::WebUserContentURLPattern::WebUserContentURLPattern):
24880 (WebKit::WebUserContentURLPattern::type):
24883 * WebKit2.xcodeproj/project.pbxproj:
24884 * win/WebKit2.vcproj:
24885 Add WKUserContentURLPattern.h/.cpp and WebUserContentURLPattern.h
24887 * win/WebKit2Generated.make:
24888 Copy over WKUsercontentURLPattern into the output directory.
24890 2010-10-18 Anders Carlsson <andersca@apple.com>
24894 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
24895 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
24896 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
24897 (WebKit::NetscapePlugin::platformSetFocus):
24899 2010-10-18 Anders Carlsson <andersca@apple.com>
24901 Reviewed by Darin Adler.
24903 Add matchCountDidChange callback
24904 https://bugs.webkit.org/show_bug.cgi?id=47840
24906 * UIProcess/API/C/WKPage.h:
24907 Add matchCountDidChange WKPageFindClient callback.
24909 * UIProcess/WebFindClient.cpp:
24910 (WebKit::WebFindClient::matchCountDidChange):
24911 Call the WKPageFindClient callback.
24913 * UIProcess/WebPageProxy.messages.in:
24914 Add MatchCountDidChange message.
24916 * WebProcess/WebPage/FindController.cpp:
24917 (WebKit::FindController::countStringMatches):
24918 Move code here from WebPage.
24920 (WebKit::FindController::findString):
24921 Send the MatchCountDidChange message.
24923 * WebProcess/WebPage/WebPage.cpp:
24924 (WebKit::WebPage::countStringMatches):
24925 Move this code over to FindController.
24927 2010-10-18 Anders Carlsson <andersca@apple.com>
24929 Reviewed by Darin Adler.
24931 Use nullptr instead of 0.
24933 * UIProcess/API/mac/FindIndicatorWindow.mm:
24934 (WebKit::FindIndicatorWindow::closeWindow):
24935 * UIProcess/API/mac/WKView.mm:
24936 (-[WKView renewGState]):
24937 * WebProcess/Plugins/PluginProcessConnection.cpp:
24938 (WebKit::PluginProcessConnection::removePluginProxy):
24940 2010-10-15 Sam Weinig <sam@webkit.org>
24944 * UIProcess/API/qt/qwkpage.cpp:
24945 (QWKPagePrivate::createPopupMenuProxy):
24947 2010-10-15 Sam Weinig <sam@webkit.org>
24949 Reviewed by Anders Carlsson.
24951 Popup widget support (<select>)
24952 <rdar://problem/8147746>
24953 https://bugs.webkit.org/show_bug.cgi?id=47740
24955 Add initial support for popup menus. Only works on the mac at this time.
24957 * Shared/WebPopupItem.cpp: Added.
24958 (WebKit::WebPopupItem::WebPopupItem):
24959 (WebKit::WebPopupItem::encode):
24960 (WebKit::WebPopupItem::decode):
24961 * Shared/WebPopupItem.h: Added.
24962 Serializable representation of a menu item.
24964 * UIProcess/API/mac/PageClientImpl.h:
24965 * UIProcess/API/mac/PageClientImpl.mm:
24966 (WebKit::PageClientImpl::createPopupMenuProxy):
24967 Create a WebPopupMenuProxyMac.
24969 * UIProcess/API/qt/qwkpage.cpp:
24970 (WebView::createPopupMenuProxy):
24971 * UIProcess/API/qt/qwkpage_p.h:
24972 Create a WebPopupMenuProxyQt (which is just a stub right now).
24974 (WebKit::WebPopupMenuProxyWin::create):
24975 * UIProcess/win/WebView.cpp:
24976 (WebKit::WebView::createPopupMenuProxy):
24977 * UIProcess/win/WebView.h:
24978 Create a WebPopupMenuProxyWin (which is just a stub right now).
24980 * UIProcess/PageClient.h:
24981 Add new client function to get a platform specific WebPopupMenuProxy.
24983 * UIProcess/WebPageProxy.cpp:
24984 (WebKit::WebPageProxy::close):
24985 (WebKit::WebPageProxy::showPopupMenu):
24986 (WebKit::WebPageProxy::hidePopupMenu):
24987 (WebKit::WebPageProxy::processDidExit):
24988 * UIProcess/WebPageProxy.h:
24989 * UIProcess/WebPageProxy.messages.in:
24990 Pipe through calls to set up the menu.
24992 * UIProcess/mac/WebPopupMenuProxyMac.h: Added.
24993 (WebKit::WebPopupMenuProxyMac::create):
24994 * UIProcess/mac/WebPopupMenuProxyMac.mm: Added.
24995 (WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac):
24996 (WebKit::WebPopupMenuProxyMac::~WebPopupMenuProxyMac):
24997 (WebKit::WebPopupMenuProxyMac::populate):
24998 (WebKit::WebPopupMenuProxyMac::showPopupMenu):
24999 (WebKit::WebPopupMenuProxyMac::hidePopupMenu):
25000 Add UI process side implementation. Currently this does not support
25001 custom fonts as the old implementation did.
25003 * UIProcess/qt/WebPopupMenuProxyQt.cpp: Added.
25004 (WebKit::WebPopupMenuProxyQt::WebPopupMenuProxyQt):
25005 (WebKit::WebPopupMenuProxyQt::~WebPopupMenuProxyQt):
25006 (WebKit::WebPopupMenuProxyQt::showPopupMenu):
25007 (WebKit::WebPopupMenuProxyQt::hidePopupMenu):
25008 * UIProcess/qt/WebPopupMenuProxyQt.h: Added.
25009 (WebKit::WebPopupMenuProxyQt::create):
25010 * UIProcess/win/WebPopupMenuProxyWin.cpp: Added.
25011 (WebKit::WebPopupMenuProxyWin::WebPopupMenuProxyWin):
25012 (WebKit::WebPopupMenuProxyWin::~WebPopupMenuProxyWin):
25013 (WebKit::WebPopupMenuProxyWin::showPopupMenu):
25014 (WebKit::WebPopupMenuProxyWin::hidePopupMenu):
25015 * UIProcess/win/WebPopupMenuProxyWin.h: Added.
25016 Add stubbed out implementations for Qt and windows.
25018 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
25019 (WebKit::WebChromeClient::createPopupMenu):
25020 (WebKit::WebChromeClient::createSearchPopupMenu):
25021 Pass the page in the create function.
25023 * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
25024 (WebKit::WebPopupMenu::create):
25025 (WebKit::WebPopupMenu::WebPopupMenu):
25026 (WebKit::WebPopupMenu::didChangeSelectedIndex):
25027 (WebKit::WebPopupMenu::populateItems):
25028 (WebKit::WebPopupMenu::show):
25029 (WebKit::WebPopupMenu::hide):
25030 * WebProcess/WebCoreSupport/WebPopupMenu.h:
25031 (WebKit::WebPopupMenu::disconnectFromPage):
25032 * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
25033 (WebKit::WebSearchPopupMenu::create):
25034 (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
25035 (WebKit::WebSearchPopupMenu::popupMenu):
25036 * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
25037 * WebProcess/WebPage/WebPage.cpp:
25038 (WebKit::WebPage::close):
25039 (WebKit::WebPage::setActivePopupMenu):
25040 (WebKit::WebPage::didChangeSelectedIndexForActivePopupMenu):
25041 * WebProcess/WebPage/WebPage.h:
25042 * WebProcess/WebPage/WebPage.messages.in:
25043 Pipe through calls to set up the menu.
25046 * WebKit2.xcodeproj/project.pbxproj:
25047 * win/WebKit2.vcproj:
25050 2010-10-15 Anders Carlsson <andersca@apple.com>
25054 * UIProcess/API/mac/FindIndicatorWindow.mm:
25055 (-[WebFindIndicatorWindowAnimation setCurrentProgress:]):
25057 2010-10-15 Simon Fraser <simon.fraser@apple.com>
25059 Reviewed by Dan Bernstein.
25061 Add 'didDraw' callback for framerate tracking
25062 https://bugs.webkit.org/show_bug.cgi?id=47478
25064 Hook up the 'didDraw' callback for WebKit2 on Mac.
25066 * UIProcess/API/C/WKPage.h:
25067 * UIProcess/API/mac/WKView.mm:
25068 (-[WKView drawRect:]):
25069 * UIProcess/API/qt/qwkpage.cpp:
25070 (QWKPage::QWKPage):
25071 * UIProcess/WebPageProxy.cpp:
25072 (WebKit::WebPageProxy::didDraw):
25073 * UIProcess/WebPageProxy.h:
25074 * UIProcess/WebUIClient.cpp:
25075 (WebKit::WebUIClient::didDraw):
25076 * UIProcess/WebUIClient.h:
25078 2010-10-15 Anders Carlsson <andersca@apple.com>
25080 Reviewed by Sam Weinig.
25082 Make the find indicator window fade out when requested
25083 https://bugs.webkit.org/show_bug.cgi?id=47747
25085 * UIProcess/API/mac/FindIndicatorWindow.h:
25086 * UIProcess/API/mac/FindIndicatorWindow.mm:
25087 Add WebFindIndicatorWindowAnimation - an NSAnimation subclass that takes two
25088 C++ member function pointers and invokes them the animation progress changes and
25089 when the animation stops.
25091 (-[WebFindIndicatorWindowAnimation setCurrentProgress:]):
25092 Call the _animationProgressCallback.
25094 (-[WebFindIndicatorWindowAnimation animationDidEnd:]):
25095 Call the _animationDidEndCallback.
25097 (WebKit::FindIndicatorWindow::FindIndicatorWindow):
25098 Initialize the fade out start timer.
25100 (WebKit::FindIndicatorWindow::setFindIndicator):
25101 When asked to fade out, we start the fade out timer.
25103 (WebKit::FindIndicatorWindow::closeWindow):
25104 Stop the fade out timer and the fade out animation.
25106 (WebKit::FindIndicatorWindow::startFadeOutTimerFired):
25107 Create a fade out animation.
25109 (WebKit::FindIndicatorWindow::fadeOutAnimationCallback):
25110 Update the window alpha.
25112 (WebKit::FindIndicatorWindow::fadeOutAnimationDidEnd):
25115 2010-10-15 Anders Carlsson <andersca@apple.com>
25117 Reviewed by Sam Weinig.
25119 Move find indicator window logic to WKView
25120 https://bugs.webkit.org/show_bug.cgi?id=47739
25122 * UIProcess/API/mac/PageClientImpl.h:
25123 * UIProcess/API/mac/PageClientImpl.mm:
25124 (WebKit::PageClientImpl::setFindIndicator):
25125 Call -[WKView _setFindIndicator:fadeOut:].
25127 * UIProcess/API/mac/WKView.mm:
25128 (-[WKView renewGState]):
25129 Hide the find indicator.
25131 (-[WKView _setFindIndicator:fadeOut:]):
25132 Move the find indicator logic here.
25134 2010-10-15 Anders Carlsson <andersca@apple.com>
25136 Reviewed by Sam Weinig.
25138 Hide the find indicator/overlay when necessary
25139 https://bugs.webkit.org/show_bug.cgi?id=47737
25141 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
25142 (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
25143 Hide the find indicator.
25145 (WebKit::WebChromeClient::scroll):
25148 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
25149 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
25150 Hide the find indicator and the find overlay.
25152 * WebProcess/WebPage/FindController.cpp:
25153 (WebKit::FindController::findString):
25154 Always hide all previous find matches. Only clear the selection if the string
25155 not found wasn't empty.
25157 (WebKit::FindController::hideFindUI):
25158 Uninstall the page overlay and hide the find indicator.
25160 (WebKit::FindController::hideFindIndicator):
25161 Rename resetFindIndicator to hideFindIndicator.
25163 * WebProcess/WebPage/WebPage.cpp:
25164 (WebKit::WebPage::uninstallPageOverlay):
25165 Invalidate the entire page.
25167 2010-10-15 Anders Carlsson <andersca@apple.com>
25169 Reviewed by Sam Weinig.
25171 Add FindIndicatorWindow class
25172 https://bugs.webkit.org/show_bug.cgi?id=47731
25174 * UIProcess/API/mac/FindIndicatorWindow.h: Added.
25175 * UIProcess/API/mac/FindIndicatorWindow.mm: Added.
25176 (-[WebFindIndicatorView _initWithFindIndicator:WebKit::]):
25177 Initialize the find indicator view.
25179 (-[WebFindIndicatorView drawRect:]):
25180 Ask the find indicator to draw.
25182 (-[WebFindIndicatorView isFlipped]):
25185 (WebKit::FindIndicatorWindow::~FindIndicatorWindow):
25186 Make sure to close the window.
25188 (WebKit::FindIndicatorWindow::setFindIndicator):
25189 Update the find indicator window.
25191 (WebKit::FindIndicatorWindow::closeWindow):
25192 Close and release the window.
25194 * UIProcess/API/mac/PageClientImpl.h:
25195 * UIProcess/API/mac/PageClientImpl.mm:
25196 (WebKit::PageClientImpl::setFindIndicator):
25197 Create a find indicator window.
25199 * WebKit2.xcodeproj/project.pbxproj:
25202 2010-10-15 Anders Carlsson <andersca@apple.com>
25206 * UIProcess/API/qt/qwkpage.cpp:
25207 * UIProcess/win/WebView.cpp:
25209 2010-10-15 Anders Carlsson <andersca@apple.com>
25211 Reviewed by Sam Weinig.
25213 Add a FindIndicator class
25214 https://bugs.webkit.org/show_bug.cgi?id=47635
25216 * Shared/BackingStore.h:
25217 (WebKit::BackingStore::bounds):
25218 New function that returns the bounds of the backing store.
25220 * UIProcess/API/mac/PageClientImpl.mm:
25221 (WebKit::PageClientImpl::setFindIndicator):
25224 * UIProcess/API/qt/qwkpage.cpp:
25225 (QWKPagePrivate::setFindIndicator):
25228 * UIProcess/FindIndicator.cpp: Added.
25229 * UIProcess/FindIndicator.h:
25231 * UIProcess/PageClient.h:
25232 Add setFindIndicator client member function.
25234 * UIProcess/WebPageProxy.cpp:
25235 (WebKit::WebPageProxy::setFindIndicator):
25236 Call PageClient::setFindIndicator.
25238 * UIProcess/WebPageProxy.messages.in:
25239 Add a fadeOut boolean to the message.
25241 * UIProcess/win/WebView.cpp:
25242 (WebKit::WebView::setFindIndicator):
25245 * UIProcess/win/WebView.h:
25247 * WebKit2.xcodeproj/project.pbxproj:
25248 * WebProcess/WebPage/FindController.cpp:
25249 (WebKit::FindController::findString):
25250 (WebKit::FindController::updateFindIndicator):
25251 (WebKit::FindController::resetFindIndicator):
25252 * WebProcess/WebPage/FindController.h:
25253 * win/WebKit2.vcproj:
25255 2010-10-14 Simon Fraser <simon.fraser@apple.com>
25257 Reviewed by Sam Weinig.
25259 Plumb accelerated compositing prefs through WebKit2
25260 https://bugs.webkit.org/show_bug.cgi?id=46860
25261 <rdar://problem/8495312>
25263 Wire up the prefs to enable accelerated compositing, and
25264 show debug borders and repaint counters.
25266 * Shared/WebPreferencesStore.cpp:
25267 (WebKit::WebPreferencesStore::WebPreferencesStore):
25268 (WebKit::WebPreferencesStore::encode):
25269 (WebKit::WebPreferencesStore::decode):
25270 * Shared/WebPreferencesStore.h:
25271 * UIProcess/API/C/WKPreferencesPrivate.cpp:
25272 (WKPreferencesSetAcceleratedCompositingEnabled):
25273 (WKPreferencesGetAcceleratedCompositingEnabled):
25274 (WKPreferencesSetCompositingBordersVisible):
25275 (WKPreferencesGetCompositingBordersVisible):
25276 (WKPreferencesSetCompositingRepaintCountersVisible):
25277 (WKPreferencesGetCompositingRepaintCountersVisible):
25278 * UIProcess/API/C/WKPreferencesPrivate.h:
25279 * UIProcess/WebPreferences.cpp:
25280 (WebKit::WebPreferences::setAcceleratedCompositingEnabled):
25281 (WebKit::WebPreferences::acceleratedCompositingEnabled):
25282 (WebKit::WebPreferences::setCompositingBordersVisible):
25283 (WebKit::WebPreferences::compositingBordersVisible):
25284 (WebKit::WebPreferences::setCompositingRepaintCountersVisible):
25285 (WebKit::WebPreferences::compositingRepaintCountersVisible):
25286 * UIProcess/WebPreferences.h:
25287 * WebProcess/WebPage/WebPage.cpp:
25288 (WebKit::WebPage::WebPage):
25289 (WebKit::WebPage::preferencesDidChange):
25290 (WebKit::WebPage::updatePreferences):
25291 * WebProcess/WebPage/WebPage.h:
25293 2010-10-14 Ada Chan <adachan@apple.com>
25295 Reviewed by Sam Weinig.
25297 WebKit2: Store the certificate chain in PlatformCertificateInfo.
25298 https://bugs.webkit.org/show_bug.cgi?id=47603
25300 * Shared/API/c/win/WKCertificateInfoWin.cpp:
25301 (WKCertificateInfoGetCertificateChainLength):
25302 (WKCertificateInfoGetCertificateContextAtIndex):
25303 * Shared/API/c/win/WKCertificateInfoWin.h:
25304 * Shared/win/PlatformCertificateInfo.cpp:
25305 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): Get the chain context from the response and duplicate the certificate contexts
25306 in the chain to store in m_certificateChain.
25307 (WebKit::PlatformCertificateInfo::~PlatformCertificateInfo): Free all the certificate contexts in the chain.
25308 (WebKit::PlatformCertificateInfo::operator=): Duplicate the certificate contexts from the other PlatformCertificateInfo's certificate chain
25309 to store in m_certificateChain.
25310 (WebKit::PlatformCertificateInfo::encode):
25311 (WebKit::PlatformCertificateInfo::decode):
25312 (WebKit::PlatformCertificateInfo::clearCertificateChain): Free all the certificate contexts in the chain and clear the vector.
25313 * Shared/win/PlatformCertificateInfo.h:
25314 (WebKit::PlatformCertificateInfo::certificateChain):
25316 2010-10-14 Adam Roben <aroben@apple.com>
25318 Make sure WebKit2 only loads each plugin once
25320 Fixes <http://webkit.org/b/47677> <rdar://problem/8552178> WebKit2 can
25321 load the same plugin multiple times
25323 Reviewed by Sam Weinig.
25325 * UIProcess/Plugins/PluginInfoStore.cpp:
25326 (WebKit::addFromVector): Helper function that adds all the elements
25327 from a Vector to a HashSet.
25328 (WebKit::PluginInfoStore::loadPluginsIfNecessary): Put all the plugin
25329 paths into a HashSet, then load the plugins specified in the HashSet.
25330 On Windows, the HashSet is case-insensitive, just like the file
25333 * UIProcess/Plugins/PluginInfoStore.h: Removed loadPluginsInDirectory,
25334 which is no longer used.
25336 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
25337 (WebKit::addPluginPathsFromRegistry):
25338 (WebKit::PluginInfoStore::individualPluginPaths):
25339 Changed to store the paths in a Vector instead of a HashSet now that
25340 loadPluginsIfNecessary will handle duplicates for us.
25342 2010-10-14 Adam Roben <aroben@apple.com>
25344 Load plugins that are specified in the MozillaPlugins registry key
25346 Fixes <http://webkit.org/b/44271> <rdar://problem/8329750> WebKit2
25347 should load plugins specified in the MozillaPlugins registry key (like
25350 I couldn't think of a good way to test this.
25352 Reviewed by Steve Falkenburg.
25354 * UIProcess/Plugins/PluginInfoStore.cpp:
25355 (WebKit::PluginInfoStore::loadPluginsIfNecessary): Also load plugins
25356 specified by individualPluginPaths.
25358 * UIProcess/Plugins/PluginInfoStore.h: Added individualPluginPaths and
25361 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
25362 (WebKit::PluginInfoStore::individualPluginPaths):
25363 * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
25364 (WebKit::PluginInfoStore::individualPluginPaths):
25367 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
25368 (WebKit::addPluginPathsFromRegistry):
25369 (WebKit::PluginInfoStore::individualPluginPaths):
25370 Ported this code from WebCore's PluginDatabaseWin.cpp. I slightly
25371 cleaned it up and changed it to use a case-insensitive hash, since
25372 paths on Windows are case-insensitive.
25374 2010-10-14 Adam Roben <aroben@apple.com>
25376 Call ::DefWindowProcW for unhandled key events
25378 ::DefWindowProcW does important things for at least some key events
25379 (e.g., it generates a WM_SYSCOMMAND message when the Alt key is
25380 released), so we need to make sure to call it when we don't handle key
25383 Fixes <http://webkit.org/b/47671> <rdar://problem/8435594> Pressing
25384 the Alt key when MiniBrowser's WKView is focused doesn't send focus to
25387 Reviewed by Steve Falkenburg.
25389 * UIProcess/API/mac/PageClientImpl.h:
25390 * UIProcess/API/mac/PageClientImpl.mm:
25391 (WebKit::PageClientImpl::didNotHandleKeyEvent):
25392 * UIProcess/API/qt/qwkpage.cpp:
25393 (QWKPagePrivate::didNotHandleKeyEvent):
25394 * UIProcess/API/qt/qwkpage_p.h:
25395 Stubbed out didNotHandleKeyEvent.
25397 * UIProcess/PageClient.h: Added didNotHandleKeyEvent.
25399 * UIProcess/WebPageProxy.cpp:
25400 (WebKit::WebPageProxy::didReceiveEvent): Tell the PageClient about the
25403 * UIProcess/win/WebView.cpp:
25404 (WebKit::WebView::onKeyEvent): Added a comment.
25405 (WebKit::WebView::didNotHandleKeyEvent): Pass the event to
25408 * UIProcess/win/WebView.h: Added didNotHandleKeyEvent.
25410 2010-10-13 Sam Weinig <sam@webkit.org>
25412 Reviewed by Jon Honeycutt.
25414 Memory smasher in WebKit2 InjectedBundleHitTestResult::absoluteLinkURL
25415 https://bugs.webkit.org/show_bug.cgi?id=47648
25417 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
25418 (WebKit::InjectedBundleHitTestResult::absoluteLinkURL):
25419 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: Return a String instead of
25422 2010-10-13 Sam Weinig <sam@webkit.org>
25424 Reviewed by Jon Honeycutt.
25426 PlatformMouseEvents need to contain modifier flags
25427 https://bugs.webkit.org/show_bug.cgi?id=47651
25429 * Shared/WebEventConversion.cpp:
25430 (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
25431 Fill in m_modifierFlags.
25433 2010-10-13 Anders Carlsson <andersca@apple.com>
25435 Reviewed by John Sullivan.
25437 Draw the find overlay holes
25438 https://bugs.webkit.org/show_bug.cgi?id=47631
25440 * WebProcess/WebPage/FindPageOverlay.cpp:
25441 (WebKit::FindPageOverlay::drawRect):
25442 Draw the white frames and the holes.
25444 2010-10-13 Anders Carlsson <andersca@apple.com>
25446 Reviewed by Darin Adler.
25448 Use WKSI to get wheel event deltas
25449 https://bugs.webkit.org/show_bug.cgi?id=47617
25451 * Shared/mac/WebEventFactory.mm:
25452 (WebKit::WebEventFactory::createWebWheelEvent):
25453 Call WKGetWheelEventDeltas.
25455 * UIProcess/API/mac/WKView.mm:
25456 (-[WKView initWithFrame:pageNamespaceRef:]):
25457 Call InitWebCoreSystemInterface.
25459 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
25460 (InitWebCoreSystemInterface):
25463 2010-10-13 Adam Roben <aroben@apple.com>
25465 Fix the Cairo build
25467 * Shared/cairo/BackingStoreCairo.cpp: Added.
25468 (WebKit::BackingStore::createGraphicsContext):
25469 (WebKit::BackingStore::paint):
25472 * win/WebKit2.vcproj: Build BackingStoreCG.cpp in CG builds and
25473 BackingStoreCairo.cpp in Cairo builds.
25475 2010-10-13 Anders Carlsson <andersca@apple.com>
25479 * Shared/cg/BackingStoreCG.cpp:
25481 2010-10-13 Gavin Barraclough <barraclough@apple.com>
25483 Reviewed by Oliver Hunt.
25485 https://bugs.webkit.org/show_bug.cgi?id=43987
25486 Switch XMLHttpRequest, FileReader, and FileReaderSync to use a Stringbuilder
25487 to construct their internal result string. Remove ScriptString (this is now
25490 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
25491 (WebKit::WebFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest):
25492 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
25494 2010-10-13 Anders Carlsson <andersca@apple.com>
25496 Reviewed by Sam Weinig.
25498 Send over find indicator information to the UI process
25499 https://bugs.webkit.org/show_bug.cgi?id=47612
25501 * UIProcess/WebPageProxy.cpp:
25502 (WebKit::WebPageProxy::setFindIndicator):
25505 * UIProcess/WebPageProxy.messages.in:
25506 Add SetFindIndicator.
25508 * WebProcess/WebPage/FindController.cpp:
25509 (WebKit::FindController::FindController):
25510 Initialize m_isShowingFindIndicator.
25512 (WebKit::FindController::findString):
25513 Update the find indicator if needed.
25515 (WebKit::FindController::updateFindIndicator):
25516 Compute find indicator information, paint the find indicator text into a
25517 backing store and send it over.
25519 (WebKit::FindController::resetFindIndicator):
25520 Send a SetFindIndicator message with a null backing store.
25522 2010-10-13 Anders Carlsson <andersca@apple.com>
25524 Reviewed by Sam Weinig.
25526 Add BackingStoreQt.cpp file with stubbed out BackingStore member functions
25527 https://bugs.webkit.org/show_bug.cgi?id=47614
25529 * Shared/BackingStore.h:
25530 Remove unused include.
25532 * Shared/qt/BackingStoreQt.cpp: Added.
25533 (WebKit::BackingStore::createGraphicsContext):
25534 (WebKit::BackingStore::paint):
25537 Add BackingStore.cpp, BackingStore.h and BackingStoreQt.cpp
25539 2010-10-13 Brent Fulgham <bfulgham@webkit.org>
25541 Unreviewed build fixes after r69538.
25543 * UIProcess/WebBackForwardList.h: Add missing include directive
25544 for CoreFoundation.
25545 * UIProcess/cf/WebBackForwardListCF.cpp: Add missing include
25546 directives for RetainPtr.h and CoreFoundation.
25547 * UIProcess/cf/WebPageProxyCF.cpp: Add missing include directive
25550 2010-10-13 Adam Roben <aroben@apple.com>
25552 Start compiling BackingStore on Windows
25554 Rubber-stamped by Anders Carlsson.
25556 * win/WebKit2.vcproj: Added BackingStore.
25558 2010-10-13 Adam Roben <aroben@apple.com>
25560 Rename BackingStoreMac.mm to BackingStoreCG.cpp
25562 There's nothing Mac-specific about this file.
25564 Rubber-stamped by Anders Carlsson.
25566 * Shared/cg/BackingStoreCG.cpp: Renamed from WebKit2/Shared/mac/BackingStoreMac.mm.
25568 * WebKit2.xcodeproj/project.pbxproj: Updated for rename.
25570 2010-10-13 Anders Carlsson <andersca@apple.com>
25572 Reviewed by Sam Weinig.
25574 Allow all signals to be delivered to the web process
25575 https://bugs.webkit.org/show_bug.cgi?id=47602
25576 <rdar://problem/8546399>
25578 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
25579 (WebKit::ProcessLauncher::launchProcess):
25581 2010-10-12 Adam Roben <aroben@apple.com>
25583 Let WebCore handle scrolling when the spacebar is pressed on Windows
25585 WebCore already has code to do this, and WebKit2 was doing it on
25586 keydown instead of keypress, which caused problems with text fields.
25588 WebCore's spacebar-handling code is currently compiled out on Mac and
25589 Qt, so we continue to handle spacebar in WebKit2 on those platforms.
25591 Fixes <http://webkit.org/b/47544> <rdar://problem/8540645> REGRESSION:
25592 Pressing spacebar in a text field in WebKit2 does not insert a space,
25593 scrolls the page instead
25595 Test: WebKit2/SpacebarScrolling
25597 Reviewed by Sam Weinig.
25599 * WebProcess/WebPage/win/WebPageWin.cpp:
25600 (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
25601 Removed handling for spacebar presses. WebCore already does this for
25602 us, and does it better.
25604 2010-10-12 Jessie Berlin <jberlin@apple.com>
25606 Reviewed by Jon Honeycutt.
25608 Add ability for WK2 to set domain relaxation forbidden for a URL scheme.
25609 https://bugs.webkit.org/show_bug.cgi?id=47562
25611 Add the schemes for which domain relaxation is forbidden to the
25612 WebProcessCreationParameters.
25613 * Shared/WebProcessCreationParameters.cpp:
25614 (WebKit::WebProcessCreationParameters::encode):
25615 (WebKit::WebProcessCreationParameters::decode):
25616 * Shared/WebProcessCreationParameters.h:
25618 * UIProcess/API/C/WKContext.cpp:
25619 (WKContextSetDomainRelaxationForbiddenForURLScheme):
25620 * UIProcess/API/C/WKContextPrivate.h:
25622 * UIProcess/WebContext.cpp:
25623 (WebKit::WebContext::ensureWebProcess):
25624 Copy over the schemes for which domain relaxation is forbidden to
25625 WebProcessCreationParameters.
25626 (WebKit::WebContext::setDomainRelaxationForbiddenForURLScheme):
25627 Only send a message to the WebProcess if it is valid.
25628 * UIProcess/WebContext.h:
25630 * WebProcess/WebProcess.cpp:
25631 (WebKit::WebProcess::initializeWebProcess):
25632 Set domain relaxation forbidden for the schemes in
25633 WebProcesCreationParameters.urlSchemesForWhichDomainRelaxationIsForbidden.
25634 (WebKit::WebProcess::setDomainRelaxationForbiddenForURLScheme):
25635 * WebProcess/WebProcess.h:
25637 * WebProcess/WebProcess.messages.in:
25638 Add the SetDomainRelaxationFobiddenForURLScheme message.
25640 2010-10-13 Csaba Osztrogonác <ossy@webkit.org>
25642 Reviewed by Kenneth Rohde Christiansen.
25644 [Qt] Simplify code generation in WebKit2/DerivedSources.pro
25645 https://bugs.webkit.org/show_bug.cgi?id=47543
25647 * DerivedSources.pro: General generator rules added instead of copy/paste code to converge Makefile.DerivedSources.
25648 * WebKit2.pro: PluginProcess' headers and sources added.
25650 2010-10-13 Andreas Kling <kling@webkit.org>
25652 Reviewed by Kenneth Rohde Christiansen.
25654 [Qt] Use flag instead of magic word to mark memory map free/used
25656 Original patch by Antti Koivisto.
25658 * Shared/qt/MappedMemory.h:
25659 (WebKit::MappedMemory::mapSize):
25660 (WebKit::MappedMemory::markUsed):
25661 (WebKit::MappedMemory::markFree):
25662 (WebKit::MappedMemory::isFree):
25663 (WebKit::MappedMemory::data):
25664 * Shared/qt/MappedMemoryPool.cpp:
25665 (WebKit::MappedMemoryPool::cleanUp):
25666 * Shared/qt/UpdateChunk.cpp:
25667 (WebKit::mapMemory):
25669 (WebKit::UpdateChunk::data):
25670 (WebKit::UpdateChunk::decode):
25672 2010-10-12 Jon Honeycutt <jhoneycutt@apple.com>
25674 Build fix. Unreviewed.
25676 * win/WebKit2Generated.make:
25677 Copy over WKBundleHitTestResult.h.
25679 2010-10-12 Sam Weinig <sam@webkit.org>
25681 Reviewed by Gavin "Sometimes" Barraclough.
25683 Add API to get the target frame from a HitTestResult.
25685 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
25686 (WKBundleHitTestResultGetFrame):
25687 (WKBundleHitTestResultGetTargetFrame):
25688 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
25689 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
25690 (WebKit::InjectedBundleHitTestResult::frame): Rename from webFrame.
25691 (WebKit::InjectedBundleHitTestResult::targetFrame):
25692 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
25694 2010-10-12 Anders Carlsson <andersca@apple.com>
25696 Reviewed by Dan Bernstein.
25698 Paint the find overlay background
25699 https://bugs.webkit.org/show_bug.cgi?id=47565
25701 * WebProcess/WebPage/FindController.cpp:
25702 (WebKit::FindController::findString):
25703 Don't show the overlay if we have too many matches.
25705 * WebProcess/WebPage/FindPageOverlay.cpp:
25706 (WebKit::FindPageOverlay::rectsForTextMatches):
25707 Get the rects for all text matches.
25709 (WebKit::FindPageOverlay::drawRect):
25710 Assert that we're only being called if there are any text matches.
25711 Paint the background.
25713 2010-10-12 Sam Weinig <sam@webkit.org>
25715 Reviewed by Dan Bernstein.
25717 When a provisional load fails, the provisional URL returned
25718 from WKFrameCopyProvisionalURL should be empty
25719 <rdar://problem/8540878>
25720 https://bugs.webkit.org/show_bug.cgi?id=47546
25722 API Tests: FailedLoad (updated).
25724 * UIProcess/WebFrameProxy.cpp:
25725 (WebKit::WebFrameProxy::didFailProvisionalLoad): Empty out the provisional URL.
25727 2010-10-12 Anders Carlsson <andersca@apple.com>
25729 Reviewed by Sam Weinig.
25731 Start fleshing out find page overlays
25732 https://bugs.webkit.org/show_bug.cgi?id=47559
25734 * UIProcess/API/C/WKAPICast.h:
25735 (WebKit::toFindOptions):
25736 Handle the kWKFindOptionsShowFindIndicator flag.
25739 * WebKit2.xcodeproj/project.pbxproj:
25742 * WebProcess/WebPage/FindController.cpp:
25743 (WebKit::FindController::FindController):
25744 Initialize the find page overlay.
25746 (WebKit::FindController::findString):
25747 Hide or show the find page overlay.
25749 (WebKit::FindController::findPageOverlayDestroyed):
25750 Null out the find page overlay.
25752 * WebProcess/WebPage/FindPageOverlay.cpp: Added.
25753 * WebProcess/WebPage/FindPageOverlay.h: Added.
25754 Add stubbed out FindPageOverlay class.
25756 * WebProcess/WebPage/PageOverlay.cpp: Added.
25757 (WebKit::PageOverlay::setPage):
25758 Set the parent web page.
25760 (WebKit::PageOverlay::setNeedsDisplay):
25761 Invalidate the parent web page.
25763 * WebProcess/WebPage/WebPage.cpp:
25764 (WebKit::WebPage::drawRect):
25765 If there's a page overlay, ask it to draw on top of the page contents.
25767 (WebKit::WebPage::installPageOverlay):
25768 Set the page overlay.
25770 (WebKit::WebPage::uninstallPageOverlay):
25771 Clear the page overlay.
25773 * win/WebKit2.vcproj:
25776 2010-10-12 Jessie Berlin <jberlin@apple.com>
25778 Reviewed by Jon Honeycutt.
25780 Add ability for WK2 to register a scheme as secure.
25781 https://bugs.webkit.org/show_bug.cgi?id=47557
25783 Add the schemes that need to be registered as secure to the WebProcessCreationParameters.
25784 * Shared/WebProcessCreationParameters.cpp:
25785 (WebKit::WebProcessCreationParameters::encode):
25786 (WebKit::WebProcessCreationParameters::decode):
25787 * Shared/WebProcessCreationParameters.h:
25789 * UIProcess/API/C/WKContext.cpp:
25790 (WKContextRegisterURLSchemeAsSecure):
25791 * UIProcess/API/C/WKContextPrivate.h:
25793 * UIProcess/WebContext.cpp:
25794 (WebKit::WebContext::ensureWebProcess):
25795 Copy over the schemes that are to be registered as secure to the
25796 WebProcessCreationParameters.
25797 (WebKit::WebContext::registerURLSchemeAsSecure):
25798 Only send a message to the WebProcess if it is valid.
25799 * UIProcess/WebContext.h:
25801 * WebProcess/WebProcess.cpp:
25802 (WebKit::WebProcess::initializeWebProcess):
25803 Register the schemes that need to be registered as secure from the
25804 WebProcessCreationParameters.
25805 (WebKit::WebProcess::registerURLSchemeAsSecure):
25806 * WebProcess/WebProcess.h:
25808 * WebProcess/WebProcess.messages.in:
25809 Add the RegisterURLSchemeAsSecure message.
25811 2010-10-12 John Sullivan <sullivan@apple.com>
25813 Reviewed by Anders Carlsson.
25815 https://bugs.webkit.org/show_bug.cgi?id=47556
25816 WKBundleNodeHandlePrivate.h should be marked private, not project
25818 * WebKit2.xcodeproj/project.pbxproj:
25819 Marked WKBundleNodeHandlePrivate.h as private.
25821 2010-10-12 Anders Carlsson <andersca@apple.com>
25823 Reviewed by Sam Weinig.
25825 Add FindController class
25826 https://bugs.webkit.org/show_bug.cgi?id=47555
25829 * WebKit2.xcodeproj/project.pbxproj:
25832 * WebProcess/WebPage/FindController.cpp: Added.
25833 (WebKit::FindController::FindController):
25834 (WebKit::FindController::findString):
25835 Ask WebCore to find the given string for us.
25837 (WebKit::FindController::hideFindUI):
25840 * WebProcess/WebPage/WebPage.cpp:
25841 (WebKit::WebPage::WebPage):
25842 Initialize the find controller.
25844 (WebKit::WebPage::findString):
25845 (WebKit::WebPage::hideFindUI):
25846 Call the find controller.
25848 * win/WebKit2.vcproj:
25851 2010-10-12 Sam Weinig <sam@webkit.org>
25853 Reviewed by Anders Carlsson.
25855 Need WebKit2 API to get the cell above a table cell
25856 <rdar://problem/8537111>
25857 https://bugs.webkit.org/show_bug.cgi?id=47532
25859 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
25860 (WKBundleNodeHandleCopyHTMLTableCellElementCellAbove):
25861 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
25862 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
25863 (WebKit::InjectedBundleNodeHandle::copyHTMLTableCellElementCellAbove):
25864 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
25866 2010-10-11 Anders Carlsson <andersca@apple.com>
25868 Reviewed by Sam Weinig.
25870 Add BinarySemaphore class to CoreIPC and use it in Connection::waitForSyncReply
25871 https://bugs.webkit.org/show_bug.cgi?id=47526
25873 * Platform/CoreIPC/BinarySemaphore.cpp: Added.
25874 * Platform/CoreIPC/BinarySemaphore.h: Added.
25875 Add BinarySemaphore class.
25877 * Platform/CoreIPC/Connection.cpp:
25878 (CoreIPC::Connection::sendSyncMessage):
25879 (CoreIPC::Connection::waitForSyncReply):
25880 (CoreIPC::Connection::processIncomingMessage):
25881 Use the binary semaphore and the newly added m_pendingSyncRepliesMutex.
25884 * WebKit2.xcodeproj/project.pbxproj:
25885 * win/WebKit2.vcproj:
25888 2010-10-12 Adam Roben <aroben@apple.com>
25890 Bring WebKit2 .vcproj files up-to-date with reality
25892 * win/WebKit2.vcproj:
25893 * win/WebKit2Generated.vcproj:
25894 Added missing files, removed non-existent files.
25896 2010-10-12 Mark Rowe <mrowe@apple.com>
25898 Fix the 32-bit WebKit2 build.
25900 * UIProcess/cf/WebBackForwardListCF.cpp:
25901 (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Change currentIndex to be of
25902 type CFIndex and specify kCFNumberCFIndexType when calling CFNumberGetValue. This avoids a warning
25903 when comparing currentIndex with another variable of type CFIndex later in the function.
25905 2010-10-12 Mark Rowe <mrowe@apple.com>
25907 Fix class vs struct forward declaration issues in WebKit2 observed when using clang.
25909 * Scripts/webkit2/messages.py: Add WebCore::ViewportArguments to the set of structs.
25910 * UIProcess/PageClient.h:
25911 * UIProcess/WebPageProxy.h:
25913 2010-10-12 Juha Savolainen <juha.savolainen@weego.fi>
25915 Reviewed by Antti Koivisto.
25917 [Qt] Adding Qt WebKit2 API for zooming.
25918 https://bugs.webkit.org/show_bug.cgi?id=47539
25920 Adding zoom methods to QWKPage.
25922 * UIProcess/API/qt/qwkpage.cpp:
25923 (QWKPage::textZoomFactor): Added
25924 (QWKPage::setTextZoomFactor): Added
25925 (QWKPage::pageZoomFactor): Added
25926 (QWKPage::setPageZoomFactor): Added
25927 (QWKPage::setPageAndTextZoomFactors): Added
25928 * UIProcess/API/qt/qwkpage.h:
25930 2010-10-11 Brady Eidson <beidson@apple.com>
25932 Reviewed by Darin Adler of the past.
25934 Address some of Darin's review feedback in https://bugs.webkit.org/show_bug.cgi?id=47354
25935 that wasn't left till after my original commit.
25937 * UIProcess/API/C/WKPage.cpp:
25938 (WKPageCopySessionState): Nuke the temporary variable.
25939 * UIProcess/API/C/WKPage.h:
25941 * UIProcess/WebPageProxy.h: Fix up function declarations.
25943 * UIProcess/cf/WebPageProxyCF.cpp:
25944 (WebKit::WebPageProxy::sessionStateData): Use sizeof(UInt32) instead of 4.
25945 (WebKit::WebPageProxy::restoreFromSessionStateData): Ditto.
25947 2010-10-11 Brady Eidson <beidson@apple.com>
25949 Reviewed by BUILD FIX.
25951 Build fix for Windows in https://bugs.webkit.org/show_bug.cgi?id=47354
25953 * UIProcess/cf/WebPageProxyCF.cpp:
25954 (WebKit::WebPageProxy::sessionStateData): Change to use CF APIs that exist on Windows.
25955 (WebKit::WebPageProxy::restoreFromSessionStateData): Ditto.
25957 2010-10-11 Sam Weinig <sam@webkit.org>
25959 Reviewed by Anders Carlsson.
25961 Add WebKit2 equivalents for setValueForUser and setAutofilled
25962 <rdar://problem/8475934>
25963 https://bugs.webkit.org/show_bug.cgi?id=47524
25965 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
25966 (WKBundleNodeHandleSetHTMLInputElementValueForUser):
25967 (WKBundleNodeHandleSetHTMLInputElementAutofilled):
25968 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
25969 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
25970 (WebKit::InjectedBundleNodeHandle::setHTMLInputElementValueForUser):
25971 (WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutofilled):
25972 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
25974 2010-10-11 Brian Weinstein <bweinstein@apple.com>
25976 Windows build fix. Add a needed include.
25978 * UIProcess/cf/WebPageProxyCF.cpp:
25980 2010-10-11 Brian Weinstein <bweinstein@apple.com>
25982 Windows build fix. Wrap calls to CFSTR in parentheses.
25984 * UIProcess/cf/WebBackForwardListCF.cpp:
25985 * UIProcess/cf/WebPageProxyCF.cpp:
25987 2010-10-11 Sam Weinig <sam@webkit.org>
25989 Reviewed by Anders Carlsson.
25991 Add ability to convert from a JSObjectRef back to a WKBundleNodeHandleRef
25992 https://bugs.webkit.org/show_bug.cgi?id=47509
25994 Add SPI to convert a JSObjectRef to a WKBundleNodeHandleRef.
25996 * DerivedSources.pro:
25998 * WebKit2.xcodeproj/project.pbxproj:
25999 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
26000 (WKBundleNodeHandleCreate):
26001 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: Added.
26002 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
26003 (WebKit::InjectedBundleNodeHandle::getOrCreate):
26004 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
26005 * win/WebKit2.vcproj:
26006 * win/WebKit2Generated.make:
26008 2010-10-11 Brady Eidson <beidson@apple.com>
26010 Reviewed by Darin Adler and Sam Weinig.
26012 <rdar://problem/8262202> and https://bugs.webkit.org/show_bug.cgi?id=47354
26013 Need WKPage API for serializing and restoring a page's state
26015 * WebKit2.xcodeproj/project.pbxproj:
26016 * win/WebKit2.vcproj:
26018 * WebKit2Prefix.h: Add DEFINE_STATIC_GETTER convenience.
26020 * UIProcess/API/C/WKPage.cpp:
26021 (WKPageGetSessionHistoryURLValueType):
26022 (WKPageCopySessionState): Change to use a filter function to allow the API client to decide what
26023 types of things get serialized as session state. For now it only filters based on URL in
26024 session history entries.
26025 (WKPageRestoreFromSessionState):
26026 * UIProcess/API/C/WKPage.h:
26028 * UIProcess/WebBackForwardList.h:
26029 (WebKit::WebBackForwardList::restoredCurrentURL):
26031 * UIProcess/WebPageProxy.cpp:
26032 (WebKit::WebPageProxy::sessionStateData): Leave stubs for non-CF platform builds.
26033 (WebKit::WebPageProxy::restoreFromSessionStateData): Ditto.
26034 * UIProcess/WebPageProxy.h:
26036 * UIProcess/cf: Added.
26037 * UIProcess/cf/WebBackForwardListCF.cpp: Added.
26038 (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Store back/forward list info CF property list style.
26039 (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Restore from that data - but for now we don't
26040 actually put the back/forward list back into place and instead only remember the current URL.
26042 * UIProcess/cf/WebPageProxyCF.cpp: Added.
26043 (WebKit::WebPageProxy::sessionStateData): Create the sessions state date CF property list style, plus a version header.
26044 (WebKit::WebPageProxy::restoreFromSessionStateData): Restore from that property list style session state data.
26046 2010-10-11 Adam Roben <aroben@apple.com>
26048 Implement SharedMemory on Windows
26050 This makes visited links be colored correctly.
26052 Fixes <http://webkit.org/b/47499> <rdar://problem/8422725>.
26054 Reviewed by Anders Carlsson.
26056 * Platform/SharedMemory.h: Add Windows-specific members to
26057 SharedMemory and SharedMemory::Handle.
26059 * Platform/win/SharedMemoryWin.cpp:
26060 (WebKit::SharedMemory::Handle::Handle): Initialize our members.
26061 (WebKit::SharedMemory::Handle::~Handle): Close our HANDLE if we have
26063 (WebKit::SharedMemory::Handle::encode): Encode our size, HANDLE, and
26064 PID. Null out our HANDLE member, as it is now the receiving process's
26065 responsibility to close the HANDLE.
26066 (WebKit::SharedMemory::Handle::decode): Copy the handle from the
26067 sending process into the receiving process and close the HANDLE the
26068 sending process gave us.
26069 (WebKit::SharedMemory::create): Map some memory and store it in a new
26070 SharedMemory object.
26071 (WebKit::accessRights): Helper function to convert a
26072 SharedMemory::Protection to a file-mapping access right.
26073 (WebKit::SharedMemory::create): Map the memory represented by the
26074 Handle, and adopt the HANDLE from it.
26075 (WebKit::SharedMemory::~SharedMemory): Clean up our memory mapping.
26076 (WebKit::SharedMemory::createHandle): Give the Handle a copy of our
26077 HANDLE with the specified protection.
26079 2010-10-11 Adam Roben <aroben@apple.com>
26081 Make it possible to restart a RunLoop::Timer on Windows
26083 Fixes <http://webkit.org/b/47505> RunLoop::Timer only ever fires once
26086 Reviewed by Anders Carlsson.
26088 * Platform/win/RunLoopWin.cpp:
26089 (RunLoop::TimerBase::timerFired): Remove non-repeating timers from the
26090 set of active timers when they fire, just like we do when stopping
26093 2010-10-11 Jessie Berlin <jberlin@apple.com>
26095 Reviewed by Darin Adler.
26097 Add Private API for creating a WebKit2 WebSerializedScriptValue from the internal
26098 representation of a WebKit1 WebSerializedJSValue.
26099 https://bugs.webkit.org/show_bug.cgi?id=47439
26101 * Shared/API/c/WKSerializedScriptValue.cpp:
26102 (WKSerializedScriptValueCreateWithInternalRepresentation):
26103 Use the existing WebSerializedScriptValue constructor that takes a pointer to the internal
26104 representation (a WebCore::SerializedScriptValue).
26105 * Shared/API/c/WKSerializedScriptValuePrivate.h:
26107 2010-10-11 Mike Thole <mthole@apple.com>
26109 Reviewed by Darin Adler.
26111 Rename WKCertificateInfoGetPeerCertificates() to WKCertificateInfoGetCertificateChain()
26112 https://bugs.webkit.org/show_bug.cgi?id=47495
26114 * Shared/API/c/mac/WKCertificateInfoMac.h:
26115 Renamed WKCertificateInfoGetPeerCertificates() to WKCertificateInfoGetCertificateChain()
26116 * Shared/API/c/mac/WKCertificateInfoMac.mm:
26117 (WKCertificateInfoGetCertificateChain): Updated for name change.
26118 * Shared/mac/PlatformCertificateInfo.h:
26119 (WebKit::PlatformCertificateInfo::certificateChain): Renamed from peerCertificates()
26120 * Shared/mac/PlatformCertificateInfo.mm:
26121 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): Updated for name change.
26122 (WebKit::PlatformCertificateInfo::encode): Ditto.
26123 (WebKit::PlatformCertificateInfo::decode): Ditto.
26124 (WebKit::PlatformCertificateInfo::dump): Ditto.
26126 2010-10-11 Balazs Kelemen <kbalazs@webkit.org>
26128 Reviewed by Kenneth Rohde Christiansen.
26130 [Qt] Issue a warning when an InjectedBundle can't be loaded.
26131 https://bugs.webkit.org/show_bug.cgi?id=47497
26133 The original author of the patch is Jocelyn Turcotte <jocelyn.turcotte@nokia.com>.
26135 * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
26136 (WebKit::InjectedBundle::load):
26138 2010-10-11 Sam Weinig <sam@webkit.org>
26140 Reviewed by Simon Fraser.
26142 Rename transformToDeviceSpace to convertToDeviceSpace and
26143 transformToUserSpace to convertToUserSpace at Simon's request.
26145 * UIProcess/API/mac/PageClientImpl.h:
26146 * UIProcess/API/mac/PageClientImpl.mm:
26147 (WebKit::PageClientImpl::convertToDeviceSpace):
26148 (WebKit::PageClientImpl::convertToUserSpace):
26149 * UIProcess/API/mac/WKView.mm:
26150 (-[WKView _convertToDeviceSpace:]):
26151 (-[WKView _convertToUserSpace:]):
26152 * UIProcess/API/mac/WKViewInternal.h:
26153 * UIProcess/API/qt/qwkpage.cpp:
26154 (QWKPagePrivate::convertToDeviceSpace):
26155 (QWKPagePrivate::convertToUserSpace):
26156 * UIProcess/API/qt/qwkpage_p.h:
26157 * UIProcess/PageClient.h:
26158 * UIProcess/WebPageProxy.cpp:
26159 (WebKit::WebPageProxy::setWindowFrame):
26160 (WebKit::WebPageProxy::getWindowFrame):
26161 * UIProcess/win/WebView.cpp:
26162 (WebKit::WebView::convertToDeviceSpace):
26163 (WebKit::WebView::convertToUserSpace):
26164 * UIProcess/win/WebView.h:
26166 2010-10-11 Sam Weinig <sam@webkit.org>
26168 Try to fix the Mac release build.
26170 * UIProcess/API/mac/WKView.mm:
26171 (-[WKView _transformToDeviceSpace:]):
26172 (-[WKView _transformToUserSpace:]):
26173 * UIProcess/API/mac/WKViewInternal.h:
26175 2010-10-11 Balazs Kelemen <kbalazs@webkit.org>
26177 Reviewed by Kenneth Rohde Christiansen.
26179 WebProcess ASSERTs with a null application cache dir creation parameter
26180 https://bugs.webkit.org/show_bug.cgi?id=47489
26182 * WebProcess/WebProcess.cpp:
26183 (WebKit::WebProcess::initializeWebProcess):
26185 2010-10-11 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
26187 Reviewed by Andreas Kling.
26189 Unlink the files used for I/O mapped memory as soon as they are
26192 * Shared/qt/UpdateChunk.cpp:
26193 (WebKit::mapMemory):
26196 2010-10-11 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
26198 Rubberstamped by Andreas Kling.
26200 Build fix when using MeeGo Touch
26202 * WebProcess/qt/WebProcessMainQt.cpp:
26204 2010-10-11 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
26206 Reviewed by Andreas Kling.
26208 Use raster for the QtWebProcess.
26210 * WebProcess/qt/WebProcessMainQt.cpp:
26211 (WebKit::WebProcessMainQt):
26213 2010-10-11 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
26215 Unreviewed win build fix.
26217 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
26219 2010-10-08 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
26221 Reviewed by Sam Weinig.
26223 Adding Qt WebKit2 API for dealing with viewport meta info
26224 https://bugs.webkit.org/show_bug.cgi?id=47202
26226 Add new API for setting scale and layout viewport given the data
26227 provided by the viewport meta tag.
26229 Any Qt view components who wants to support this, will need to
26230 compute the viewport attributes before first load using
26231 viewportAttributesForSize(..), and then again everytime
26232 the viewport attributes gets invalidates (loading a new page,
26233 navigating page cache) or every time on of the browser
26234 attributes change, such as when the device is rotates (which
26235 changes the actual visible viewport). A signal
26236 viewportChangeRequested() is provided for the former.
26238 * Shared/WebCoreArgumentCoders.h:
26239 * UIProcess/API/mac/PageClientImpl.h:
26240 * UIProcess/API/mac/PageClientImpl.mm:
26241 (WebKit::PageClientImpl::setViewportArguments):
26242 * UIProcess/API/qt/qwkpage.cpp:
26243 (QWKPagePrivate::setViewportArguments):
26244 (QWKPage::ViewportAttributes::ViewportAttributes):
26245 (QWKPage::ViewportAttributes::~ViewportAttributes):
26246 (QWKPage::ViewportAttributes::operator=):
26247 (QWKPage::viewportAttributesForSize):
26248 * UIProcess/API/qt/qwkpage.h:
26249 * UIProcess/API/qt/qwkpage_p.h:
26250 (QtViewportAttributesPrivate::QtViewportAttributesPrivate):
26251 * UIProcess/PageClient.h:
26252 * UIProcess/WebPageProxy.cpp:
26253 (WebKit::WebPageProxy::didReceiveMessage):
26254 (WebKit::WebPageProxy::didChangeViewportData):
26255 * UIProcess/WebPageProxy.h:
26256 * UIProcess/WebPageProxy.messages.in:
26257 * UIProcess/win/WebView.cpp:
26258 (WebKit::WebView::setViewportArguments):
26259 * UIProcess/win/WebView.h:
26260 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
26261 (WebKit::WebChromeClient::dispatchViewportDataDidChange):
26262 * WebProcess/WebCoreSupport/WebChromeClient.h:
26264 2010-10-11 Csaba Osztrogonác <ossy@webkit.org>
26266 Reviewed by Andreas Kling.
26268 [Qt] WebKit2 build scripts are buggy
26269 https://bugs.webkit.org/show_bug.cgi?id=47377
26271 Generated sources must depends on WebKit2/Scripts/webkit2/messages.py too.
26273 * DerivedSources.pro: Missing dependencies added.
26275 2010-10-09 Sam Weinig <sam@webkit.org>
26277 Reviewed by Dan Bernstein.
26279 WKFrameGetFrameLoadState() returns kWKFrameLoadStateCommitted after the load has been stopped
26280 <rdar://problem/8173667>
26281 https://bugs.webkit.org/show_bug.cgi?id=47461
26283 API Test: WebKit2/FailedLoad
26285 * UIProcess/WebFrameProxy.cpp:
26286 (WebKit::WebFrameProxy::didFailProvisionalLoad):
26287 (WebKit::WebFrameProxy::didFailLoad):
26288 * UIProcess/WebFrameProxy.h:
26289 * UIProcess/WebPageProxy.cpp:
26290 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
26291 (WebKit::WebPageProxy::didFailLoadForFrame):
26292 Set the frame load state to LoadStateFinished for both didFailProvisionalLoadForFrame
26293 and didFailLoadForFrame.
26295 2010-10-09 Sam Weinig <sam@webkit.org>
26297 Reviewed by Dan Bernstein.
26299 Add WebKit2 version of runBeforeUnloadConfirmPanelWithMessage
26300 <rdar://problem/8447690>
26301 https://bugs.webkit.org/show_bug.cgi?id=47459
26303 * UIProcess/API/C/WKPage.h:
26304 * UIProcess/API/qt/qwkpage.cpp:
26305 (QWKPage::QWKPage):
26306 * UIProcess/WebPageProxy.cpp:
26307 (WebKit::WebPageProxy::setWindowFrame):
26308 (WebKit::WebPageProxy::getWindowFrame):
26309 (WebKit::WebPageProxy::canRunBeforeUnloadConfirmPanel):
26310 (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
26311 * UIProcess/WebPageProxy.h:
26312 * UIProcess/WebPageProxy.messages.in:
26313 * UIProcess/WebUIClient.cpp:
26314 (WebKit::WebUIClient::canRunBeforeUnloadConfirmPanel):
26315 (WebKit::WebUIClient::runBeforeUnloadConfirmPanel):
26316 * UIProcess/WebUIClient.h:
26317 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
26318 (WebKit::WebChromeClient::canRunBeforeUnloadConfirmPanel):
26319 (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
26320 Pipe calls through to the UIProcess.
26322 2010-10-09 Sam Weinig <sam@webkit.org>
26324 Reviewed by Dan Bernstein.
26326 Need implementation of ChromeClient windowRect related functions.
26327 <rdar://problem/8469476>
26328 https://bugs.webkit.org/show_bug.cgi?id=47386
26330 * Shared/API/c/WKGeometry.h: Added.
26331 Adds WKPoint, WKSize and WKRect structs.
26333 * Shared/API/c/WKSharedAPICast.h:
26336 Add conversion functions for WKRect.
26338 * Shared/WebCoreArgumentCoders.h:
26339 Add encoding for FloatPoint, FloatSize and FloatRect.
26341 * UIProcess/API/C/WKPage.h:
26342 * UIProcess/API/mac/PageClientImpl.h:
26343 * UIProcess/API/mac/PageClientImpl.mm:
26344 (WebKit::PageClientImpl::transformToDeviceSpace):
26345 (WebKit::PageClientImpl::transformToUserSpace):
26346 * UIProcess/API/mac/WKView.mm:
26347 (-[WKView _transformToDeviceSpace:]):
26348 (-[WKView _transformToUserSpace:]):
26349 * UIProcess/API/mac/WKViewInternal.h:
26350 * UIProcess/API/qt/qwkpage.cpp:
26351 (QWKPagePrivate::transformToDeviceSpace):
26352 (QWKPagePrivate::transformToUserSpace):
26353 (QWKPage::QWKPage):
26354 * UIProcess/API/qt/qwkpage_p.h:
26355 * UIProcess/PageClient.h:
26356 * UIProcess/WebPageProxy.cpp:
26357 (WebKit::WebPageProxy::setWindowFrame):
26358 (WebKit::WebPageProxy::getWindowFrame):
26359 * UIProcess/WebPageProxy.h:
26360 * UIProcess/WebPageProxy.messages.in:
26361 * UIProcess/WebUIClient.cpp:
26362 (WebKit::WebUIClient::setWindowFrame):
26363 (WebKit::WebUIClient::windowFrame):
26364 * UIProcess/WebUIClient.h:
26365 * UIProcess/win/WebView.cpp:
26366 (WebKit::WebView::setEditCommandState):
26367 (WebKit::WebView::transformToDeviceSpace):
26368 (WebKit::WebView::transformToUserSpace):
26369 * UIProcess/win/WebView.h:
26370 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
26371 (WebKit::WebChromeClient::setWindowFrame):
26372 (WebKit::WebChromeClient::windowFrame):
26373 Pipe calls through to the UIProcess, and give ports a chance to transform
26374 the rect (via the PageClient) before it is passed on.
26377 * WebKit2.xcodeproj/project.pbxproj:
26378 * win/WebKit2.vcproj:
26379 * win/WebKit2Generated.make:
26382 2010-10-07 Jessie Berlin <jberlin@apple.com>
26384 Reviewed by Sam Weinig.
26386 Add Private API for creating a WebKit1 WebSerializedJSValue from the internal
26387 representation of a WebKit2 WebSerializedScriptValue.
26388 https://bugs.webkit.org/show_bug.cgi?id=47390
26390 * Shared/API/c/WKSerializedScriptValue.cpp:
26391 (WKSerializedScriptValueGetInternalRepresentation):
26392 * Shared/API/c/WKSerializedScriptValuePrivate.h: Added.
26394 * Shared/WebSerializedScriptValue.h:
26395 (WebKit::WebSerializedScriptValue::internalRepresentation):
26396 Return the WebCore::SerializedScriptValue as a void* so that it can be passed through the
26399 * WebKit2.xcodeproj/project.pbxproj:
26400 Add WKSerializedScriptValuePrivate.h.
26401 * win/WebKit2.vcproj:
26402 Ditto, also some sorting.
26404 * win/WebKit2Generated.make:
26405 Copy over WKSerializedScriptValuePrivate.h.
26407 2010-10-08 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
26409 Reviewed by Andreas Kling.
26411 [Qt] Fix WKStringQt.h and WKURLQt.h API problems.
26412 https://bugs.webkit.org/show_bug.cgi?id=47412
26414 * UIProcess/API/cpp/qt/WKStringQt.h:
26415 Remove the extern "C"
26416 * UIProcess/API/cpp/qt/WKURLQt.h:
26417 Remove the extern "C"
26418 * UIProcess/API/qt/qgraphicswkview.h:
26419 Fix the forwarded declaration
26421 2010-10-08 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
26423 Reviewed by Kenneth Rohde Christiansen.
26425 [Qt] Don't use -whole-archive to link-in libWebKit2.a except for libQtWebKit.so
26426 https://bugs.webkit.org/show_bug.cgi?id=47347
26430 2010-10-08 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
26432 Reviewed by Andreas Kling.
26434 Notify WebPage when QGraphicsWKView gains focus. Set both
26435 active flag and focused flag, similar to QWebPage behavior.
26437 [Qt] WebKit2 should support focusing
26438 https://bugs.webkit.org/show_bug.cgi?id=47168
26440 * UIProcess/API/qt/qgraphicswkview.cpp:
26441 (QGraphicsWKView::focusInEvent): Added.
26442 (QGraphicsWKView::focusOutEvent): Added.
26443 * UIProcess/API/qt/qgraphicswkview.h: Added declarations.
26445 2010-10-07 Ivan Krstić <ike@apple.com>
26447 Reviewed by Mark Rowe.
26449 <rdar://problem/8349882> Many WebProcess sandbox violations during basic browsing operations.
26451 * WebProcess/com.apple.WebProcess.sb:
26452 * WebProcess/mac/WebProcessMainMac.mm:
26453 (WebKit::WebProcessMain):
26455 2010-10-07 Brady Eidson <beidson@apple.com>
26459 GCC continued to mask the fact that I still hadn't declared the correct symbol.
26461 * Platform/Logging.cpp:
26462 (initializeLogChannel):
26463 * Platform/Logging.h:
26465 2010-10-07 Brian Weinstein <bweinstein@apple.com>
26467 Build Fix. Fix the vcproj to make it valid and openable by Visual Studio.
26469 * win/WebKit2.vcproj:
26471 2010-10-07 Anders Carlsson <andersca@apple.com>
26473 Reviewed by Sam Weinig.
26475 Add a WKPageFindClient, hook up WKPageCountStringMatches
26476 https://bugs.webkit.org/show_bug.cgi?id=47373
26478 * Shared/APIClient.h: Added.
26479 Add an APIClient class template which can be used to reduce duplicated
26480 code in the client wrappers.
26482 * UIProcess/API/C/WKPage.cpp:
26483 (WKPageSetPageFindClient):
26484 Initialize the page find client.
26486 * UIProcess/API/C/WKPage.h:
26487 * UIProcess/WebFindClient.cpp: Added.
26488 (WebKit::WebFindClient::didCountStringMatches):
26489 Call the WKPageFindClient function.
26491 * UIProcess/WebFindClient.h: Added.
26492 * UIProcess/WebPageProxy.cpp:
26493 (WebKit::WebPageProxy::initializeFindClient):
26494 Initialize the WebFindClient.
26496 (WebKit::WebPageProxy::findString):
26497 Send a FindString message.
26499 (WebKit::WebPageProxy::hideFindUI):
26500 Send a HideFindUI message.
26502 (WebKit::WebPageProxy::countStringMatches):
26503 Send a CountStringMatches message.
26505 (WebKit::WebPageProxy::didCountStringMatches):
26506 Call the find client.
26508 * UIProcess/WebPageProxy.messages.in:
26512 * WebKit2.xcodeproj/project.pbxproj:
26515 * WebProcess/WebPage/WebPage.cpp:
26516 (WebKit::WebPage::findString):
26517 (WebKit::WebPage::hideFindUI):
26520 (WebKit::WebPage::countStringMatches):
26521 Figure out the number of matches and send them back in the DidCountStringMatches msessage.
26523 * WebProcess/WebPage/WebPage.h:
26524 * WebProcess/WebPage/WebPage.messages.in:
26527 * win/WebKit2.vcproj:
26530 2010-10-07 Sam Weinig <sam@webkit.org>
26532 Update unit tests results.
26534 * Scripts/webkit2/messages_unittest.py:
26536 2010-10-07 Brady Eidson <beidson@apple.com>
26538 Reviewed by BUILD FIX for non-gcc builds.
26540 * Platform/Logging.cpp:
26541 (initializeLogChannel): GCC optimized out the only caller of this function. Windows doesn't, and is breaking.
26543 2010-10-07 Darin Adler <darin@apple.com>
26545 Fix include mistake that makes build fail with non-Objective-C.
26547 * Shared/API/c/mac/WKCertificateInfoMac.h: Include CoreFoundation.h,
26550 2010-10-07 Sam Weinig <sam@webkit.org>
26552 Reviewed by Anders Carlsson.
26554 Generate the messages sent to the WebPageProxy
26555 https://bugs.webkit.org/show_bug.cgi?id=47239
26557 * DerivedSources.make:
26558 * DerivedSources.pro:
26559 * Platform/CoreIPC/Arguments.h:
26560 * Platform/CoreIPC/HandleMessage.h:
26561 (CoreIPC::handleMessage):
26562 * Scripts/webkit2/messages.py:
26563 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Removed.
26564 * Shared/StringPairVector.h: Added.
26565 * UIProcess/API/mac/PageClientImpl.h:
26566 * UIProcess/API/mac/PageClientImpl.mm:
26567 (WebKit::PageClientImpl::registerEditCommand):
26568 * UIProcess/API/qt/qwkpage.cpp:
26569 (QWKPagePrivate::registerEditCommand):
26570 * UIProcess/API/qt/qwkpage_p.h:
26571 * UIProcess/PageClient.h:
26572 * UIProcess/WebEditCommandProxy.cpp:
26573 (WebKit::WebEditCommandProxy::unapply):
26574 (WebKit::WebEditCommandProxy::reapply):
26575 * UIProcess/WebFormClient.cpp:
26576 (WebKit::WebFormClient::willSubmitForm):
26577 * UIProcess/WebFormClient.h:
26578 * UIProcess/WebPageProxy.cpp:
26579 * UIProcess/WebPageProxy.h:
26580 * UIProcess/WebPageProxy.messages.in: Added.
26581 * UIProcess/win/WebView.cpp:
26582 (WebKit::WebView::registerEditCommand):
26583 * UIProcess/win/WebView.h:
26585 * WebKit2.xcodeproj/project.pbxproj:
26586 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
26587 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
26588 (WebKit::WebEditorClient::registerCommandForUndo):
26589 (WebKit::WebEditorClient::clearUndoRedoOperations):
26590 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
26591 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
26592 * WebProcess/WebPage/WebPage.cpp:
26593 * win/WebKit2.vcproj:
26595 2010-10-07 Brady Eidson <beidson@apple.com>
26597 Reviewed by BUILD FIX.
26599 Forgot this to keep the build working.
26603 2010-10-07 Anders Carlsson <andersca@apple.com>
26605 Reviewed by John Sullivan.
26607 Start stubbing out the find API
26608 https://bugs.webkit.org/show_bug.cgi?id=47366
26609 <rdar://problem/8524998>
26611 * Shared/FindOptions.h: Added.
26612 * UIProcess/API/C/WKAPICast.h:
26613 (WebKit::toFindDirection):
26614 (WebKit::toFindOptions):
26615 * UIProcess/API/C/WKPage.cpp:
26616 (WKPageFindString):
26617 (WKPageHideFindUI):
26618 (WKPageCountStringMatches):
26619 * UIProcess/API/C/WKPage.h:
26620 * UIProcess/WebPageProxy.cpp:
26621 (WebKit::WebPageProxy::findString):
26622 (WebKit::WebPageProxy::hideFindUI):
26623 (WebKit::WebPageProxy::countStringMatches):
26624 * UIProcess/WebPageProxy.h:
26626 2010-10-07 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>, Andras Becsi <abecsi@webkit.org>, Balazs Kelemen <kbalazs@webkit.org>
26628 Reviewed by Kenneth Rohde Christiansen.
26630 [Qt] Add WTR's InjectedBundle build files.
26631 https://bugs.webkit.org/show_bug.cgi?id=47333
26635 2010-10-07 Brady Eidson <beidson@apple.com>
26637 Reviewed by Sam Weinig.
26639 Part of https://bugs.webkit.org/show_bug.cgi?id=47354 - Add WebCore/WebKit1 style logging channel mechanism0 to WebKit2,
26640 including the first channel to be used for SessionState work.
26642 * Platform/Logging.cpp: Added.
26643 (initializeLogChannelsIfNecessary):
26644 * Platform/Logging.h: Added.
26647 * WebKit2.xcodeproj/project.pbxproj:
26648 * win/WebKit2.vcproj:
26650 2010-10-07 Sheriff Bot <webkit.review.bot@gmail.com>
26652 Unreviewed, rolling out r69315.
26653 http://trac.webkit.org/changeset/69315
26654 https://bugs.webkit.org/show_bug.cgi?id=47363
26656 Forgot to add the new files (Requested by kbalazs on #webkit).
26660 2010-10-07 Luiz Agostini <luiz.agostini@openbossa.org>
26662 Reviewed by Kenneth Rohde Christiansen.
26664 Fixing viewport meta tag user-scalable handling
26665 https://bugs.webkit.org/show_bug.cgi?id=47330
26667 user-scalable attribute was not considered in viewport meta tag handling.
26669 * UIProcess/API/qt/qwkpage.cpp:
26670 (QWKPage::viewportConfigurationForSize):
26672 2010-10-07 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>, Andras Becsi <abecsi@webkit.org>, Balazs Kelemen <kbalazs@webkit.org>
26674 Reviewed by Kenneth Rohde Christiansen.
26676 [Qt] Add WTR's InjectedBundle build files.
26677 https://bugs.webkit.org/show_bug.cgi?id=47333
26681 2010-10-07 Luiz Agostini <luiz.agostini@openbossa.org>
26683 Reviewed by Kenneth Rohde Christiansen.
26685 Some viewport meta tag api refactoring
26686 https://bugs.webkit.org/show_bug.cgi?id=47334
26688 WebCore::findConfigurationForViewportData renamed to computeViewportAttributes.
26689 WebCore::ViewportAttributes::layoutViewport renamed to layoutSize.
26691 * UIProcess/API/qt/qwkpage.cpp:
26692 (QWKPage::viewportConfigurationForSize):
26694 2010-10-06 Jessie Berlin <jberlin@apple.com>
26696 Reviewed by John Sullivan.
26698 Bundle should expose a reportException method.
26699 https://bugs.webkit.org/show_bug.cgi?id=46769
26701 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
26702 (WKBundleReportException):
26703 * WebProcess/InjectedBundle/API/c/WKBundle.h:
26705 * WebProcess/InjectedBundle/InjectedBundle.cpp:
26706 (WebKit::InjectedBundle::reportException):
26707 Mimic the behavior of WebView::reportException.
26708 * WebProcess/InjectedBundle/InjectedBundle.h:
26710 2010-10-07 Luiz Agostini <luiz.agostini@openbossa.org>
26712 Reviewed by Adam Roben.
26714 [Qt] Webkit2 MacOS build fix
26715 https://bugs.webkit.org/show_bug.cgi?id=47167
26717 There were two problems when building Qt WebKit2 in Mac. The first was that
26718 ld does not support flag -whole-archive and it needed to be replaced by flag -all_load.
26719 The second problem was that __APPLE__ is been used to identify safari builds and, when
26720 building Qt in MacOS, Qt was ending up using the wrong typedef. The solution was to use
26721 a Qt specific WKNativeEvent.h that only has the proper Qt typedef instead of the original one.
26723 * UIProcess/API/C/qt/WKNativeEvent.h: Added.
26727 2010-10-07 Balazs Kelemen <kbalazs@webkit.org>
26729 Reviewed by Kenneth Rohde Christiansen.
26731 WebKitTestRunner should be portable
26732 https://bugs.webkit.org/show_bug.cgi?id=45393
26734 Introducing additional URL API.
26735 * Shared/API/c/WKURL.cpp:
26736 (WKURLCreateWithUTF8CString):
26738 * Shared/API/c/WKURL.h:
26740 2010-10-06 Balazs Kelemen <kbalazs@webkit.org>
26742 Reviewed by Kenneth Rohde Christiansen.
26744 [Qt] Add WebKitTestRunner's build files
26745 https://bugs.webkit.org/show_bug.cgi?id=44155
26747 * DerivedSources.pro: Changes according the new location
26748 of generate-forwarding-headers.pl.
26749 * UIProcess/API/C/WebKit2.h: Do not check the value of the
26750 __APPLE__ define if it is not defined.
26751 * WebKit2.pro: Changes according the new location
26752 of generate-forwarding-headers.pl. Added missing files
26753 to the build that provides API that is used by WTR.
26754 * generate-forwarding-headers.pl: Moved to WebKitTools/Scripts
26755 since from now this is not only used by WebKit2.
26757 2010-10-06 Anders Carlsson <andersca@apple.com>
26759 Reviewed by Sam Weinig.
26761 Separate actually calling the member function from decoding/encoding arguments
26762 and remove any ambiguities when calling the function.
26764 * Platform/CoreIPC/Arguments.h:
26765 * Platform/CoreIPC/HandleMessage.h:
26766 (CoreIPC::callMemberFunction):
26767 (CoreIPC::handleMessage):
26769 2010-10-06 Anders Carlsson <andersca@apple.com>
26771 Reviewed by Sam Weinig.
26773 More Arguments.h cleanup.
26775 * Platform/CoreIPC/Arguments.h:
26776 * Platform/CoreIPC/HandleMessage.h:
26777 Remove unnecessary typedefs, simplify.
26779 * Scripts/webkit2/messages.py:
26780 * UIProcess/WebContext.h:
26783 2010-10-06 Anders Carlsson <andersca@apple.com>
26785 Reviewed by Sam Weinig.
26787 Start cleaning up Arguments.h
26788 https://bugs.webkit.org/show_bug.cgi?id=47304
26790 This is a first step towards simplifying all the handleMessage overloads we have.
26792 * Platform/CoreIPC/Arguments.h:
26793 (CoreIPC::Arguments1):
26794 Make Arguments1 a struct and get rid of the FirstArgumentType typedef. Instead, add a
26795 ValueType typedef which is defined to an Arguments1 type whose type parameter is not
26798 * Platform/CoreIPC/HandleMessage.h:
26799 (CoreIPC::handleMessage):
26800 Update for the Arguments1 change. Rename "arguments" to "argumentDecoder" and "reply" to
26803 2010-10-06 Andras Becsi <abecsi@webkit.org>
26805 Reviewed by Kenneth Rohde Christiansen.
26807 [Qt] Fix the build after API changes introduced in r69214.
26809 * UIProcess/API/cpp/qt/WKStringQt.cpp:
26810 (WKStringCreateWithQString):
26811 * UIProcess/API/cpp/qt/WKURLQt.cpp:
26812 (WKURLCreateWithQUrl):
26814 2010-10-06 Sheriff Bot <webkit.review.bot@gmail.com>
26816 Unreviewed, rolling out r69210.
26817 http://trac.webkit.org/changeset/69210
26818 https://bugs.webkit.org/show_bug.cgi?id=47297
26820 This patch broke Windows (Requested by andersca on #webkit).
26822 * DerivedSources.make:
26823 * DerivedSources.pro:
26824 * Platform/CoreIPC/Arguments.h:
26825 * Platform/CoreIPC/HandleMessage.h:
26826 (CoreIPC::handleMessage):
26827 * Scripts/webkit2/messages.py:
26828 * Scripts/webkit2/messages_unittest.py:
26829 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Added.
26830 * Shared/StringPairVector.h: Removed.
26831 * UIProcess/API/mac/PageClientImpl.h:
26832 * UIProcess/API/mac/PageClientImpl.mm:
26833 (WebKit::PageClientImpl::registerEditCommand):
26834 * UIProcess/API/qt/qwkpage.cpp:
26835 (QWKPagePrivate::registerEditCommand):
26836 * UIProcess/API/qt/qwkpage_p.h:
26837 * UIProcess/PageClient.h:
26838 * UIProcess/WebEditCommandProxy.cpp:
26839 (WebKit::WebEditCommandProxy::unapply):
26840 (WebKit::WebEditCommandProxy::reapply):
26841 * UIProcess/WebFormClient.cpp:
26842 (WebKit::WebFormClient::willSubmitForm):
26843 * UIProcess/WebFormClient.h:
26844 * UIProcess/WebPageProxy.cpp:
26845 (WebKit::WebPageProxy::didReceiveMessage):
26846 (WebKit::WebPageProxy::didReceiveSyncMessage):
26847 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
26848 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
26849 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
26850 (WebKit::WebPageProxy::didCommitLoadForFrame):
26851 (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
26852 (WebKit::WebPageProxy::didFinishLoadForFrame):
26853 (WebKit::WebPageProxy::didFailLoadForFrame):
26854 (WebKit::WebPageProxy::didReceiveTitleForFrame):
26855 (WebKit::WebPageProxy::didFirstLayoutForFrame):
26856 (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
26857 (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
26858 (WebKit::WebPageProxy::decidePolicyForNavigationAction):
26859 (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
26860 (WebKit::WebPageProxy::decidePolicyForMIMEType):
26861 (WebKit::WebPageProxy::willSubmitForm):
26862 (WebKit::WebPageProxy::createNewPage):
26863 (WebKit::WebPageProxy::runJavaScriptAlert):
26864 (WebKit::WebPageProxy::runJavaScriptConfirm):
26865 (WebKit::WebPageProxy::runJavaScriptPrompt):
26866 (WebKit::WebPageProxy::mouseDidMoveOverElement):
26867 (WebKit::WebPageProxy::contentsSizeChanged):
26868 (WebKit::WebPageProxy::addItemToBackForwardList):
26869 (WebKit::WebPageProxy::goToItemInBackForwardList):
26870 (WebKit::WebPageProxy::registerEditCommandForUndo):
26871 (WebKit::WebPageProxy::registerEditCommandForRedo):
26872 (WebKit::WebPageProxy::didReceiveEvent):
26873 (WebKit::WebPageProxy::didChangeAcceleratedCompositing):
26874 * UIProcess/WebPageProxy.h:
26875 * UIProcess/WebPageProxy.messages.in: Removed.
26876 * UIProcess/win/WebView.cpp:
26877 (WebKit::WebView::registerEditCommand):
26878 * UIProcess/win/WebView.h:
26880 * WebKit2.xcodeproj/project.pbxproj:
26881 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
26882 (WebKit::WebChromeClient::setWindowRect):
26883 (WebKit::WebChromeClient::takeFocus):
26884 (WebKit::WebChromeClient::createWindow):
26885 (WebKit::WebChromeClient::runJavaScriptAlert):
26886 (WebKit::WebChromeClient::runJavaScriptConfirm):
26887 (WebKit::WebChromeClient::runJavaScriptPrompt):
26888 (WebKit::WebChromeClient::setStatusbarText):
26889 (WebKit::WebChromeClient::contentsSizeChanged):
26890 (WebKit::WebChromeClient::mouseDidMoveOverElement):
26891 (WebKit::WebChromeClient::setToolTip):
26892 (WebKit::WebChromeClient::setCursor):
26893 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
26894 (WebKit::WebEditorClient::registerCommandForUndo):
26895 (WebKit::WebEditorClient::clearUndoRedoOperations):
26896 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
26897 (WebKit::WebFrameLoaderClient::detachedFromParent2):
26898 (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
26899 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
26900 (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
26901 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
26902 (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
26903 (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
26904 (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
26905 (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
26906 (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
26907 (WebKit::WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
26908 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
26909 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
26910 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
26911 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
26912 (WebKit::WebFrameLoaderClient::postProgressStartedNotification):
26913 (WebKit::WebFrameLoaderClient::postProgressEstimateChangedNotification):
26914 (WebKit::WebFrameLoaderClient::postProgressFinishedNotification):
26915 (WebKit::WebFrameLoaderClient::createFrame):
26916 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
26917 (WebKit::WebBackForwardListProxy::addItem):
26918 (WebKit::WebBackForwardListProxy::goToItem):
26919 (WebKit::WebBackForwardListProxy::backItem):
26920 (WebKit::WebBackForwardListProxy::currentItem):
26921 (WebKit::WebBackForwardListProxy::forwardItem):
26922 (WebKit::WebBackForwardListProxy::itemAtIndex):
26923 (WebKit::WebBackForwardListProxy::backListCount):
26924 (WebKit::WebBackForwardListProxy::forwardListCount):
26925 * WebProcess/WebPage/WebPage.cpp:
26926 (WebKit::WebPage::WebPage):
26927 (WebKit::WebPage::changeAcceleratedCompositingMode):
26928 (WebKit::WebPage::enterAcceleratedCompositingMode):
26929 (WebKit::WebPage::sendClose):
26930 (WebKit::WebPage::mouseEvent):
26931 (WebKit::WebPage::wheelEvent):
26932 (WebKit::WebPage::keyEvent):
26933 (WebKit::WebPage::validateMenuItem):
26934 (WebKit::WebPage::touchEvent):
26935 (WebKit::WebPage::show):
26936 (WebKit::WebPage::runJavaScriptInMainFrame):
26937 (WebKit::WebPage::getRenderTreeExternalRepresentation):
26938 (WebKit::WebPage::getSourceForFrame):
26939 * win/WebKit2.vcproj:
26941 2010-10-06 Jessie Berlin <jberlin@apple.com>
26943 Rubber-stamped by Dan Bernstein.
26945 WKSerializedScriptValue.h needs to be copied over into the WEBKITOUTPUTDIR on Windows.
26946 https://bugs.webkit.org/show_bug.cgi?id=47287
26948 * win/WebKit2Generated.make:
26949 Copy WKSerializedScriptValue.h into $(WEBKITOUTPUTDIR)\include\WebKit2.
26951 2010-10-06 Anders Carlsson <andersca@apple.com>
26953 Reviewed by Sam Weinig.
26955 Rename toRef/toWK to toAPI/toImpl
26956 https://bugs.webkit.org/show_bug.cgi?id=47281
26958 * Shared/API/c/WKArray.cpp:
26959 * Shared/API/c/WKCertificateInfo.cpp:
26960 * Shared/API/c/WKData.cpp:
26961 * Shared/API/c/WKDictionary.cpp:
26962 * Shared/API/c/WKError.cpp:
26963 * Shared/API/c/WKMutableArray.cpp:
26964 * Shared/API/c/WKMutableDictionary.cpp:
26965 * Shared/API/c/WKNumber.cpp:
26966 * Shared/API/c/WKSerializedScriptValue.cpp:
26967 * Shared/API/c/WKSharedAPICast.h:
26968 * Shared/API/c/WKString.cpp:
26969 * Shared/API/c/WKType.cpp:
26970 * Shared/API/c/WKURL.cpp:
26971 * Shared/API/c/WKURLRequest.cpp:
26972 * Shared/API/c/WKURLResponse.cpp:
26973 * Shared/API/c/cf/WKStringCF.cpp:
26974 * Shared/API/c/cf/WKURLCF.cpp:
26975 * Shared/API/c/cf/WKURLRequestCF.cpp:
26976 * Shared/API/c/cf/WKURLResponseCF.cpp:
26977 * Shared/API/c/mac/WKCertificateInfoMac.mm:
26978 * Shared/API/c/mac/WKURLRequestNS.mm:
26979 * Shared/API/c/mac/WKURLResponseNS.mm:
26980 * Shared/API/c/win/WKCertificateInfoWin.cpp:
26981 * UIProcess/API/C/WKAPICast.h:
26982 * UIProcess/API/C/WKBackForwardList.cpp:
26983 * UIProcess/API/C/WKBackForwardListItem.cpp:
26984 * UIProcess/API/C/WKContext.cpp:
26985 * UIProcess/API/C/WKFormSubmissionListener.cpp:
26986 * UIProcess/API/C/WKFrame.cpp:
26987 * UIProcess/API/C/WKFramePolicyListener.cpp:
26988 * UIProcess/API/C/WKNavigationData.cpp:
26989 * UIProcess/API/C/WKPage.cpp:
26990 * UIProcess/API/C/WKPageNamespace.cpp:
26991 * UIProcess/API/C/WKPreferences.cpp:
26992 * UIProcess/API/C/WKPreferencesPrivate.cpp:
26993 * UIProcess/API/C/win/WKContextWin.cpp:
26994 * UIProcess/API/C/win/WKView.cpp:
26995 * UIProcess/API/cpp/qt/WKStringQt.cpp:
26996 * UIProcess/API/cpp/qt/WKURLQt.cpp:
26997 * UIProcess/API/mac/PageClientImpl.mm:
26998 * UIProcess/API/mac/WKView.mm:
26999 * UIProcess/API/qt/ClientImpl.cpp:
27000 * UIProcess/API/qt/qwkpage.cpp:
27001 * UIProcess/GenericCallback.h:
27002 * UIProcess/WebContextInjectedBundleClient.cpp:
27003 * UIProcess/WebFormClient.cpp:
27004 * UIProcess/WebHistoryClient.cpp:
27005 * UIProcess/WebLoaderClient.cpp:
27006 * UIProcess/WebPolicyClient.cpp:
27007 * UIProcess/WebUIClient.cpp:
27008 * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
27009 * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
27010 * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
27011 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
27012 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
27013 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
27014 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
27015 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
27016 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
27017 * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
27018 * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
27019 * WebProcess/InjectedBundle/InjectedBundle.cpp:
27020 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
27021 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
27022 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
27023 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
27024 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
27025 * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
27026 * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
27028 2010-10-06 Luiz Agostini <luiz.agostini@openbossa.org>
27030 Reviewed by Kenneth Rohde Christiansen.
27032 Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes
27033 https://bugs.webkit.org/show_bug.cgi?id=47268
27035 Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes
27037 * UIProcess/API/qt/qwkpage.cpp:
27038 (QWKPage::viewportConfigurationForSize):
27040 2010-10-06 Sam Weinig <sam@webkit.org>
27042 Reviewed by Adam Roben.
27044 Generate the messages sent to the WebPageProxy
27045 https://bugs.webkit.org/show_bug.cgi?id=47239
27047 * Platform/CoreIPC/Arguments.h:
27048 Add additional typedefs.
27050 * Platform/CoreIPC/HandleMessage.h:
27051 (CoreIPC::handleMessage):
27052 Add more handleMessage implementations.
27054 * Scripts/webkit2/messages.py:
27055 * Scripts/webkit2/messages_unittest.py:
27056 Add headers for reply argument types.
27058 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Removed.
27060 * Shared/StringPairVector.h: Added.
27061 This file is a hack to work around a deficiency in the generator
27062 which can't deal with class templates with more than one argument.
27064 * UIProcess/API/mac/PageClientImpl.h:
27065 * UIProcess/API/mac/PageClientImpl.mm:
27066 * UIProcess/API/qt/qwkpage.cpp:
27067 * UIProcess/API/qt/qwkpage_p.h:
27068 * UIProcess/PageClient.h:
27069 * UIProcess/WebEditCommandProxy.cpp:
27070 * UIProcess/WebFormClient.cpp:
27071 * UIProcess/WebFormClient.h:
27072 * UIProcess/WebPageProxy.cpp:
27073 * UIProcess/WebPageProxy.h:
27074 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
27075 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
27076 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
27077 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
27078 * WebProcess/WebPage/WebPage.cpp:
27079 Migrate to generated calls.
27081 * UIProcess/WebPageProxy.messages.in: Added.
27082 New messages definitions file.
27084 * DerivedSources.make:
27085 * DerivedSources.pro:
27086 * win/WebKit2.vcproj:
27088 * WebKit2.xcodeproj/project.pbxproj:
27091 2010-10-05 Anders Carlsson <andersca@apple.com>
27093 Reviewed by Sam Weinig.
27095 Send null events and mouse events
27096 https://bugs.webkit.org/show_bug.cgi?id=47223
27098 * WebKit2.xcodeproj/project.pbxproj:
27099 Add "-Wno-deprecated-declarations" to the COMPILER_FLAGS for NetscapePluginMac.mm since
27100 we call Button() which is deprecated.
27102 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
27103 (WebKit::NetscapePlugin::NetscapePlugin):
27104 Initialize the null event timer.
27106 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
27107 (WebKit::NetscapePlugin::platformPostInitialize):
27108 Start the null event timer.
27110 (WebKit::NetscapePlugin::platformDestroy):
27111 Stop the null event timer.
27113 (WebKit::NetscapePlugin::platformHandleMouseEvent):
27114 Initialize the event record and call NPP_HandleEvent.
27116 (WebKit::NetscapePlugin::nullEventTimerFired):
27117 Send a null event with the current mouse position.
27119 2010-10-05 Anders Carlsson <andersca@apple.com>
27121 Reviewed by Sam Weinig.
27123 Start sending Carbon plug-in events in th Carbon event model
27124 https://bugs.webkit.org/show_bug.cgi?id=47209
27125 <rdar://problem/8515677>
27127 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
27128 (WebKit::NetscapePlugin::NetscapePlugin):
27129 Initialize the NP_CGContext struct.
27131 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
27132 (WebKit::NetscapePlugin::platformPostInitialize):
27133 Create a fake Carbon window.
27135 (WebKit::NetscapePlugin::platformDestroy):
27136 Destroy the Carbon window.
27138 (WebKit::modifiersForEvent):
27139 Given a WebEvent, return the EventRecord modifiers.
27141 (WebKit::NetscapePlugin::platformPaint):
27142 (WebKit::NetscapePlugin::platformHandleMouseEvent):
27143 (WebKit::NetscapePlugin::platformHandleWheelEvent):
27144 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
27145 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
27146 (WebKit::NetscapePlugin::platformSetFocus):
27147 (WebKit::NetscapePlugin::windowFocusChanged):
27148 Create Carbon EventRecords and call NPP_HandleEvent.
27150 2010-10-05 Sam Weinig <sam@webkit.org>
27152 Reviewed by Mark Rowe.
27154 Add MIMEType accessor to WKFrame
27155 <rdar://problem/8347683>
27156 https://bugs.webkit.org/show_bug.cgi?id=47138
27158 Tests: WebKit2/FrameMIMETypePNG
27159 WebKit2/FrameMIMETypeHTML
27161 * UIProcess/API/C/WKFrame.cpp:
27162 (WKFrameCopyMIMEType):
27163 * UIProcess/API/C/WKFrame.h:
27164 * UIProcess/WebFrameProxy.h:
27165 (WebKit::WebFrameProxy::setMIMEType):
27166 (WebKit::WebFrameProxy::mimeType):
27167 * UIProcess/WebPageProxy.cpp:
27168 (WebKit::WebPageProxy::didReceiveMessage):
27169 (WebKit::WebPageProxy::didCommitLoadForFrame):
27170 * UIProcess/WebPageProxy.h:
27171 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
27172 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
27174 2010-10-05 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
27176 Reviewed by Kenneth Rohde Christiansen.
27178 Implement API call for setting custom user agent
27179 (QWKPage::setCustomUserAgent)
27181 [Qt] Ability to set custom userAgent for WebKit2/WebKit
27182 https://bugs.webkit.org/show_bug.cgi?id=44265
27184 * UIProcess/API/qt/qwkpage.cpp:
27185 (QWKPage::setCustomUserAgent): Added.
27186 * UIProcess/API/qt/qwkpage.h: Add setCustomUserAgent.
27188 2010-10-05 Sheriff Bot <webkit.review.bot@gmail.com>
27190 Unreviewed, rolling out r69103.
27191 http://trac.webkit.org/changeset/69103
27192 https://bugs.webkit.org/show_bug.cgi?id=47177
27194 Breaking Windows and Mac build. (Requested by lca on #webkit).
27196 * UIProcess/API/C/WKNativeEvent.h:
27197 * UIProcess/API/qt/qwkpage.cpp:
27198 * UIProcess/API/qt/qwkpage.h:
27201 2010-10-05 Luiz Agostini <luiz.agostini@openbossa.org>
27203 Reviewed by Antti Koivisto.
27205 [Qt] Webkit2 MacOS build fix
27206 https://bugs.webkit.org/show_bug.cgi?id=47167
27208 Qt WebKit2 MacOS build fix.
27210 * UIProcess/API/C/WKNativeEvent.h:
27211 * UIProcess/API/qt/qwkpage.cpp:
27212 * UIProcess/API/qt/qwkpage.h:
27215 2010-10-04 Mark Rowe <mrowe@apple.com>
27217 Reviewed by Sam Weinig.
27219 Fix the build when sandboxing is enabled.
27221 * UIProcess/WebContext.cpp:
27222 (WebKit::WebContext::ensureWebProcess):
27223 * UIProcess/WebProcessProxy.cpp:
27225 2010-10-04 Andras Becsi <abecsi@webkit.org>
27227 Reviewed Csaba Osztrogonác.
27229 [Qt] Build fix after r69037.
27230 Also remove dummy setUpAcceleratedCompositing() from the source file,
27231 since it has been removed from the header.
27233 * UIProcess/WebProcessProxy.cpp:
27235 2010-10-04 Andras Becsi <abecsi@webkit.org>
27237 Rubber-stamped by Csaba Osztrogonác.
27239 [Qt] Fix the WebKit2 build after r69029.
27241 * DerivedSources.pro:
27243 2010-10-04 Sam Weinig <sam@webkit.org>
27245 Reviewed by Anders Carlsson.
27247 Change WebProcess initialization to be done with an
27250 * Platform/CoreIPC/mac/MachPort.h:
27251 * Shared/WebProcessCreationParameters.cpp: Added.
27252 (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
27253 (WebKit::WebProcessCreationParameters::encode):
27254 (WebKit::WebProcessCreationParameters::decode):
27255 * Shared/WebProcessCreationParameters.h: Added.
27256 * UIProcess/WebContext.cpp:
27257 (WebKit::WebContext::ensureWebProcess):
27258 * UIProcess/WebContext.h:
27259 * UIProcess/WebProcessProxy.cpp:
27260 (WebKit::WebProcessProxy::WebProcessProxy):
27261 * UIProcess/WebProcessProxy.h:
27262 * UIProcess/mac/WebContextMac.mm:
27263 (WebKit::WebContext::platformInitializeWebProcess):
27264 * UIProcess/mac/WebProcessProxyMac.mm: Removed.
27265 * UIProcess/qt/WebContextQt.cpp:
27266 (WebKit::WebContext::applicationCacheDirectory):
27267 (WebKit::WebContext::platformInitializeWebProcess):
27268 * UIProcess/win/WebContextWin.cpp:
27269 (WebKit::WebContext::platformInitializeWebProcess):
27271 * WebKit2.xcodeproj/project.pbxproj:
27272 * WebProcess/WebProcess.cpp:
27273 (WebKit::WebProcess::initializeWebProcess):
27274 * WebProcess/WebProcess.h:
27275 * WebProcess/WebProcess.messages.in:
27276 * win/WebKit2.vcproj:
27278 2010-10-04 Brent Fulgham <bfulgham@webkit.org>
27280 Unreviewed build fixes after r68260 and r68686.
27282 * Platform/CoreIPC/DataReference.h: Add include directive for
27283 <inttypes.h>, needed for WinCairo build.
27284 * Shared/win/PlatformCertificateInfo.cpp:
27285 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
27286 Conditionalize logic specific to WebKitSystemInterface and
27287 add a stub implementation for WinCairo.
27289 2010-10-04 Sam Weinig <sam@webkit.org>
27291 Reviewed by Adam Roben.
27293 Generate messages sent to the WebProcess class.
27294 https://bugs.webkit.org/show_bug.cgi?id=47097
27296 * DerivedSources.make:
27297 Add new file to generate and new directory to search.
27299 * Scripts/webkit2/messages.py:
27300 (forward_declarations_and_headers): Special case class templates.
27301 (headers_for_type): Special case Vector.
27302 * Scripts/webkit2/messages_unittest.py:
27303 Make this script work for passing a templated type.
27305 * Shared/CoreIPCSupport/WebProcessMessageKinds.h: Removed.
27307 * UIProcess/VisitedLinkProvider.cpp:
27308 (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
27309 * UIProcess/WebContext.cpp:
27310 (WebKit::WebContext::initializeHistoryClient):
27311 (WebKit::WebContext::ensureWebProcess):
27312 (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
27313 (WebKit::WebContext::setCacheModel):
27314 * UIProcess/WebPageProxy.cpp:
27315 (WebKit::WebPageProxy::initializeWebPage):
27316 (WebKit::WebPageProxy::reinitializeWebPage):
27317 * UIProcess/WebProcessProxy.cpp:
27318 (WebKit::WebProcessProxy::WebProcessProxy): Always pass both
27319 the bundle path and a key, even if the key is null, which it will be for
27320 all non-mac builds for now.
27321 * UIProcess/mac/WebProcessProxyMac.mm:
27322 (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
27323 * UIProcess/win/WebContextWin.cpp:
27324 (WebKit::WebContext::setShouldPaintNativeControls):
27325 (WebKit::WebContext::platformSetUpWebProcess):
27326 Use the new syntax for sending the messages.
27328 * WebProcess/WebProcess.cpp:
27329 (WebKit::WebProcess::setShouldTrackVisitedLinks):
27330 (WebKit::WebProcess::setCacheModel):
27331 (WebKit::WebProcess::setupAcceleratedCompositingPort):
27332 (WebKit::WebProcess::setShouldPaintNativeControls):
27333 (WebKit::WebProcess::didReceiveMessage):
27334 * WebProcess/WebProcess.h:
27335 Convert to using generated didReceiveWebProcessMessage.
27337 * WebProcess/WebProcess.messages.in: Added.
27340 * WebKit2.xcodeproj/project.pbxproj:
27341 * win/WebKit2.vcproj:
27344 2010-10-04 Sam Weinig <sam@webkit.org>
27348 * WebProcess/mac/WebProcessMac.mm:
27350 2010-10-04 Sam Weinig <sam@webkit.org>
27352 Reviewed by Anders Carlsson.
27354 Add ability to set the CacheModel in Webkit2
27355 https://bugs.webkit.org/show_bug.cgi?id=47066
27357 Add WKContext function to set the cache model for the context.
27359 * Shared/CacheModel.h: Added.
27360 * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
27361 * UIProcess/API/C/WKAPICast.h:
27362 (WebKit::toCacheModel):
27364 * UIProcess/API/C/WKContext.cpp:
27365 (WKContextSetCacheModel):
27366 (WKContextGetCacheModel):
27367 * UIProcess/API/C/WKContext.h:
27368 * UIProcess/WebContext.cpp:
27369 (WebKit::WebContext::WebContext):
27370 (WebKit::WebContext::ensureWebProcess):
27371 (WebKit::WebContext::setCacheModel):
27372 * UIProcess/WebContext.h:
27373 (WebKit::WebContext::cacheModel):
27375 * WebKit2.xcodeproj/project.pbxproj:
27376 * WebProcess/WebProcess.cpp:
27377 (WebKit::WebProcess::WebProcess):
27378 (WebKit::WebProcess::setCacheModel):
27379 (WebKit::WebProcess::didReceiveMessage):
27380 * WebProcess/WebProcess.h:
27381 * WebProcess/mac/WebProcessMac.mm: Added.
27382 (WebKit::memorySize):
27383 (WebKit::volumeFreeSize):
27384 (WebKit::WebProcess::platformSetCacheModel):
27385 * WebProcess/qt/WebProcessQt.cpp: Added.
27386 (WebKit::WebProcess::platformSetCacheModel):
27387 * WebProcess/win/WebProcessWin.cpp: Added.
27388 (WebKit::WebProcess::platformSetCacheModel):
27389 * win/WebKit2.vcproj:
27391 2010-10-03 Anders Carlsson <andersca@apple.com>
27393 Reviewed by Sam Weinig.
27395 Implement newly added Plugin/PluginController member functions for out of process plug-ins
27396 https://bugs.webkit.org/show_bug.cgi?id=47065
27397 <rdar://problem/8507194>
27399 * Platform/CoreIPC/Arguments.h:
27402 * Platform/CoreIPC/HandleMessage.h:
27403 (CoreIPC::handleMessage):
27404 Add new handleMessage overload.
27406 * PluginProcess/PluginControllerProxy.cpp:
27407 (WebKit::PluginControllerProxy::create):
27408 Add an isPrivateBrowsingEnabled boolean.
27410 (WebKit::PluginControllerProxy::PluginControllerProxy):
27411 Add an isPrivateBrowsingEnabled boolean.
27413 (WebKit::PluginControllerProxy::proxiesForURL):
27414 (WebKit::PluginControllerProxy::cookiesForURL):
27415 (WebKit::PluginControllerProxy::setCookiesForURL):
27416 Send messages to the web process.
27418 (WebKit::PluginControllerProxy::isPrivateBrowsingEnabled):
27419 Return whether private browsing is enabled or not.
27421 (WebKit::PluginControllerProxy::handleKeyboardEvent):
27422 Call Plugin::handleKeyboardEvent.
27424 (WebKit::PluginControllerProxy::privateBrowsingStateChanged):
27425 Call Plugin::privateBrowsingStateChanged.
27427 * PluginProcess/PluginControllerProxy.messages.in:
27430 * PluginProcess/WebProcessConnection.cpp:
27431 (WebKit::WebProcessConnection::createPlugin):
27432 Pass the isPrivateBrowsingEnabled flag.
27434 * PluginProcess/WebProcessConnection.h:
27435 * PluginProcess/WebProcessConnection.messages.in:
27436 Update CreatePlugin message parameters.
27438 * WebProcess/Plugins/PluginProcessConnection.cpp:
27439 (WebKit::PluginProcessConnection::didReceiveMessage):
27440 (WebKit::PluginProcessConnection::didReceiveSyncMessage):
27441 It's OK for a plug-in to not get a sync message.
27443 * WebProcess/Plugins/PluginProcessConnection.h:
27444 * WebProcess/Plugins/PluginProxy.cpp:
27445 (WebKit::PluginProxy::handleKeyboardEvent):
27446 (WebKit::PluginProxy::privateBrowsingStateChanged):
27449 (WebKit::PluginProxy::proxiesForURL):
27450 (WebKit::PluginProxy::cookiesForURL):
27451 (WebKit::PluginProxy::setCookiesForURL):
27452 Call the plug-in controller.
27454 * WebProcess/Plugins/PluginProxy.messages.in:
27457 2010-10-03 Anders Carlsson <andersca@apple.com>
27459 Reviewed by Sam Weinig.
27461 Send keyboard events to plug-ins
27462 https://bugs.webkit.org/show_bug.cgi?id=47064
27463 <rdar://problem/8507148>
27465 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
27466 (WebKit::NetscapePlugin::handleKeyboardEvent):
27467 Call platformHandleKeyboardEvent.
27469 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
27470 (WebKit::modifierFlags):
27471 Return the modifier flags given a WebKeyboardEvent.
27473 (WebKit::initializeKeyboardEvent):
27474 Initialize an NPCocoaEvent from a WebKeyboardEvent.
27476 (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
27477 Initialize the event and dispatch it using NPP_HandleEvent.
27479 * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
27480 (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
27483 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
27484 (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
27487 * WebProcess/Plugins/Plugin.h:
27488 Add handleKeyboardEvent.
27490 * WebProcess/Plugins/PluginView.cpp:
27491 (WebKit::PluginView::handleEvent):
27492 Call Plugin::handleKeyboardEvent if we see a keydown or keyup event.
27494 2010-10-01 Mark Rowe <mrowe@apple.com>
27498 Clear the executable bit from a number of source files.
27500 * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
27502 2010-10-01 Anders Carlsson <andersca@apple.com>
27504 Reviewed by Sam Weinig.
27506 Plug-ins should have access to the private browsing state.
27507 https://bugs.webkit.org/show_bug.cgi?id=47031
27508 <rdar://problem/8505405>
27510 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
27511 (WebKit::NPN_GetValue):
27512 Handle NPNVprivateModeBool.
27514 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
27515 (WebKit::NetscapePlugin::isPrivateBrowsingEnabled):
27516 Call PluginController::isPrivateBrowsingEnabled.
27518 (WebKit::NetscapePlugin::NPP_SetValue):
27519 Add NPP_SetValue wrapper.
27521 (WebKit::NetscapePlugin::privateBrowsingStateChanged):
27522 Call NPP_SetValue with the updated state.
27524 * WebProcess/Plugins/Plugin.h:
27525 Add privateBrowsingStateChanged pure virtual member function.
27527 * WebProcess/Plugins/PluginController.h:
27528 Add isPrivateBrowsingEnabled pure virtual member function.
27530 * WebProcess/Plugins/PluginView.cpp:
27531 (WebKit::PluginView::privateBrowsingStateChanged):
27532 Call Plugin::privateBrowsingStateChanged.
27534 2010-10-01 Sam Weinig <sam@webkit.org>
27536 Reviewed by Anders Carlsson.
27538 Add SPI to convert a WKStringRef to a JSStringRef and vice-versa.
27540 API Test: WebKit2/WKStringJSString
27542 * Shared/API/c/WKString.cpp:
27543 (WKStringCreateWithJSString):
27544 (WKStringCopyJSString):
27545 * Shared/API/c/WKStringPrivate.h: Added.
27546 * Shared/WebString.h:
27547 (WebKit::WebString::create):
27548 (WebKit::WebString::createJSString):
27550 * WebKit2.xcodeproj/project.pbxproj:
27551 * win/WebKit2.vcproj:
27552 * win/WebKit2Generated.make:
27554 2010-10-01 Anders Carlsson <andersca@apple.com>
27556 Reviewed by Sam Weinig.
27558 Implement proxiesForURL, cookiesForURL and setCookiesForURL
27559 https://bugs.webkit.org/show_bug.cgi?id=47029
27561 * WebProcess/Plugins/PluginView.cpp:
27562 (WebKit::PluginView::proxiesForURL):
27563 (WebKit::PluginView::cookiesForURL):
27564 (WebKit::PluginView::setCookiesForURL):
27566 2010-10-01 Sam Weinig <sam@webkit.org>
27568 Reviewed by Kenneth Rohde Christiansen.
27570 Add additional WKString API
27571 https://bugs.webkit.org/show_bug.cgi?id=46958
27573 API Test: WebKit2/WKString
27575 * Shared/API/c/WKString.cpp:
27576 (WKStringCreateWithUTF8CString):
27577 (WKStringGetMaximumUTF8CStringSize):
27578 (WKStringGetUTF8CString):
27580 (WKStringIsEqualToUTF8CString):
27581 * Shared/API/c/WKString.h:
27582 * Shared/WebString.h:
27583 (WebKit::WebString::createFromUTF8String):
27584 (WebKit::WebString::maximumUTF8CStringSize):
27585 (WebKit::WebString::getUTF8CString):
27586 (WebKit::WebString::equal):
27587 (WebKit::WebString::equalToUTF8String):
27589 2010-10-01 Anders Carlsson <andersca@apple.com>
27591 Reviewed by Dan Bernstein.
27593 Implement NPN_GetValueForURL/NPN_SetValueForURL and stub out PluginController functions
27594 https://bugs.webkit.org/show_bug.cgi?id=46992
27596 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
27597 (WebKit::copyCString):
27598 Helper function for allocating a string using NPN_MemAlloc.
27600 (WebKit::NPN_GetValueForURL):
27601 Ask the plug-in for either the proxy or the cookies given an URL.
27603 (WebKit::NPN_SetValueForURL):
27604 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
27605 Tell the plug-in to set the cookies for the given URL.
27607 (WebKit::NetscapePlugin::proxiesForURL):
27608 (WebKit::NetscapePlugin::cookiesForURL):
27609 (WebKit::NetscapePlugin::setCookiesForURL):
27610 Call the corresponding PluginController functions.
27612 * WebProcess/Plugins/PluginController.h:
27613 Add new pure virtual member functions.
27615 * WebProcess/Plugins/PluginView.cpp:
27616 (WebKit::PluginView::proxiesForURL):
27617 (WebKit::PluginView::cookiesForURL):
27618 (WebKit::PluginView::setCookiesForURL):
27619 Add stubbed out implementations of the new PluginController functions.
27621 * WebProcess/Plugins/PluginView.h:
27623 2010-10-01 Adam Roben <aroben@apple.com>
27625 Implement NPN_GetValue(NPNVnetscapeWindow)
27627 Fixes <http://webkit.org/b/46726> <rdar://problem/8486319>
27628 Right-clicking on windowless Flash plugin in WebKit2 makes a context
27629 menu appear in the bottom-right corner of the screen
27631 Test: platform/win/plugins/get-value-netscape-window.html
27633 Reviewed by Anders Carlsson.
27635 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
27636 (WebKit::NPN_GetValue): Added case for NPNVnetscapeWindow that calls
27637 through to NetscapePlugin::containingWindow.
27639 * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added containingWindow
27642 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
27643 (WebKit::NetscapePlugin::containingWindow): Added. Calls through to
27644 the PluginController.
27645 (WebKit::NetscapePlugin::platformPostInitialize): Changed to use
27648 2010-09-30 Simon Fraser <simon.fraser@apple.com>
27650 Reviewed by Darin Adler.
27652 Background doesn't draw when entering accelerated compositing
27653 https://bugs.webkit.org/show_bug.cgi?id=45848
27655 LayerBackedDrawingArea::setSize() is normally called in response
27656 to a message from the UI process, so this can come some time after
27657 LayerBackedDrawingArea creation. Depending on the timing, we could
27658 end up being at size 0x0 for the first invalidate and paint, resulting
27659 in missing content.
27661 The fix is to size the backing layer on creation, using the WebView's size.
27663 Also changed various calls to syncCompositingStateForThisLayerOnly()
27664 to do lazy updates via scheduleCompositingLayerSync().
27666 Also add the fix for https://bugs.webkit.org/show_bug.cgi?id=46226 (r68028)
27667 to the WebKit2 code, in scheduleUpdateLayoutRunLoopObserver().
27669 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
27670 (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
27671 (WebKit::LayerBackedDrawingArea::setNeedsDisplay):
27672 (WebKit::LayerBackedDrawingArea::setSize):
27673 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
27674 (WebKit::LayerBackedDrawingArea::platformInit):
27675 (WebKit::LayerBackedDrawingArea::attachCompositingContext):
27676 (WebKit::LayerBackedDrawingArea::detachCompositingContext):
27677 (WebKit::LayerBackedDrawingArea::setRootCompositingLayer):
27678 (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
27679 (WebKit::LayerBackedDrawingArea::scheduleUpdateLayoutRunLoopObserver):
27681 2010-09-29 Jon Honeycutt <jhoneycutt@apple.com>
27683 WebKit2 on Windows should use Windows fonts for the various standard
27685 https://bugs.webkit.org/show_bug.cgi?id=43499
27686 <rdar://problem/8272758>
27688 Reviewed by Adam Roben.
27690 * Shared/WebPreferencesStore.cpp:
27691 (WebKit::WebPreferencesStore::WebPreferencesStore):
27692 Use Windows fonts on Windows.
27694 2010-09-30 Brady Eidson <beidson@apple.com>
27696 Reviewed by Sam Weinig.
27698 https://bugs.webkit.org/show_bug.cgi?id=46774 - Add WKStringIsEqual API
27700 * Shared/API/c/WKString.cpp:
27702 * Shared/API/c/WKString.h:
27704 2010-09-30 Anders Carlsson <andersca@apple.com>
27706 Reviewed by Adam Roben.
27708 Forward declare structs with 'struct' in the message headers
27709 https://bugs.webkit.org/show_bug.cgi?id=46925
27710 <rdar://problem/8497940>
27712 * Scripts/webkit2/messages.py:
27713 (struct_or_class): New function which given a type and a namespace returns the correct
27714 forward declaration syntax (struct or class).
27716 * Scripts/webkit2/messages_unittest.py:
27717 Update expected results.
27719 2010-09-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
27721 Reviewed by Antti Koivisto.
27723 Original patch by Zalan Bujtas.
27725 The m_readBuffer might be smaller than the incoming message size and
27726 thus result in memory corruption. Do a similar fix as the win port,
27727 resizing the m_readBuffer to have room for the message.
27729 * Platform/CoreIPC/qt/ConnectionQt.cpp:
27730 (CoreIPC::Connection::readyReadHandler):
27732 2010-09-29 Anders Carlsson <andersca@apple.com>
27734 Reviewed by Simon Fraser.
27736 Calling Connection::send/sendSync from Connection::Client::didClose should always fail
27737 https://bugs.webkit.org/show_bug.cgi?id=46859
27738 <rdar://problem/8212583>
27740 * Platform/CoreIPC/Connection.cpp:
27741 (CoreIPC::Connection::dispatchConnectionDidClose):
27743 2010-09-29 Simon Fraser <simon.fraser@apple.com>
27745 Reviewed by Anders Carlsson.
27747 Assertion then crash closing WebKit2 window with accelerated compositing in
27748 https://bugs.webkit.org/show_bug.cgi?id=46857
27750 Fix two issues when closing a WebKit2 window using accelerated
27753 The first is that the response to the sync DidChangeAcceleratedCompositing message
27754 sent by changeAcceleratedCompositingMode() may be empty, because the corresponding
27755 page may have been destroyed already in the UI process. In that case newDrawingAreaInfo
27756 is not filled in, so we get a DrawingArea::Type of None. Don't attempt to make a new
27757 drawing area in that case.
27759 We then have to null-check the drawing area in WebPage::didReceiveMessage(),
27760 in the case where the UI process is calling back with a SuspendPainting message,
27761 before our page has gone away.
27763 * WebProcess/WebPage/WebPage.cpp:
27764 (WebKit::WebPage::changeAcceleratedCompositingMode):
27765 (WebKit::WebPage::didReceiveMessage):
27767 2010-09-29 Anders Carlsson <andersca@apple.com>
27769 Reviewed by Sam Weinig.
27771 Implement more of PluginProxy and PLuginControllerProxy.
27773 * Platform/CoreIPC/ArgumentDecoder.cpp:
27774 (CoreIPC::ArgumentDecoder::decodeBytes):
27775 * Platform/CoreIPC/ArgumentDecoder.h:
27776 Add new overload that takes a DataReference. Wrap the debug function in #ifndef NDEBUG.
27778 * Platform/CoreIPC/ArgumentEncoder.cpp:
27779 * Platform/CoreIPC/ArgumentEncoder.h:
27780 Wrap the debug function in #ifndef NDEBUG.
27782 * Platform/CoreIPC/Arguments.h:
27785 * Platform/CoreIPC/DataReference.cpp:
27786 * Platform/CoreIPC/DataReference.h:
27787 Add a DataReference class.
27789 * Platform/CoreIPC/HandleMessage.h:
27790 (CoreIPC::handleMessage):
27793 * PluginProcess/PluginControllerProxy.cpp:
27794 (WebKit::PluginControllerProxy::didEvaluateJavaScript):
27795 (WebKit::PluginControllerProxy::streamDidReceiveResponse):
27796 (WebKit::PluginControllerProxy::streamDidReceiveData):
27797 (WebKit::PluginControllerProxy::streamDidFinishLoading):
27798 (WebKit::PluginControllerProxy::streamDidFail):
27799 call Plugin member functions.
27801 * PluginProcess/PluginControllerProxy.messages.in:
27805 * WebKit2.xcodeproj/project.pbxproj:
27806 * win/WebKit2.vcproj:
27807 Add DataReference.cpp and DataReference.h
27809 * WebProcess/Plugins/PluginProxy.cpp:
27810 (WebKit::PluginProxy::didEvaluateJavaScript):
27811 (WebKit::PluginProxy::streamDidReceiveResponse):
27812 (WebKit::PluginProxy::streamDidReceiveData):
27813 (WebKit::PluginProxy::streamDidFinishLoading):
27814 (WebKit::PluginProxy::streamDidFail):
27817 2010-09-29 Anders Carlsson <andersca@apple.com>
27819 Update expected results.
27821 * Scripts/webkit2/messages_unittest.py:
27823 2010-09-29 Anders Carlsson <andersca@apple.com>
27825 Reviewed by Sam Weinig.
27828 https://bugs.webkit.org/show_bug.cgi?id=46826
27830 * Platform/CoreIPC/ArgumentCoders.h:
27831 Move String argument coder here from WebCoreArgumentCoders.h. Add
27832 argument coder for AtomicString.
27834 * Platform/CoreIPC/Arguments.h:
27835 Add typedefs for Arguments7.
27837 * Platform/CoreIPC/HandleMessage.h:
27838 (CoreIPC::handleMessage):
27839 Add handleMessage overload that takes 7 parameters.
27841 * PluginProcess/PluginControllerProxy.cpp:
27842 (WebKit::PluginControllerProxy::loadURL):
27843 Send the LoadURL message.
27845 * Scripts/webkit2/messages.py:
27846 (parse_parameter_string): Use rsplit in case the type name contains spaces.
27847 (argument_coder_headers_for_type): Special case Vector.
27849 * Scripts/webkit2/messages_unittest.py:
27852 * Shared/WebCoreArgumentCoders.h:
27853 Add argument coder for HTTPHeaderMap.
27855 * WebProcess/Plugins/PluginProxy.cpp:
27856 (WebKit::PluginProxy::loadURL):
27857 Ask the plug-in controller to load the URL.
27859 * WebProcess/Plugins/PluginProxy.messages.in:
27860 Add LoadURL message.
27862 2010-09-29 Anders Carlsson <andersca@apple.com>
27864 Reviewed by Sam Weinig.
27866 Handle getting the user agent in the plug-in process
27867 https://bugs.webkit.org/show_bug.cgi?id=46819
27869 * Platform/CoreIPC/HandleMessage.h:
27870 (CoreIPC::handleMessage):
27871 Add new handleMessage overload.
27873 * PluginProcess/PluginControllerProxy.cpp:
27874 (WebKit::PluginControllerProxy::create):
27875 (WebKit::PluginControllerProxy::PluginControllerProxy):
27876 Pass the user agent to the plug-in controller proxy.
27878 (WebKit::PluginControllerProxy::userAgent):
27879 Return the user agent.
27881 * PluginProcess/WebProcessConnection.cpp:
27882 (WebKit::WebProcessConnection::createPlugin):
27883 Pass the user agent when creating the plug-in controller proxy.
27885 * PluginProcess/WebProcessConnection.messages.in:
27888 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
27889 (WebKit::NetscapePlugin::userAgent):
27890 * WebProcess/Plugins/PluginController.h:
27891 Remove the URL parameter to userAgent.
27893 * WebProcess/Plugins/PluginProxy.cpp:
27894 (WebKit::PluginProxy::initialize):
27895 Pass the user agent to WebProcessConnection::CreatePlugin.
27897 * WebProcess/Plugins/PluginView.cpp:
27898 (WebKit::PluginView::userAgent):
27899 Remove url parameter.
27901 2010-09-29 Anders Carlsson <andersca@apple.com>
27903 Reviewed by Sam Weinig.
27905 Implement more PluginProxy member functions
27906 https://bugs.webkit.org/show_bug.cgi?id=46815
27908 * Platform/CoreIPC/HandleMessage.h:
27909 (CoreIPC::handleMessage):
27910 * PluginProcess/PluginControllerProxy.cpp:
27911 (WebKit::PluginControllerProxy::handleMouseEvent):
27912 (WebKit::PluginControllerProxy::handleWheelEvent):
27913 (WebKit::PluginControllerProxy::handleMouseEnterEvent):
27914 (WebKit::PluginControllerProxy::handleMouseLeaveEvent):
27915 (WebKit::PluginControllerProxy::setFocus):
27916 (WebKit::PluginControllerProxy::windowFocusChanged):
27917 (WebKit::PluginControllerProxy::windowFrameChanged):
27918 (WebKit::PluginControllerProxy::windowVisibilityChanged):
27919 Call the appropriate Plugin member functions.
27921 * PluginProcess/PluginControllerProxy.messages.in:
27924 * PluginProcess/WebProcessConnection.cpp:
27925 (WebKit::WebProcessConnection::didReceiveMessage):
27926 It's OK to get a message for a plug-in controller proxy that has gone away.
27928 (WebKit::WebProcessConnection::didReceiveSyncMessage):
27929 Forward the message to the PluginControllerProxy handler.
27931 * WebProcess/Plugins/PluginProxy.cpp:
27932 (WebKit::PluginProxy::handleMouseEvent):
27933 (WebKit::PluginProxy::handleWheelEvent):
27934 (WebKit::PluginProxy::handleMouseEnterEvent):
27935 (WebKit::PluginProxy::handleMouseLeaveEvent):
27936 (WebKit::PluginProxy::setFocus):
27937 (WebKit::PluginProxy::windowFocusChanged):
27938 (WebKit::PluginProxy::windowFrameChanged):
27939 (WebKit::PluginProxy::windowVisibilityChanged):
27940 Send messages to the plug-in process.
27942 (WebKit::PluginProxy::controller):
27943 Return the plug-in controller.
27945 2010-09-29 Adam Roben <aroben@apple.com>
27947 Look for WebKit.dll (not WebKit_debug.dll) when launching the web
27948 process in Debug builds
27950 Fixes <http://webkit.org/b/46809> <rdar://problem/8491809> REGRESSION
27951 (r67979): All tests crashing on Windows WebKit2 test bot
27953 Reviewed by Sam Weinig.
27955 * UIProcess/Launcher/win/ProcessLauncherWin.cpp: WebKit_debug.dll is
27956 only used in Debug_All builds (but WebKit2WebProcess_debug.exe is used
27957 in all non-Debug_Internal debug-style builds).
27959 2010-09-28 Anders Carlsson <andersca@apple.com>
27961 Reviewed by Sam Weinig.
27963 Paint the plug-in backing store into the WebProcess backing store
27964 https://bugs.webkit.org/show_bug.cgi?id=46768
27966 * DerivedSources.make:
27969 * Platform/CoreIPC/MessageID.h:
27970 Add PluginProxy message class.
27972 * PluginProcess/PluginControllerProxy.cpp:
27973 (WebKit::PluginControllerProxy::paint):
27974 Let the web process know that we've painted.
27976 * WebKit2.xcodeproj/project.pbxproj:
27979 * WebProcess/Plugins/PluginProcessConnection.cpp:
27980 (WebKit::PluginProcessConnection::didReceiveMessage):
27981 Pass the message on to a plug-in proxy.
27983 * WebProcess/Plugins/PluginProxy.cpp:
27984 (WebKit::PluginProxy::paint):
27985 Paint our backing store into the graphics context.
27987 (WebKit::PluginProxy::controller):
27988 Add notImplemented().
27990 (WebKit::PluginProxy::update):
27991 Blit the plug-in backing store into the local backing store and tell the plug-in
27992 controller that we want to repaint.
27994 * WebProcess/Plugins/PluginProxy.messages.in: Added.
27996 2010-09-28 Jenn Braithwaite <jennb@chromium.org>
27998 Reviewed by Dmitry Titov.
28000 Added oldPage param to FrameLoaderClient::didTransferChildFrameToNewDocument.
28001 https://bugs.webkit.org/show_bug.cgi?id=46663
28003 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
28004 (WebKit::WebFrameLoaderClient::didTransferChildFrameToNewDocument):
28005 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
28007 2010-09-28 Anders Carlsson <andersca@apple.com>
28009 Reviewed by Sam Weinig.
28011 Begin hooking up painting in the plug-in process
28012 https://bugs.webkit.org/show_bug.cgi?id=46766
28014 * DerivedSources.make:
28015 Add PluginControllerProxy.
28017 * Platform/CoreIPC/MessageID.h:
28018 Add a MessageClassPluginControllerProxy message class.
28020 * PluginProcess/PluginControllerProxy.cpp:
28021 (WebKit::PluginControllerProxy::PluginControllerProxy):
28022 Initialize the paint timer.
28024 (WebKit::PluginControllerProxy::paint):
28025 Create a graphics context referencing our backing store and paint into it.
28027 (WebKit::PluginControllerProxy::invalidate):
28028 Update the dirty rect and start the paint timer if necessary.
28030 (WebKit::PluginControllerProxy::geometryDidChange):
28031 If we're passed a new backing store handle, reinitialize the backing store.
28033 * PluginProcess/PluginControllerProxy.messages.in: Added.
28034 * PluginProcess/WebProcessConnection.cpp:
28035 (WebKit::WebProcessConnection::didReceiveMessage):
28036 If the message has a destination ID, forward it to the plug-in controller proxy.
28038 * Scripts/webkit2/messages.py:
28039 Always include WebCoreArgumentCoders.h if the type is in the WebCore namespace.
28041 * WebKit2.xcodeproj/project.pbxproj:
28044 * WebProcess/Plugins/PluginProxy.cpp:
28045 (WebKit::PluginProxy::geometryDidChange):
28046 Update the size of the backing store. Create a new plug-in backing store if needed and send
28047 it over to the plug-in process.
28049 2010-09-28 Anders Carlsson <andersca@apple.com>
28051 Reviewed by Sam Weinig.
28053 ASSERT when launching the plugin process
28054 https://bugs.webkit.org/show_bug.cgi?id=46754
28055 <rdar://problem/8484570>
28057 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
28058 (WebKit::ProcessLauncher::launchProcess):
28059 Don't assert if we fail to launch the process. Instead, set the connection identifier
28060 and process ID to null and deallocate the port we created.
28062 * UIProcess/Plugins/PluginProcessProxy.cpp:
28063 (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
28064 Move all code from didClose here.
28066 (WebKit::PluginProcessProxy::didClose):
28067 Call pluginProcessCrashedOrFailedToLaunch.
28069 (WebKit::PluginProcessProxy::didFinishLaunching):
28070 If we failed to launch, call pluginProcessCrashedOrFailedToLaunch.
28072 2010-09-28 Anders Carlsson <andersca@apple.com>
28074 Reviewed by Sam Weinig.
28076 Differentiate waitForSyncReply from waitForReply
28077 https://bugs.webkit.org/show_bug.cgi?id=46752
28079 Since waitForSyncReply is going to need to dispatch incoming sync messages while
28080 waiting for the correct reply, we need to add a new waitForSyncReply function that
28083 * Platform/CoreIPC/Connection.cpp:
28084 (CoreIPC::Connection::sendSyncMessage):
28085 Push the pending sync reply information on the m_pendingSyncReplies stack,
28086 send the message, wait for a reply and pop the information off the stack.
28088 (CoreIPC::Connection::waitForSyncReply):
28089 Block while waiting for a reply to the sync message with the given ID.
28091 (CoreIPC::Connection::processIncomingMessage):
28092 If the incoming message is a sync reply, set the didReceiveReply flag and the replyDecoder
28093 members in the pending sync reply and signal the client thread to wakeup.
28095 * Platform/CoreIPC/Connection.h:
28096 Add a stack of PendingSyncReply structs.
28098 2010-09-28 Sam Weinig <sam@webkit.org>
28100 Reviewed by Darin Adler and Dave Hyatt.
28102 Vertical scroll bar on apple.com is too short with WebKit2
28103 <rdar://problem/8379230>
28104 https://bugs.webkit.org/show_bug.cgi?id=46739
28106 This gets us most of the way to having correct scroll corner behavior. We should
28107 follow this up by moving to painting the window re-sizer in WebCore.
28109 * UIProcess/API/mac/WKView.mm:
28110 (-[WKView _ownsWindowGrowBox]):
28111 (-[WKView _updateGrowBoxForWindowFrameChange]): Calculate whether we should
28112 be taking the scroll corner into account when laying out scrollbars.
28113 * UIProcess/WebPageProxy.cpp:
28114 (WebKit::WebPageProxy::setWindowResizerSize):
28115 * UIProcess/WebPageProxy.h:
28116 * WebProcess/WebPage/WebPage.cpp:
28117 (WebKit::WebPage::setWindowResizerSize):
28118 (WebKit::WebPage::windowResizerRect): This now returns IntRect() for
28119 non-mac platforms (or any platform that never sends a setWindowResizerSize
28121 * WebProcess/WebPage/WebPage.h:
28122 * WebProcess/WebPage/WebPage.messages.in:
28124 2010-09-28 Adam Roben <aroben@apple.com>
28126 Tell the UI client when a key event is not handled
28128 When the web process receives an event, it sends a
28129 WebPageProxyMessage::DidReceiveEvent message back to the UI process.
28130 That message is now sent after handling the event, and includes a
28131 boolean signifying whether or not the event was actually handled.
28133 Every time WebPageProxy receives a key event, it adds it to a queue.
28134 When it receives a WebPageProxyMessage::DidReceiveEvent for a key
28135 event, the event is removed from the queue. If the event was not
28136 handled, we tell the UI client.
28138 Fixes <http://webkit.org/b/46660> <rdar://problem/8483465> Need API to
28139 tell a WebKit2 client application that a key event was not handled
28141 Reviewed by Kenneth Rohde Christiansen and Sam Weinig.
28143 * Shared/NativeWebKeyboardEvent.h: Added. This class wraps a
28144 WebKeyboardEvent and the native event that was used to construct it.
28145 (WebKit::NativeWebKeyboardEvent::nativeEvent): Simple getter.
28147 * Shared/WebEvent.h: Made isKeyboardEventType public for
28148 WebPageProxy's benefit.
28150 * Shared/mac/NativeWebKeyboardEventMac.mm: Added.
28151 (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
28152 * Shared/qt/NativeWebKeyboardEventQt.cpp: Added.
28153 (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
28154 * Shared/win/NativeWebKeyboardEventWin.cpp: Added.
28155 (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
28156 The constructor creates a WebKeyboardEvent and stores the native
28159 * UIProcess/API/C/WKNativeEvent.h: Added.
28161 * UIProcess/API/C/WKPage.h: Added WKPageDidNotHandleKeyEventCallback
28162 and WKPageUIClient::didNotHandleKeyEvent.
28164 * UIProcess/API/mac/WKView.mm:
28165 (-[WKView keyUp:]):
28166 (-[WKView keyDown:]):
28167 * UIProcess/win/WebView.cpp:
28168 (WebKit::WebView::onKeyEvent):
28169 * UIProcess/API/qt/qwkpage.cpp:
28170 (QWKPagePrivate::keyPressEvent):
28171 (QWKPagePrivate::keyReleaseEvent):
28172 Changed to use NativeWebKeyboardEvent.
28174 (QWKPage::QWKPage): Updated for addition of didNotHandleKeyEvent.
28176 * UIProcess/WebPageProxy.cpp:
28177 (WebKit::WebPageProxy::handleKeyboardEvent): Changed to take a
28178 NativeWebKeyboardEvent and to add it to m_keyEventQueue.
28179 (WebKit::WebPageProxy::didReceiveMessage): Changed to expect a boolean
28180 parameter in WebPageProxyMessage::DidReceiveEvent.
28181 (WebKit::WebPageProxy::didReceiveEvent): Added a boolean "handled"
28182 parameter. If the event was a keyboard event, we remove it from
28183 m_keyEventQueue, and if it wasn't handled by WebCore, we tell the UI
28186 * UIProcess/WebPageProxy.h: Added m_keyEventQueue.
28188 * UIProcess/WebUIClient.cpp:
28189 (WebKit::WebUIClient::didNotHandleKeyEvent):
28190 * UIProcess/WebUIClient.h:
28191 Added. Just calls through to the WKPageUIClient.
28193 * WebProcess/WebPage/WebPage.cpp:
28194 (WebKit::handleMouseEvent):
28195 (WebKit::WebPage::mouseEvent):
28196 (WebKit::handleWheelEvent):
28197 (WebKit::WebPage::wheelEvent):
28198 (WebKit::handleKeyEvent):
28199 (WebKit::WebPage::keyEvent):
28200 (WebKit::handleTouchEvent):
28201 (WebKit::WebPage::touchEvent):
28202 Moved code from the *Event functions into new helper handle*Event
28203 functions, and changed to pass a boolean to
28204 WebPageProxyMessage::DidReceiveEvent signaling whether the event was
28208 * WebKit2.xcodeproj/project.pbxproj:
28209 * win/WebKit2.vcproj:
28210 * win/WebKit2Generated.make:
28211 Added WKNativeEvent.h and NativeWebKeyboardEvent.
28213 2010-09-28 Anders Carlsson <andersca@apple.com>
28215 Reviewed by Adam Roben.
28217 Implement PluginProxy::destroy
28218 https://bugs.webkit.org/show_bug.cgi?id=46737
28220 * Platform/CoreIPC/HandleMessage.h:
28221 (CoreIPC::handleMessage):
28222 Add overload for a sync message with one in parameter and no out parameters.
28224 * PluginProcess/WebProcessConnection.cpp:
28225 (WebKit::WebProcessConnection::destroyPluginControllerProxy):
28226 Rename this to avoid conflicts with the destroyPlugin message handler.
28228 (WebKit::WebProcessConnection::destroyPlugin):
28229 Call destroyPluginControllerProxy.
28231 * PluginProcess/WebProcessConnection.messages.in:
28232 Add DestroyPlugin message.
28234 * WebProcess/Plugins/PluginProcessConnection.cpp:
28235 (WebKit::PluginProcessConnection::didClose):
28237 * WebProcess/Plugins/PluginProxy.cpp:
28238 (WebKit::PluginProxy::PluginProxy):
28239 (WebKit::PluginProxy::~PluginProxy):
28240 Don't add and/the plug-in proxy from the map in the constructor/destructor. Instead,
28241 do it in initialize/destroy, since otherwise we could be calling pluginProcessCrashed on a
28242 PluginController that had already been freed.
28244 (WebKit::PluginProxy::initialize):
28245 (WebKit::PluginProxy::destroy):
28246 send the DestroyPlugin message.
28248 2010-09-28 Anders Carlsson <andersca@apple.com>
28250 Reviewed by Adam Roben.
28252 Improve plug-in process lifecycle handling
28253 https://bugs.webkit.org/show_bug.cgi?id=46734
28255 * PluginProcess/WebProcessConnection.cpp:
28256 (WebKit::WebProcessConnection::destroyPlugin):
28257 Destroy and delete the plug-in.
28259 (WebKit::WebProcessConnection::didClose):
28260 Our web process crashed, go through and delete all plug-in instances.
28262 * UIProcess/Plugins/PluginProcessProxy.cpp:
28263 (WebKit::PluginProcessProxy::didClose):
28264 The plug-in process crashed. Go through all pending replies and send them so the
28265 web processes won't be blocked waiting for a reply.
28267 (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
28268 We need to remove the pending reply connection once we've sent the reply.
28270 * WebProcess/Plugins/PluginProcessConnection.cpp:
28271 (WebKit::PluginProcessConnection::didClose):
28272 The plug-in process crashed. Iterate over all proxies and let them know that the plug-in
28273 process has crashed.
28275 * WebProcess/Plugins/PluginProxy.cpp:
28276 (WebKit::PluginProxy::pluginProcessCrashed):
28277 Tell our controller that the plug-in process crashed.
28279 (WebKit::PluginProxy::destroy):
28280 Null out the controller.
28282 2010-09-28 Anders Carlsson <andersca@apple.com>
28284 Reviewed by Adam Roben.
28286 Implement PluginControllerProxy::initialize and have it create a plug-in
28287 https://bugs.webkit.org/show_bug.cgi?id=46731
28289 * PluginProcess/PluginControllerProxy.cpp:
28290 (WebKit::PluginControllerProxy::initialize):
28291 Create the plug-in and try to initialize it.
28293 (WebKit::PluginControllerProxy::destroy):
28294 Destroy the plug-in.
28296 * PluginProcess/WebProcessConnection.cpp:
28297 (WebKit::WebProcessConnection::addPluginControllerProxy):
28298 Add the given plug-in controller proxy to the map and assume ownership of it.
28300 (WebKit::WebProcessConnection::removePluginControllerProxy):
28301 Remove the given plug-in controller proxy from the map and delete it.
28303 (WebKit::WebProcessConnection::createPlugin):
28304 Create a plug-in controller proxy and try to initialize it.
28306 2010-09-28 Anders Carlsson <andersca@apple.com>
28308 Reviewed by Adam Roben.
28310 Add PluginControllerProxy class
28311 https://bugs.webkit.org/show_bug.cgi?id=46728
28313 * PluginProcess/PluginControllerProxy.cpp: Added.
28314 * PluginProcess/PluginControllerProxy.h: Added.
28315 Add stubbed out PluginControllerProxy class.
28317 * PluginProcess/WebProcessConnection.cpp:
28318 (WebKit::WebProcessConnection::~WebProcessConnection):
28319 Assert that we don't have any live plug-in controller proxies.
28321 (WebKit::WebProcessConnection::addPluginControllerProxy):
28322 Add the plug-in controller proxy to the map.
28324 (WebKit::WebProcessConnection::removePluginControllerProxy):
28325 Remove the plug-in controller proxy from the map. If the last plug-in controller
28326 proxy went away, invalidate the connection.
28328 * WebKit2.xcodeproj/project.pbxproj:
28331 2010-09-28 Adam Roben <aroben@apple.com>
28333 Don't call NPP_SetWindow until the plugin's HWND has been
28336 Test: platform/win/plugins/window-geometry-initialized-before-set-window.html
28338 Reviewed by Anders Carlsson.
28340 Fixes <http://webkit.org/b/46716> <rdar://problem/8482014> Full-page
28341 Adobe Reader does not paint until window is resized
28343 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
28344 (WebKit::NetscapePlugin::geometryDidChange): Call NPP_SetWindow after
28345 updating the platform (HWND) geometry.
28347 2010-09-28 Anders Carlsson <andersca@apple.com>
28349 Out of process plug-ins shouldn't be turned on just yet...
28353 2010-09-28 Andras Becsi <abecsi@webkit.org>
28355 Reviewed by Kenneth Rohde Christiansen.
28357 [Qt] ProcessLauncherHelper should not leave stray socket files in /tmp.
28358 https://bugs.webkit.org/show_bug.cgi?id=46722
28360 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
28361 (WebKit::ProcessLauncherHelper::~ProcessLauncherHelper): close the socket.
28362 (WebKit::ProcessLauncherHelper::ProcessLauncherHelper): delete the helper on exit.
28364 2010-09-28 Benjamin Poulain <benjamin.poulain@nokia.com>
28366 Reviewed by Andreas Kling.
28368 [Qt] Remove support for Qt 4.5
28369 https://bugs.webkit.org/show_bug.cgi?id=46718
28371 Remove the code for versions of Qt prior to 4.6.
28373 * UIProcess/API/qt/qgraphicswkview.cpp:
28374 (QGraphicsWKView::event):
28375 * UIProcess/API/qt/qwkpage.cpp:
28376 * UIProcess/API/qt/qwkpage_p.h:
28378 2010-09-28 Andras Becsi <abecsi@webkit.org>
28380 Reviewed by Csaba Osztrogonác.
28382 [Qt] Fix generation of WebPageMessages.h and WebPageMessageReceiver.cpp
28383 to avoid rebuilding them every time.
28385 * DerivedSources.pro: add target to extra compilers.
28387 2010-09-27 Brady Eidson <beidson@apple.com>
28389 Reviewed by Sam Weinig.
28391 https://bugs.webkit.org/show_bug.cgi?id=46688 - Add an API to get the WKBackForwardItem at an arbitrary index.
28393 * UIProcess/API/C/WKBackForwardList.cpp:
28394 (WKBackForwardListGetItemAtIndex):
28395 * UIProcess/API/C/WKBackForwardList.h:
28397 2010-09-27 Anders Carlsson <andersca@apple.com>
28399 Turns out people other than me might want to build this thing.
28401 * WebKit2.xcodeproj/project.pbxproj:
28403 2010-09-27 Darin Adler <darin@apple.com>
28405 * Scripts/webkit2: Added property svn:ignore.
28407 2010-09-27 Anders Carlsson <andersca@apple.com>
28409 Reviewed by Sam Weinig.
28411 * Platform/CoreIPC/Connection.h:
28412 (CoreIPC::Connection::sendSync):
28413 Add new sendSync overload that takes a message struct.
28415 * PluginProcess/WebProcessConnection.cpp:
28416 (WebKit::WebProcessConnection::didReceiveSyncMessage):
28417 Call didReceiveSyncWebProcessConnectionMessage.
28419 * WebProcess/Plugins/PluginProcessConnection.cpp:
28420 (WebKit::PluginProcessConnection::addPluginProxy):
28421 Add the plug-in proxy to the map.
28423 (WebKit::PluginProcessConnection::removePluginProxy):
28424 Remove the plug-in proxy from the map. If the map is empty, disconnect from the
28427 * WebProcess/Plugins/PluginProxy.cpp:
28428 (WebKit::generatePluginInstanceID):
28429 Generate a unique plug-in instance ID.
28431 (WebKit::PluginProxy::PluginProxy):
28432 Add the plug-in proxy to the map.
28434 (WebKit::PluginProxy::~PluginProxy):
28435 Remove the plug-in proxy from the map.
28437 (WebKit::PluginProxy::initialize):
28438 Ask the plug-in process to create a plug-in.
28440 2010-09-27 Sam Weinig <sam@webkit.org>
28442 Reviewed by Anders Carlsson.
28444 Add remaining event handlers to WKView.
28446 Also fixes <rdar://problem/8467058>
28447 Does not get decidePolicyForNavigationAction callback when middle clicking a link
28449 - Adds otherButton and rightButton NSResponder event handlers to WKView.
28450 - Renames WebPageProxy event handlers to use the handle prefix.
28451 - Uses a macro to reduce duplicate code for WKView event handlers.
28452 - Add view parameter to WebEventFactory::createWebKeyboardEvent on the mac
28455 * Shared/mac/WebEventFactory.h:
28456 * Shared/mac/WebEventFactory.mm:
28457 (WebKit::WebEventFactory::createWebKeyboardEvent):
28458 * UIProcess/API/mac/WKView.mm:
28459 * UIProcess/API/qt/qwkpage.cpp:
28460 (QWKPagePrivate::keyPressEvent):
28461 (QWKPagePrivate::keyReleaseEvent):
28462 (QWKPagePrivate::mouseMoveEvent):
28463 (QWKPagePrivate::mousePressEvent):
28464 (QWKPagePrivate::mouseReleaseEvent):
28465 (QWKPagePrivate::mouseDoubleClickEvent):
28466 (QWKPagePrivate::wheelEvent):
28467 (QWKPagePrivate::touchEvent):
28468 * UIProcess/WebPageProxy.cpp:
28469 (WebKit::WebPageProxy::handleMouseEvent):
28470 (WebKit::WebPageProxy::handleWheelEvent):
28471 (WebKit::WebPageProxy::handleKeyboardEvent):
28472 (WebKit::WebPageProxy::handleTouchEvent):
28473 * UIProcess/WebPageProxy.h:
28474 * UIProcess/win/WebView.cpp:
28475 (WebKit::WebView::onMouseEvent):
28476 (WebKit::WebView::onWheelEvent):
28477 (WebKit::WebView::onKeyEvent):
28479 2010-09-27 Ivan Krstić <ike@apple.com>
28481 Reviewed by Mark Rowe.
28483 <rdar://problem/8348990> / <http://webkit.org/b/46633> Make it possible to disable sandboxing of
28484 web process via runtime flag.
28486 Enable sandboxing of the web process only if the DisableSandbox user default is not set for the
28489 * WebProcess/mac/WebProcessMainMac.mm:
28490 (WebKit::WebProcessMain):
28492 2010-09-27 Anders Carlsson <andersca@apple.com>
28494 Reviewed by Adam Roben.
28496 Add WebProcessConnection CreatePlugin message
28497 https://bugs.webkit.org/show_bug.cgi?id=46668
28499 * DerivedSources.make:
28500 Add WebProcessConnection.
28502 * Platform/CoreIPC/HandleMessage.h:
28503 Add handleMessage overload for a sync message with two input parameters
28504 and one output parameter.
28506 (CoreIPC::handleMessage):
28507 * Platform/CoreIPC/MessageID.h:
28508 Add MessageClassWebProcessConnection.
28510 * PluginProcess/WebProcessConnection.cpp:
28511 (WebKit::WebProcessConnection::createPlugin):
28514 * PluginProcess/WebProcessConnection.messages.in: Added.
28515 * Scripts/webkit2/messages.py:
28516 Include headers directly for types that we believe are nested structs.
28518 * Scripts/webkit2/messages_unittest.py:
28519 Update expected results.
28521 * WebKit2.xcodeproj/project.pbxproj:
28524 2010-09-27 Anders Carlsson <andersca@apple.com>
28526 Reviewed by Adam Roben.
28528 Add support for autogenerating synchronous message handlers
28529 https://bugs.webkit.org/show_bug.cgi?id=46654
28531 * Scripts/webkit2/messages.py:
28532 (reply_type): Renamed from reply_base_class.
28533 (delayed_reply_type): Renamed from delayed_reply_base_class.
28534 (message_to_struct_declaration): Add a Reply type typedef.
28535 (async_case_statement): Rename from case_statement.
28536 (generate_message_handler): Generate a sync message handler as well.
28538 * Scripts/webkit2/messages_unittest.py:
28539 Update expected results.
28541 2010-09-27 Andras Becsi <abecsi@webkit.org>
28543 Reviewed by Csaba Osztrogonác.
28545 [Qt] Make generate-forwarding-headers.pl aware of moved headers
28546 https://bugs.webkit.org/show_bug.cgi?id=46621
28548 * generate-forwarding-headers.pl:
28550 2010-09-27 Sam Weinig <sam@webkit.org>
28552 Reviewed by Anders Carlsson.
28554 The mouseDidMoveOverElement callback in the injected bundle should include modifier info
28555 https://bugs.webkit.org/show_bug.cgi?id=46629
28557 - Moves event related API enums to WKEvent.h which can be shared between
28558 both the bundle and the main API.
28560 * Shared/API/c/WKEvent.h: Added.
28561 * Shared/API/c/WKSharedAPICast.h:
28563 * UIProcess/API/C/WKAPICast.h:
28564 * UIProcess/API/C/WKPage.h:
28565 * WebKit2.xcodeproj/project.pbxproj:
28566 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
28567 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
28568 (WebKit::InjectedBundlePageUIClient::mouseDidMoveOverElement):
28569 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
28570 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
28571 (WebKit::WebChromeClient::mouseDidMoveOverElement):
28572 * win/WebKit2.vcproj:
28573 * win/WebKit2Generated.make:
28575 2010-09-27 Adam Roben <aroben@apple.com>
28577 Give mouse wheel events the right coordinates on Windows
28579 Fixes <http://webkit.org/b/46625> <rdar://problem/8481161> Placing
28580 mouse cursor inside a scrollable area and scrolling the mouse wheel
28581 generally doesn't scroll the area
28583 Reviewed by Sam Weinig.
28585 * Shared/win/WebEventFactory.cpp:
28586 (WebKit::point): Renamed from positionForEvent. The old name implied
28587 that all events used the same relative origin, which is untrue.
28588 (WebKit::WebEventFactory::createWebMouseEvent): Changed to use point
28589 and ::ClientToScreen explicitly rather than relying on
28590 positionForEvent/globalPositionForEvent.
28591 (WebKit::WebEventFactory::createWebWheelEvent): Changed to use point
28592 and ::ScreenToClient. The old code was assuming that wheel event
28593 points are relative to the client area, but they are in fact relative
28596 2010-09-27 Sam Weinig <sam@webkit.org>
28598 Reviewed by Adam Roben.
28600 Opening links in a new window asserts while decoding decidePolicyForNewWindowAction.
28601 <rdar://problem/8479445>
28602 https://bugs.webkit.org/show_bug.cgi?id=46623
28604 * UIProcess/WebPageProxy.cpp:
28605 (WebKit::WebPageProxy::didReceiveMessage): Fix the order of decoding to
28606 match the order of encoding. (Swapping url and mouseButton).
28608 2010-09-27 Adam Roben <aroben@apple.com>
28610 Stop leaking the web process's process handle on Windows
28612 Fixes <http://webkit.org/b/46133> <rdar://problem/8455343>
28614 Reviewed by Anders Carlsson.
28616 * UIProcess/Launcher/ProcessLauncher.cpp:
28617 (WebKit::ProcessLauncher::invalidate): Call platformInvalidate.
28619 * UIProcess/Launcher/ProcessLauncher.h: Added platformInvalidate.
28621 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
28622 (WebKit::ProcessLauncher::platformInvalidate):
28623 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
28624 (WebKit::ProcessLauncher::platformInvalidate):
28627 * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
28628 (WebKit::ProcessLauncher::platformInvalidate): Close the process
28629 handle like MSDN says we should.
28631 2010-09-27 Adam Roben <aroben@apple.com>
28633 Don't double-free CERT_CONTEXTs when copying PlatformCertificateInfos
28636 Fixes <http://webkit.org/b/46536> <rdar://problem/8477292> REGRESSION
28637 (r68260): Crash in PlatformCertificateInfo::~PlatformCertificateInfo
28638 when navigating away from Gmail
28640 Reviewed by Sam Weinig.
28642 * Shared/win/PlatformCertificateInfo.cpp:
28643 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
28644 (WebKit::PlatformCertificateInfo::operator=):
28645 * Shared/win/PlatformCertificateInfo.h:
28646 Added a copy constructor and assigment operator to handle correctly
28647 reffing/dereffing the CERT_CONTEXTs when copying a
28648 PlatformCertificateInfo.
28650 2010-09-26 Sam Weinig <sam@webkit.org>
28652 Reviewed by Simon Fraser.
28654 MiniBrowser crashes when opening main menu item
28655 https://bugs.webkit.org/show_bug.cgi?id=46588
28657 * UIProcess/API/mac/PageClientImpl.mm:
28658 (WebKit::PageClientImpl::setEditCommandState): Don't allow default
28659 String -> NSString conversion to take place, and use the increasingly
28660 misnamed nsStringFromWebCoreString instead.
28662 2010-09-26 Sam Weinig <sam@webkit.org>
28664 Another windows build fix windows attempt.
28666 * win/WebKit2Common.vsprops:
28668 2010-09-26 Sam Weinig <sam@webkit.org>
28670 Another windows build fix windows attempt.
28672 * win/WebKit2Generated.make:
28674 2010-09-26 Sam Weinig <sam@webkit.org>
28676 Attempt to fix windows build.
28678 * win/WebKit2Common.vsprops:
28680 2010-09-26 Sam Weinig <sam@webkit.org>
28682 Attempt to fix Qt build.
28686 2010-09-26 Sam Weinig <sam@webkit.org>
28688 Reviewed by Anders Carlsson.
28690 Move shared WebKit2 API (used by both bundle and main API) to WebKit2/Shared/API
28691 https://bugs.webkit.org/show_bug.cgi?id=46587
28693 - Moves shared types (WKArrayRef, WKDictionaryRef, etc) to Shared/API/c.
28694 - Removes WKBundleBase.h and moves all opaque type declarations to WKBase.h (which
28695 moves to Shared/API/c).
28696 - Adds WKSharedAPICast.h which includes shared API casting logic and is included
28697 by both WKAPICast.h and WKBundleAPICast.h now. Moved to using macros for API
28698 mappings to reduce verbosity.
28699 - Move windows c API files from UIProcess/API/win to UIProcess/API/C/win.
28701 * Shared/API: Added.
28702 * Shared/API/c: Added.
28703 * Shared/API/c/WKArray.cpp: Copied from UIProcess/API/C/WKArray.cpp.
28704 * Shared/API/c/WKArray.h: Copied from UIProcess/API/C/WKArray.h.
28705 * Shared/API/c/WKBase.h: Copied from UIProcess/API/C/WKBase.h.
28706 * Shared/API/c/WKCertificateInfo.cpp: Copied from UIProcess/API/C/WKCertificateInfo.cpp.
28707 * Shared/API/c/WKCertificateInfo.h: Copied from UIProcess/API/C/WKCertificateInfo.h.
28708 * Shared/API/c/WKData.cpp: Copied from UIProcess/API/C/WKData.cpp.
28709 * Shared/API/c/WKData.h: Copied from UIProcess/API/C/WKData.h.
28710 * Shared/API/c/WKDictionary.cpp: Copied from UIProcess/API/C/WKDictionary.cpp.
28711 * Shared/API/c/WKDictionary.h: Copied from UIProcess/API/C/WKDictionary.h.
28712 * Shared/API/c/WKError.cpp: Copied from UIProcess/API/C/WKError.cpp.
28713 * Shared/API/c/WKError.h: Copied from UIProcess/API/C/WKError.h.
28714 * Shared/API/c/WKMutableArray.cpp: Copied from UIProcess/API/C/WKMutableArray.cpp.
28715 * Shared/API/c/WKMutableArray.h: Copied from UIProcess/API/C/WKMutableArray.h.
28716 * Shared/API/c/WKMutableDictionary.cpp: Copied from UIProcess/API/C/WKMutableDictionary.cpp.
28717 * Shared/API/c/WKMutableDictionary.h: Copied from UIProcess/API/C/WKMutableDictionary.h.
28718 * Shared/API/c/WKNumber.cpp: Copied from UIProcess/API/C/WKNumber.cpp.
28719 * Shared/API/c/WKNumber.h: Copied from UIProcess/API/C/WKNumber.h.
28720 * Shared/API/c/WKSerializedScriptValue.cpp: Copied from UIProcess/API/C/WKSerializedScriptValue.cpp.
28721 * Shared/API/c/WKSerializedScriptValue.h: Copied from UIProcess/API/C/WKSerializedScriptValue.h.
28722 * Shared/API/c/WKSharedAPICast.h: Copied from UIProcess/API/C/WKAPICast.h.
28723 * Shared/API/c/WKString.cpp: Copied from UIProcess/API/C/WKString.cpp.
28724 * Shared/API/c/WKString.h: Copied from UIProcess/API/C/WKString.h.
28725 * Shared/API/c/WKType.cpp: Copied from UIProcess/API/C/WKType.cpp.
28726 * Shared/API/c/WKType.h: Copied from UIProcess/API/C/WKType.h.
28727 * Shared/API/c/WKURL.cpp: Copied from UIProcess/API/C/WKURL.cpp.
28728 * Shared/API/c/WKURL.h: Copied from UIProcess/API/C/WKURL.h.
28729 * Shared/API/c/WKURLRequest.cpp: Copied from UIProcess/API/C/WKURLRequest.cpp.
28730 * Shared/API/c/WKURLRequest.h: Copied from UIProcess/API/C/WKURLRequest.h.
28731 * Shared/API/c/WKURLResponse.cpp: Copied from UIProcess/API/C/WKURLResponse.cpp.
28732 * Shared/API/c/WKURLResponse.h: Copied from UIProcess/API/C/WKURLResponse.h.
28733 * Shared/API/c/cf: Copied from UIProcess/API/C/cf.
28734 * Shared/API/c/mac: Copied from UIProcess/API/C/mac.
28735 * Shared/API/c/win: Added.
28736 * Shared/API/c/win/WKBaseWin.h: Copied from UIProcess/API/win/WKBaseWin.h.
28737 * Shared/API/c/win/WKCertificateInfoWin.cpp: Copied from UIProcess/API/C/win/WKCertificateInfoWin.cpp.
28738 * Shared/API/c/win/WKCertificateInfoWin.h: Copied from UIProcess/API/C/win/WKCertificateInfoWin.h.
28739 * UIProcess/API/C/WKAPICast.h: Replaced.
28740 * UIProcess/API/C/WKArray.cpp: Removed.
28741 * UIProcess/API/C/WKArray.h: Removed.
28742 * UIProcess/API/C/WKBase.h: Removed.
28743 * UIProcess/API/C/WKCertificateInfo.cpp: Removed.
28744 * UIProcess/API/C/WKCertificateInfo.h: Removed.
28745 * UIProcess/API/C/WKData.cpp: Removed.
28746 * UIProcess/API/C/WKData.h: Removed.
28747 * UIProcess/API/C/WKDictionary.cpp: Removed.
28748 * UIProcess/API/C/WKDictionary.h: Removed.
28749 * UIProcess/API/C/WKError.cpp: Removed.
28750 * UIProcess/API/C/WKError.h: Removed.
28751 * UIProcess/API/C/WKMutableArray.cpp: Removed.
28752 * UIProcess/API/C/WKMutableArray.h: Removed.
28753 * UIProcess/API/C/WKMutableDictionary.cpp: Removed.
28754 * UIProcess/API/C/WKMutableDictionary.h: Removed.
28755 * UIProcess/API/C/WKNumber.cpp: Removed.
28756 * UIProcess/API/C/WKNumber.h: Removed.
28757 * UIProcess/API/C/WKSerializedScriptValue.cpp: Removed.
28758 * UIProcess/API/C/WKSerializedScriptValue.h: Removed.
28759 * UIProcess/API/C/WKString.cpp: Removed.
28760 * UIProcess/API/C/WKString.h: Removed.
28761 * UIProcess/API/C/WKType.cpp: Removed.
28762 * UIProcess/API/C/WKType.h: Removed.
28763 * UIProcess/API/C/WKURL.cpp: Removed.
28764 * UIProcess/API/C/WKURL.h: Removed.
28765 * UIProcess/API/C/WKURLRequest.cpp: Removed.
28766 * UIProcess/API/C/WKURLRequest.h: Removed.
28767 * UIProcess/API/C/WKURLResponse.cpp: Removed.
28768 * UIProcess/API/C/WKURLResponse.h: Removed.
28769 * UIProcess/API/C/cf: Removed.
28770 * UIProcess/API/C/cf/WKStringCF.cpp: Removed.
28771 * UIProcess/API/C/cf/WKStringCF.h: Removed.
28772 * UIProcess/API/C/cf/WKURLCF.cpp: Removed.
28773 * UIProcess/API/C/cf/WKURLCF.h: Removed.
28774 * UIProcess/API/C/cf/WKURLRequestCF.cpp: Removed.
28775 * UIProcess/API/C/cf/WKURLRequestCF.h: Removed.
28776 * UIProcess/API/C/cf/WKURLResponseCF.cpp: Removed.
28777 * UIProcess/API/C/cf/WKURLResponseCF.h: Removed.
28778 * UIProcess/API/C/mac: Removed.
28779 * UIProcess/API/C/mac/WKCertificateInfoMac.h: Removed.
28780 * UIProcess/API/C/mac/WKCertificateInfoMac.mm: Removed.
28781 * UIProcess/API/C/mac/WKURLRequestNS.h: Removed.
28782 * UIProcess/API/C/mac/WKURLRequestNS.mm: Removed.
28783 * UIProcess/API/C/mac/WKURLResponseNS.h: Removed.
28784 * UIProcess/API/C/mac/WKURLResponseNS.mm: Removed.
28785 * UIProcess/API/C/win/WKAPICastWin.h: Copied from UIProcess/API/win/WKAPICastWin.h.
28786 * UIProcess/API/C/win/WKBaseWin.h: Copied from UIProcess/API/win/WKBaseWin.h.
28787 * UIProcess/API/C/win/WKCertificateInfoWin.cpp: Removed.
28788 * UIProcess/API/C/win/WKCertificateInfoWin.h: Removed.
28789 * UIProcess/API/C/win/WKView.cpp: Copied from UIProcess/API/win/WKView.cpp.
28790 * UIProcess/API/C/win/WKView.h: Copied from UIProcess/API/win/WKView.h.
28791 * UIProcess/API/win: Removed.
28792 * UIProcess/API/win/WKAPICastWin.h: Removed.
28793 * UIProcess/API/win/WKBaseWin.h: Removed.
28794 * UIProcess/API/win/WKView.cpp: Removed.
28795 * UIProcess/API/win/WKView.h: Removed.
28797 * WebKit2.xcodeproj/project.pbxproj:
28798 * WebProcess/InjectedBundle/API/c/WKBundle.h:
28799 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
28800 * WebProcess/InjectedBundle/API/c/WKBundleBase.h: Removed.
28801 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
28802 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
28803 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
28804 * WebProcess/InjectedBundle/API/c/WKBundleInitialize.h:
28805 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h:
28806 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
28807 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
28808 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
28809 * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.h:
28810 * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h:
28811 * win/WebKit2.vcproj:
28812 * win/WebKit2Generated.make:
28814 2010-09-26 Anders Carlsson <andersca@apple.com>
28816 Fix non-Mac builds.
28818 * Platform/SharedMemory.h:
28819 * Platform/mac/SharedMemoryMac.cpp:
28820 (WebKit::SharedMemory::Handle::isNull):
28822 2010-09-26 Anders Carlsson <andersca@apple.com>
28824 Reviewed by Sam Weinig.
28826 Add PluginProxy class
28827 https://bugs.webkit.org/show_bug.cgi?id=46586
28829 * WebKit2.xcodeproj/project.pbxproj:
28832 * WebProcess/Plugins/PluginProxy.cpp: Added.
28833 * WebProcess/Plugins/PluginProxy.h: Added.
28835 * WebProcess/WebPage/WebPage.cpp:
28836 (WebKit::WebPage::createPlugin):
28837 Create a PluginProxy wrapper.
28839 2010-09-26 Anders Carlsson <andersca@apple.com>
28841 Reviewed by Sam Weinig.
28843 Make it possible to encode null SharedMemory::Handle objects
28844 https://bugs.webkit.org/show_bug.cgi?id=46585
28846 * Platform/SharedMemory.h:
28847 (WebKit::SharedMemory::Handle::isNull):
28850 * Platform/mac/SharedMemoryMac.cpp:
28851 (WebKit::SharedMemory::Handle::encode):
28854 (WebKit::SharedMemory::create):
28855 Bail if we see a null handle. Also work around a kernel bug where
28856 mach_vm_map fails if the given address to map is already mapped, even if
28857 VM_FLAG_ANYWHERE is set.
28859 2010-09-26 Anders Carlsson <andersca@apple.com>
28861 Reviewed by Sam Weinig.
28863 Add BackingStore class
28864 https://bugs.webkit.org/show_bug.cgi?id=46584
28866 * Shared/BackingStore.cpp: Added.
28867 (WebKit::BackingStore::create):
28868 Create a backing store backed by fastMalloc memory.
28870 (WebKit::BackingStore::createSharable):
28871 Create a backing store backed by shared memory.
28873 (WebKit::BackingStore::createHandle):
28874 Create a handle that can be sent over the wire.
28876 (WebKit::BackingStore::resize):
28877 Resize the backing store memory.
28879 (WebKit::BackingStore::data):
28880 Return the backing store data.
28882 * Shared/mac/BackingStoreMac.mm: Added.
28883 (WebKit::BackingStore::createGraphicsContext):
28884 Create a graphics context that will paint into the backing store.
28886 (WebKit::BackingStore::paint):
28887 Paint the backing store in a graphics context.
28889 * WebKit2.xcodeproj/project.pbxproj:
28892 2010-09-26 Anders Carlsson <andersca@apple.com>
28894 Reviewed by Sam Weinig.
28896 Establish a connection between the plug-in process and the web process
28897 https://bugs.webkit.org/show_bug.cgi?id=46583
28899 * PluginProcess/PluginProcess.cpp:
28900 (WebKit::PluginProcess::didReceiveMessage):
28901 Call the auto-generated didReceivePluginProcessMessage.
28903 * PluginProcess/PluginProcess.h:
28904 Add didReceivePluginProcessMessage declaration.
28906 * PluginProcess/PluginProcess.messages.in:
28907 Add new "CreateWebProcessConnection" message.
28909 * PluginProcess/WebProcessConnection.cpp:
28910 (WebKit::WebProcessConnection::didReceiveMessage):
28911 (WebKit::WebProcessConnection::didReceiveSyncMessage):
28912 (WebKit::WebProcessConnection::didClose):
28913 (WebKit::WebProcessConnection::didReceiveInvalidMessage):
28914 Add stubbed out member functions.
28916 * UIProcess/Plugins/PluginProcessManager.cpp:
28917 (WebKit::PluginProcessManager::getPluginProcessConnection):
28918 Ask the plug-in process proxy to create a connection.
28920 * UIProcess/Plugins/PluginProcessProxy.cpp:
28921 (WebKit::PluginProcessProxy::createWebProcessConnection):
28922 Add the WebProcessProxy and the reply encoder to the queue of pending replies.
28923 If the process is still launching, keep track of how many pending requests we have, otherwise
28924 just send the request.
28926 (WebKit::PluginProcessProxy::didReceiveMessage):
28927 Call the auto-generated didReceivePluginProcessMessage.
28929 (WebKit::PluginProcessProxy::didFinishLaunching):
28930 Send all pending connection requests.
28932 (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
28933 Get the first pending reply and send it with the mach port.
28935 * WebKit2.xcodeproj/project.pbxproj:
28936 Actually compile PluginProcessMessageReceiver.
28938 * WebProcess/Plugins/PluginProcessConnection.cpp:
28939 (WebKit::PluginProcessConnection::PluginProcessConnection):
28940 Create a CoreIPC connection.
28942 (WebKit::PluginProcessConnection::didReceiveMessage):
28943 (WebKit::PluginProcessConnection::didClose):
28944 (WebKit::PluginProcessConnection::didReceiveInvalidMessage):
28945 Add stubbed out member functions.
28947 * WebProcess/WebPage/WebPage.cpp:
28948 (WebKit::WebPage::createPlugin):
28949 Ask the plug-in process connection manager for a connection.
28951 2010-09-26 Anders Carlsson <andersca@apple.com>
28953 Reviewed by Sam Weinig.
28955 Generated message handlers should include argument coder headers for some types
28956 https://bugs.webkit.org/show_bug.cgi?id=46582
28958 * Scripts/webkit2/messages.py:
28959 When determining which headers to use when generating a message handler, consider the
28960 argument coder headers.
28962 * Scripts/webkit2/messages_unittest.py:
28963 Update test result.
28965 2010-09-24 Sam Weinig <sam@webkit.org>
28969 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
28971 2010-09-24 Enrica Casucci <enrica@apple.com>
28973 One more build fix.
28975 * UIProcess/API/qt/qwkpage.cpp:
28976 (QWKPagePrivate::setEditCommandState):
28978 2010-09-24 Sam Weinig <sam@webkit.org>
28980 Reviewed by Darin Adler.
28982 Implement WebKit2 callback equivalent to -[WebUIDelegate mouseDidMoveOverElement:modifierFlags:]
28983 <rdar://problem/8359279>
28984 https://bugs.webkit.org/show_bug.cgi?id=46546
28986 - Adds new WKBundleHitTestResultRef object to represent a content under a cursor.
28987 - Adds new Bundle and UI level mouseDidMoveOverElement UIClient callbacks, with
28988 pass through userData to communicate context up to the UIProcess
28990 * Shared/APIObject.h:
28991 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
28992 * UIProcess/API/C/WKPage.h:
28993 * UIProcess/API/qt/qwkpage.cpp:
28994 (QWKPage::QWKPage):
28995 * UIProcess/WebPageProxy.cpp:
28996 (WebKit::WebPageProxy::didReceiveMessage):
28997 (WebKit::WebPageProxy::mouseDidMoveOverElement):
28998 * UIProcess/WebPageProxy.h:
28999 * UIProcess/WebUIClient.cpp:
29000 (WebKit::WebUIClient::mouseDidMoveOverElement):
29001 * UIProcess/WebUIClient.h:
29003 * WebKit2.xcodeproj/project.pbxproj:
29004 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
29005 * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
29006 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp: Added.
29007 (WKBundleHitTestResultGetTypeID):
29008 (WKBundleHitTestResultGetNodeHandle):
29009 (WKBundleHitTestResultGetFrame):
29010 (WKBundleHitTestResultCopyAbsoluteLinkURL):
29011 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h: Added.
29012 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
29013 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: Added.
29014 (WebKit::InjectedBundleHitTestResult::create):
29015 (WebKit::InjectedBundleHitTestResult::nodeHandle):
29016 (WebKit::InjectedBundleHitTestResult::webFrame):
29017 (WebKit::InjectedBundleHitTestResult::absoluteLinkURL):
29018 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: Added.
29019 (WebKit::InjectedBundleHitTestResult::coreHitTestResult):
29020 (WebKit::InjectedBundleHitTestResult::InjectedBundleHitTestResult):
29021 (WebKit::InjectedBundleHitTestResult::type):
29022 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
29023 (WebKit::InjectedBundlePageUIClient::mouseDidMoveOverElement):
29024 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
29025 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
29026 (WebKit::WebChromeClient::mouseDidMoveOverElement):
29027 * win/WebKit2.vcproj:
29029 2010-09-24 Enrica Casucci <enrica@apple.com>
29033 * UIProcess/API/qt/qwkpage_p.h:
29034 * UIProcess/win/WebView.cpp:
29035 (WebKit::WebView::setEditCommandState):
29036 * UIProcess/win/WebView.h:
29038 2010-09-24 Enrica Casucci <enrica@apple.com>
29040 Reviewed by Darin Adler.
29042 Maui: Pasteboard support (42317)
29043 <rdar://problem/7660537>
29044 https://bugs.webkit.org/show_bug.cgi?id=42317
29046 This is the final piece of the pasteboard support for WebKit2.
29047 The menu validation has been hooked up for Mac. The validation is
29048 performed asynchronously and the menu entries updated while the menu
29049 is visible. I've created a generic mechanism to call editing commands
29050 that will make it easy to add new commands we will support in the future.
29051 The commands supported now are copy, cut, paste, pasteAsPlainText, delete
29054 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Added DidValidateMenuItem.
29055 * UIProcess/API/mac/PageClientImpl.h: Added setEditCommandState.
29056 * UIProcess/API/mac/PageClientImpl.mm: Added setEditCommandState implementation.
29057 (WebKit::PageClientImpl::setEditCommandState): Added.
29058 * UIProcess/API/mac/WKView.mm:
29059 (WebCore::MenuItemInfo::MenuItemInfo):
29060 (-[WKView initWithFrame:pageNamespaceRef:]):
29061 (createSelectorExceptionMap): Added.
29062 (commandNameForSelector): Added.
29063 (-[WKView validateUserInterfaceItem:]): Added implementation.
29064 (-[WKView _setUserInterfaceItemState:enabled:state:]): Added.
29065 * UIProcess/API/mac/WKViewInternal.h:
29066 * UIProcess/PageClient.h:
29067 * UIProcess/WebPageProxy.cpp:
29068 (WebKit::WebPageProxy::validateMenuItem):
29069 (WebKit::WebPageProxy::executeEditCommand):
29070 (WebKit::WebPageProxy::didReceiveMessage): Now processing also
29071 DidValidateMenuItem.
29072 * UIProcess/WebPageProxy.h:
29073 * WebProcess/WebPage/WebPage.cpp:
29074 (WebKit::WebPage::executeEditingCommand): Fixed.
29075 (WebKit::WebPage::isEditingCommandEnabled): Fixed.
29076 (WebKit::WebPage::validateMenuItem): Added.
29077 (WebKit::WebPage::executeEditCommand): Added.
29078 * WebProcess/WebPage/WebPage.h: Removed cut, copy, paste, selectAll.
29079 Added validateMenuItem and executeEditCommand.
29080 * WebProcess/WebPage/WebPage.messages.in: Added new messages.
29081 * UIProcess/API/qt/qwkpage.cpp:
29082 (WebKit::QWKPage::setEditCommandState): Added.
29083 * UIProcess/API/qt/qwkpage_p.h: Added
29086 2010-09-24 Anders Carlsson <andersca@apple.com>
29090 * WebKit2.xcodeproj/project.pbxproj:
29092 2010-09-24 Adam Roben <aroben@apple.com>
29094 Give windowed Netscape plugins their own window
29096 The plugin window is a child of the WebView's window. The WebView's
29097 window is in the UI process, and the plugin's window is in the web
29098 process (though someday it will be in the plugin process), but Windows
29099 mostly handles this just fine. Right now we move the plugin's window
29100 in the web process, but we need to do it at paint time in the UI
29101 process instead so that the plugin windows will stay in sync with the
29102 web page's contents. There are also a whole bunch of plugin quirks
29103 that WebKit1 supports that we don't support yet, but that's a task for
29106 Fixes <http://webkit.org/b/44428> Get basic in-process windowed
29107 plugins working in WebKit2 on Windows
29109 Reviewed by Anders Carlsson.
29111 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29112 (WebKit::NetscapePlugin::destroy):
29113 (WebKit::NetscapePlugin::geometryDidChange):
29114 Call the new platform-specific functions.
29116 * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added
29117 platformDestroy/platformGeometryDidChange, and an m_window member on
29118 Windows to hold our window.
29120 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
29121 (WebKit::NetscapePlugin::platformDestroy):
29122 (WebKit::NetscapePlugin::platformGeometryDidChange):
29123 * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
29124 (WebKit::NetscapePlugin::platformDestroy):
29125 (WebKit::NetscapePlugin::platformGeometryDidChange):
29128 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
29129 (WebKit::registerPluginView): Added. The code came from
29130 WebCore's PluginViewWin.cpp, though I changed it to add one to
29131 COLOR_WINDOW, since that's what MSDN says we should do.
29132 (WebKit::NetscapePlugin::platformPostInitialize): If we're windowed,
29133 create a window for the plugin and make it a child of the WebView's
29134 window. If we're not windowed, just set m_window to 0.
29135 (WebKit::NetscapePlugin::platformDestroy): Destroy our window if we
29136 have one and it hasn't been destroyed already.
29137 (WebKit::NetscapePlugin::platformGeometryDidChange): Update our
29138 window's size and position.
29140 * WebProcess/Plugins/PluginController.h:
29141 * WebProcess/Plugins/PluginView.cpp:
29142 (WebKit::PluginView::nativeParentWindow):
29143 * WebProcess/Plugins/PluginView.h:
29144 Added nativeParentWindow on Windows to return the WebView's window.
29146 2010-09-24 Adam Roben <aroben@apple.com>
29148 Pass the WebView's HWND over to the web process
29150 The HWND is packaged up in the WebPageCreationParameters and stored in
29151 the WebPage. It will eventually be used by windowed plugins.
29153 Fixes <http://webkit.org/b/46512> WebPage needs access to its
29154 corresponding HWND from the UI process
29156 Reviewed by Anders Carlsson.
29158 * Shared/WebPageCreationParameters.cpp:
29159 (WebKit::WebPageCreationParameters::encode):
29160 (WebKit::WebPageCreationParameters::decode):
29161 Encode and decode the HWND as a uint64_t.
29163 * Shared/WebPageCreationParameters.h: Added a nativeWindow member to
29166 * UIProcess/PageClient.h: Added a nativeWindow function on Windows.
29168 * UIProcess/WebPageProxy.cpp:
29169 (WebKit::WebPageProxy::creationParameters): Store the HWND from the
29170 page client in the struct to be sent to the web process.
29172 * UIProcess/win/WebView.cpp:
29173 (WebKit::WebView::WebView): Moved the call to initializeWebPage after
29174 we've created our window so that our window will be ready when
29175 WebPageProxy asks for it to send it to the web process.
29176 (WebKit::WebView::nativeWindow): Added. Just returns our window.
29178 * UIProcess/win/WebView.h: Added nativeWindow.
29180 * WebProcess/WebPage/WebPage.cpp:
29181 (WebKit::WebPage::WebPage): Store the HWND in the new m_nativeWindow
29184 * WebProcess/WebPage/WebPage.h:
29185 (WebKit::WebPage::nativeWindow): Added this simple getter.
29187 2010-09-24 Adam Roben <aroben@apple.com>
29189 Add WebPageProxy::creationParameters
29191 Fixes <http://webkit.org/b/46510> WebPageProxy has a bunch of
29192 duplicated WebPageCreationParameters code
29194 Reviewed by Anders Carlsson.
29196 * UIProcess/WebPageProxy.cpp:
29197 (WebKit::WebPageProxy::initializeWebPage):
29198 (WebKit::WebPageProxy::reinitializeWebPage):
29199 (WebKit::WebPageProxy::didReceiveSyncMessage):
29200 Use creationParameters.
29202 (WebKit::WebPageProxy::creationParameters):
29203 * UIProcess/WebPageProxy.h:
29204 Added creationParameters.
29206 2010-09-24 Adam Roben <aroben@apple.com>
29208 Make WebPage::create take a WebPageCreationParameter struct
29210 It only makes sense, after all.
29212 Fixes <http://webkit.org/b/46502>.
29214 Reviewed by Anders Carlsson.
29216 * WebProcess/WebPage/WebPage.cpp:
29217 (WebKit::WebPage::create):
29218 (WebKit::WebPage::WebPage):
29219 * WebProcess/WebPage/WebPage.h:
29220 Changed to take a WebPageCreationParameters struct.
29222 * WebProcess/WebProcess.cpp:
29223 (WebKit::WebProcess::createWebPage): Changed to pass a
29224 WebPageCreationParameters struct.
29226 2010-09-24 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
29228 Reviewed by Andreas Kling.
29230 Expose all WebKit2 C API preferences via the Qt API.
29232 Also rename a wrongly named C method (was using Web instead of WK).
29234 * UIProcess/API/C/WKPreferences.cpp:
29235 (WKPreferencesCopyStandardFontFamily):
29236 * UIProcess/API/C/WKPreferences.h:
29237 * UIProcess/API/qt/qwkpreferences.cpp:
29238 (QWKPreferences::setFontFamily):
29239 (QWKPreferences::fontFamily):
29240 (QWKPreferences::testAttribute):
29241 (QWKPreferences::setAttribute):
29242 * UIProcess/API/qt/qwkpreferences.h:
29244 2010-09-24 Anders Carlsson <andersca@apple.com>
29246 Reviewed by Adam Roben.
29248 Fill in more of PluginProcess
29249 https://bugs.webkit.org/show_bug.cgi?id=46534
29251 * DerivedSources.make:
29252 Add PluginProcessProxy.
29254 * Platform/CoreIPC/MessageID.h:
29255 Add a MessageClassPluginProcessProxy message class.
29257 * PluginProcess/PluginProcess.cpp:
29258 (WebKit::PluginProcess::PluginProcess):
29259 Initialize the shutdown timer.
29261 (WebKit::PluginProcess::initializeConnection):
29262 Rename this to initializeConnection to avoid conflicts in the CoreIPC message handler.
29264 (WebKit::PluginProcess::removeWebProcessConnection):
29265 Remove the given web process connection from our vector.
29267 (WebKit::PluginProcess::initialize):
29268 Create the plug-in module.
29270 (WebKit::PluginProcess::createWebProcessConnection):
29271 Create a connection handle and send it to the UI process.
29273 (WebKit::PluginProcess::shutdownTimerFired):
29276 * PluginProcess/mac/PluginProcessMainMac.mm:
29277 (WebKit::PluginProcessMain):
29278 Call initializeConnection.
29280 * Scripts/webkit2/messages.py:
29281 Add CoreIPC::MachPort as a special case.
29283 * Scripts/webkit2/messages_unittest.py:
29286 * UIProcess/Plugins/PluginProcessProxy.cpp:
29287 (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
29288 Add empty function.
29290 * UIProcess/Plugins/PluginProcessProxy.messages.in: Added.
29291 * WebKit2.xcodeproj/project.pbxproj:
29292 Add PluginProcessProxy.messages.in.
29295 Add an ENABLE_PLUGIN_PROCESS #define which is 0 for now.
29297 2010-09-24 Anders Carlsson <andersca@apple.com>
29299 Reviewed by Adam Roben.
29301 messages_unittest.py should compare the generated results against expected results
29302 https://bugs.webkit.org/show_bug.cgi?id=46490
29304 * Scripts/webkit2/messages_unittest.py:
29306 2010-09-24 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
29308 Reviewed by Antonio Gomes.
29310 Make it possible to get the page preferences for Qt WebKit2 port.
29312 * UIProcess/API/qt/qwkpage.cpp:
29313 (QWKPagePrivate::QWKPagePrivate):
29314 (QWKPage::preferences):
29315 * UIProcess/API/qt/qwkpage.h:
29316 * UIProcess/API/qt/qwkpage_p.h:
29317 * UIProcess/API/qt/qwkpreferences.cpp:
29318 (QWKPreferencesPrivate::createPreferences):
29319 (QWKPreferencesPrivate::createSharedPreferences):
29320 (QWKPreferences::sharedPreferences):
29321 (QWKPreferences::QWKPreferences):
29322 * UIProcess/API/qt/qwkpreferences.h:
29324 2010-09-24 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
29326 Reviewed by Sam Weinig.
29328 Add WebKit2 C API for setting/getting frame flattening and plugin settings.
29329 http://webkit.org/b/46477
29331 NOTE: The plugin setting was partly done but there was no C API.
29333 * Shared/WebPreferencesStore.cpp:
29334 (WebKit::WebPreferencesStore::WebPreferencesStore):
29335 (WebKit::WebPreferencesStore::encode):
29336 (WebKit::WebPreferencesStore::decode):
29337 * Shared/WebPreferencesStore.h:
29338 * UIProcess/API/C/WKPreferences.cpp:
29339 (WKPreferencesSetFrameFlatteningEnabled):
29340 (WKPreferencesGetFrameFlatteningEnabled):
29341 (WKPreferencesSetPluginsEnabled):
29342 (WKPreferencesGetPluginsEnabled):
29343 * UIProcess/API/C/WKPreferences.h:
29344 * UIProcess/WebPreferences.cpp:
29345 (WebKit::WebPreferences::setFrameFlatteningEnabled):
29346 (WebKit::WebPreferences::frameFlatteningEnabled):
29347 (WebKit::WebPreferences::setPluginsEnabled):
29348 (WebKit::WebPreferences::pluginsEnabled):
29349 * UIProcess/WebPreferences.h:
29350 * WebProcess/WebPage/WebPage.cpp:
29351 (WebKit::WebPage::WebPage):
29352 (WebKit::WebPage::preferencesDidChange):
29354 2010-09-24 Adam Roben <aroben@apple.com>
29356 Add WebPageCreationParameters
29358 This struct is used in any messages that end up creating a WebPage.
29359 Using a struct instead of individual parameters will make it easier to
29360 add platform-specific data, such as an HWND on Windows.
29362 Fixes <http://webkit.org/b/46470> Pass parameters for creating a
29363 WebPage in a single struct
29365 Reviewed by Anders Carlsson.
29367 * Shared/WebPageCreationParameters.cpp: Added.
29368 (WebKit::WebPageCreationParameters::encode):
29369 (WebKit::WebPageCreationParameters::decode):
29370 Simple encode/decode functions.
29372 * Shared/WebPageCreationParameters.h: Added.
29374 * UIProcess/WebPageProxy.cpp:
29375 (WebKit::WebPageProxy::initializeWebPage):
29376 (WebKit::WebPageProxy::reinitializeWebPage):
29377 (WebKit::WebPageProxy::didReceiveSyncMessage):
29378 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
29379 (WebKit::WebChromeClient::createWindow):
29380 * WebProcess/WebProcess.cpp:
29381 (WebKit::WebProcess::createWebPage):
29382 (WebKit::WebProcess::didReceiveMessage):
29383 * WebProcess/WebProcess.h:
29384 Changed to use WebPageCreationParameters instead of passing the
29385 values individually.
29388 * WebKit2.xcodeproj/project.pbxproj:
29389 * win/WebKit2.vcproj:
29390 Added WebPageCreationParameters.
29392 2010-09-24 Adam Roben <aroben@apple.com>
29394 Stop pretending that we know how to encode a DrawingArea and just
29395 encode the DrawingAreaInfo directly
29397 DrawingAreaBase and friends were trying to hide the fact that they
29398 were just encoding/decoding a DrawingAreaInfo behind the scenes, but
29399 everyone knew what was going on and it was getting embarassing.
29401 Fixes <http://webkit.org/b/46469> Code to encode/decode a
29402 DrawingAreaInfo is confusing
29404 Reviewed by Anders Carlsson.
29406 * Shared/DrawingAreaBase.cpp: Removed.
29407 * Shared/DrawingAreaBase.h: Removed encode/decode.
29408 * UIProcess/ChunkedUpdateDrawingAreaProxy.h: Removed encode override.
29410 * UIProcess/WebPageProxy.cpp:
29411 (WebKit::WebPageProxy::initializeWebPage):
29412 (WebKit::WebPageProxy::reinitializeWebPage):
29413 (WebKit::WebPageProxy::didReceiveSyncMessage):
29414 Changed to encode the DrawingAreaInfo directly.
29417 * WebKit2.xcodeproj/project.pbxproj:
29418 * win/WebKit2.vcproj:
29419 Removed DrawingAreaBase.cpp.
29421 2010-09-24 Adam Roben <aroben@apple.com>
29423 Expose a whole DrawingAreaInfo instead of its constituent parts from
29426 This is just a step toward cleaning up how drawing areas are
29429 Fixes <http://webkit.org/b/46468> DrawingAreaInfo should be used in
29432 Reviewed by Anders Carlsson.
29434 * Shared/DrawingAreaBase.cpp:
29435 (WebKit::DrawingAreaBase::encode): Changed to use info().
29437 * Shared/DrawingAreaBase.h:
29438 (WebKit::DrawingAreaBase::info): Added. Replaces type() and id().
29439 (WebKit::DrawingAreaBase::DrawingAreaBase): Changed to store a
29440 DrawingAreaInfo instead of storing its constituent parts.
29442 * UIProcess/API/mac/WKView.mm:
29443 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
29444 * UIProcess/LayerBackedDrawingAreaProxy.cpp:
29445 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
29446 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
29447 * WebProcess/WebPage/WebPage.cpp:
29448 Updated to use info().
29450 2010-09-24 Anders Carlsson <andersca@apple.com>
29452 Reviewed by Sam Weinig.
29454 Add WebProcessConnection class
29455 https://bugs.webkit.org/show_bug.cgi?id=46478
29457 * PluginProcess/WebProcessConnection.cpp: Added.
29458 * PluginProcess/WebProcessConnection.h: Added.
29459 Add stubbed out WebProcessConnection class.
29461 * WebKit2.xcodeproj/project.pbxproj:
29464 2010-09-24 Anders Carlsson <andersca@apple.com>
29466 Reviewed by Sam Weinig.
29468 Add PluginProcess class
29469 https://bugs.webkit.org/show_bug.cgi?id=46476
29471 * PluginProcess/PluginProcess.cpp: Added.
29472 * PluginProcess/PluginProcess.h: Added.
29473 Add stubbed out PluginProcess class.
29475 * PluginProcess/mac/PluginProcessMainMac.mm:
29476 (WebKit::PluginProcessMain):
29477 Initialize the plug-in process.
29479 * WebKit2.xcodeproj/project.pbxproj:
29482 * WebProcess/Plugins/PluginProcessConnection.h:
29483 Add a comment about which connection this is.
29485 2010-09-24 Sam Weinig <sam@webkit.org>
29489 * Shared/win/PlatformCertificateInfo.cpp:
29490 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
29492 2010-09-23 Sam Weinig <sam@webkit.org>
29494 Reviewed by Adam Roben.
29496 Add Windows implementation of PlatformCertificateInfo
29497 Part of <rdar://problem/8350189>
29498 https://bugs.webkit.org/show_bug.cgi?id=46450
29500 * Shared/win/PlatformCertificateInfo.cpp: Added.
29501 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
29502 (WebKit::PlatformCertificateInfo::~PlatformCertificateInfo):
29503 (WebKit::PlatformCertificateInfo::encode):
29504 (WebKit::PlatformCertificateInfo::decode):
29505 (WebKit::organizationNameForCertificate):
29506 * Shared/win/PlatformCertificateInfo.h:
29507 (WebKit::PlatformCertificateInfo::certificateContext):
29508 * UIProcess/API/C/win/WKCertificateInfoWin.cpp: Added.
29509 (WKCertificateInfoGetCertificateContext):
29510 * UIProcess/API/C/win/WKCertificateInfoWin.h: Added.
29511 * win/WebKit2.vcproj:
29512 * win/WebKit2Generated.make:
29514 2010-09-23 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
29516 Reviewed by Sam Weinig.
29518 Add WebKit2 C API for setting the font families.
29519 https://bugs.webkit.org/show_bug.cgi?id=46408
29521 * UIProcess/API/C/WKPreferences.cpp:
29522 (WKPreferencesSetStandardFontFamily):
29523 (WebPreferencesCopyStandardFontFamily):
29524 (WKPreferencesSetFixedFontFamily):
29525 (WKPreferencesCopyFixedFontFamily):
29526 (WKPreferencesSetSerifFontFamily):
29527 (WKPreferencesCopySerifFontFamily):
29528 (WKPreferencesSetSansSerifFontFamily):
29529 (WKPreferencesCopySansSerifFontFamily):
29530 (WKPreferencesSetCursiveFontFamily):
29531 (WKPreferencesCopyCursiveFontFamily):
29532 (WKPreferencesSetFantasyFontFamily):
29533 (WKPreferencesCopyFantasyFontFamily):
29534 * UIProcess/API/C/WKPreferences.h:
29535 * UIProcess/WebPreferences.cpp:
29536 (WebKit::WebPreferences::setStandardFontFamily):
29537 (WebKit::WebPreferences::standardFontFamily):
29538 (WebKit::WebPreferences::setFixedFontFamily):
29539 (WebKit::WebPreferences::fixedFontFamily):
29540 (WebKit::WebPreferences::setSerifFontFamily):
29541 (WebKit::WebPreferences::serifFontFamily):
29542 (WebKit::WebPreferences::setSansSerifFontFamily):
29543 (WebKit::WebPreferences::sansSerifFontFamily):
29544 (WebKit::WebPreferences::setCursiveFontFamily):
29545 (WebKit::WebPreferences::cursiveFontFamily):
29546 (WebKit::WebPreferences::setFantasyFontFamily):
29547 (WebKit::WebPreferences::fantasyFontFamily):
29548 * UIProcess/WebPreferences.h:
29549 * WebProcess/WebPage/WebPage.cpp:
29550 (WebKit::WebPage::preferencesDidChange):
29552 2010-09-23 Csaba Osztrogonác <ossy@webkit.org>
29554 Unreviewed buildfix after r68220 on WebKit2.
29556 WebKit2 API: Need way to know when a frame is removed from the hierarchy
29557 https://bugs.webkit.org/show_bug.cgi?id=46432
29559 [Qt] qt_wk_didRemoveFrameFromHierarchy needs to be implemented
29561 * UIProcess/API/qt/ClientImpl.cpp:
29562 (qt_wk_didRemoveFrameFromHierarchy):
29563 * UIProcess/API/qt/ClientImpl.h:
29564 * UIProcess/API/qt/qwkpage.cpp:
29565 (QWKPage::QWKPage):
29567 2010-09-23 Sam Weinig <sam@webkit.org>
29569 Reviewed by Anders Carlsson.
29571 WebKit2 API: Need way to know when a frame is removed from the hierarchy
29572 <rdar://problem/8414062>
29573 https://bugs.webkit.org/show_bug.cgi?id=46432
29575 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
29576 * UIProcess/API/C/WKPage.h:
29577 * UIProcess/WebLoaderClient.cpp:
29578 (WebKit::WebLoaderClient::didRemoveFrameFromHierarchy):
29579 * UIProcess/WebLoaderClient.h:
29580 * UIProcess/WebPageProxy.cpp:
29581 (WebKit::WebPageProxy::didReceiveMessage):
29582 (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
29583 * UIProcess/WebPageProxy.h:
29584 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
29585 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
29586 (WebKit::InjectedBundlePageLoaderClient::didRemoveFrameFromHierarchy):
29587 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
29588 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
29589 (WebKit::WebFrameLoaderClient::detachedFromParent2):
29590 (WebKit::WebFrameLoaderClient::didTransferChildFrameToNewDocument):
29592 2010-09-23 Anders Carlsson <andersca@apple.com>
29594 Reviewed by Sam Weinig.
29596 Add PluginProcessConnection and PluginProcessConnectionManager
29597 https://bugs.webkit.org/show_bug.cgi?id=46425
29599 * WebKit2.xcodeproj/project.pbxproj:
29602 * WebProcess/Plugins/PluginProcessConnection.cpp:
29603 Add empty file for now.
29605 * WebProcess/Plugins/PluginProcessConnection.h:
29608 * WebProcess/Plugins/PluginProcessConnectionManager.cpp: Added.
29609 (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
29610 Check for an existing plug-in process connection. If we don't have one, ask the
29611 UI process to create one.
29613 (WebKit::PluginProcessConnectionManager::removePluginProcessConnection):
29614 Remove the connection from our global vector.
29616 2010-09-23 Adam Roben <aroben@apple.com>
29618 Remove the DrawingAreaProxy parameter to
29619 WebPagProxy::initializeWebPage
29621 Callers are now required to set the drawing area via
29622 WebPageProxy::setDrawingArea before calling initializeWebPage. This
29623 will allow us to delay calling initializeWebPage on Windows until
29624 after we've created the WebView's HWND, which in turn will allow us to
29625 send the HWND over to the web process when the page is created. (The
29626 drawing area must be set before creating the HWND so that its size can
29627 be updated, etc., as the window is created.)
29629 Fixes <http://webkit.org/b/46409> DrawingAreaProxy parameter to
29630 initializeWebPage is unnecessary, and causes problems on Windows
29632 Reviewed by Anders Carlsson.
29634 * UIProcess/API/mac/WKView.mm:
29635 (-[WKView initWithFrame:pageNamespaceRef:]):
29636 * UIProcess/API/qt/qwkpage.cpp:
29637 (QWKPagePrivate::init):
29638 * UIProcess/win/WebView.cpp:
29639 (WebKit::WebView::WebView):
29640 Added explicit calls to setDrawingArea.
29642 * UIProcess/WebPageProxy.cpp:
29643 (WebKit::WebPageProxy::initializeWebPage):
29644 * UIProcess/WebPageProxy.h:
29645 Removed the DrawingAreaProxy parameter and a stray puts(), and added
29648 2010-09-23 Anders Carlsson <andersca@apple.com>
29650 Reviewed by Darin Adler.
29652 Implement handlers for the GetPluginProcessConnection message
29653 https://bugs.webkit.org/show_bug.cgi?id=46415
29655 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
29656 Add GetPluginProcessConnection message kind
29658 * UIProcess/Plugins/PluginProcessManager.cpp:
29659 (WebKit::PluginProcessManager::PluginProcessManager):
29660 Add missing constructor.
29662 * UIProcess/WebProcessProxy.cpp:
29663 (WebKit::WebProcessProxy::getPluginProcessConnection):
29664 Ask the plug-in process manager for a connection.
29666 (WebKit::WebProcessProxy::didReceiveSyncMessage):
29667 Call getPluginProcessConnection.
29669 * UIProcess/WebProcessProxy.h:
29670 * WebProcess/WebPage/WebPage.cpp:
29671 (WebKit::WebPage::createPlugin):
29672 Send the GetPluginProcessConnection message.
29674 2010-09-23 Matthew Delaney <mdelaney@apple.com>
29676 Reviewed by Simon Fraser.
29678 Reduce minimum DOMTimer interval
29679 https://bugs.webkit.org/show_bug.cgi?id=45362
29681 * WebProcess/WebPage/WebPage.cpp:
29682 Updating set interval call to use Settings' static version.
29684 2010-09-23 Adam Roben <aroben@apple.com>
29686 Try to fix the Windows build
29688 * win/WebKit2Common.vsprops: Add WebKit2/PluginProcess to the include
29691 2010-09-23 Anders Carlsson <andersca@apple.com>
29693 Reviewed by Sam Weinig.
29695 Add PluginProcessMain files
29696 https://bugs.webkit.org/show_bug.cgi?id=46379
29698 * PluginProcess/PluginProcessMain.h: Added.
29699 * PluginProcess/mac/PluginProcessMainMac.mm: Added.
29701 * WebKit2.xcodeproj/project.pbxproj:
29702 Add PluginProcessMain files. Remove PluginProcess.messages.in from the target so it
29703 won't be installed in the WebKit2.framework bundle.
29705 * WebProcess/WebKitMain.cpp:
29707 Call PluginProcessMain if the process type is ProcessLauncher::PluginProcess.
29709 2010-09-23 Anders Carlsson <andersca@apple.com>
29711 Reviewed by Sam Weinig.
29713 Add PluginProcessProxy class
29714 https://bugs.webkit.org/show_bug.cgi?id=46377
29716 * DerivedSources.make:
29719 * Platform/CoreIPC/Connection.h:
29720 (CoreIPC::Connection::send):
29721 Add send overload that takes a message.
29723 * Platform/CoreIPC/MessageID.h:
29724 Add MessageClassPluginProcess message kind.
29726 * PluginProcess/PluginProcess.messages.in: Added.
29727 Add PluginProcess messages.
29729 * UIProcess/Plugins/PluginInfoStore.cpp:
29730 (WebKit::PluginInfoStore::infoForPluginWithPath):
29731 * UIProcess/Plugins/PluginInfoStore.h:
29732 New function that returns the plug-in info for a plug-in with the given path.
29734 * UIProcess/Plugins/PluginProcessManager.cpp:
29735 (WebKit::PluginProcessManager::getPluginProcessConnection):
29736 Look for an existing plug-in process proxy.
29738 * UIProcess/Plugins/PluginProcessProxy.cpp: Added.
29739 (WebKit::PluginProcessProxy::create):
29740 Launch the process.
29742 (WebKit::PluginProcessProxy::didReceiveMessage):
29743 (WebKit::PluginProcessProxy::didReceiveInvalidMessage):
29744 Add stubbed out functions.
29746 (WebKit::PluginProcessProxy::didClose):
29747 Delete the plug-in process proxy.
29749 (WebKit::PluginProcessProxy::didFinishLaunching):
29750 Open a connection to the plug-in process proxy.
29752 * UIProcess/Plugins/PluginProcessProxy.h: Added.
29753 (WebKit::PluginProcessProxy::pluginInfo):
29754 Return the plug-in info.
29756 * UIProcess/WebProcessProxy.h:
29757 (WebKit::WebProcessProxy::context):
29758 Add a context getter.
29760 * WebKit2.xcodeproj/project.pbxproj:
29763 2010-09-23 Jessie Berlin <jberlin@apple.com>
29765 Reviewed by Sam Weinig.
29767 Expose the BundlePage on the BundleFrame in the API.
29768 https://bugs.webkit.org/show_bug.cgi?id=46366
29770 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
29771 (WKBundleFrameGetPage):
29772 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
29774 2010-09-23 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
29776 Reviewed by Andreas Kling.
29778 Add a preference class for Qt for WebKit2.
29780 * UIProcess/API/qt/qwkpreferences.cpp: Added.
29781 (QWKPreferences::globalPreferences):
29782 (QWKPreferences::QWKPreferences):
29783 (QWKPreferences::~QWKPreferences):
29784 (QWKPreferences::testAttribute):
29785 (QWKPreferences::setAttribute):
29786 * UIProcess/API/qt/qwkpreferences.h: Added.
29789 2010-09-23 Anders Carlsson <andersca@apple.com>
29791 Reviewed by Adam Roben.
29793 It should be possible to conditionally define an entire group of messages
29794 https://bugs.webkit.org/show_bug.cgi?id=46368
29796 * Scripts/webkit2/messages.py:
29797 Check for a condition when parsing the "messages -> " string and set it as the
29798 message receiver condition.
29800 * Scripts/webkit2/messages_unittest.py:
29803 2010-09-23 Anders Carlsson <andersca@apple.com>
29805 Reviewed by Adam Roben.
29807 Message autogeneration script should parse sync message syntax
29808 https://bugs.webkit.org/show_bug.cgi?id=46359
29810 * Scripts/webkit2/messages.py:
29811 (MessageReceiver.parse): Expand the regular expression to handle sync messages.
29812 (function_parameter_type): Use a const reference for all parameters except the known builtins.
29813 (base_class): Returns the base class for a sync message reply struct.
29814 (delayed_base_class): Returns the base class for a delayed sync message reply struct.
29816 * Scripts/webkit2/messages_unittest.py:
29817 Add unit tests for various sync messages.
29819 2010-09-22 Andras Becsi <abecsi@webkit.org>
29821 Unreviewed build fix after r68079.
29823 [Qt] Also generate WebPage's message-receiving code and message types
29824 for the Qt port of WebKit2.
29826 * DerivedSources.pro:
29829 2010-09-22 Anders Carlsson <andersca@apple.com>
29831 Reviewed by Adam Roben.
29833 Stub out a PluginProcessManager class
29834 https://bugs.webkit.org/show_bug.cgi?id=46305
29836 * UIProcess/Plugins/PluginProcessManager.cpp: Added.
29837 (WebKit::PluginProcessManager::shared):
29838 (WebKit::PluginProcessManager::getPluginProcessConnection):
29839 (WebKit::PluginProcessManager::removePluginProcessProxy):
29840 * UIProcess/Plugins/PluginProcessManager.h: Added.
29841 * WebKit2.xcodeproj/project.pbxproj:
29843 2010-09-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
29845 Reviewed by Antonio Gomes.
29847 Add a ViewportConfiguration class for the Qt WebKit2 API, which
29848 currently calculated a fallback viewport configuration.
29850 * UIProcess/API/qt/qwkpage.cpp:
29851 (QWKPage::ViewportConfiguration::ViewportConfiguration):
29852 (QWKPage::ViewportConfiguration::~ViewportConfiguration):
29853 (QWKPage::ViewportConfiguration::operator=):
29854 (QWKPage::viewportConfigurationForSize):
29855 * UIProcess/API/qt/qwkpage.h:
29856 * UIProcess/API/qt/qwkpage_p.h:
29857 (QtViewportConfigurationPrivate::QtViewportConfigurationPrivate):
29859 2010-09-22 Adam Roben <aroben@apple.com>
29863 * WebProcess/WebKitMain.cpp:
29864 (WebKitMain): Fix typo
29866 2010-09-22 Adam Roben <aroben@apple.com>
29868 Autogenerate WebPage's message-receiving code and message types
29870 This patch encompasses several changes that allow message types and
29871 receiving code to be generated by a script, and add some type-safety
29872 as a bonus. Messages are now represented by structs instead of an ID +
29873 ArgumentCoder. The struct contains the arguments and the ID together,
29874 and has a constructor that enforces the use of correct types.
29875 Correspondingly, a new overload of WebProcessProxy::send that takes a
29876 message struct (instead of a message ID and separate arguments) has
29877 been added. Eventually all callers should use this overload and the
29878 old one can be removed.
29880 This patch only touches WebPage's messages. We should transition other
29881 message receivers over to this new system eventually.
29883 Fixes <http://webkit.org/b/43636> <rdar://problem/8282462> Add a
29884 type-safe IPC mechanism to WebKit2
29886 Reviewed by Anders Carlsson.
29888 * DerivedSources.make: Added. Calls generate-message-receiver.py and
29889 generate-messages-header.py for each message receiver it knows about
29890 (just WebPage for now).
29892 * Platform/CoreIPC/Arguments.h: Added First/Second/ThirdArgumentType
29893 typedefs for use in handleMessage.
29895 * Platform/CoreIPC/HandleMessage.h: Added.
29896 (CoreIPC::handleMessage): This overloaded function template decodes
29897 arguments and passes them along to the specified function.
29899 * Scripts/generate-message-receiver.py: Added.
29900 * Scripts/generate-messages-header.py: Added.
29901 These scripts just wrap functionality in messages.py.
29903 * Scripts/webkit2/__init__.py: Added. This just exists so that Python
29904 will treat this directory as a package.
29906 * Scripts/webkit2/messages.py: Added. Contains the code to parse
29907 messages files and generate .cpp/.h files from them.
29908 (MessageReceiver.__init__): This class represents a single receiver of
29910 (MessageReceiver.iterparameters): Returns a generator that can be used
29911 to iterate over all the parameters of all the messages of this
29913 (MessageReceiver.parse): Reads a messages file from a file-like object
29914 and parses it into a MessageReceiver object.
29915 (Message.__init__): This class represents a single message.
29916 (Message.id): Returns the ID name for this message.
29917 (Parameter.__init__): This class represents a single parameter for a
29919 (messages_header_filename): Returns the name of the header that
29920 defines the messages for a given receiver.
29921 (surround_in_condition): Surrounds the given string in #if/#endif if
29922 there is an associated condition.
29923 (messages_to_kind_enum): Returns a string that defines the Kind enum
29924 for these messages.
29925 (function_parameter_type): Returns the type that should be used when
29926 passing a value of the given type as a parameter to a function.
29927 (base_class): Returns the base class for a message struct.
29928 (message_to_struct_declaration): Returns a string that declares the
29929 struct for this message.
29930 (forward_declarations_for_namespace): Returns a string that contains
29931 forward-declarations for a set of types in a given namespace.
29932 (forward_declarations): Returns a string that contains all the
29933 forward-declarations needed in order to declare all the message
29934 structs for this receiver.
29935 (generate_header_file): Returns a string containing the messages
29936 header file for this receiver.
29937 (handler_function): Returns the name of the function that handles a
29938 given message for a given receiver.
29939 (case_statement): Returns a string containing a case statement for
29940 handling the given message.
29941 (header_for_type): Returns the header needed to define a given type,
29942 enclosed in quotes or angle brackets as needed.
29943 (generate_message_handler): Returns a string containing the contents
29944 of a .cpp file that defines a didReceive*Message function.
29946 * Scripts/webkit2/messages_unittest.py: Added. Contains tests for
29949 * Shared/CoreIPCSupport/WebPageMessageKinds.h: Removed. This has been
29950 replaced by a generated WebPageMessages.h header.
29952 * UIProcess/WebEditCommandProxy.cpp:
29953 * UIProcess/WebPageProxy.cpp:
29954 Updated to use the new message structs and WebProcessProxy::send
29957 * UIProcess/WebProcessProxy.h:
29958 (WebKit::WebProcessProxy::send): Added this new overload that takes a
29961 * WebKit2.xcodeproj/project.pbxproj: Added a Derived Sources shell
29962 script target that invokes DerivedSources.make. Added "Derived
29963 Sources" and "Scripts" groups that contain the various new files.
29965 * WebProcess/WebPage/WebPage.cpp:
29966 (WebKit::WebPage::didReceivePolicyDecision):
29967 (WebKit::WebPage::getSourceForFrame):
29968 Changed these functions to take the raw IPC types and do the necessary
29969 translation themselves. This keeps the generated code from need to
29970 know how to perform the translation.
29972 (WebKit::WebPage::didReceiveMessage): Replaced handling of WebPage
29973 messages with a call to didReceiveWebPageMessage, whose implementation
29974 is generated by the scripts.
29976 * WebProcess/WebPage/WebPage.h: Added didReceiveWebPageMessage.
29978 * WebProcess/WebPage/WebPage.messages.in: Added. This file declares
29979 all of the messages that WebPage receives, roughly grouped by
29982 * win/WebKit2.vcproj: Added "Derived Sources" and "Scripts" filters
29983 that contain the various new files. Let VS resort some other files.
29985 * win/WebKit2Common.vsprops: Added
29986 $(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources to the include
29987 path so that the generated messages header can be found.
29989 * win/WebKit2.make: Copy the generated source files to $(DSTROOT).
29991 * win/WebKit2Generated.make: Added a call to build-generated-files.sh.
29993 * win/WebKit2Generated.vcproj: Added build-generated-files.sh.
29995 * win/build-generated-files.sh: Added. Invokes DerivedSources.make.
29997 2010-09-22 Anders Carlsson <andersca@apple.com>
29999 Reviewed by Darin Adler.
30001 Enhance ProcessLauncher to be able to launch plug-in processes
30002 https://bugs.webkit.org/show_bug.cgi?id=46295
30004 * UIProcess/Launcher/ProcessLauncher.cpp:
30005 (WebKit::ProcessLauncher::ProcessLauncher):
30006 Make the ProcessLauncher constructor take a LaunchOptions struct.
30008 (WebKit::ProcessLauncher::processTypeAsString):
30009 Given a process type, return its string representation.
30011 (WebKit::ProcessLauncher::getProcessTypeFromString):
30014 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
30015 (WebKit::ProcessLauncher::launchProcess):
30016 Rename "mode" to "type" and pass the type as a string based on the LaunchOptions struct.
30017 Also, set the launch architecture from the LaunchOptions struct.
30019 * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
30020 (WebKit::ProcessLauncher::launchProcess):
30021 Rename "mode" to "type."
30023 * UIProcess/WebProcessProxy.cpp:
30024 (WebKit::WebProcessProxy::connect):
30025 Initialize a LaunchOptions struct.
30027 * WebProcess/WebKitMain.cpp:
30029 Factor code that can be shared between the mac and windows WebKitMain code out into a
30030 WebKitMain overload that takes a CommandLine.
30032 * WebProcess/WebProcessMain.h:
30033 * WebProcess/mac/WebProcessMainMac.mm:
30034 (WebKit::WebProcessMain):
30035 * WebProcess/win/WebProcessMainWin.cpp:
30036 (WebKit::WebProcessMain):
30037 Change WebProcessMain to take a const CommandLine reference instead of a pointer.
30039 2010-09-22 Anders Carlsson <andersca@apple.com>
30041 Reviewed by Adam Roben.
30043 Rename GetPluginHostConnection to GetPluginPath
30044 https://bugs.webkit.org/show_bug.cgi?id=46292
30046 Rename GetPluginHostConnection to GetPluginPath since this message will always get the
30047 plug-in path. We'll add another message to actually get the connection.
30049 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
30050 * UIProcess/WebProcessProxy.cpp:
30051 (WebKit::WebProcessProxy::getPluginPath):
30052 (WebKit::WebProcessProxy::didReceiveMessage):
30053 (WebKit::WebProcessProxy::didReceiveSyncMessage):
30054 * UIProcess/WebProcessProxy.h:
30055 * WebProcess/WebPage/WebPage.cpp:
30056 (WebKit::WebPage::createPlugin):
30058 2010-09-22 Anders Carlsson <andersca@apple.com>
30060 Reviewed by Adam Roben.
30062 Move plug-in creation to WebPage::createPlugin
30063 https://bugs.webkit.org/show_bug.cgi?id=46289
30065 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
30066 (WebKit::WebFrameLoaderClient::createPlugin):
30067 Call WebPage::createPlugin.
30069 * WebProcess/WebPage/WebPage.cpp:
30070 (WebKit::WebPage::createPlugin):
30071 Create the plug-in.
30073 2010-09-22 Anders Carlsson <andersca@apple.com>
30075 Reviewed by Darin Adler.
30077 Random plug-in cleanups
30078 https://bugs.webkit.org/show_bug.cgi?id=46279
30080 * WebProcess/Plugins/Plugin.cpp:
30081 (WebKit::Plugin::Parameters::encode):
30082 (WebKit::Plugin::Parameters::decode):
30083 Add CoreIPC coding support for the Plugin::Parameters struct.
30085 * WebProcess/Plugins/PluginController.h:
30086 Add pluginProcessCrashed pure virtual member function.
30088 * WebProcess/Plugins/PluginView.cpp:
30089 (WebKit::PluginView::handleEvent):
30090 handleEvent can be called when m_plugin is null.
30092 (WebKit::PluginView::pluginProcessCrashed):
30093 Ask the renderer to show the crashed plug-in indicator.
30095 2010-09-22 Anders Carlsson <andersca@apple.com>
30097 Reviewed by John Sullivan.
30099 Don't listen for some window notifications on all windows
30100 https://bugs.webkit.org/show_bug.cgi?id=46277
30102 Only listen for NSWindowDidBecomeKeyNotification and NSWindowDidResignKeyNotification notifications
30103 on all windows; this matches old WebKit and fixes a crash where we would send notifications to views whose
30104 underlying pages were invalid.
30106 * UIProcess/API/mac/WKView.mm:
30107 (-[WKView addWindowObserversForWindow:]):
30108 (-[WKView removeWindowObservers]):
30110 2010-09-22 Anders Carlsson <andersca@apple.com>
30112 Reviewed by Adam Roben.
30114 Crash when running plug-in layout tests
30115 https://bugs.webkit.org/show_bug.cgi?id=46269
30117 Store the web page directly in the PluginView class, instead of getting it from the frame
30118 of the plug-in element; this fixes two crashes, one where the plug-in element had been deallocated
30119 before the plug-in view, and another where the plug-in element's document did not have a frame.
30121 This also makes things more robust since we're asserting in the WebPage destructor that no plug-ins have
30122 an outstanding reference to it.
30124 * WebProcess/Plugins/PluginView.cpp:
30126 (WebKit::PluginView::PluginView):
30127 (WebKit::PluginView::~PluginView):
30128 (WebKit::PluginView::initializePlugin):
30129 * WebProcess/Plugins/PluginView.h:
30131 2010-09-22 Anders Carlsson <andersca@apple.com>
30133 Reviewed by Adam Roben.
30135 Change a bunch of Vector<char> to Vector<uint8_t> to better indicate that we're
30136 dealing with raw bytes.
30138 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
30139 (WebKit::parsePostBuffer):
30140 (WebKit::NPN_GetURL):
30141 (WebKit::NPN_PostURL):
30142 (WebKit::NPN_GetURLNotify):
30143 (WebKit::NPN_PostURLNotify):
30144 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
30145 (WebKit::NetscapePlugin::loadURL):
30146 (WebKit::NetscapePlugin::initialize):
30147 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
30148 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
30149 (WebKit::NetscapePluginStream::deliverData):
30150 (WebKit::NetscapePluginStream::deliverDataToPlugin):
30151 * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
30152 * WebProcess/Plugins/PluginController.h:
30153 * WebProcess/Plugins/PluginView.cpp:
30154 (WebKit::PluginView::loadURL):
30155 * WebProcess/Plugins/PluginView.h:
30157 2010-09-22 Anders Carlsson <andersca@apple.com>
30159 Reviewed by Adam Roben.
30161 Assertion fails in [WKView _updateWindowFrame] when closing a WebKit2 window
30162 https://bugs.webkit.org/show_bug.cgi?id=46264
30163 <rdar://problem/8463534>
30165 * UIProcess/API/mac/WKView.mm:
30166 (-[WKView viewDidMoveToWindow]):
30167 Only update window visibility and frame when we're moving to a window.
30169 2010-09-22 Balazs Kelemen <kb@inf.u-szeged.hu>
30171 Reviewed by Kenneth Rohde Christiansen.
30173 [Qt] PluginStrategy implementation is broken
30174 https://bugs.webkit.org/show_bug.cgi?id=46078
30176 * UIProcess/API/qt/qwkpage.cpp:
30177 (QWKPagePrivate::QWKPagePrivate):
30178 Initialize the WebPlatformStrategies at the UI side as well because
30179 we are using the LocalizationStrategy in the UI process.
30180 Added a FIXME since this should be fixed in the future.
30182 2010-09-22 Balazs Kelemen <kb@inf.u-szeged.hu>
30184 Reviewed by Kenneth Rohde Christiansen.
30186 PluginStrategy should satisfy the needs of Qt
30187 https://bugs.webkit.org/show_bug.cgi?id=45857
30188 No new functionality so no new tests.
30190 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
30191 (WebKit::WebPlatformStrategies::getPluginInfo):
30192 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
30194 2010-09-21 Steve Falkenburg <sfalken@apple.com>
30196 Rubber stamped by Simon Fraser.
30198 Add DirectX SDK include path.
30200 * win/WebKit2DirectX.vsprops:
30202 2010-09-21 Anders Carlsson <andersca@apple.com>
30204 Reviewed by Dan Bernstein.
30206 Forward window focus changes to the plug-in
30207 https://bugs.webkit.org/show_bug.cgi?id=46227
30209 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
30210 (WebKit::NetscapePlugin::windowFocusChanged):
30211 Send the NPCocoaEventWindowFocusChanged event.
30213 (WebKit::NetscapePlugin::windowFrameChanged):
30214 (WebKit::NetscapePlugin::windowVisibilityChanged):
30217 * WebProcess/Plugins/Plugin.h:
30218 Add windowFocusChanged, windowFrameChanged and windowVisibilityChanged.
30220 * WebProcess/Plugins/PluginView.cpp:
30221 (WebKit::PluginView::webPage):
30222 Make webPage a member function instead.
30224 (WebKit::PluginView::setWindowIsFocused):
30225 Call the plug-in member function.
30227 (WebKit::PluginView::initializePlugin):
30228 When the plug-in has been initialized, update its window frame, window visibility
30229 and window focus states.
30231 (WebKit::PluginView::setParent):
30232 Move viewGeometryDidChange to initializePlugin.
30234 * WebProcess/Plugins/PluginView.h:
30235 * WebProcess/WebPage/WebPage.cpp:
30236 (WebKit::WebPage::setActive):
30237 Tell all plug-in views about the new window focus state.
30239 (WebKit::WebPage::windowIsFocused):
30240 Return whether the window is focused or not.
30242 * WebProcess/WebPage/WebPage.h:
30243 (WebKit::WebPage::windowIsVisible):
30244 (WebKit::WebPage::windowFrame):
30247 2010-09-21 Anders Carlsson <andersca@apple.com>
30249 Reviewed by John Sullivan.
30251 Handle booleans in injected bundle messages
30252 https://bugs.webkit.org/show_bug.cgi?id=46213
30254 * Shared/UserMessageCoders.h:
30255 (WebKit::UserMessageEncoder::baseEncode):
30256 (WebKit::UserMessageDecoder::baseDecode):
30258 2010-09-21 Brian Weinstein <bweinstein@apple.com>
30260 Reviewed by Adam Roben.
30262 WebKit2 should look for WebKit2WebProcess.exe next to WebKit.dll
30263 https://bugs.webkit.org/show_bug.cgi?id=46209
30264 <rdar://problem/8445639>
30266 Find WebKit2WebProcess.exe by getting the full path to WebKit.dll, and then
30267 removing the last path component and replacing it with WebKit2WebProcess.exe.
30269 * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
30270 (WebKit::ProcessLauncher::launchProcess):
30272 2010-09-21 Anders Carlsson <andersca@apple.com>
30274 Reviewed by Adam Roben.
30276 Send window visibility and window frame change sizes to the plug-in
30277 https://bugs.webkit.org/show_bug.cgi?id=46202
30279 * Shared/CoreIPCSupport/WebPageMessageKinds.h:
30280 * UIProcess/API/mac/WKView.mm:
30281 (-[WKView _updateWindowVisibility]):
30282 Call WebPageProxy::setWindowIsVisible.
30284 (-[WKView addWindowObserversForWindow:]):
30285 Add additional observers.
30287 (-[WKView removeWindowObservers]):
30290 (-[WKView _updateWindowFrame]):
30291 Call WebPageProxy::setWindowFrame.
30293 (-[WKView viewDidMoveToWindow]):
30294 Update the window visibility and the web frame.
30296 (-[WKView _windowDidMiniaturize:]):
30297 (-[WKView _windowDidDeminiaturize:]):
30298 Update the window visibility.
30300 (-[WKView _windowFrameDidChange:]):
30301 Update the window frame.
30303 * UIProcess/WebPageProxy.cpp:
30304 (WebKit::WebPageProxy::setWindowIsVisible):
30305 (WebKit::WebPageProxy::setWindowFrame):
30306 Send messages along to the web process.
30308 * WebProcess/Plugins/PluginView.cpp:
30309 (WebKit::PluginView::PluginView):
30310 Register the plug-in view.
30312 (WebKit::PluginView::~PluginView):
30313 Unregister the plug-in view.
30315 (WebKit::PluginView::setWindowIsVisible):
30316 (WebKit::PluginView::setWindowFrame):
30319 * WebProcess/WebPage/WebPage.cpp:
30320 (WebKit::WebPage::WebPage):
30321 Initialize m_windowIsVisible.
30323 (WebKit::WebPage::~WebPage):
30324 Assert that all plug-in views have been removed.
30326 (WebKit::WebPage::setWindowIsVisible):
30327 Notify all plug-ins about the window visibility change.
30329 (WebKit::WebPage::setWindowFrame):
30330 Notify all plug-ins about the window frame change.
30332 (WebKit::WebPage::didReceiveMessage):
30333 Handle setWindowIsVisible and setWindowFrame.
30335 2010-09-21 Anders Carlsson <andersca@apple.com>
30337 Reviewed by Mark Rowe.
30339 * Configurations/WebKit2.xcconfig:
30340 Add a note about keeping the path in MainMac.cpp in sync with the install path.
30344 Use the correct framework path.
30346 2010-09-21 Anders Carlsson <andersca@apple.com>
30351 (closeUnusedFileDescriptors):
30352 Move this out into a separate function.
30355 Don't use the soft linking macros, they were bringing in WTFReportAssertionFailure.
30357 2010-09-20 Anders Carlsson <andersca@apple.com>
30359 Reviewed by Dan Bernstein.
30361 Zombie WebProcesses are left around
30362 https://bugs.webkit.org/show_bug.cgi?id=46148
30363 <rdar://problem/8455898>
30365 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
30366 (WebKit::setupTerminationNotificationHandler):
30367 Register a dispatch handler that calls waitpid when the child process exits. This prevents zombies from
30368 staying around after the child process has quit.
30370 (WebKit::ProcessLauncher::launchProcess):
30371 Pass POSIX_SPAWN_START_SUSPENDED to posix_spawn to avoid race conditions when setting up the termination
30372 notification handler. When the handler is set up we send the SIGCONT signal to the child process.
30376 Loop through all file descriptors except for stdin, stdout and stderr and close them.
30378 * WebKit2.xcodeproj/project.pbxproj:
30379 Soft-link the Web process with WebKit2. We do this so we can ensure that we won't accidentally close any
30380 file descriptors opened by initialization code that would have been called before main().
30382 2010-09-21 Andras Becsi <abecsi@inf.u-szeged.hu>
30384 Reviewed by Csaba Osztrogonác.
30386 [Qt] QtWebProcess should clean up shared memory map files on close
30387 https://bugs.webkit.org/show_bug.cgi?id=45984
30389 Relocate MappedMemory struct code to it's own header and implement
30390 a singleton pool class (MappedMemoryPool) which tracks shared memory
30391 to be able to clean up map files from disk if RunLoop stops.
30393 * Shared/qt/MappedMemory.h: Added.
30394 (WebKit::MappedMemory::markUsed):
30395 (WebKit::MappedMemory::markFree):
30396 (WebKit::MappedMemory::isFree):
30397 * Shared/qt/MappedMemoryPool.cpp: Added.
30398 (WebKit::MappedMemoryPool::MappedMemoryPool):
30399 (WebKit::MappedMemoryPool::instance):
30400 (WebKit::MappedMemoryPool::size):
30401 (WebKit::MappedMemoryPool::at):
30402 (WebKit::MappedMemoryPool::append):
30403 (WebKit::MappedMemoryPool::cleanUp):
30404 * Shared/qt/UpdateChunk.cpp:
30405 (WebKit::mapMemory):
30407 * Shared/qt/UpdateChunk.h:
30410 2010-09-20 Philippe Normand <pnormand@igalia.com>
30412 Reviewed by Eric Carlson.
30414 [GTK] enhanced context menu for media elements
30415 https://bugs.webkit.org/show_bug.cgi?id=45021
30417 New localized strings for the media element context-menu.
30419 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
30420 (WebKit::WebPlatformStrategies::contextMenuItemTagOpenVideoInNewWindow):
30421 (WebKit::WebPlatformStrategies::contextMenuItemTagOpenAudioInNewWindow):
30422 (WebKit::WebPlatformStrategies::contextMenuItemTagCopyVideoLinkToClipboard):
30423 (WebKit::WebPlatformStrategies::contextMenuItemTagCopyAudioLinkToClipboard):
30424 (WebKit::WebPlatformStrategies::contextMenuItemTagToggleMediaControls):
30425 (WebKit::WebPlatformStrategies::contextMenuItemTagToggleMediaLoop):
30426 (WebKit::WebPlatformStrategies::contextMenuItemTagEnterVideoFullscreen):
30427 (WebKit::WebPlatformStrategies::contextMenuItemTagMediaPlay):
30428 (WebKit::WebPlatformStrategies::contextMenuItemTagMediaPause):
30429 (WebKit::WebPlatformStrategies::contextMenuItemTagMediaMute):
30430 (WebKit::WebPlatformStrategies::contextMenuItemTagMediaUnMute):
30431 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
30433 2010-09-20 Anders Carlsson <andersca@apple.com>
30435 Reviewed by Adam Roben.
30437 Add a way to delay sending replies to sync requests
30438 https://bugs.webkit.org/show_bug.cgi?id=46117
30440 Change the didReceiveSyncMessage client message to return a SyncReplyMode. If the SyncReplyMode is
30441 AutomaticReply, the reply will be sent when the didReceiveSyncMessage function returns. However, if it is
30442 ManualReply, then the client is handed ownership of the reply ArgumentEncoder and can choose to send it
30443 at a later time using Connection::sendSyncReply.
30445 * Platform/CoreIPC/Connection.cpp:
30446 (CoreIPC::Connection::sendSyncReply):
30447 Send the message as a sync reply.
30449 (CoreIPC::Connection::dispatchMessages):
30450 Check the return value of didReceiveSyncMessage. If it is AutomaticReply, immediately send the reply.
30452 * Platform/CoreIPC/Connection.h:
30453 (CoreIPC::Connection::MessageReceiver::didReceiveSyncMessage):
30454 Change return type.
30456 * UIProcess/WebProcessProxy.cpp:
30457 (WebKit::WebProcessProxy::didReceiveSyncMessage):
30458 * UIProcess/WebProcessProxy.h:
30459 Update for changed return type.
30461 2010-09-20 Anders Carlsson <andersca@apple.com>
30463 Reviewed by Adam Roben.
30465 Don't use bufferIsLargeEnoughToContain for Vectors with variable sized elements
30466 https://bugs.webkit.org/show_bug.cgi?id=46109
30468 Add a new VectorArgumentCoder class template, with specializations based on whether the
30469 element is fixed size or not. Then update the ArgumentEncoder<Vector<T>> specialization to choose the
30470 right VectorArgumentCoder specialization. To determine this, we use the "IsArithmetic" type trait,
30471 which holds true for all integer types and all floating point types.
30473 * Platform/CoreIPC/ArgumentCoders.h:
30475 2010-09-20 Enrica Casucci <enrica@apple.com>
30477 Reviewed by Sam Weinig.
30479 Pasteboard doesn't work in WebKit2.
30480 https://bugs.webkit.org/show_bug.cgi?id=42317
30481 <rdar://problem/7660537>
30483 Adding support for RTF, RTFD and NSUrl formats on the Mac.
30484 Still missing the selective enabling of the menu entries.
30486 * WebKit2.xcodeproj/project.pbxproj: Added WebEditorClientMac.mm.
30487 * WebProcess/WebCoreSupport/WebEditorClient.cpp: Removed Mac only methods
30488 that are now in WebEditorClientMac.mm
30489 * WebProcess/WebCoreSupport/WebEditorClient.h: Fixed style and changed parameter
30490 type in documentFragmentFromAttributedString to be a Vector of RefPtr.
30491 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: Added.
30492 All the following methods have been moved from WebEditorClient.cpp.
30493 (WebKit::WebEditorClient::userVisibleString): Added implementation.
30494 (WebKit::createExcludedElementsForAttributedStringConversion): Added.
30495 (WebKit::WebEditorClient::documentFragmentFromAttributedString): Added implementation.
30496 (WebKit::WebEditorClient::setInsertionPasteboard):
30497 (WebKit::WebEditorClient::pasteboardTypesForSelection):
30498 (WebKit::WebEditorClient::uppercaseWord):
30499 (WebKit::WebEditorClient::lowercaseWord):
30500 (WebKit::WebEditorClient::capitalizeWord):
30501 (WebKit::WebEditorClient::showSubstitutionsPanel):
30502 (WebKit::WebEditorClient::substitutionsPanelIsShowing):
30503 (WebKit::WebEditorClient::toggleSmartInsertDelete):
30504 (WebKit::WebEditorClient::isAutomaticQuoteSubstitutionEnabled):
30505 (WebKit::WebEditorClient::toggleAutomaticQuoteSubstitution):
30506 (WebKit::WebEditorClient::isAutomaticLinkDetectionEnabled):
30507 (WebKit::WebEditorClient::toggleAutomaticLinkDetection):
30508 (WebKit::WebEditorClient::isAutomaticDashSubstitutionEnabled):
30509 (WebKit::WebEditorClient::toggleAutomaticDashSubstitution):
30510 (WebKit::WebEditorClient::isAutomaticTextReplacementEnabled):
30511 (WebKit::WebEditorClient::toggleAutomaticTextReplacement):
30512 (WebKit::WebEditorClient::isAutomaticSpellingCorrectionEnabled):
30513 (WebKit::WebEditorClient::toggleAutomaticSpellingCorrection):
30514 (WebKit::WebEditorClient::checkTextOfParagraph):
30515 (WebKit::WebEditorClient::showCorrectionPanel):
30516 (WebKit::WebEditorClient::dismissCorrectionPanel):
30517 (WebKit::WebEditorClient::isShowingCorrectionPanel):
30519 2010-09-20 Andy Estes <aestes@apple.com>
30521 Reviewed by Darin Adler.
30523 Fix a style issue and add a FIXME to make the AppleConnect plug-in
30524 workaround dependent on site-specific quirks being enabled, which
30525 WebKit2 does not yet support in its WebPreferences implementation.
30526 https://bugs.webkit.org/show_bug.cgi?id=45960
30528 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
30529 (WebKit::WebFrameLoaderClient::createPlugin):
30531 2010-09-20 Sam Weinig <sam@webkit.org>
30533 Reviewed by Adam Roben.
30535 Add WebKit2 API to load a string as plain text
30536 https://bugs.webkit.org/show_bug.cgi?id=46091
30538 * Shared/CoreIPCSupport/WebPageMessageKinds.h:
30539 * UIProcess/API/C/WKPage.cpp:
30540 (WKPageLoadPlainTextString):
30541 * UIProcess/API/C/WKPage.h:
30542 * UIProcess/WebPageProxy.cpp:
30543 (WebKit::WebPageProxy::loadPlainTextString):
30544 * UIProcess/WebPageProxy.h:
30545 * WebProcess/WebPage/WebPage.cpp:
30546 (WebKit::WebPage::loadData):
30547 (WebKit::WebPage::loadHTMLString):
30548 (WebKit::WebPage::loadPlainTextString):
30549 (WebKit::WebPage::didReceiveMessage):
30550 * WebProcess/WebPage/WebPage.h:
30552 2010-09-19 Sam Weinig <sam@webkit.org>
30556 * UIProcess/API/C/WKPage.h:
30558 2010-09-19 Sam Weinig <sam@webkit.org>
30560 Attempt to fix Qt build.
30562 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
30563 (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
30565 2010-09-19 Sam Weinig <sam@webkit.org>
30567 Reviewed by Anders Carlsson.
30569 Add WebKit2 equivalent of the WebFormDelegate's doCommandBySelector
30570 <rdar://problem/8377088>
30571 https://bugs.webkit.org/show_bug.cgi?id=46073
30573 Add bundle client to match the behavior of:
30574 - (BOOL)textField:(DOMHTMLInputElement *)element doCommandBySelector:(SEL)commandSelector inFrame:(WebFrame *)frame;
30576 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
30577 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
30578 (WebKit::InjectedBundlePageFormClient::shouldPerformActionInTextField):
30579 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
30580 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
30581 (WebKit::getActionTypeForKeyEvent):
30582 (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
30583 (WebKit::WebEditorClient::textWillBeDeletedInTextField):
30585 2010-09-19 Sam Weinig <sam@webkit.org>
30587 Reviewed by Anders Carlsson.
30589 WebKit2 decidePolicyForNavigationAction should include mouse button information
30590 <rdar://problem/8413165>
30591 https://bugs.webkit.org/show_bug.cgi?id=46060
30593 * UIProcess/API/C/WKAPICast.h:
30595 * UIProcess/API/C/WKPage.h:
30596 * UIProcess/WebPageProxy.cpp:
30597 (WebKit::WebPageProxy::didReceiveMessage):
30598 (WebKit::WebPageProxy::decidePolicyForNavigationAction):
30599 (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
30600 * UIProcess/WebPageProxy.h:
30601 * UIProcess/WebPolicyClient.cpp:
30602 (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
30603 (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
30604 * UIProcess/WebPolicyClient.h:
30605 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
30606 (WebKit::findMouseEvent):
30607 (WebKit::mouseButtonForNavigationAction):
30608 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
30609 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
30611 2010-09-19 Csaba Osztrogonác <ossy@webkit.org>
30613 [Qt] Unreviewed buildfix after r67813.
30615 Replace WKBundleRangeRef with WKBundleRangeHandleRef.
30616 https://bugs.webkit.org/show_bug.cgi?id=46054
30618 * DerivedSources.pro: Add WebCore/generated/JSRange.h to WEBCORE_GENERATED_HEADERS_FOR_WEBKIT2
30620 2010-09-19 Csaba Osztrogonác <ossy@webkit.org>
30622 [Qt] Unreviewed buildfix after r67802.
30624 WebKit2: Improve/unify the PageLoadClient interfaces.
30625 https://bugs.webkit.org/show_bug.cgi?id=46043
30627 * UIProcess/API/qt/ClientImpl.h:
30629 2010-09-19 Sam Weinig <sam@webkit.org>
30631 Reviewed by Anders Carlsson.
30633 Replace WKBundleRangeRef with WKBundleRangeHandleRef.
30634 https://bugs.webkit.org/show_bug.cgi?id=46054
30636 The new one acts like WKBundleNodeHandleRef and allows for getting a
30637 wrapper in a specific world for the handle.
30639 * Shared/APIObject.h:
30641 * WebKit2.xcodeproj/project.pbxproj:
30642 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
30643 * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
30644 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
30645 (WKBundleFrameGetJavaScriptWrapperForRangeForWorld):
30646 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
30647 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
30648 * WebProcess/InjectedBundle/API/c/WKBundleRange.cpp: Removed.
30649 * WebProcess/InjectedBundle/API/c/WKBundleRange.h: Removed.
30650 * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp: Added.
30651 (WKBundleRangeHandleGetTypeID):
30652 * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.h: Added.
30653 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
30654 (WebKit::InjectedBundleNodeHandle::getOrCreate):
30655 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
30656 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp: Added.
30657 (WebKit::domHandleCache):
30658 (WebKit::InjectedBundleRangeHandle::getOrCreate):
30659 (WebKit::InjectedBundleRangeHandle::create):
30660 (WebKit::InjectedBundleRangeHandle::InjectedBundleRangeHandle):
30661 (WebKit::InjectedBundleRangeHandle::~InjectedBundleRangeHandle):
30662 (WebKit::InjectedBundleRangeHandle::coreRange):
30663 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h: Added.
30664 (WebKit::InjectedBundleRangeHandle::type):
30665 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
30666 (WebKit::InjectedBundlePageEditorClient::shouldBeginEditing):
30667 (WebKit::InjectedBundlePageEditorClient::shouldEndEditing):
30668 (WebKit::InjectedBundlePageEditorClient::shouldInsertNode):
30669 (WebKit::InjectedBundlePageEditorClient::shouldInsertText):
30670 (WebKit::InjectedBundlePageEditorClient::shouldDeleteRange):
30671 (WebKit::InjectedBundlePageEditorClient::shouldChangeSelectedRange):
30672 (WebKit::InjectedBundlePageEditorClient::shouldApplyStyle):
30673 * WebProcess/WebPage/WebFrame.cpp:
30674 (WebKit::WebFrame::jsWrapperForWorld):
30675 * WebProcess/WebPage/WebFrame.h:
30676 * win/WebKit2.vcproj:
30677 * win/WebKit2Generated.make:
30679 2010-09-18 Sam Weinig <sam@webkit.org>
30681 Reviewed by Dan Bernstein.
30683 Improve/unify the PageLoadClient interfaces.
30684 https://bugs.webkit.org/show_bug.cgi?id=46043
30686 - Ensure that all the PageLoadClient functions (that are load related)
30687 have bundle API equivalents (this meant adding didFirstLayoutForFrame
30688 and didFirstVisuallyNonEmptyLayoutForFrame to the BundlePageLoadClient).
30689 - Add a userData out parameters to all the now paired BundlePageLoadClient
30690 functions, and a matching userData parameter to the PageLoadClient ones.
30692 * UIProcess/API/C/WKPage.h:
30693 * UIProcess/API/qt/ClientImpl.cpp:
30694 (qt_wk_didStartProvisionalLoadForFrame):
30695 (qt_wk_didReceiveServerRedirectForProvisionalLoadForFrame):
30696 (qt_wk_didFailProvisionalLoadWithErrorForFrame):
30697 (qt_wk_didCommitLoadForFrame):
30698 (qt_wk_didFinishDocumentLoadForFrame):
30699 (qt_wk_didFinishLoadForFrame):
30700 (qt_wk_didFailLoadWithErrorForFrame):
30701 (qt_wk_didReceiveTitleForFrame):
30702 (qt_wk_didFirstLayoutForFrame):
30703 (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame):
30704 * UIProcess/WebLoaderClient.cpp:
30705 (WebKit::WebLoaderClient::didStartProvisionalLoadForFrame):
30706 (WebKit::WebLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
30707 (WebKit::WebLoaderClient::didFailProvisionalLoadWithErrorForFrame):
30708 (WebKit::WebLoaderClient::didCommitLoadForFrame):
30709 (WebKit::WebLoaderClient::didFinishDocumentLoadForFrame):
30710 (WebKit::WebLoaderClient::didFinishLoadForFrame):
30711 (WebKit::WebLoaderClient::didFailLoadWithErrorForFrame):
30712 (WebKit::WebLoaderClient::didReceiveTitleForFrame):
30713 (WebKit::WebLoaderClient::didFirstLayoutForFrame):
30714 (WebKit::WebLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
30715 (WebKit::WebLoaderClient::didStartProgress):
30716 (WebKit::WebLoaderClient::didChangeProgress):
30717 (WebKit::WebLoaderClient::didFinishProgress):
30718 (WebKit::WebLoaderClient::didBecomeUnresponsive):
30719 (WebKit::WebLoaderClient::didBecomeResponsive):
30720 (WebKit::WebLoaderClient::processDidExit):
30721 (WebKit::WebLoaderClient::didChangeBackForwardList):
30722 * UIProcess/WebLoaderClient.h:
30723 * UIProcess/WebPageProxy.cpp:
30724 (WebKit::WebPageProxy::didReceiveMessage):
30725 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
30726 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
30727 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
30728 (WebKit::WebPageProxy::didCommitLoadForFrame):
30729 (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
30730 (WebKit::WebPageProxy::didFinishLoadForFrame):
30731 (WebKit::WebPageProxy::didFailLoadForFrame):
30732 (WebKit::WebPageProxy::didReceiveTitleForFrame):
30733 (WebKit::WebPageProxy::didFirstLayoutForFrame):
30734 (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
30735 * UIProcess/WebPageProxy.h:
30736 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
30737 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
30738 (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
30739 (WebKit::InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
30740 (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame):
30741 (WebKit::InjectedBundlePageLoaderClient::didCommitLoadForFrame):
30742 (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame):
30743 (WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame):
30744 (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame):
30745 (WebKit::InjectedBundlePageLoaderClient::didReceiveTitleForFrame):
30746 (WebKit::InjectedBundlePageLoaderClient::didFirstLayoutForFrame):
30747 (WebKit::InjectedBundlePageLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
30748 (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
30749 (WebKit::InjectedBundlePageLoaderClient::didCancelClientRedirectForFrame):
30750 (WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame):
30751 (WebKit::InjectedBundlePageLoaderClient::didChangeLocationWithinPageForFrame):
30752 (WebKit::InjectedBundlePageLoaderClient::didHandleOnloadEventsForFrame):
30753 (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
30754 (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
30755 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
30756 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
30757 (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
30758 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
30759 (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
30760 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
30761 (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
30762 (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
30763 (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
30764 (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
30765 (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
30766 (WebKit::WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
30768 2010-09-18 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
30770 Reviewed by Kenneth Rohde Christiansen.
30772 Enable Platform Strategies on Qt
30774 [Qt] Turn on PLATFORM_STRATEGIES
30775 https://bugs.webkit.org/show_bug.cgi?id=45831
30777 * WebKit2.pro: Added Added WebPlatformStrategies.{cpp,h}
30779 2010-09-17 Sam Weinig <sam@webkit.org>
30781 Reviewed by Jon Honeycutt.
30783 Need a way to load data (as plain text) in a WKPage
30784 <rdar://problem/8424239>
30786 * Shared/CoreIPCSupport/WebPageMessageKinds.h:
30787 * UIProcess/API/C/WKPage.cpp:
30788 (WKPageLoadHTMLString):
30789 * UIProcess/API/C/WKPage.h:
30790 * UIProcess/WebPageProxy.cpp:
30791 (WebKit::WebPageProxy::loadHTMLString):
30792 * UIProcess/WebPageProxy.h:
30793 * WebProcess/WebPage/WebPage.cpp:
30794 (WebKit::WebPage::loadHTMLString):
30795 (WebKit::WebPage::didReceiveMessage):
30796 * WebProcess/WebPage/WebPage.h:
30798 2010-09-17 Sam Weinig <sam@webkit.org>
30800 Rubber-stamped by Anders Carlsson.
30802 Replace all uses of WTF::String and WTF::AtomicString with
30803 String and AtomicString.
30805 * Platform/Module.h:
30806 * Shared/CommandLine.h:
30807 (WebKit::CommandLine::operator[]):
30808 * Shared/WebCoreArgumentCoders.h:
30809 * Shared/WebEvent.h:
30810 (WebKit::WebKeyboardEvent::WebKeyboardEvent):
30811 (WebKit::WebKeyboardEvent::text):
30812 (WebKit::WebKeyboardEvent::unmodifiedText):
30813 (WebKit::WebKeyboardEvent::keyIdentifier):
30814 (WebKit::WebKeyboardEvent::decode):
30815 * Shared/WebNavigationDataStore.h:
30816 * Shared/WebPreferencesStore.h:
30817 * Shared/WebString.h:
30818 (WebKit::WebString::create):
30819 (WebKit::WebString::string):
30820 (WebKit::WebString::WebString):
30822 (WebKit::WebURL::create):
30823 (WebKit::WebURL::string):
30824 (WebKit::WebURL::WebURL):
30825 * UIProcess/API/C/WKAPICast.h:
30827 (WebKit::toURLRef):
30828 (WebKit::toCopiedRef):
30829 (WebKit::toCopiedURLRef):
30830 (WebKit::toWTFString):
30831 * UIProcess/API/C/WKContext.cpp:
30833 * UIProcess/API/mac/PageClientImpl.h:
30834 * UIProcess/API/mac/PageClientImpl.mm:
30835 (WebKit::nsStringFromWebCoreString):
30836 * UIProcess/PageClient.h:
30837 * UIProcess/Plugins/PluginInfoStore.cpp:
30838 (WebKit::PluginInfoStore::setAdditionalPluginsDirectories):
30839 * UIProcess/Plugins/PluginInfoStore.h:
30840 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
30841 (WebKit::PluginInfoStore::getPluginInfo):
30842 (WebKit::PluginInfoStore::getMIMETypeForExtension):
30843 * UIProcess/WebBackForwardListItem.h:
30844 (WebKit::WebBackForwardListItem::create):
30845 (WebKit::WebBackForwardListItem::setOriginalURL):
30846 (WebKit::WebBackForwardListItem::originalURL):
30847 (WebKit::WebBackForwardListItem::setURL):
30848 (WebKit::WebBackForwardListItem::url):
30849 (WebKit::WebBackForwardListItem::setTitle):
30850 (WebKit::WebBackForwardListItem::title):
30851 * UIProcess/WebContext.cpp:
30852 (WebKit::WebContext::WebContext):
30853 (WebKit::WebContext::setAdditionalPluginsDirectory):
30854 * UIProcess/WebContext.h:
30855 (WebKit::WebContext::injectedBundlePath):
30856 * UIProcess/WebContextInjectedBundleClient.h:
30857 * UIProcess/WebFrameProxy.cpp:
30858 (WebKit::WebFrameProxy::didReceiveTitle):
30859 * UIProcess/WebFrameProxy.h:
30860 (WebKit::WebFrameProxy::url):
30861 (WebKit::WebFrameProxy::provisionalURL):
30862 * UIProcess/WebHistoryClient.h:
30863 * UIProcess/WebLoaderClient.cpp:
30864 (WebKit::WebLoaderClient::didReceiveTitleForFrame):
30865 * UIProcess/WebLoaderClient.h:
30866 * UIProcess/WebNavigationData.h:
30867 (WebKit::WebNavigationData::title):
30868 (WebKit::WebNavigationData::url):
30869 * UIProcess/WebPageProxy.h:
30870 (WebKit::WebPageProxy::pageTitle):
30871 (WebKit::WebPageProxy::toolTip):
30872 (WebKit::WebPageProxy::urlAtProcessExit):
30873 * UIProcess/WebPolicyClient.h:
30874 * UIProcess/WebProcessProxy.cpp:
30875 (WebKit::WebProcessProxy::getPluginHostConnection):
30876 * UIProcess/WebProcessProxy.h:
30877 * UIProcess/WebUIClient.h:
30878 * WebProcess/InjectedBundle/InjectedBundle.h:
30879 (WebKit::InjectedBundle::create):
30880 (WebKit::InjectedBundle::setSandboxToken):
30881 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
30882 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
30883 (WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame):
30884 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
30885 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
30886 * WebProcess/Plugins/NPRuntimeObjectMap.h:
30887 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
30888 * WebProcess/Plugins/Netscape/NetscapePluginModule.h:
30889 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
30890 (WebKit::NetscapePluginStream::start):
30891 * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
30892 * WebProcess/Plugins/Plugin.h:
30893 * WebProcess/Plugins/PluginController.h:
30894 * WebProcess/Plugins/PluginView.h:
30895 * WebProcess/WebCoreSupport/WebChromeClient.h:
30896 * WebProcess/WebCoreSupport/WebContextMenuClient.h:
30897 * WebProcess/WebCoreSupport/WebDragClient.h:
30898 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
30899 (WebKit::WebEditorClient::showCorrectionPanel):
30900 * WebProcess/WebCoreSupport/WebEditorClient.h:
30901 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
30902 * WebProcess/WebCoreSupport/WebInspectorClient.h:
30903 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
30904 * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
30905 (WebKit::WebSearchPopupMenu::saveRecentSearches):
30906 (WebKit::WebSearchPopupMenu::loadRecentSearches):
30907 * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
30908 * WebProcess/WebPage/WebFrame.h:
30909 * WebProcess/WebPage/WebPage.cpp:
30910 (WebKit::WebPage::runJavaScriptInMainFrame):
30911 * WebProcess/WebPage/WebPage.h:
30912 * WebProcess/WebProcess.cpp:
30913 (WebKit::WebProcess::registerURLSchemeAsEmptyDocument):
30914 * WebProcess/WebProcess.h:
30916 2010-09-17 Sam Weinig <sam@webkit.org>
30918 Fix Windows and Qt builds.
30920 * Shared/qt/PlatformCertificateInfo.h:
30921 (WebKit::PlatformCertificateInfo::decode):
30922 * Shared/win/PlatformCertificateInfo.h:
30923 (WebKit::PlatformCertificateInfo::decode):
30925 2010-09-17 Darin Adler <darin@apple.com>
30927 Reviewed by Sam Weinig.
30929 REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
30930 https://bugs.webkit.org/show_bug.cgi?id=42863
30932 * WebProcess/WebPage/WebPage.cpp:
30933 (WebKit::WebPage::textZoomFactor):
30934 (WebKit::WebPage::setTextZoomFactor):
30935 (WebKit::WebPage::pageZoomFactor):
30936 (WebKit::WebPage::setPageZoomFactor):
30937 (WebKit::WebPage::setPageAndTextZoomFactors):
30938 Call functions on Frame instead of FrameView.
30940 2010-09-17 Sam Weinig <sam@webkit.org>
30942 Reviewed by Anders Carlsson.
30944 Resize corner jiggles when resizing slowly in WebKit2
30945 <rdar://problem/7897425>
30946 https://bugs.webkit.org/show_bug.cgi?id=45601
30948 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
30949 (WebKit::WebChromeClient::windowResizerRect):
30950 * WebProcess/WebPage/WebPage.cpp:
30951 (WebKit::WebPage::windowResizerRect):
30952 * WebProcess/WebPage/WebPage.h:
30953 Move resize corner logic to WebPage and use the FrameView's size instead of the WebPages
30954 stored size, which doesn't get updated at the right time. This is in line with all other
30955 scrollbar metrics which are in terms of the FrameView's size.
30957 2010-09-17 Sam Weinig <sam@webkit.org>
30959 Reviewed by Anders Carlsson.
30961 Make certificate data available to the WKFrameRef after it is committed
30962 Part of <rdar://problem/8350189>
30963 https://bugs.webkit.org/show_bug.cgi?id=45998
30965 * Shared/APIObject.h:
30968 * Shared/WebCertificateInfo.h: Added.
30969 (WebKit::WebCertificateInfo::create):
30970 (WebKit::WebCertificateInfo::platformCertificateInfo):
30971 (WebKit::WebCertificateInfo::WebCertificateInfo):
30972 (WebKit::WebCertificateInfo::type):
30973 Add API type for vending.
30975 * Shared/mac/PlatformCertificateInfo.h: Added.
30976 (WebKit::PlatformCertificateInfo::peerCertificates):
30977 * Shared/mac/PlatformCertificateInfo.mm: Added.
30978 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
30979 (WebKit::PlatformCertificateInfo::encode):
30980 (WebKit::PlatformCertificateInfo::decode):
30981 (WebKit::PlatformCertificateInfo::dump):
30982 * Shared/qt/PlatformCertificateInfo.h: Added.
30983 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
30984 (WebKit::PlatformCertificateInfo::encode):
30985 (WebKit::PlatformCertificateInfo::decode):
30986 * Shared/win/PlatformCertificateInfo.h: Added.
30987 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
30988 (WebKit::PlatformCertificateInfo::encode):
30989 (WebKit::PlatformCertificateInfo::decode):
30990 Add platform specific holder for certificate data and encode/decode functions
30991 to send it over the wire. Right now, this only implemented for the mac.
30993 * UIProcess/API/C/WKAPICast.h:
30994 * UIProcess/API/C/WKBase.h:
30995 * UIProcess/API/C/WKCertificateInfo.cpp: Added.
30996 (WKCertificateInfoGetTypeID):
30997 * UIProcess/API/C/WKCertificateInfo.h: Added.
30998 Add wrapper for WebCertificateInfo.
31000 * UIProcess/API/C/WKFrame.cpp:
31001 (WKFrameGetCertificateInfo):
31002 * UIProcess/API/C/WKFrame.h:
31003 Add getter for a WKCertificateInfo.
31005 * UIProcess/API/C/mac/WKCertificateInfoMac.h: Added.
31006 * UIProcess/API/C/mac/WKCertificateInfoMac.mm: Added.
31007 (WKCertificateInfoGetPeerCertificates):
31008 Add mac specific getters for the platform specific certificate
31011 * UIProcess/WebFrameProxy.cpp:
31012 (WebKit::WebFrameProxy::setCertificateInfo):
31013 * UIProcess/WebFrameProxy.h:
31014 (WebKit::WebFrameProxy::certificateInfo):
31015 * UIProcess/WebPageProxy.cpp:
31016 (WebKit::WebPageProxy::didReceiveMessage):
31017 (WebKit::WebPageProxy::didCommitLoadForFrame):
31018 * UIProcess/WebPageProxy.h:
31019 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
31020 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
31021 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
31022 Pipe the certificate info through to the WebFrameProxy on
31026 * WebKit2.xcodeproj/project.pbxproj:
31027 * win/WebKit2.vcproj:
31028 * win/WebKit2Generated.make:
31031 2010-09-17 Matthew Delaney <mdelaney@apple.com>
31033 Reviewed by Simon Fraser.
31035 Reduce minimum DOMTimer interval
31036 https://bugs.webkit.org/show_bug.cgi?id=45362
31038 * WebProcess/WebPage/WebPage.cpp: Added in a call to set the mimimum allowed DOMTimer to 4ms.
31040 2010-09-17 Anders Carlsson <andersca@apple.com>
31042 Reviewed by Sam Weinig.
31044 CoreIPC argument coder improvements
31045 https://bugs.webkit.org/show_bug.cgi?id=45999
31047 * Platform/CoreIPC/ArgumentCoders.h:
31048 Add explicit specialization for a vector of bytes.
31050 * Platform/CoreIPC/Arguments.h:
31051 (CoreIPC::Arguments1::decode):
31052 (CoreIPC::Arguments2::decode):
31053 (CoreIPC::Arguments3::decode):
31054 (CoreIPC::Arguments4::decode):
31055 (CoreIPC::Arguments5::decode):
31056 (CoreIPC::Arguments6::decode):
31057 Use the injected class name for less typing.
31059 (CoreIPC::Arguments7::Arguments7):
31060 (CoreIPC::Arguments7::encode):
31061 (CoreIPC::Arguments7::decode):
31064 Add Arguments7 class.
31066 2010-09-17 Andy Estes <aestes@apple.com>
31068 Reviewed by Darin Adler.
31070 <rdar://problem/8440903> WK2: REGRESSION (r66156): Web sites using
31071 AppleConnect fail to log in: "HTTP Status 404 - /ssowebapp/scriptFrame"
31072 https://bugs.webkit.org/show_bug.cgi?id=45960
31074 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
31075 (WebKit::WebFrameLoaderClient::createPlugin):
31077 2010-09-17 Sam Weinig <sam@webkit.org>
31079 Reviewed by Anders Carlsson.
31081 Make WebNumbers immutable matching CF.
31083 * Shared/WebNumber.h:
31084 (WebKit::WebNumber::value):
31085 (WebKit::WebNumber::WebNumber):
31086 * UIProcess/API/C/WKNumber.cpp:
31087 (WKUInt64GetValue):
31088 * UIProcess/API/C/WKNumber.h:
31090 2010-09-17 Sam Weinig <sam@webkit.org>
31092 Reviewed by John Sullivan.
31094 Add bool wrapper for WebKit2 API
31095 https://bugs.webkit.org/show_bug.cgi?id=45985
31097 * Shared/APIObject.h:
31098 * Shared/WebNumber.h:
31099 * UIProcess/API/C/WKAPICast.h:
31100 * UIProcess/API/C/WKBase.h:
31101 * UIProcess/API/C/WKNumber.cpp:
31102 (WKBooleanGetTypeID):
31104 (WKBooleanGetValue):
31105 (WKBooleanSetValue):
31106 * UIProcess/API/C/WKNumber.h:
31108 2010-09-16 Sam Weinig <sam@webkit.org>
31110 Reviewed by Anders Carlsson.
31112 Add support for sending synchronous messages from the InjectedBundle to the WKContext
31113 <rdar://problem/8365320>
31114 https://bugs.webkit.org/show_bug.cgi?id=44785
31116 * Shared/CoreIPCSupport/WebContextMessageKinds.h:
31117 * UIProcess/API/C/WKContext.h:
31118 * UIProcess/WebContext.cpp:
31119 (WebKit::WebContext::didReceiveSynchronousMessageFromInjectedBundle):
31120 (WebKit::WebContext::didReceiveMessage):
31121 (WebKit::WebContext::didReceiveSyncMessage):
31122 * UIProcess/WebContext.h:
31123 * UIProcess/WebContextInjectedBundleClient.cpp:
31124 (WebKit::WebContextInjectedBundleClient::didReceiveSynchronousMessageFromInjectedBundle):
31125 * UIProcess/WebContextInjectedBundleClient.h:
31126 * UIProcess/WebProcessProxy.cpp:
31127 (WebKit::WebProcessProxy::didReceiveSyncMessage):
31128 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
31129 (WKBundlePostSynchronousMessage):
31130 * WebProcess/InjectedBundle/API/c/WKBundle.h:
31131 * WebProcess/InjectedBundle/InjectedBundle.cpp:
31132 (WebKit::InjectedBundle::postSynchronousMessage):
31133 * WebProcess/InjectedBundle/InjectedBundle.h:
31135 2010-09-16 Balazs Kelemen <kbalazs@webkit.org>
31137 Unreviewed trivial typo fix.
31139 Remove old debug helper code inside |#if 0| from ConnectionQt.cpp
31141 * Platform/CoreIPC/qt/ConnectionQt.cpp:
31142 (CoreIPC::Connection::readyReadHandler):
31144 2010-09-15 Enrica Casucci <enrica@apple.com>
31146 Reviewed by Sam Weinig.
31148 Pasteboard doesn't work in WebKit2.
31149 https://bugs.webkit.org/show_bug.cgi?id=42317
31150 <rdar://problem/7660537>
31152 Initial work to support cut, copy, paste and selectAll in WebKit2.
31153 It still does not support RTF and RTFD format for Mac and the selective
31154 enabling of the editing menu entries.
31156 * Shared/CoreIPCSupport/WebPageMessageKinds.h: Added messages to support the
31157 new editing commands.
31158 * UIProcess/API/mac/WKView.mm:
31159 (-[WKView validateUserInterfaceItem:]): Added.
31160 (-[WKView copy:]): Added.
31161 (-[WKView cut:]): Added.
31162 (-[WKView paste:]): Addded.
31163 (-[WKView selectAll:]): Added.
31164 * UIProcess/WebPageProxy.cpp: Added all the proxy methods.
31165 (WebKit::WebPageProxy::selectAll):
31166 (WebKit::WebPageProxy::copy):
31167 (WebKit::WebPageProxy::cut):
31168 (WebKit::WebPageProxy::paste):
31169 * UIProcess/WebPageProxy.h:
31170 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
31171 (WebKit::WebEditorClient::documentFragmentFromAttributedString): Added but not
31172 implemented. This is needed to support RTF and RTFD.
31173 (WebKit::WebEditorClient::setInsertionPasteboard): Added but not implemented.
31174 This is needed only to support Mail on the Mac.
31175 * WebProcess/WebPage/WebPage.cpp: Added all the stub methods.
31176 (WebKit::WebPage::selectAll):
31177 (WebKit::WebPage::copy):
31178 (WebKit::WebPage::cut):
31179 (WebKit::WebPage::paste):
31180 (WebKit::WebPage::didReceiveMessage): Modified to handle the new messages from
31182 * WebProcess/WebPage/WebPage.h:
31184 2010-09-16 Eric Uhrhane <ericu@chromium.org>
31186 Reviewed by Jian Li.
31188 Unify FILE_SYSTEM and FILE_WRITER enables under the name FILE_SYSTEM.
31189 https://bugs.webkit.org/show_bug.cgi?id=45798
31191 * Configurations/FeatureDefines.xcconfig:
31193 2010-09-15 Jessie Berlin <jberlin@apple.com>
31195 Reviewed by Sam Weinig.
31197 WebKit2 should be able to encode and decode objects of type APIObject::TypeURL.
31198 https://bugs.webkit.org/show_bug.cgi?id=45819
31200 * Shared/UserMessageCoders.h:
31201 Add the ability to encode and decode the URL type.
31202 (WebKit::UserMessageEncoder::baseEncode):
31203 (WebKit::UserMessageDecoder::baseDecode):
31205 2010-09-15 Sam Weinig <sam@webkit.org>
31207 Reviewed by Jon Honeycutt.
31209 Add user message coding for WebUInt64 type.
31211 * Shared/UserMessageCoders.h:
31212 (WebKit::UserMessageEncoder::baseEncode):
31213 (WebKit::UserMessageDecoder::baseDecode):
31215 2010-09-15 Jessie Berlin <jberlin@apple.com>
31217 Reviewed by Jon Honeycutt.
31219 We should save messages that can't be sent when postMessageToInjectedBundle is called and
31220 send them in ensureWebProcess.
31221 https://bugs.webkit.org/show_bug.cgi?id=45822
31223 * UIProcess/WebContext.cpp:
31224 (WebKit::WebContext::ensureWebProcess):
31225 Post any messages to the Injected Bundle that couldn't be sent earlier because the
31226 WebProcess hadn't been initialized yet.
31227 (WebKit::WebContext::postMessageToInjectedBundle):
31228 * UIProcess/WebContext.h:
31230 2010-09-15 Simon Fraser <simon.fraser@apple.com>
31232 Reviewed by Sam Weinig.
31234 <rdar://problem/8214099> Mousewheel scrolling in WebKit2 is wonky
31236 Use floats so that fractional scrollwheel deltas don't get lost.
31238 * Shared/mac/WebEventFactory.mm:
31239 (WebKit::WebEventFactory::createWebWheelEvent):
31241 2010-09-15 Sam Weinig <sam@webkit.org>
31243 Reviewed by Jon Honeycutt.
31245 Add WKUInt64Ref wrapper for sending uint64_ts.
31247 * Shared/APIObject.h:
31248 * Shared/WebNumber.h:
31249 * UIProcess/API/C/WKAPICast.h:
31250 * UIProcess/API/C/WKBase.h:
31251 * UIProcess/API/C/WKNumber.cpp:
31252 (WKUInt64GetTypeID):
31254 (WKUInt64GetValue):
31255 (WKUInt64SetValue):
31256 * UIProcess/API/C/WKNumber.h:
31258 2010-09-15 Simon Fraser <simon.fraser@apple.com>
31260 Reviewed by Adam Roben.
31262 https://bugs.webkit.org/show_bug.cgi?id=44715
31263 maps.google.com flips upside down when zooming map using trackpad in WebKit2 on Mac
31265 Move geometry flipping to platform-specific code.
31267 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
31268 (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
31269 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
31270 (WebKit::LayerBackedDrawingArea::platformInit):
31272 2010-09-14 Jia Pu <jpu@apple.com>
31274 Reviewed by Dan Bernstein.
31276 Only intercept ESC key press when autocorrection UI is visible.
31277 https://bugs.webkit.org/show_bug.cgi?id=45071
31279 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
31280 (WebKit::WebEditorClient::isShowingCorrectionPanel): Dummy implementation.
31282 * WebProcess/WebCoreSupport/WebEditorClient.h: Adopt new method delcared in base class.
31284 2010-09-14 Sam Weinig <sam@webkit.org>
31288 * win/WebKit2Generated.make:
31290 2010-09-14 Sam Weinig <sam@webkit.org>
31292 Reviewed by Anders Carlsson.
31294 Remove WKBundleNodeRef, replacing uses with WKBundleNodeHandleRef.
31295 https://bugs.webkit.org/show_bug.cgi?id=45785
31297 * WebKit2.xcodeproj/project.pbxproj:
31298 * win/WebKit2.vcproj:
31301 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
31302 * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
31303 * WebProcess/InjectedBundle/API/c/WKBundleNode.cpp: Removed.
31304 * WebProcess/InjectedBundle/API/c/WKBundleNode.h: Removed.
31305 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
31306 * WebProcess/InjectedBundle/API/c/WKBundleRange.cpp:
31307 (WKBundleRangeCopyStartContainer):
31308 (WKBundleRangeCopyEndContainer):
31309 * WebProcess/InjectedBundle/API/c/WKBundleRange.h:
31310 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
31311 (WebKit::InjectedBundlePageEditorClient::shouldInsertNode):
31312 Change to be in terms of WKBundleNodeHandleRef.
31314 2010-09-14 Jessie Berlin <jberlin@apple.com>
31316 Reviewed by Adam Roben.
31318 Exceptions are getting ignored on 64-bit Windows in the Web Process
31319 https://bugs.webkit.org/show_bug.cgi?id=45779
31321 * WebProcess/WebKitMain.cpp:
31322 (disableProcessCallbackFilterForExceptions):
31323 Clear the PROCESS_CALLBACK_FILTER_ENABLED flag so that exceptions thrown in callback routines
31324 are not ignored, as described in http://support.microsoft.com/kb/976038 and
31325 http://blog.paulbetts.org/index.php/2010/07/20/the-case-of-the-disappearing-onload-exception-user-mode-callback-exceptions-in-x64/.
31328 2010-09-14 Brent Fulgham <bfulgham@webkit.org>
31330 Build correction, no review.
31332 * win/WebKit2.vcproj: Disable build for Cairo targets of
31333 the WebURLRequestWin.cpp and WebURLResponseWin.cpp files.
31335 2010-09-14 Eric Seidel <eric@webkit.org>
31337 Unreviewed, reverting changes r67451 and r67451.
31338 Broke lots of builders.
31340 Only intercept ESC key press when autocorrection UI is visible.
31341 https://bugs.webkit.org/show_bug.cgi?id=45071
31343 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
31344 (WebKit::WebEditorClient::dismissCorrectionPanel):
31345 * WebProcess/WebCoreSupport/WebEditorClient.h:
31347 2010-09-14 Jia Pu <jpu@apple.com>
31349 Reviewed by Dan Bernstein.
31351 Only intercept ESC key press when autocorrection UI is visible.
31352 https://bugs.webkit.org/show_bug.cgi?id=45071
31354 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
31355 (WebKit::WebEditorClient::isShowingCorrectionPanel): Dummy implementation.
31357 * WebProcess/WebCoreSupport/WebEditorClient.h: Adopt new method delcared in base class.
31359 2010-09-13 Sam Weinig <sam@webkit.org>
31361 Reviewed by Jon Honeycutt.
31363 URL in address bar doesn't update when navigating to http://webkit.org/new-bug when using WebKit2
31364 <rdar://problem/8272775>
31365 https://bugs.webkit.org/show_bug.cgi?id=45729
31367 Pass an updated provisional url while notifying the UIProcess of
31368 didReceiveServerRedirectForProvisionalLoadForFrame.
31370 * UIProcess/WebFrameProxy.cpp:
31371 (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
31372 * UIProcess/WebFrameProxy.h:
31373 * UIProcess/WebPageProxy.cpp:
31374 (WebKit::WebPageProxy::didReceiveMessage):
31375 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
31376 * UIProcess/WebPageProxy.h:
31377 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
31378 (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
31380 2010-09-13 Sam Weinig <sam@webkit.org>
31384 * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
31386 2010-09-13 Sam Weinig <sam@webkit.org>
31388 Reviewed by Jon Honeycutt.
31390 Threaded mode should work in WebKit2 MiniBrowser
31391 https://bugs.webkit.org/show_bug.cgi?id=45727
31393 - Make starting the web thread more like starting a new
31394 process (encapsulate it in a thread launcher class).
31395 - Make the call to didFinishLaunching asynchronous so that
31396 WebProcess is fully constructed before it is called.
31398 * Platform/WorkItem.h:
31399 (MemberFunctionWorkItem1::MemberFunctionWorkItem1):
31400 (MemberFunctionWorkItem1::~MemberFunctionWorkItem1):
31401 (MemberFunctionWorkItem1::execute):
31402 (WorkItem::create):
31403 * UIProcess/Launcher/ProcessLauncher.h:
31404 * UIProcess/Launcher/ThreadLauncher.cpp: Added.
31405 (WebKit::ThreadLauncher::ThreadLauncher):
31406 (WebKit::ThreadLauncher::launchThread):
31407 (WebKit::ThreadLauncher::didFinishLaunchingThread):
31408 (WebKit::ThreadLauncher::invalidate):
31409 * UIProcess/Launcher/ThreadLauncher.h: Added.
31410 (WebKit::ThreadLauncher::Client::~Client):
31411 (WebKit::ThreadLauncher::create):
31412 (WebKit::ThreadLauncher::isLaunching):
31413 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
31414 (WebKit::ProcessLauncher::terminateProcess):
31415 * UIProcess/Launcher/mac/ThreadLauncherMac.mm: Added.
31416 (WebKit::webThreadBody):
31417 (WebKit::ThreadLauncher::createWebThread):
31418 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
31419 * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: Added.
31420 (WebKit::webThreadBody):
31421 (WebKit::ProcessLauncher::createWebThread):
31422 * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
31423 * UIProcess/Launcher/win/ThreadLauncherWin.cpp: Added.
31424 (WebKit::webThreadBody):
31425 (WebKit::ProcessLauncher::createWebThread):
31426 * UIProcess/WebProcessProxy.cpp:
31427 (WebKit::WebProcessProxy::~WebProcessProxy):
31428 (WebKit::WebProcessProxy::connect):
31429 (WebKit::WebProcessProxy::isLaunching):
31430 (WebKit::WebProcessProxy::didFinishLaunching):
31431 * UIProcess/WebProcessProxy.h:
31433 * WebKit2.xcodeproj/project.pbxproj:
31434 * win/WebKit2.vcproj:
31436 2010-09-13 Sam Weinig <sam@webkit.org>
31438 Reviewed by Anders Carlsson.
31440 didFinishDocumentLoadForFrame() is not being sent by WebKit2
31441 <rdar://problem/8424171>
31443 Finish wiring up didFinishDocumentLoad to the UIProcess.
31445 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
31446 (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
31448 2010-09-13 Enrica Casucci <enrica@apple.com>
31450 Reviewed by Sam Weinig.
31452 Paste should be implemented in WebCore like Copy and Cut for Mac also.
31453 https://bugs.webkit.org/show_bug.cgi?id=45494
31454 <rdar://problem/7660537>
31456 On the Mac platform, the implementation of the paste operation is all done
31457 at the WebKit level. In order to support it on WebKit2 it is necessary to
31458 refactor the code and move this functionality at the level of WebCore like
31459 we already have on Windows.
31460 The original code relies on some in AppKit functions that call back into
31461 WebKit causing problems in WebKit2. All this functionality has been moved
31462 at the level of the editor client where it can be dealt with appropriately.
31464 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
31465 (WebKit::WebEditorClient::documentFragmentFromAttributedString): Added.
31466 (WebKit::WebEditorClient::setInsertionPasteboard): Added.
31467 * WebProcess/WebCoreSupport/WebEditorClient.h:
31468 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
31469 (WebKit::WebFrameLoaderClient::canShowMIMETypeAsHTML): Added.
31470 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
31472 2010-09-11 Daniel Bates <dbates@rim.com>
31474 Attempt to fix the Qt Linux Release build after changeset 67312 <http://trac.webkit.org/changeset/67312>.
31476 * UIProcess/API/qt/qwkpage.cpp:
31477 (QWKPage::QWKPage): Add missing ',' in WKPageUIClient initialization list.
31479 2010-09-11 Adam Barth <abarth@webkit.org>
31481 Reviewed by Sam Weinig.
31483 Make SecurityOrigin::canDisplay an instance function
31484 https://bugs.webkit.org/show_bug.cgi?id=45219
31486 * WebProcess/Plugins/PluginView.cpp:
31487 (WebKit::PluginView::performFrameLoadURLRequest):
31489 2010-09-11 Sam Weinig <sam@webkit.org>
31491 Reviewed by Dan Bernstein.
31493 Implement WebKit2 callback equivalent to - [WebUIDelegate webView:setStatusText:]
31494 <rdar://problem/8359252>
31495 https://bugs.webkit.org/show_bug.cgi?id=45605
31497 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
31498 * UIProcess/API/C/WKPage.h:
31499 * UIProcess/API/qt/qwkpage.cpp:
31500 (QWKPage::QWKPage):
31501 * UIProcess/WebPageProxy.cpp:
31502 (WebKit::WebPageProxy::didReceiveMessage):
31503 (WebKit::WebPageProxy::setStatusText):
31504 * UIProcess/WebPageProxy.h:
31505 * UIProcess/WebUIClient.cpp:
31506 (WebKit::WebUIClient::setStatusText):
31507 * UIProcess/WebUIClient.h:
31508 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
31509 (WebKit::WebChromeClient::setStatusbarText):
31511 2010-09-11 Sam Weinig <sam@webkit.org>
31513 Reviewed by Dan Bernstein.
31515 Add callback mechanism for the getting the source of a frame
31516 <rdar://problem/8364681>
31517 https://bugs.webkit.org/show_bug.cgi?id=45604
31519 * Shared/CoreIPCSupport/WebPageMessageKinds.h:
31520 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
31521 * UIProcess/API/C/WKPage.cpp:
31522 (WKPageGetSourceForFrame):
31523 (callGetSourceForFrameBlockBlockAndDispose):
31524 (WKPageGetSourceForFrame_b):
31525 * UIProcess/API/C/WKPage.h:
31526 * UIProcess/WebPageProxy.cpp:
31527 (WebKit::WebPageProxy::close):
31528 (WebKit::WebPageProxy::getSourceForFrame):
31529 (WebKit::WebPageProxy::didReceiveMessage):
31530 (WebKit::WebPageProxy::didGetSourceForFrame):
31531 (WebKit::WebPageProxy::processDidExit):
31532 * UIProcess/WebPageProxy.h:
31533 * WebProcess/WebPage/WebFrame.cpp:
31534 (WebKit::WebFrame::source):
31535 * WebProcess/WebPage/WebFrame.h:
31536 * WebProcess/WebPage/WebPage.cpp:
31537 (WebKit::WebPage::getSourceForFrame):
31538 (WebKit::WebPage::didReceiveMessage):
31539 * WebProcess/WebPage/WebPage.h:
31541 2010-09-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
31543 Reviewed by Darin Adler.
31545 Add NetworkingContext to avoid layer violations
31546 https://bugs.webkit.org/show_bug.cgi?id=42292
31548 * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.cpp:
31549 * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
31550 (WebFrameNetworkingContext::create):
31552 2010-09-10 Sam Weinig <sam@webkit.org>
31554 Reviewed by Dan Bernstein.
31556 Add zoom support to WebKit2 API
31557 <rdar://problem/7660657>
31558 https://bugs.webkit.org/show_bug.cgi?id=45585
31560 - Add UIProcess API for setting zoom factors.
31561 - Change bundle zoom API to be in terms of doubles
31564 * Shared/CoreIPCSupport/WebPageMessageKinds.h:
31565 * UIProcess/API/C/WKPage.cpp:
31566 (WKPageGetTextZoomFactor):
31567 (WKPageSetTextZoomFactor):
31568 (WKPageGetPageZoomFactor):
31569 (WKPageSetPageZoomFactor):
31570 (WKPageSetPageAndTextZoomFactors):
31571 * UIProcess/API/C/WKPage.h:
31572 * UIProcess/WebPageProxy.cpp:
31573 (WebKit::WebPageProxy::WebPageProxy):
31574 (WebKit::WebPageProxy::setTextZoomFactor):
31575 (WebKit::WebPageProxy::setPageZoomFactor):
31576 (WebKit::WebPageProxy::setPageAndTextZoomFactors):
31577 * UIProcess/WebPageProxy.h:
31578 (WebKit::WebPageProxy::textZoomFactor):
31579 (WebKit::WebPageProxy::pageZoomFactor):
31580 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
31581 (WKBundlePageGetTextZoomFactor):
31582 (WKBundlePageSetTextZoomFactor):
31583 (WKBundlePageGetPageZoomFactor):
31584 (WKBundlePageSetPageZoomFactor):
31585 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
31586 * WebProcess/WebPage/WebPage.cpp:
31587 (WebKit::WebPage::textZoomFactor):
31588 (WebKit::WebPage::setTextZoomFactor):
31589 (WebKit::WebPage::pageZoomFactor):
31590 (WebKit::WebPage::setPageZoomFactor):
31591 (WebKit::WebPage::setPageAndTextZoomFactors):
31592 (WebKit::WebPage::didReceiveMessage):
31593 * WebProcess/WebPage/WebPage.h:
31595 2010-09-10 Balazs Kelemen <kb@inf.u-szeged.hu>
31597 Reviewed by Andreas Kling.
31599 Application cache directory should be checked before sending to the web process
31600 https://bugs.webkit.org/show_bug.cgi?id=45462
31602 * UIProcess/WebProcessProxy.cpp:
31603 (WebKit::WebProcessProxy::WebProcessProxy): Check the return value of
31604 m_context->applicationCacheDirectoy() to avoid sending a null string
31605 to the web process what makes it asserting.
31607 2010-09-10 Sam Weinig <sam@webkit.org>
31609 Reviewed by Darin Adler.
31611 Remove unnecessary constraint in WebCore of choosing either text zoom or full page zoom.
31612 Precursor to <rdar://problem/7660657>
31613 https://bugs.webkit.org/show_bug.cgi?id=45522
31615 Now that WebCore doesn't require a mode, change the bundle API for zoom to not
31616 require one either.
31618 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
31619 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
31620 (WKBundlePageStopLoading):
31621 (WKBundlePageGetTextZoomFactor):
31622 (WKBundlePageSetTextZoomFactor):
31623 (WKBundlePageGetPageZoomFactor):
31624 (WKBundlePageSetPageZoomFactor):
31625 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
31626 * WebProcess/WebPage/WebPage.cpp:
31627 (WebKit::WebPage::WebPage):
31628 (WebKit::WebPage::textZoomFactor):
31629 (WebKit::WebPage::setTextZoomFactor):
31630 (WebKit::WebPage::pageZoomFactor):
31631 (WebKit::WebPage::setPageZoomFactor):
31632 * WebProcess/WebPage/WebPage.h:
31634 2010-09-10 Balazs Kelemen <kb@inf.u-szeged.hu>
31636 Reviewed by Andreas Kling.
31638 [Qt] Implement port specific part of WebKit::InjectedBundle
31639 https://bugs.webkit.org/show_bug.cgi?id=45541
31641 * WebProcess/InjectedBundle/InjectedBundle.h: Typedef PlatformBundle as QLibrary for qt.
31642 * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
31643 (WebKit::InjectedBundle::load): Implemented.
31645 2010-09-10 Balazs Kelemen <kb@inf.u-szeged.hu>
31647 Reviewed by Andreas Kling.
31649 [Qt] MiniBrowser crashes with multiply windows when closing one of them
31650 https://bugs.webkit.org/show_bug.cgi?id=45536
31652 * UIProcess/API/qt/qwkpage.cpp:
31653 (QWKPage::~QWKPage): Do not call WKPageTerminate since this is designed
31654 to terminate the web process. We are correctly detaching the page without
31657 2010-09-10 Adam Barth <abarth@webkit.org>
31659 Reviewed by Darin Fisher.
31661 Move code from WebKit-layer to DocumentLoader
31662 https://bugs.webkit.org/show_bug.cgi?id=45569
31664 This code looks copy/pasted from Mac. It's unclear whether whether all
31665 the complexity is needed here, but I don't have a good way to find out.
31667 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
31668 (WebKit::WebFrameLoaderClient::committedLoad):
31669 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
31671 2010-09-10 Anders Carlsson <andersca@apple.com>
31673 Reviewed by Mark Rowe and Darin Adler.
31675 Set the visible name for the web process
31676 https://bugs.webkit.org/show_bug.cgi?id=45564
31677 <rdar://problem/8416970>
31679 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
31680 (WebKit::processName):
31681 Add a thread safe implementation of -[NSProcessInfo processName].
31683 (WebKit::ProcessLauncher::launchProcess):
31684 Pass the process name to the child process.
31686 * WebProcess/mac/WebProcessMainMac.mm:
31687 (WebKit::WebProcessMain):
31688 Set the visible name.
31690 2010-09-10 Adam Barth <abarth@webkit.org>
31692 Reviewed by Eric Seidel.
31694 Main resource bytes shouldn't bounce through FrameLoader
31695 https://bugs.webkit.org/show_bug.cgi?id=45496
31697 Now return the bytes to the DocumentLoader.
31699 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
31700 (WebKit::WebFrameLoaderClient::receivedData):
31702 2010-09-10 Adam Roben <aroben@apple.com>
31704 Don't crash when a frame is destroyed after the UI process has
31707 Fixes <http://webkit.org/b/45535> <rdar://problem/8412928> Crash in
31708 WebProcess::removeWebFrame on exit with WebKit2 (Release builds only)
31710 Reviewed by Darin Adler.
31712 * WebProcess/WebProcess.cpp:
31713 (WebKit::WebProcess::removeWebFrame): Null-check m_connection before
31716 2010-09-09 Simon Fraser <simon.fraser@apple.com>
31718 Reviewed by Adam Roben.
31720 Scrollbars fail to render in composited iframes.
31721 https://bugs.webkit.org/show_bug.cgi?id=45335
31723 Use LocalWindowsContext when painting the plugin.
31725 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
31726 (WebKit::NetscapePlugin::platformPaint):
31728 2010-09-09 Sam Weinig <sam@webkit.org>
31730 Reviewed by Anders Carlsson.
31732 Allow passing WebDoubles via postMessage.
31734 * Shared/UserMessageCoders.h:
31735 (WebKit::UserMessageEncoder::baseEncode):
31736 (WebKit::UserMessageDecoder::baseDecode):
31738 2010-09-08 Sam Weinig <sam@webkit.org>
31740 Reviewed by Dan Bernstein.
31742 WebKit2 needs a way to box numbers (for Array, Dictionary, etc.)
31743 <rdar://problem/8408844>
31744 https://bugs.webkit.org/show_bug.cgi?id=45429
31746 This adds a generic WebNumber class that can be used for any scalar
31747 numeric type. Right now, we are only exposing a double version, but it
31748 is designed to allow more.
31750 * Shared/APIObject.h:
31751 * Shared/WebNumber.h: Added.
31752 (WebKit::WebNumber::create):
31753 (WebKit::WebNumber::value):
31754 (WebKit::WebNumber::setValue):
31755 (WebKit::WebNumber::WebNumber):
31756 (WebKit::WebNumber::type):
31757 * UIProcess/API/C/WKAPICast.h:
31758 * UIProcess/API/C/WKBase.h:
31759 * UIProcess/API/C/WKNumber.cpp: Added.
31760 (WKDoubleGetTypeID):
31762 (WKDoubleGetValue):
31763 (WKDoubleSetValue):
31764 * UIProcess/API/C/WKNumber.h: Added.
31765 * UIProcess/API/C/WebKit2.h:
31767 * WebKit2.xcodeproj/project.pbxproj:
31768 * win/WebKit2.vcproj:
31769 * win/WebKit2Generated.make:
31771 2010-09-08 Anders Carlsson <andersca@apple.com>
31773 Don't include the std namespace in a header. This hopefully fixes the Windows build.
31775 * Shared/WebCoreArgumentCoders.h:
31777 2010-09-08 Anders Carlsson <andersca@apple.com>
31779 Suggested and reviewed by Darin Adler.
31781 Fix an overflow bug in bufferIsLargeEnoughToContain.
31783 * Platform/CoreIPC/ArgumentDecoder.h:
31784 (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain):
31786 2010-09-08 Anders Carlsson <andersca@apple.com>
31788 Reviewed by Darin Adler.
31790 Improve CoreIPC encoding of strings
31791 https://bugs.webkit.org/show_bug.cgi?id=45418
31793 Encode and decode null Strings. Check that the string length isn't bogus.
31795 * Platform/CoreIPC/ArgumentCoders.h:
31796 * Platform/CoreIPC/ArgumentDecoder.cpp:
31797 (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain):
31798 * Platform/CoreIPC/ArgumentDecoder.h:
31799 (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain):
31800 * Shared/WebCoreArgumentCoders.h:
31802 2010-09-08 Adam Roben <aroben@apple.com>
31804 Add a way to cause the web process to crash at a random time
31806 Setting the WEBKIT2_CRASH_WEB_PROCESS_RANDOMLY environment variable
31807 will cause the web process to crash at a random point up to 3 minutes
31810 Fixes <http://webkit.org/b/43058> <rdar://problem/8240150>
31812 Reviewed by Darin Adler.
31814 * WebProcess/WebProcess.cpp:
31815 (WebKit::sleep): Added an implementation of this function for Windows.
31816 It just calls through to ::Sleep.
31817 (WebKit::randomCrashThread): Added. Sleeps for a random amount of time
31818 up to 3 minutes, then crashes.
31819 (WebKit::startRandomCrashThreadIfRequested): Added. Starts the crash
31820 thread if the WEBKIT2_CRASH_WEB_PROCESS_RANDOMLY environment variable
31822 (WebKit::WebProcess::initialize): Added a call to
31823 startRandomCrashThreadIfRequested.
31825 2010-09-08 Adam Roben <aroben@apple.com>
31827 Fix potential ref-counting issues with WorkItemWin
31829 Reviewed by Anders Carlsson.
31831 * Platform/WorkQueue.h: Changed WorkItemWin to inherit from
31832 ThreadSafeShared instead of RefCounted so that its ref-count will stay
31833 consistent when used on multiple threads.
31835 2010-09-08 Adam Roben <aroben@apple.com>
31837 Teach WorkQueue how to stop waiting on objects on Windows
31839 WorkQueue now uses a subclass of WorkItemWin, HandleWorkItem, to hold
31840 the waited-upon HANDLE and its corresponding wait handle. When a
31841 HANDLE is unregistered, we use the HandleWorkItem to cancel the wait
31842 and destroy the HANDLE.
31844 Fixes <http://webkit.org/b/42826> <rdar://problem/8222253> Crash in
31845 thread pool because WorkQueue keeps waiting on closed HANDLEs
31847 Reviewed by Anders Carlsson.
31849 * Platform/CoreIPC/win/ConnectionWin.cpp:
31850 (CoreIPC::Connection::platformInvalidate): Changed to call
31851 WorkQueue::unregisterAndCloseHandle instead of closing our handles
31854 (CoreIPC::Connection::readEventHandler):
31855 (CoreIPC::Connection::writeEventHandler):
31856 Handle cases where the pipe has already closed by just bailing out.
31857 This can happen if a WorkItem to call one of these functions has
31858 already been scheduled before platformInvalidate is called.
31860 * Platform/WorkQueue.h: Gave WorkItemWin a virtual destructor, added
31861 HandleWorkItem, changed m_handles to hold HandleWorkItems, and added
31862 functions for unregistering waits.
31864 * Platform/win/WorkQueueWin.cpp:
31865 (WorkQueue::WorkItemWin::~WorkItemWin): Added. This virtual destructor
31866 ensures that HandleWorkItem's destructor gets called.
31868 (WorkQueue::HandleWorkItem::HandleWorkItem):
31869 (WorkQueue::HandleWorkItem::createByAdoptingHandle):
31870 Added simple constructor/creator.
31872 (WorkQueue::HandleWorkItem::~HandleWorkItem): Closes the handle we
31874 (WorkQueue::registerHandle): Changed to create a HandleWorkItemWin and
31875 to store the wait handle in it.
31876 (WorkQueue::unregisterAndCloseHandle): Added. Removes the
31877 HandleWorkItem for this HANDLE from m_handles and then schedules its
31878 wait to be unregistered and the item to be destroyed.
31879 (WorkQueue::platformInvalidate): Added an assertion and removed an
31881 (WorkQueue::unregisterWaitAndDestroyItemSoon): Added. Calls
31882 unregisterWaitAndDestroyItemCallback on a worker thread, passing it
31883 ownership of the HandleWorkItem.
31884 (WorkQueue::unregisterWaitAndDestroyItemCallback): Added. Adopts the
31885 passed-in HandleWorkItem, then unregisters the handle's wait, then
31886 destroys the HandleWorkItem when the RefPtr holding it goes out of
31887 scope. Destroying the HandleWorkItem closes the handle.
31889 2010-09-08 Adam Roben <aroben@apple.com>
31891 Remove WKSerializedScriptValue.cpp/h from the Copy Files build phase
31893 * WebKit2.xcodeproj/project.pbxproj:
31895 2010-09-08 Adam Roben <aroben@apple.com>
31897 Get rid of WorkQueue::m_performWorkEvent
31899 We were signaling m_performWorkEvent to spawn a worker thread. We can
31900 use ::QueueUserWorkItem to spawn the thread instead.
31902 Fixes <http://webkit.org/b/45407> WorkQueue::m_performWorkEvent is
31905 Reviewed by Anders Carlsson.
31907 * Platform/WorkQueue.h: Removed m_performWorkEvent.
31909 * Platform/win/WorkQueueWin.cpp:
31910 (WorkQueue::workThreadCallback): Replaced eventCallback with this
31911 function. Its functionality is unchanged.
31913 (WorkQueue::platformInitialize):
31914 (WorkQueue::platformInvalidate):
31915 Removed code to set up and clean up m_performWorkEvent.
31917 (WorkQueue::scheduleWork): Use ::QueueUserWorkItem instead of
31918 signaling m_performWorkEvent to spawn a worker thread.
31920 2010-09-08 Adam Roben <aroben@apple.com>
31922 Fix WebKit2Common.vsprops line-endings
31924 * win/WebKit2Common.vsprops: Made all line-endings be CRLF, as this is
31925 the format Visual Studio wants.
31927 2010-09-07 Oliver Hunt <oliver@apple.com>
31929 Reviewed by Anders Carlsson.
31931 Support SerializedScriptValue in WebKit2
31932 https://bugs.webkit.org/show_bug.cgi?id=45340
31934 Add wrappers and IPC serialization for SerializedScriptValue
31936 * Shared/APIObject.h:
31937 * Shared/UserMessageCoders.h:
31938 (WebKit::UserMessageEncoder::baseEncode):
31939 (WebKit::UserMessageDecoder::baseDecode):
31940 * Shared/WebSerializedScriptValue.h: Added.
31941 (WebKit::WebSerializedScriptValue::create):
31942 (WebKit::WebSerializedScriptValue::adopt):
31943 (WebKit::WebSerializedScriptValue::deserialize):
31944 (WebKit::WebSerializedScriptValue::data):
31945 (WebKit::WebSerializedScriptValue::WebSerializedScriptValue):
31946 (WebKit::WebSerializedScriptValue::type):
31947 * UIProcess/API/C/WKAPICast.h:
31948 * UIProcess/API/C/WKBase.h:
31949 * UIProcess/API/C/WKSerializedScriptValue.cpp: Added.
31950 (WKSerializedScriptValueGetTypeID):
31951 (WKSerializedScriptValueCreate):
31952 (WKSerializedScriptValueDeserialize):
31953 * UIProcess/API/C/WKSerializedScriptValue.h: Added.
31954 * WebKit2.xcodeproj/project.pbxproj:
31956 2010-09-08 Sam Weinig <sam@webkit.org>
31958 Reviewed by Jon Honeycutt.
31960 Would like WKBundleFrameRef to turn into WKFrameRef across postMessage boundary, a la PageRef
31961 <rdar://problem/8402804>
31962 https://bugs.webkit.org/show_bug.cgi?id=45370
31964 * UIProcess/WebContextUserMessageCoders.h:
31965 (WebKit::WebContextUserMessageEncoder::encode):
31966 (WebKit::WebContextUserMessageDecoder::decode):
31967 * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
31968 (WebKit::InjectedBundleUserMessageEncoder::encode):
31969 (WebKit::InjectedBundleUserMessageDecoder::decode):
31971 2010-09-07 Kinuko Yasuda <kinuko@chromium.org>
31973 Unreviewed, another Qt release build fix attempt.
31975 * UIProcess/API/cpp/qt/WKURLQt.cpp:
31977 2010-09-07 Kinuko Yasuda <kinuko@chromium.org>
31979 Unreviewed, attempt to fix Qt release build.
31981 * UIProcess/API/cpp/qt/WKStringQt.cpp:
31983 2010-09-07 Brent Fulgham <bfulgham@webkit.org>
31985 Build correction, no review.
31987 * win/WebKit2.vcproj: Disable two unused files for
31988 the WinCairo target.
31990 2010-09-07 Anders Carlsson <andersca@apple.com>
31992 Reviewed by Sam Weinig.
31996 * UIProcess/API/C/WKAPICast.h:
31997 Move all functions into the WebKit namespace.
31999 * UIProcess/API/C/cf/WKStringCF.cpp:
32000 Add using namespace WebKit.
32002 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
32003 Move all functions into the WebKit namespace.
32005 2010-09-07 Anders Carlsson <andersca@apple.com>
32007 Reviewed by Darin Adler.
32009 <rdar://problem/8381749> -Wcast-align warning emitted when building with clang
32011 Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc.
32013 * Configurations/Base.xcconfig:
32015 2010-09-07 Sam Weinig <sam@webkit.org>
32017 Another windows fix.
32019 * UIProcess/win/WebView.cpp:
32021 2010-09-07 Sam Weinig <sam@webkit.org>
32023 Try and fix windows.
32025 * UIProcess/WebEditCommandProxy.h:
32027 2010-09-07 Sam Weinig <sam@webkit.org>
32029 Reviewed by Darin Adler.
32031 Fix incorrect parameter name.
32033 * UIProcess/API/mac/PageClientImpl.mm:
32035 2010-09-07 Sam Weinig <sam@webkit.org>
32037 Reviewed by Darin Adler.
32039 Add support for Undo/Redo
32040 <rdar://problem/7660519>
32041 https://bugs.webkit.org/show_bug.cgi?id=42781
32043 Adds platform independent parts of Undo/Redo support and the mac
32046 To work around the common assumption made by platforms, that a redo
32047 item will be added synchronously while an undo is in progress, we
32048 ignore the calls from WebCore to add redo items, and instead add add
32049 them after telling WebCore to unapply the EditCommand. We similarly
32050 need to ignore undos, that take place during a redo, and force the
32051 addition ourselves.
32053 * Shared/CoreIPCSupport/WebPageMessageKinds.h:
32054 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
32057 * UIProcess/API/mac/PageClientImpl.h:
32058 * UIProcess/API/mac/PageClientImpl.mm:
32059 (-[WebEditCommandObjC initWithWebEditCommandProxy:WebKit::]):
32060 (-[WebEditCommandObjC WebKit::]):
32061 (-[WebEditorUndoTargetObjC undoEditing:]):
32062 (-[WebEditorUndoTargetObjC redoEditing:]):
32063 (WebKit::PageClientImpl::PageClientImpl):
32064 (WebKit::nameForEditAction):
32065 (WebKit::PageClientImpl::registerEditCommand):
32066 (WebKit::PageClientImpl::clearAllEditCommands):
32067 * UIProcess/API/qt/qwkpage.cpp:
32068 (QWKPagePrivate::registerEditCommand):
32069 (QWKPagePrivate::clearAllEditCommands):
32070 * UIProcess/API/qt/qwkpage_p.h:
32071 * UIProcess/PageClient.h:
32072 * UIProcess/win/WebView.cpp:
32073 (WebKit::WebView::registerEditCommand):
32074 (WebKit::WebView::clearAllEditCommands):
32075 * UIProcess/win/WebView.h:
32076 Add platform specific hooks for undo/redo.
32078 * UIProcess/WebEditCommandProxy.cpp: Added.
32079 (WebKit::WebEditCommandProxy::WebEditCommandProxy):
32080 (WebKit::WebEditCommandProxy::~WebEditCommandProxy):
32081 (WebKit::WebEditCommandProxy::unapply):
32082 (WebKit::WebEditCommandProxy::reapply):
32083 * UIProcess/WebEditCommandProxy.h: Added.
32084 (WebKit::WebEditCommandProxy::create):
32085 (WebKit::WebEditCommandProxy::commandID):
32086 (WebKit::WebEditCommandProxy::editAction):
32087 (WebKit::WebEditCommandProxy::invalidate):
32088 A proxy for the WebEditCommands in the WebProcess. These are owned
32089 by the platform back/forward list, with a weak reference back to the
32090 WebPageProxy (which holds a weakset of live WebEditCommandProxys).
32092 * UIProcess/WebPageProxy.cpp:
32093 (WebKit::WebPageProxy::close):
32094 (WebKit::WebPageProxy::didReceiveMessage):
32095 (WebKit::WebPageProxy::registerEditCommandForUndo):
32096 (WebKit::WebPageProxy::clearAllEditCommands):
32097 (WebKit::WebPageProxy::registerEditCommandForRedo):
32098 (WebKit::WebPageProxy::addEditCommand):
32099 (WebKit::WebPageProxy::removeEditCommand):
32100 (WebKit::WebPageProxy::processDidExit):
32101 * UIProcess/WebPageProxy.h:
32104 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
32105 (WebKit::WebEditorClient::registerCommandForUndo):
32106 (WebKit::WebEditorClient::registerCommandForRedo):
32107 (WebKit::WebEditorClient::clearUndoRedoOperations):
32108 Send undo/redo registration and clearing to the UIProcess.
32110 * WebProcess/WebPage/WebEditCommand.cpp: Added.
32111 (WebKit::generateCommandID):
32112 (WebKit::WebEditCommand::WebEditCommand):
32113 * WebProcess/WebPage/WebEditCommand.h: Added.
32114 (WebKit::WebEditCommand::create):
32115 (WebKit::WebEditCommand::command):
32116 (WebKit::WebEditCommand::commandID):
32117 Wrapper for WebCore::EditCommand, with an added unique ID.
32119 * WebProcess/WebPage/WebPage.cpp:
32120 (WebKit::WebPage::WebPage):
32121 (WebKit::WebPage::webEditCommand):
32122 (WebKit::WebPage::addWebEditCommand):
32123 (WebKit::WebPage::removeWebEditCommand):
32124 (WebKit::WebPage::unapplyEditCommand):
32125 (WebKit::WebPage::reapplyEditCommand):
32126 (WebKit::WebPage::didRemoveEditCommand):
32127 (WebKit::WebPage::didReceiveMessage):
32128 * WebProcess/WebPage/WebPage.h:
32129 (WebKit::WebPage::isInRedo):
32133 * WebKit2.xcodeproj/project.pbxproj:
32134 * win/WebKit2.vcproj:
32137 2010-09-07 Jessie Berlin <jberlin@apple.com>
32139 Reviewed by Darin Adler.
32141 Indicate which one of the ScriptWorlds for a Frame the Window Object has been cleared for
32142 https://bugs.webkit.org/show_bug.cgi?id=45217
32144 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
32146 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
32147 (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
32148 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
32150 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
32151 (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
32153 2010-09-06 Adam Barth <abarth@webkit.org>
32155 Reviewed by Darin Adler.
32157 Rename SecurityOrigin::canLoad to canDisplay
32158 https://bugs.webkit.org/show_bug.cgi?id=45214
32160 Propagate name change.
32162 * WebProcess/Plugins/PluginView.cpp:
32163 (WebKit::PluginView::performFrameLoadURLRequest):
32165 2010-09-04 Sam Weinig <sam@webkit.org>
32167 Reviewed by Anders Carlsson.
32169 Allow passing null to postMessage API functions
32170 https://bugs.webkit.org/show_bug.cgi?id=45234
32172 * Shared/APIObject.h: Add TypeNull to enum. This is only used
32173 for serialization purposes, and does not represent a concrete subclass
32176 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Remove WillSubmitFormWithUserData
32177 now that it is not needed.
32179 * Shared/UserMessageCoders.h:
32180 (WebKit::UserMessageEncoder::baseEncode):
32181 (WebKit::UserMessageDecoder::baseDecode):
32182 Add explicit encoding/decoding of null for user messages.
32184 * UIProcess/WebContextUserMessageCoders.h:
32185 (WebKit::WebContextUserMessageEncoder::encode):
32186 (WebKit::WebContextUserMessageDecoder::decode):
32187 * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
32188 (WebKit::InjectedBundleUserMessageEncoder::encode):
32189 (WebKit::InjectedBundleUserMessageDecoder::decode):
32190 Update UserMessageCoders subclasses to call the base class in the correct
32191 way to work with null messages. This means moving the encoding/decoding
32192 of the type down to the base class, which is a nice cleanup.
32194 * UIProcess/WebPageProxy.cpp:
32195 (WebKit::WebPageProxy::didReceiveMessage):
32196 Remove now redundant WillSubmitFormWithUserData implementation.
32198 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
32199 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
32202 2010-09-03 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
32204 Reviewed by Darin Adler.
32206 Add NetworkingContext to avoid layer violations
32207 https://bugs.webkit.org/show_bug.cgi?id=42292
32209 Add FrameNetworkingContext implementation.
32212 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
32213 (WebKit::WebFrameLoaderClient::createNetworkingContext):
32214 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
32215 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
32216 (WebKit::WebFrameNetworkingContext::needsSiteSpecificQuirks):
32217 (WebKit::WebFrameNetworkingContext::localFileContentSniffingEnabled):
32218 (WebKit::WebFrameNetworkingContext::scheduledRunLoopPairs):
32219 (WebKit::WebFrameNetworkingContext::blockedError):
32220 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp: Added.
32221 (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext):
32222 (WebCore::WebFrameNetworkingContext::create):
32223 (WebCore::WebFrameNetworkingContext::originatingObject):
32224 (WebCore::WebFrameNetworkingContext::networkAccessManager):
32225 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h: Added.
32226 * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.cpp: Added.
32227 * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h: Added.
32228 (WebFrameNetworkingContext::create):
32229 (WebFrameNetworkingContext::WebFrameNetworkingContext):
32230 * win/WebKit2.vcproj:
32231 * win/WebKit2Common.vsprops:
32233 2010-09-03 Sam Weinig <sam@webkit.org>
32235 Reviewed by Dan Bernstein.
32237 Add ability to send UserData to willSubmitForm
32238 https://bugs.webkit.org/show_bug.cgi?id=45222
32240 - Adds a willSubmitForm callback to the BundlePageFormClient with an out
32241 parameter WKTypeRef* parameter.
32242 - That out parameter gets serialized and then passed to the PageFormClient's
32243 willSubmitForm, which now has WKTypeRef parameter.
32245 - Temporarily adds a new WillSubmitFormWithUserData message kind. This will
32246 be replaced by the ability to explicitly serialize null as a UserMessage.
32248 * Platform/CoreIPC/Arguments.h:
32249 (CoreIPC::Arguments6::Arguments6):
32250 (CoreIPC::Arguments6::encode):
32251 (CoreIPC::Arguments6::decode):
32254 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
32255 * UIProcess/API/C/WKPage.h:
32256 * UIProcess/WebFormClient.cpp:
32257 (WebKit::WebFormClient::willSubmitForm):
32258 * UIProcess/WebFormClient.h:
32259 * UIProcess/WebPageProxy.cpp:
32260 (WebKit::WebPageProxy::didReceiveMessage):
32261 (WebKit::WebPageProxy::willSubmitForm):
32262 * UIProcess/WebPageProxy.h:
32263 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
32264 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
32265 (WebKit::InjectedBundlePageFormClient::textFieldDidBeginEditing):
32266 (WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing):
32267 (WebKit::InjectedBundlePageFormClient::textDidChangeInTextField):
32268 (WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea):
32269 (WebKit::InjectedBundlePageFormClient::willSubmitForm):
32270 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
32271 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
32272 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
32274 2010-09-03 Sam Weinig <sam@webkit.org>
32276 Reviewed by Gavin Barraclough.
32278 Change WKDictionaryIsMutable to take a WKDictionaryRef instead of a WKMutableDictionaryRef.
32279 If the type is already states it is mutable, there would be no reason for the check.
32281 * UIProcess/API/C/WKMutableDictionary.cpp:
32282 (WKDictionaryIsMutable):
32283 * UIProcess/API/C/WKMutableDictionary.h:
32285 2010-09-02 Sam Weinig <sam@webkit.org>
32287 Reviewed by Anders Carlsson.
32289 Add ability to send WKDictionaryRefs via post message.
32290 https://bugs.webkit.org/show_bug.cgi?id=45151
32292 * Shared/ImmutableDictionary.cpp:
32293 (WebKit::ImmutableDictionary::ImmutableDictionary):
32294 * Shared/ImmutableDictionary.h:
32295 (WebKit::ImmutableDictionary::adopt): Remove tag, it wasn't doing anything.
32296 (WebKit::ImmutableDictionary::isMutable):
32297 (WebKit::ImmutableDictionary::map): Add accessor of internal
32300 * Shared/UserMessageCoders.h:
32301 (WebKit::UserMessageEncoder::baseEncode):
32302 (WebKit::UserMessageDecoder::baseDecode):
32303 Add encoder/decoder.
32305 2010-09-02 Sam Weinig <sam@webkit.org>
32307 Reviewed by Anders Carlsson.
32309 Share the common parts of UserMessage coding between both processes.
32310 https://bugs.webkit.org/show_bug.cgi?id=45139
32312 Add base classes UserMessageEncoder and UserMessageDecoder which implement
32313 encoding/decoding of ImmutableArray and String (soon to be others as well, such
32314 as ImmutableDictionary, Data, etc.) and add derived classes which implement the
32315 process specific bits such as Page -> BundlePage conversion.
32317 * Shared/UserMessageCoders.h: Copied from WebProcess/InjectedBundle/InjectedBundle.cpp.
32318 (WebKit::UserMessageEncoder::baseEncode):
32319 (WebKit::UserMessageEncoder::UserMessageEncoder):
32320 (WebKit::UserMessageDecoder::baseDecode):
32321 (WebKit::UserMessageDecoder::UserMessageDecoder):
32322 * UIProcess/WebContext.cpp:
32323 (WebKit::WebContext::postMessageToInjectedBundle):
32324 (WebKit::WebContext::didReceiveMessage):
32325 * UIProcess/WebContextUserMessageCoders.h: Copied from UIProcess/WebContext.cpp.
32326 (WebKit::WebContextUserMessageEncoder::WebContextUserMessageEncoder):
32327 (WebKit::WebContextUserMessageEncoder::encode):
32328 (WebKit::WebContextUserMessageDecoder::WebContextUserMessageDecoder):
32329 (WebKit::WebContextUserMessageDecoder::decode):
32331 * WebKit2.xcodeproj/project.pbxproj:
32332 * WebProcess/InjectedBundle/InjectedBundle.cpp:
32333 (WebKit::InjectedBundle::postMessage):
32334 (WebKit::InjectedBundle::didReceiveMessage):
32335 * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: Copied from WebProcess/InjectedBundle/InjectedBundle.cpp.
32336 (WebKit::InjectedBundleUserMessageEncoder::InjectedBundleUserMessageEncoder):
32337 (WebKit::InjectedBundleUserMessageEncoder::encode):
32338 (WebKit::InjectedBundleUserMessageDecoder::InjectedBundleUserMessageDecoder):
32339 (WebKit::InjectedBundleUserMessageDecoder::decode):
32340 * win/WebKit2.vcproj:
32342 2010-09-02 Sam Weinig <sam@webkit.org>
32344 Reviewed by Anders Carlsson.
32346 Simplify ownership semantics of some WebKit2 types
32347 https://bugs.webkit.org/show_bug.cgi?id=45120
32349 - Make ImmutableArray and MutableArray use a Vector<RefPtr<APIObject> > and
32350 therefore ref any items it takes in.
32351 - Make the PostMessageDecoder operate on a RefPtr<APIObject>& to avoid the odd
32354 * Shared/ImmutableArray.cpp:
32355 (WebKit::ImmutableArray::ImmutableArray): This constructor now uses a for-loop
32356 instead of memcpy to ref each item.
32357 (WebKit::ImmutableArray::~ImmutableArray): No longer necessary to manually deref.
32358 * Shared/ImmutableArray.h:
32359 (WebKit::ImmutableArray::adopt):
32360 (WebKit::ImmutableArray::at):
32361 Changes to accommodate entries being changed to a Vector<RefPtr<APIObject> >.
32363 * Shared/ImmutableDictionary.cpp:
32364 (WebKit::ImmutableDictionary::keys):
32365 Build a Vector<RefPtr<APIObject> >.
32367 * UIProcess/WebBackForwardList.cpp:
32368 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
32369 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
32372 * UIProcess/WebContext.cpp:
32373 (WebKit::PostMessageEncoder::PostMessageDecoder::PostMessageDecoder):
32374 (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
32375 (WebKit::WebContext::didReceiveMessage):
32376 APIObject>& to avoid the odd leaking semantics.
32378 * WebProcess/InjectedBundle/InjectedBundle.cpp:
32379 (WebKit::PostMessageEncoder::PostMessageDecoder::PostMessageDecoder):
32380 (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
32381 (WebKit::InjectedBundle::didReceiveMessage):
32384 * WebProcess/WebPage/WebFrame.cpp:
32385 (WebKit::WebFrame::childFrames):
32386 Build a Vector<RefPtr<APIObject> >.
32388 2010-09-02 Sam Weinig <sam@webkit.org>
32390 Reviewed by Anders Carlsson.
32392 Add WKMutableDictionary API for WebKit2
32393 https://bugs.webkit.org/show_bug.cgi?id=45117
32395 Add WKMutableDictionary API that inherits from WKDictionaryRef
32396 the same way WKMutableArrayRef inherits from WKArrayRef.
32398 * Shared/ImmutableDictionary.h:
32399 (WebKit::ImmutableDictionary::get):
32400 (WebKit::ImmutableDictionary::isMutable):
32401 * Shared/MutableDictionary.cpp: Added.
32402 (WebKit::MutableDictionary::MutableDictionary):
32403 (WebKit::MutableDictionary::~MutableDictionary):
32404 (WebKit::MutableDictionary::add):
32405 (WebKit::MutableDictionary::set):
32406 * Shared/MutableDictionary.h: Added.
32407 (WebKit::MutableDictionary::create):
32408 (WebKit::MutableDictionary::isMutable):
32409 * UIProcess/API/C/WKAPICast.h:
32411 * UIProcess/API/C/WKBase.h:
32412 * UIProcess/API/C/WKMutableDictionary.cpp: Added.
32413 (WKMutableDictionaryCreate):
32414 (WKDictionaryIsMutable):
32415 (WKDictionaryAddItem):
32416 (WKDictionarySetItem):
32417 * UIProcess/API/C/WKMutableDictionary.h: Added.
32418 * UIProcess/API/C/WebKit2.h:
32420 * WebKit2.xcodeproj/project.pbxproj:
32421 * win/WebKit2.vcproj:
32422 * win/WebKit2Generated.make:
32424 2010-09-02 Jessie Berlin <jberlin@apple.com>
32426 Windows build fix. Unreviewed.
32428 * UIProcess/API/win/WKAPICastWin.h:
32430 * UIProcess/API/win/WKBaseWin.h:
32432 2010-09-01 Jia Pu <jpu@apple.com>
32434 Reviewed by Dan Bernstein.
32436 Add support for autocorrection UI on Mac OS X.
32437 https://bugs.webkit.org/show_bug.cgi?id=44958
32438 <rdar://problem/7326847>
32440 See detailed high level description in WebCore/ChangeLog.
32442 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
32443 (WebKit::WebEditorClient::showCorrectionPanel): Dummy implementation.
32444 (WebKit::WebEditorClient::dismissCorrectionPanel): Ditto
32446 * WebProcess/WebCoreSupport/WebEditorClient.h: Added new methods declared in base class.
32448 2010-09-01 Sam Weinig <sam@webkit.org>
32452 As with CF, const struct OpaqueType* should be the default type
32453 so that const_casts are not necessary in user code.
32455 * UIProcess/API/C/WKArray.cpp:
32457 * UIProcess/API/C/WKBase.h:
32458 * UIProcess/API/C/WKType.cpp:
32462 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
32464 * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
32466 2010-09-01 Sam Weinig <sam@webkit.org>
32468 Reviewed by Adam Roben.
32470 Add mutable array API to WebKit2
32471 https://bugs.webkit.org/show_bug.cgi?id=45082
32473 Add a mutable API to WebKit2 called WKMutableArrayRef. Make it "inherit" from
32474 WKArrayRef in the same way JSObjectRef can inherit from JSValueRef in the JSC
32475 API, by abusing the c type system (WKArrayRef is defined as a const version of
32476 WKMutableArrayRef). Add very basic mutable API to go along with it.
32478 * Shared/ImmutableArray.h:
32479 (WebKit::ImmutableArray::isMutable):
32480 Add ability to ask it an array is mutable.
32482 * Shared/MutableArray.cpp: Added.
32483 (WebKit::MutableArray::MutableArray):
32484 (WebKit::MutableArray::~MutableArray):
32485 (WebKit::MutableArray::append):
32486 * Shared/MutableArray.h: Added.
32487 (WebKit::MutableArray::create):
32488 (WebKit::MutableArray::isMutable):
32489 Sketch out the mutable array interface.
32491 * UIProcess/API/C/WKAPICast.h:
32493 Now that the opaque types can be const, use template magic to const_cast
32496 * UIProcess/API/C/WKBase.h:
32497 Add new type and re-type WKArrayRef as const.
32499 * UIProcess/API/C/WKMutableArray.cpp: Added.
32500 (WKMutableArrayCreate):
32501 (WKArrayIsMutable):
32502 (WKArrayAppendItem):
32503 * UIProcess/API/C/WKMutableArray.h: Added.
32507 * WebKit2.xcodeproj/project.pbxproj:
32508 * win/WebKit2.vcproj:
32509 * win/WebKit2Generated.make:
32512 2010-09-01 Balazs Kelemen <kb@inf.u-szeged.hu>
32514 Reviewed by Kenneth Rohde Christiansen.
32516 [Qt] Implement PluginInfoStore for UNIX
32517 https://bugs.webkit.org/show_bug.cgi?id=45038
32519 This implementation is generally just reusing the logic in WebCore since
32520 there is no way to get informations from a UNIX plugin without loading it
32521 - in contrast to mac bundles and windows dll-s.
32522 * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
32523 (WebKit::PluginInfoStore::pluginsDirectories):
32524 (WebKit::PluginInfoStore::pluginPathsInDirectory):
32525 (WebKit::PluginInfoStore::getPluginInfo):
32526 (WebKit::PluginInfoStore::shouldUsePlugin):
32528 2010-09-01 Mark Rowe <mrowe@apple.com>
32530 Reviewed by Sam Weinig.
32532 Allow the web process to load frameworks other than WebKit2.framework from the build directory
32533 when running engineering builds.
32535 * WebProcess/mac/WebProcessMainMac.mm:
32536 (WebKit::WebProcessMain): Pass the path containing WebKit2.framework to the sandbox rather than
32537 the path of the WebKit2.framework itself.
32539 2010-09-01 Sam Weinig <sam@webkit.org>
32541 Reviewed by John Sullivan.
32543 Change ImmutableArray to be backed by a Vector
32544 https://bugs.webkit.org/show_bug.cgi?id=45064
32546 Change ImmutableArray to be backed by a Vector to work toward having
32547 a mutable subclass and to improve the API when working with it in WebKit2
32550 - Also remove WKArrayCreateAdoptingValues which was confusing and unused.
32552 * Shared/ImmutableArray.cpp:
32553 (WebKit::ImmutableArray::ImmutableArray):
32554 (WebKit::ImmutableArray::~ImmutableArray):
32555 * Shared/ImmutableArray.h:
32556 (WebKit::ImmutableArray::adopt):
32557 (WebKit::ImmutableArray::at):
32558 (WebKit::ImmutableArray::size):
32559 * Shared/ImmutableDictionary.cpp:
32560 (WebKit::ImmutableDictionary::keys):
32561 * UIProcess/API/C/WKArray.cpp:
32562 * UIProcess/API/C/WKArray.h:
32563 * UIProcess/WebBackForwardList.cpp:
32564 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
32565 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
32566 * UIProcess/WebContext.cpp:
32567 (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
32568 * WebProcess/InjectedBundle/InjectedBundle.cpp:
32569 (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
32570 * WebProcess/WebPage/WebFrame.cpp:
32571 (WebKit::WebFrame::childFrames):
32573 2010-09-01 Sam Weinig <sam@webkit.org>
32575 Reviewed by Anders Carlsson.
32577 Add URLResponse API for WebKit2
32578 https://bugs.webkit.org/show_bug.cgi?id=45062
32580 Add WebURLResponse class and WKURLResponseRef C API to go with it. Right now,
32581 instance of WKURLResponseRef are manipulated via platform types just like
32584 This just adds the type and conversion functions, no uses yet.
32586 * Shared/APIObject.h:
32587 * Shared/WebCoreArgumentCoders.h:
32588 * Shared/WebURLResponse.cpp: Added.
32589 (WebKit::WebURLResponse::WebURLResponse):
32590 * Shared/WebURLResponse.h: Added.
32591 (WebKit::WebURLResponse::create):
32592 (WebKit::WebURLResponse::resourceResponse):
32593 (WebKit::WebURLResponse::type):
32594 * Shared/mac/WebCoreArgumentCodersMac.mm:
32595 (CoreIPC::encodeWithNSKeyedArchiver):
32596 (CoreIPC::decodeWithNSKeyedArchiver):
32597 (CoreIPC::encodeResourceRequest):
32598 (CoreIPC::decodeResourceRequest):
32599 * Shared/mac/WebURLResponseMac.mm: Added.
32600 (WebKit::WebURLResponse::WebURLResponse):
32601 (WebKit::WebURLResponse::platformResponse):
32602 * Shared/qt/WebURLResponseQt.cpp: Added.
32603 (WebKit::WebURLResponse::WebURLResponse):
32604 (WebKit::WebURLResponse::platformResponse):
32605 * Shared/win/WebURLResponseWin.cpp: Added.
32606 (WebKit::WebURLResponse::WebURLResponse):
32607 (WebKit::WebURLResponse::platformResponse):
32608 * UIProcess/API/C/WKURLResponse.cpp: Added.
32609 (WKURLResponseGetTypeID):
32610 * UIProcess/API/C/WKURLResponse.h: Added.
32611 * UIProcess/API/C/cf/WKURLResponseCF.cpp: Added.
32612 (WKURLResponseCreateWithCFURLResponse):
32613 (WKURLResponseCopyCFURLResponse):
32614 * UIProcess/API/C/cf/WKURLResponseCF.h: Added.
32615 * UIProcess/API/C/mac/WKURLResponseNS.h: Added.
32616 * UIProcess/API/C/mac/WKURLResponseNS.mm: Added.
32617 (WKURLResponseCreateWithNSURLResponse):
32618 (WKURLResponseCopyNSURLResponse):
32620 * WebKit2.xcodeproj/project.pbxproj:
32621 * win/WebKit2.vcproj:
32622 * win/WebKit2Generated.make:
32624 2010-09-01 Andras Becsi <abecsi@webkit.org>
32626 Reviewed by Antti Koivisto.
32628 [Qt] Auto-generate WebKit2 forwarding headers
32629 https://bugs.webkit.org/show_bug.cgi?id=44692
32631 * DerivedSources.pro: let the generate-forwarding-headers.pl
32632 script generate forwarding headers.
32633 * generate-forwarding-headers.pl: Added.
32635 2010-08-31 Dave Hyatt <hyatt@apple.com>
32637 Reviewed by Sam Weinig.
32639 https://bugs.webkit.org/show_bug.cgi?id=44863
32641 * WebProcess/WebPage/WebPage.cpp:
32642 (WebKit::WebPage::layoutIfNeeded):
32644 2010-08-31 Jon Honeycutt <jhoneycutt@apple.com>
32646 Fix some copy/paste errors.
32648 Reviewed by Steve Falkenburg.
32650 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
32651 (WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing):
32652 Null check the correct callback.
32653 (WebKit::InjectedBundlePageFormClient::textDidChangeInTextField):
32655 (WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea):
32658 2010-08-31 Jon Honeycutt <jhoneycutt@apple.com>
32660 Crash when closing a page with a form field when using WebKit2.
32662 Reviewed by Anders Carlsson.
32664 The crash came from accessing a BundlePageFormClient that had been
32665 destroyed. The client was intended to be cleared by a call to
32666 WKBundlePageSetFormClient, but a null check there caused it not to be
32669 I fixed this and all of the other WK "set client" functions.
32671 * UIProcess/API/C/WKContext.cpp:
32672 (WKContextSetInjectedBundleClient):
32673 Return early if the caller passed a client with a version not equal to
32675 (WKContextSetHistoryClient):
32678 * UIProcess/API/C/WKPage.cpp:
32679 (WKPageSetPageLoaderClient):
32681 (WKPageSetPagePolicyClient):
32683 (WKPageSetPageFormClient):
32685 (WKPageSetPageUIClient):
32688 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
32689 (WKBundleSetClient):
32692 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
32693 (WKBundlePageSetEditorClient):
32695 (WKBundlePageSetFormClient):
32697 (WKBundlePageSetLoaderClient):
32699 (WKBundlePageSetUIClient):
32702 2010-08-31 Alexey Proskuryakov <ap@apple.com>
32706 * Shared/WebPreferencesStore.h: Actually remove encode(), which has been moved to WebPreferencesStore.cpp.
32708 2010-08-31 Alexey Proskuryakov <ap@apple.com>
32710 Reviewed by Sam Weinig.
32712 https://bugs.webkit.org/show_bug.cgi?id=42195
32713 <rdar://problem/8186761> WebKitTestRunner needs to support layoutTestController.setXSSAuditorEnabled
32715 * Shared/WebPreferencesStore.cpp:
32716 (WebKit::WebPreferencesStore::WebPreferencesStore): Initialize xssAuditorEnabled.
32717 (WebKit::WebPreferencesStore::decode): Moved from header, added xssAuditorEnabled.
32718 (WebKit::WebPreferencesStore::encode): Ditto.
32719 (WebKit::WebPreferencesStore::overrideXSSAuditorEnabledForTestRunner): Set an override, so
32720 that decoding a WebPreferencesStore in the process will give the override result. WebProcess
32721 doesn't hold to WebPreferencesStore, so there are no existing ones to patch.
32722 (WebKit::WebPreferencesStore::removeTestRunnerOverrides): Remove the override.
32724 * Shared/WebPreferencesStore.h: Added xssAuditorEnabled.
32726 * UIProcess/API/C/WKPreferences.cpp:
32727 (WKPreferencesSetXSSAuditorEnabled):
32728 (WKPreferencesGetXSSAuditorEnabled):
32729 * UIProcess/API/C/WKPreferences.h:
32730 Added an API method to change xssAuditorEnabled preference.
32732 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::preferencesDidChange): Added a comment
32733 explaining how making this method smarter could affect WebKitTestRunner.
32735 * UIProcess/WebPreferences.cpp:
32736 (WebKit::WebPreferences::setXSSAuditorEnabled):
32737 (WebKit::WebPreferences::xssAuditorEnabled):
32738 * UIProcess/WebPreferences.h:
32739 Implemented xssAuditorEnabled preference accessors.
32741 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: (WKBundleOverrideXSSAuditorEnabledForTestRunner):
32742 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
32743 Added a private methods to temporarily change xssAuditor setting from an injected bundle,
32744 not notifying UIProcess about the change.
32746 * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::overrideXSSAuditorEnabledForTestRunner):
32747 * WebProcess/InjectedBundle/InjectedBundle.h:
32748 Change the setting in existing pages, and override it for future ones.
32750 * WebProcess/WebPage/WebPage.cpp:
32751 (WebKit::WebPage::WebPage): Take xssAuditorEnabled from preferences store.
32752 (WebKit::WebPage::preferencesDidChange): If preferences change, forget our override. This only
32753 happens in WKRT when the next test begins.
32755 2010-08-31 Sam Weinig <sam@webkit.org>
32757 Reviewed by Gavin Barraclough.
32759 WebKitTestRunner needs layoutTestController.addUserStyleSheet
32760 https://bugs.webkit.org/show_bug.cgi?id=42680
32762 WebKitTestRunner needs layoutTestController.addUserScript
32763 https://bugs.webkit.org/show_bug.cgi?id=42681
32765 Improve UserContent APIs to allow passing null in the same places
32766 the WebKit1 API allowed. Add convenience function toWTFString to do
32767 WKStringRef conversion with correct null string behavior.
32769 * UIProcess/API/C/WKAPICast.h:
32771 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
32772 (WKBundleAddUserScript):
32773 (WKBundleAddUserStyleSheet):
32774 (WKBundleRemoveUserScript):
32775 (WKBundleRemoveUserStyleSheet):
32776 * WebProcess/InjectedBundle/InjectedBundle.cpp:
32777 (WebKit::toStringVector):
32779 2010-08-31 Steve Falkenburg <sfalken@apple.com>
32781 Rubber stamped by Sam Weinig.
32783 Remove library directive from def file to fix Debug_All build.
32787 2010-08-31 Adam Roben <aroben@apple.com>
32789 Handle WM_PRINTCLIENT in WebKit2 on Windows
32791 Reviewed by Sam Weinig.
32793 * UIProcess/win/WebView.cpp:
32794 (WebKit::WebView::wndProc): Call through to onPrintClientEvent when we
32795 get a WM_PRINTCLIENT message.
32796 (WebKit::WebView::onPrintClientEvent): Added. Paints the entire view
32797 into the HDC provided by Windows.
32799 * UIProcess/win/WebView.h: Added onPrintClientEvent.
32801 2010-08-27 Adam Roben <aroben@apple.com>
32803 Don't send messages to the injected bundle if the web process has
32806 Fixes <http://webkit.org/b/43046> <rdar://problem/8239455> Crash in
32807 WKContextPostMessageToInjectedBundle if the web process has exited
32809 Reviewed by Sam Weinig.
32811 * UIProcess/WebContext.cpp:
32812 (WebKit::WebContext::postMessageToInjectedBundle): Only send messages
32813 when we have a valid web process.
32815 2010-08-27 Adam Roben <aroben@apple.com>
32817 Use the Windows thread pool instead of a dedicated thread for
32818 WorkQueue on Windows
32820 WorkQueue now uses ::RegisterWaitForSingleObject to find out when work
32821 items need to be executed. This causes Windows to wait on the objects
32822 on a thread pool wait thread, and then to spawn a thread pool worker
32823 thread when an object is signaled. This is more efficient than using
32824 our own dedicated thread to perform the wait and the work because
32825 multiple WorkQueues (and even other parts of WebKit or other modules)
32826 can all share the same wait thread and worker thread pool.
32828 Each time WorkQueue::m_performWorkEvent or any handle in
32829 WorkQueue::m_handles is signaled, a worker thread will be spawned.
32830 To maintain WorkQueue's serial nature, only one worker thread is
32831 allowed to perform work items at a time. (The worker thread that is
32832 actually performing work items is called the queue's "work thread".)
32833 To accomplish this, worker threads must register as the queue's work
32834 thread before performing work items.
32835 WorkQueue::m_isWorkThreadRegistered is used as an atomic guard to make
32836 sure that only one worker thread is registered at a time.
32838 Fixes <http://webkit.org/b/43150> <rdar://problem/8247280>.
32840 Reviewed by Anders Carlsson.
32842 * Platform/WorkQueue.h:
32843 - Added the WorkItemWin class, which is used to wrap WorkItems for
32844 WorkQueue's Windows implementation
32845 - Changed m_workItemQueue and m_handles to hold
32846 RefPtr<WorkItemWin>s
32847 - Replaced "work queue thread"-related members with new members that
32848 handle our thread pool code
32850 * Platform/win/WorkQueueWin.cpp:
32851 (WorkQueue::WorkItemWin::WorkItemWin):
32852 (WorkQueue::WorkItemWin::create):
32853 Added simple constructor/creator.
32855 (WorkQueue::handleCallback): Added. This function is called whenever a
32856 handle in WorkQueue::m_handles is signaled. We add the WorkItemWin
32857 that corresponds to the handle (passed via the context parameter) to
32858 the work item queue, then try to register as the work thread and
32859 perform any queued work. If another thread is already registered as
32860 the work thread, we just exit and let that thread handle the work we
32862 (WorkQueue::registerHandle): Changed to wrap the WorkItem in a
32863 WorkItemWin, and to use ::RegisterWaitForSingleObject to wait on the
32865 (WorkQueue::eventCallback): Added. This function is called whenever
32866 m_performWorkEvent is signaled. We try to register as the work thread
32867 and perfom any queued work. If another thread is already registered as
32868 the work thread, we just exit and let that thread handle the work.
32869 (WorkQueue::performWorkOnRegisteredWorkThread): Added. Performs any
32870 queued work in a loop until either the queue becomes invalid or no
32871 work is left to perform. Unregisters as the work thread before exiting
32872 so that other threads can perform work in the future.
32873 (WorkQueue::platformInitialize): Added initialization of
32874 m_isWorkThreadRegistered. Replaced code to spawn the old work queue
32875 thread with a call to ::RegisterWaitForSingleObject so that a worker
32876 thread from the thread pool will be spawned when m_performWorkEvent is
32878 (WorkQueue::tryRegisterAsWorkThread): Added. Attempts an atomic
32879 compare-and-swap to change m_isWorkThreadRegistered from 0 to 1. If
32880 sucessful, we return true to indicate that this thread is now
32881 registered as the work thread.
32882 (WorkQueue::unregisterAsWorkThread): Added. Uses an atomic
32883 compare-and-swap to change m_isWorkThreadRegistered back from 1 to 0.
32884 (WorkQueue::scheduleWork): Changed to wrap the WorkItem in a
32885 WorkItemWin. Also added an optimization to avoid signaling
32886 m_performWorkEvent when a work thread is already performing work, as
32887 it will pick up the item we just queued without us having to do
32890 2010-08-31 Csaba Osztrogonác <ossy@webkit.org>
32892 Reviewed by Antonio Gomes.
32894 [Qt] Fix warnings in WebKit2 directory
32895 https://bugs.webkit.org/show_bug.cgi?id=44593
32897 * Platform/CoreIPC/qt/ConnectionQt.cpp: Mark unused variables for compiler.
32898 (CoreIPC::Connection::readyReadHandler):
32899 (CoreIPC::Connection::sendOutgoingMessage):
32900 * Shared/qt/WebEventFactoryQt.cpp:
32901 (WebKit::WebEventFactory::createWebTouchEvent): Initialize state variable. Default case added.
32902 * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
32903 (WebKit::toNP): Return initialized NPEvent.
32905 2010-08-31 Andras Becsi <abecsi@webkit.org>
32907 Reviewed by Antonio Gomes.
32909 [Qt] Determine application path of MiniBrowser at runtime and use that path
32910 for QtWebProcess if the executable exists in that path.
32912 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
32913 (WebKit::ProcessLauncherHelper::launch):
32915 2010-08-31 Zoltan Horvath <zoltan@webkit.org>
32917 Build fix after r66448 on WebKit2.
32919 [Qt] qt_wk_didFinishDocumentLoadForFrame needs to be implemented
32920 https://bugs.webkit.org/show_bug.cgi?id=44934
32922 * UIProcess/API/qt/ClientImpl.cpp:
32923 (qt_wk_didFinishDocumentLoadForFrame):
32924 * UIProcess/API/qt/ClientImpl.h:
32926 2010-08-30 Alice Liu <alice.liu@apple.com>
32928 Reviewed by Darin Adler.
32930 Add missing parts of didFinishDocumentLoadForFrame
32931 https://bugs.webkit.org/show_bug.cgi?id=44913
32933 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Added new kind
32934 * UIProcess/API/C/WKPage.h:
32935 * UIProcess/API/qt/qwkpage.cpp:
32936 (QWKPage::QWKPage): Updated struct
32937 * UIProcess/WebLoaderClient.cpp:
32938 (WebKit::WebLoaderClient::didFinishDocumentLoadForFrame): Added
32939 * UIProcess/WebLoaderClient.h:
32940 * UIProcess/WebPageProxy.cpp:
32941 (WebKit::WebPageProxy::didReceiveMessage): Added case for WebPageProxyMessage::DidFinishDocumentLoadForFrame
32942 (WebKit::WebPageProxy::didFinishDocumentLoadForFrame): Added
32943 * UIProcess/WebPageProxy.h:
32945 Just rearranging existing code in these:
32946 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
32947 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
32948 (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame):
32949 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
32951 2010-08-30 Sam Weinig <sam@webkit.org>
32953 Try and fix the WebKit2 buildbot.
32955 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
32956 (InitWebCoreSystemInterface): Add missing initialization of QTMovieDisableComponent.
32958 2010-08-30 Sam Weinig <sam@webkit.org>
32960 Reviewed by Anders Carlsson.
32962 Add URLRequest API for WebKit2
32963 https://bugs.webkit.org/show_bug.cgi?id=44910
32965 Add WebURLRequest class and WKURLRequestRef C API to go with it. Right now,
32966 instance of WKURLRequestRef are manipulated via platform types, a la the
32967 WKStringRef and WKURLRef types.
32969 - Pipes WKPageLoadURLRequest through to the WebProcess.
32971 * Shared/APIObject.h:
32972 * Shared/CoreIPCSupport/WebPageMessageKinds.h:
32973 * Shared/WebCoreArgumentCoders.h:
32974 * Shared/WebURLRequest.cpp: Added.
32975 (WebKit::WebURLRequest::WebURLRequest):
32976 * Shared/WebURLRequest.h: Added.
32977 (WebKit::WebURLRequest::create):
32978 (WebKit::WebURLRequest::resourceRequest):
32979 (WebKit::WebURLRequest::type):
32980 * Shared/mac/WebCoreArgumentCodersMac.mm: Added.
32981 (CoreIPC::encodeResourceRequest):
32982 (CoreIPC::decodeResourceRequest):
32983 * Shared/mac/WebURLRequestMac.mm: Added.
32984 (WebKit::WebURLRequest::WebURLRequest):
32985 (WebKit::WebURLRequest::platformRequest):
32986 * Shared/qt/WebCoreArgumentCodersQt.cpp: Added.
32987 (CoreIPC::encodeResourceRequest):
32988 (CoreIPC::decodeResourceRequest):
32989 * Shared/qt/WebURLRequestQt.cpp: Added.
32990 (WebKit::WebURLRequest::WebURLRequest):
32991 (WebKit::WebURLRequest::platformRequest):
32992 * Shared/win/WebCoreArgumentCodersWin.cpp: Added.
32993 (CoreIPC::encodeResourceRequest):
32994 (CoreIPC::decodeResourceRequest):
32995 * Shared/win/WebURLRequestWin.cpp: Added.
32996 (WebKit::WebURLRequest::WebURLRequest):
32997 (WebKit::WebURLRequest::platformRequest):
32998 * UIProcess/API/C/WKAPICast.h:
32999 * UIProcess/API/C/WKBase.h:
33000 * UIProcess/API/C/WKPage.cpp:
33001 (WKPageLoadURLRequest):
33002 * UIProcess/API/C/WKPage.h:
33003 * UIProcess/API/C/WKURLRequest.cpp: Added.
33004 (WKURLRequestGetTypeID):
33005 * UIProcess/API/C/WKURLRequest.h: Added.
33006 * UIProcess/API/C/WebKit2.h:
33007 * UIProcess/API/C/cf/WKURLRequestCF.cpp: Added.
33008 (WKURLRequestCreateWithCFURLRequest):
33009 (WKURLRequestCopyCFURLRequest):
33010 * UIProcess/API/C/cf/WKURLRequestCF.h: Added.
33011 * UIProcess/API/C/mac: Added.
33012 * UIProcess/API/C/mac/WKURLRequestNS.h: Added.
33013 * UIProcess/API/C/mac/WKURLRequestNS.mm: Added.
33014 (WKURLRequestCreateWithNSURLRequest):
33015 (WKURLRequestCopyNSURLRequest):
33016 * UIProcess/WebPageProxy.cpp:
33017 (WebKit::WebPageProxy::loadURL):
33018 (WebKit::WebPageProxy::loadURLRequest):
33019 * UIProcess/WebPageProxy.h:
33021 * WebKit2.xcodeproj/project.pbxproj:
33022 * WebProcess/WebPage/WebPage.cpp:
33023 (WebKit::WebPage::loadURL):
33024 (WebKit::WebPage::loadURLRequest):
33025 (WebKit::WebPage::didReceiveMessage):
33026 * WebProcess/WebPage/WebPage.h:
33027 * win/WebKit2.vcproj:
33028 * win/WebKit2Generated.make:
33030 2010-08-30 Anders Carlsson <andersca@apple.com>
33032 Reviewed by Sam Weinig.
33034 WorkQueue leaks its dispatch queue
33035 <rdar://problem/8358509>
33036 https://bugs.webkit.org/show_bug.cgi?id=44689
33038 * Platform/mac/WorkQueueMac.cpp:
33039 (WorkQueue::platformInvalidate):
33041 2010-08-27 Sam Weinig <sam@webkit.org>
33043 Reviewed by Dan Bernstein.
33045 Add UserContent API to WebKit2 InjectedBundle
33046 <rdar://problem/8367587>
33047 https://bugs.webkit.org/show_bug.cgi?id=44810
33049 The new API differs from the version in WebKit1 in that the function do not take
33050 a group name since we currently do not expose a way to make multiple PageGroups in
33053 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
33054 (toUserScriptInjectionTime):
33055 (toUserContentInjectedFrames):
33056 Add conversion functions for enums.
33058 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
33059 (WKBundleAddUserScript):
33060 (WKBundleAddUserStyleSheet):
33061 (WKBundleRemoveUserScript):
33062 (WKBundleRemoveUserStyleSheet):
33063 (WKBundleRemoveUserScripts):
33064 (WKBundleRemoveUserStyleSheets):
33065 (WKBundleRemoveAllUserContent):
33066 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
33067 * WebProcess/InjectedBundle/InjectedBundle.cpp:
33068 (WebKit::toStringVector):
33069 (WebKit::InjectedBundle::addUserScript):
33070 (WebKit::InjectedBundle::addUserStyleSheet):
33071 (WebKit::InjectedBundle::removeUserScript):
33072 (WebKit::InjectedBundle::removeUserStyleSheet):
33073 (WebKit::InjectedBundle::removeUserScripts):
33074 (WebKit::InjectedBundle::removeUserStyleSheets):
33075 (WebKit::InjectedBundle::removeAllUserContent):
33076 * WebProcess/InjectedBundle/InjectedBundle.h:
33077 Forward API to PageGroup.
33079 * WebProcess/WebProcess.cpp:
33080 (WebKit::WebProcess::sharedPageGroup):
33081 (WebKit::WebProcess::visitedLinkStateChanged):
33082 (WebKit::WebProcess::allVisitedLinkStateChanged):
33083 * WebProcess/WebProcess.h: Ad accessor for global PageGroup.
33085 2010-08-27 Sam Weinig <sam@webkit.org>
33087 Reviewed by Gavin Barraclough.
33089 Move WKBundle didCreatePage callback to outside the WebPage
33090 constructor to avoid adoptRef errors.
33092 * WebProcess/WebPage/WebPage.cpp:
33093 (WebKit::WebPage::create):
33094 (WebKit::WebPage::WebPage):
33096 2010-08-27 Brady Eidson <beidson@apple.com>
33098 Reviewed by Sam Weinig.
33100 <rdar://problem/8147879> - Null URL passed to WebKit2 HistoryDelegate
33102 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
33103 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): WK2 now loads initial about:blank document's synchronously,
33104 without consulting the policy delegate.
33105 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Ditto.
33107 2010-08-27 Adam Roben <aroben@apple.com>
33109 Handle ERROR_IO_INCOMPLETE more correctly in Connection
33111 We still don't know exactly why we're getting this error, but at least
33112 we can do something sensible when we do.
33114 Fixes <http://webkit.org/b/44776> Occasional crash in
33115 Connection::readEventHandler or assertion failure in
33116 Connection::writeEventHandler due to ERROR_IO_INCOMPLETE
33118 Reviewed by Sam Weinig.
33120 * Platform/CoreIPC/win/ConnectionWin.cpp:
33121 (CoreIPC::Connection::readEventHandler): Bail out of this function
33122 entirely when we get ERROR_IO_INCOMPLETE. We'll get called back later
33123 when the read completes. Continuing in the function at this point
33124 would cause us to treat an incomplete read as a complete one, leading
33125 to a crash. Added an assertion to make the crash more understandable
33127 (CoreIPC::Connection::writeEventHandler): Bail out when we get
33128 ERROR_IO_INCOMPLETE. We'll get called back later when the write
33131 2010-08-27 Adam Roben <aroben@apple.com>
33133 Make the web process pause on launch when the
33134 WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH environment variable is set
33136 This is a bit easier to use than holding Ctrl-Alt-Shift during launch,
33137 since the process can sometimes take a long time to launch under the
33138 debugger. Ctrl-Alt-Shift still works, however.
33140 Fixes <http://webkit.org/b/44774> Would like an easier way to pause
33141 the web process on launch
33143 Reviewed by Sam Weinig.
33145 * WebProcess/WebKitMain.cpp:
33148 2010-08-27 Sam Weinig <sam@webkit.org>
33150 Rubber-stamped by Adam Roben.
33152 * WebKit2.xcodeproj/project.pbxproj: Make WKBundleScriptWorld.h public.
33154 2010-08-26 Daniel Bates <dbates@rim.com>
33156 Attempt to fix the Qt WebKit2 build.
33158 * WebProcess/WebPage/qt/WebPageQt.cpp:
33159 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): Pass m_page.get() to WebKit::scroll()
33160 instead of m_page since it expects a raw pointer.
33162 2010-08-26 Gavin Barraclough <barraclough@apple.com>
33164 Speculative windows build fix.
33166 * UIProcess/win/WebView.cpp:
33167 (WebKit::WebView::WebView):
33169 2010-08-26 Sam Weinig <sam@webkit.org>
33171 Reviewed by Darin Adler.
33173 Adopt more uses OwnPtr/OwnArray in WebKit2.
33174 https://bugs.webkit.org/show_bug.cgi?id=44728
33176 Also clears up weird create vs. adoption semantics. Now both create
33177 and adopt both don't ref their pointers, adoption is just about the
33180 * Shared/ImmutableArray.cpp:
33181 (WebKit::ImmutableArray::ImmutableArray):
33182 (WebKit::ImmutableArray::~ImmutableArray):
33183 * Shared/ImmutableArray.h:
33184 (WebKit::ImmutableArray::adopt):
33185 * Shared/ImmutableDictionary.cpp:
33186 (WebKit::ImmutableDictionary::keys):
33187 * Shared/WebData.h:
33188 * UIProcess/API/mac/PageClientImpl.h:
33189 * UIProcess/API/mac/PageClientImpl.mm:
33190 (WebKit::PageClientImpl::create):
33191 * UIProcess/API/mac/WKView.mm:
33192 (-[WKView initWithFrame:pageNamespaceRef:]):
33193 (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaProxy::]):
33194 * UIProcess/API/qt/qgraphicswkview.cpp:
33195 (QGraphicsWKView::QGraphicsWKView):
33196 * UIProcess/API/qt/qwkpage.cpp:
33197 (QWKPagePrivate::init):
33198 * UIProcess/API/qt/qwkpage_p.h:
33199 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
33200 (WebKit::ChunkedUpdateDrawingAreaProxy::create):
33201 * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
33202 * UIProcess/LayerBackedDrawingAreaProxy.cpp:
33203 (WebKit::LayerBackedDrawingAreaProxy::create):
33204 * UIProcess/LayerBackedDrawingAreaProxy.h:
33205 * UIProcess/WebBackForwardList.cpp:
33206 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
33207 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
33208 * UIProcess/WebContext.cpp:
33209 (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
33210 * WebProcess/InjectedBundle/InjectedBundle.cpp:
33211 (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
33212 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
33213 (WebKit::WebChromeClient::createPopupMenu):
33214 (WebKit::WebChromeClient::createSearchPopupMenu):
33215 * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
33216 (WebKit::WebPopupMenu::create):
33217 * WebProcess/WebCoreSupport/WebPopupMenu.h:
33218 * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
33219 (WebKit::WebSearchPopupMenu::create):
33220 (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
33221 * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
33222 * WebProcess/WebPage/WebFrame.cpp:
33223 (WebKit::WebFrame::childFrames):
33224 * WebProcess/WebPage/WebPage.cpp:
33225 (WebKit::WebPage::WebPage):
33226 (WebKit::WebPage::close):
33227 * WebProcess/WebPage/WebPage.h:
33228 (WebKit::WebPage::corePage):
33229 * WebProcess/WebPage/mac/WebPageMac.mm:
33230 (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
33231 * WebProcess/WebPage/win/WebPageWin.cpp:
33232 (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
33234 2010-08-26 Alexey Proskuryakov <ap@apple.com>
33236 Reviewed by Sam Weinig.
33238 https://bugs.webkit.org/show_bug.cgi?id=44726
33239 <rdar://problem/7935518> WebFrameProxies aren't destroyed until a page is destroyed
33241 Since frames can be moved across documents, they are not really a Page level concept.
33242 Moved frame tracking to WebProcess/WebProcessProxy.
33244 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
33245 (WebProcessProxyMessage::):
33246 * UIProcess/WebPageProxy.cpp:
33247 (WebKit::WebPageProxy::close):
33248 (WebKit::WebPageProxy::getStatistics):
33249 (WebKit::WebPageProxy::didReceiveMessage):
33250 (WebKit::WebPageProxy::didReceiveSyncMessage):
33251 (WebKit::WebPageProxy::didCreateMainFrame):
33252 (WebKit::WebPageProxy::didCreateSubFrame):
33253 (WebKit::WebPageProxy::processDidExit):
33254 * UIProcess/WebPageProxy.h:
33255 * UIProcess/WebProcessProxy.cpp:
33256 (WebKit::WebProcessProxy::didReceiveMessage):
33257 (WebKit::WebProcessProxy::didReceiveSyncMessage):
33258 (WebKit::WebProcessProxy::didClose):
33259 (WebKit::WebProcessProxy::webFrame):
33260 (WebKit::WebProcessProxy::frameCreated):
33261 (WebKit::WebProcessProxy::frameDestroyed):
33262 (WebKit::WebProcessProxy::disconnectFramesFromPage):
33263 (WebKit::WebProcessProxy::frameCountInPage):
33264 * UIProcess/WebProcessProxy.h:
33265 * WebProcess/WebPage/WebFrame.cpp:
33266 (WebKit::WebFrame::WebFrame):
33267 (WebKit::WebFrame::invalidate):
33268 * WebProcess/WebPage/WebPage.cpp:
33269 (WebKit::WebPage::didReceiveMessage):
33270 * WebProcess/WebPage/WebPage.h:
33271 * WebProcess/WebProcess.cpp:
33272 (WebKit::WebProcess::webFrame):
33273 (WebKit::WebProcess::addWebFrame):
33274 (WebKit::WebProcess::removeWebFrame):
33275 * WebProcess/WebProcess.h:
33277 2010-08-26 Sam Weinig <sam@webkit.org>
33279 Reviewed by Darin Adler.
33281 Add PassOwnArrayPtr
33282 https://bugs.webkit.org/show_bug.cgi?id=44627
33284 * UIProcess/WebContext.cpp:
33285 (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
33286 * WebProcess/InjectedBundle/InjectedBundle.cpp:
33287 (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
33289 2010-08-26 Peter Kasting <pkasting@google.com>
33291 Reviewed by Dimitri Glazkov.
33293 Misc. cleanup split off from bug 32356.
33294 https://bugs.webkit.org/show_bug.cgi?id=44696
33296 * WebProcess/WebPage/qt/WebPageQt.cpp:
33297 (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
33299 2010-08-25 Brent Fulgham <bfulgham@webkit.org>
33301 Build fix, no review.
33303 Add conditional guards around Safari-specific
33306 * WebProcess/WebPage/win/WebPageWin.cpp:
33308 2010-08-25 Adam Roben <aroben@apple.com>
33310 Clean up Connection::open on Windows
33312 Fixes <http://webkit.org/b/44185>.
33314 Reviewed by Steve Falkenburg.
33316 * Platform/CoreIPC/win/ConnectionWin.cpp:
33317 (CoreIPC::Connection::platformInitialize): Set m_isConnected to true
33318 since the pipe got connected before it was even given to us.
33319 (CoreIPC::Connection::readEventHandler): Removed code that will never
33320 run now that m_isConnected is always true when this function is
33321 called. Since no outgoing messages will have been queued before
33322 m_isConnected is set to true, there's no need to send them explicitly
33323 here; they'll get sent as they're queued.
33324 (CoreIPC::Connection::open): Removed the call to ::ConnectNamedPipe,
33325 since the pipe is already connected by this point. Changed to schedule
33326 a read in the server and client the same way (rather than using
33327 ::SetEvent in the server).
33329 2010-08-19 Adam Roben <aroben@apple.com>
33331 Call NP_GetEntryPoints before NP_Initialize on Windows
33333 Doing otherwise will cause Flash and QuickTime to crash inside
33336 Fixes <http://webkit.org/b/44270> <rdar://problem/8330393> Crash in
33337 NP_Initialize when loading QuickTime when running
33338 plugins/embed-attributes-setting.html in WebKit2 on Windows
33340 Reviewed by John Sullivan.
33342 * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
33343 (WebKit::NetscapePluginModule::tryLoad): On Windows, first call
33344 NP_GetEntryPoints, then NP_Initialize. Do the reverse on Mac to
33345 prevent Silverlight (e.g.) from crashing (see r38858).
33347 2010-08-25 Balazs Kelemen <kb@inf.u-szeged.hu>
33349 Reviewed by Kenneth Rohde Christiansen.
33351 [Qt] Implement WebKit::Module for qt
33352 https://bugs.webkit.org/show_bug.cgi?id=44527
33354 * Platform/Module.h:
33355 * Platform/qt/ModuleQt.cpp:
33356 (WebKit::Module::load):
33357 (WebKit::Module::unload):
33358 (WebKit::Module::platformFunctionPointer):
33360 2010-08-24 Sam Weinig <sam@webkit.org>
33362 Reviewed by Mark Rowe.
33364 WebKit2 should launch the WebProcess in 32-bit mode if the UIProcess is in 32-bit mode
33365 <rdar://problem/8348100>
33366 https://bugs.webkit.org/show_bug.cgi?id=44537
33368 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
33369 (WebKit::ProcessLauncher::launchProcess): Use posix_spawnattr_setbinpref_np
33370 to tell posix_spawn to launch the WebProcess in 32-bit mode when the UIProcess
33371 is running in 32-bit mode.
33373 2010-08-24 Mark Rowe <mrowe@apple.com>
33375 Rubber-stamped by Sam Weinig.
33377 Set the install path of WebKit2.framework to the build directory for debug and release builds
33378 to match our other frameworks.
33380 * WebKit2.xcodeproj/project.pbxproj:
33382 2010-08-24 Sam Weinig <sam@webkit.org>
33384 Reviewed by John Sullivan.
33388 * WebProcess/com.apple.WebProcess.sb:
33390 2010-08-23 Darin Adler <darin@apple.com>
33392 Reviewed by Geoff Garen.
33394 * WebProcess/InjectedBundle/API/c/WKBundleNode.cpp:
33395 (WKBundleNodeGetParent): Update since parent now returns a
33396 ContainerNode*. The toRef function is a bit too picky to convert
33397 it without a bit of help.
33399 2010-08-23 Sheriff Bot <webkit.review.bot@gmail.com>
33401 Unreviewed, rolling out r65703.
33402 http://trac.webkit.org/changeset/65703
33403 https://bugs.webkit.org/show_bug.cgi?id=44460
33405 "Causing lots of crashes on Snow Leopard when running the
33406 layout tests" (Requested by eseidel2 on #webkit).
33408 * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
33409 (WebKit::NetscapePluginModule::tryLoad):
33411 2010-08-23 Jon Honeycutt <jhoneycutt@apple.com>
33413 Layout tests do not run when using WebKitTestRunner in a Debug build.
33414 https://bugs.webkit.org/show_bug.cgi?id=44409
33416 Reviewed by Dan Bernstein.
33418 * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
33419 (WebKit::ProcessLauncher::launchProcess):
33420 Use WebKit2WebProcess_debug.exe when building Debug.
33422 2010-08-23 Daniel Bates <dbates@rim.com>
33424 Rubber-stamped by Adam Roben.
33426 Substitute "sizeof("javascript:") - 1" for the hardcoded constant 11 when
33427 extracting the JavaScript code portion of a JavaScript URL so as to make
33428 it clearer that the 11 represents the length of the scheme portion of
33431 * WebProcess/Plugins/PluginView.cpp:
33432 (WebKit::PluginView::performJavaScriptURLRequest):
33434 2010-08-23 Balazs Kelemen <kb@inf.u-szeged.hu>
33436 Reviewed by Ariya Hidayat.
33438 [Qt] Find needed forwarding headers for WebKit2 automatically
33439 https://bugs.webkit.org/show_bug.cgi?id=44336
33441 * DerivedSources.pro: Use the new enumerate-included-framework-headers script for generating
33442 the list of forwarding headers we want to create.
33444 2010-08-23 Zoltan Horvath <zoltan@webkit.org>
33448 * DerivedSources.pro:
33450 * WebProcess/Plugins/Netscape/qt: Added.
33451 * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp: Added.
33452 (WebKit::NetscapePlugin::platformPostInitialize):
33453 (WebKit::NetscapePlugin::platformPaint):
33455 (WebKit::NetscapePlugin::platformHandleMouseEvent):
33456 (WebKit::NetscapePlugin::platformHandleWheelEvent):
33457 (WebKit::NetscapePlugin::platformSetFocus):
33458 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
33459 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
33461 2010-08-22 Juha Savolainen <juha.savolainen@weego.fi>
33463 Reviewed by Kenneth Rohde Christiansen.
33465 [Qt] Add QTouchEvents support for WebKit2
33466 https://bugs.webkit.org/show_bug.cgi?id=44330
33468 This patch adds support for QTouchEvents in WebKit2. A new WebEvent-class
33469 is created for touchevents, WebTouchEvent. Also touchpoints needed a new
33470 class, WebPlatformTouchPoint. This is similar solution like in other
33471 events(like MouseEvent) on WebKit2. These classes are introduced in WebEvent.h
33472 Also there was a need to create an empty constructor to PlatformTouchPoint-class.
33474 * DerivedSources.pro:
33475 * Shared/CoreIPCSupport/WebPageMessageKinds.h:
33476 (WebPageMessage::):
33477 * Shared/WebEvent.h:
33478 (WebKit::WebEvent::):
33479 (WebKit::WebTouchPoint::):
33480 (WebKit::WebTouchPoint::WebTouchPoint):
33481 (WebKit::WebTouchPoint::id):
33482 (WebKit::WebTouchPoint::state):
33483 (WebKit::WebTouchPoint::screenPosX):
33484 (WebKit::WebTouchPoint::screenPosY):
33485 (WebKit::WebTouchPoint::posX):
33486 (WebKit::WebTouchPoint::posY):
33487 (WebKit::WebTouchPoint::setState):
33488 (WebKit::WebTouchPoint::encode):
33489 (WebKit::WebTouchPoint::decode):
33490 (WebKit::WebTouchEvent::WebTouchEvent):
33491 (WebKit::WebTouchEvent::type):
33492 (WebKit::WebTouchEvent::touchPoints):
33493 (WebKit::WebTouchEvent::encode):
33494 (WebKit::WebTouchEvent::decode):
33495 (WebKit::WebTouchEvent::isTouchEventType):
33496 * Shared/WebEventConversion.cpp:
33497 (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):
33498 (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
33499 (WebKit::platform):
33500 * Shared/WebEventConversion.h:
33501 * Shared/qt/WebEventFactoryQt.cpp:
33502 (WebKit::webEventTypeForEvent):
33503 (WebKit::WebEventFactory::createWebTouchEvent):
33504 * Shared/qt/WebEventFactoryQt.h:
33505 * UIProcess/API/qt/qgraphicswkview.cpp:
33506 (QGraphicsWKView::event):
33507 (QGraphicsWKView::touchEvent):
33508 * UIProcess/API/qt/qgraphicswkview.h:
33509 * UIProcess/API/qt/qwkpage.cpp:
33510 (QWKPagePrivate::touchEvent):
33511 * UIProcess/API/qt/qwkpage_p.h:
33512 * UIProcess/WebPageProxy.cpp:
33513 (WebKit::WebPageProxy::touchEvent):
33514 * UIProcess/WebPageProxy.h:
33515 * WebProcess/WebPage/WebPage.cpp:
33516 (WebKit::WebPage::touchEvent):
33517 (WebKit::WebPage::didReceiveMessage):
33518 * WebProcess/WebPage/WebPage.h:
33520 2010-08-21 Sam Weinig <sam@webkit.org>
33522 Reviewed by Dan Bernstein.
33524 Remove specialized retain/release functions in favor of a single one for WKTypeRefs
33525 https://bugs.webkit.org/show_bug.cgi?id=44386
33527 * UIProcess/API/C/WKArray.cpp:
33529 * UIProcess/API/C/WKArray.h:
33530 * UIProcess/API/C/WKBackForwardList.cpp:
33531 (WKBackForwardListCopyForwardListWithLimit):
33532 * UIProcess/API/C/WKBackForwardList.h:
33533 * UIProcess/API/C/WKBackForwardListItem.cpp:
33534 (WKBackForwardListItemCopyTitle):
33535 * UIProcess/API/C/WKBackForwardListItem.h:
33536 * UIProcess/API/C/WKBase.h:
33537 * UIProcess/API/C/WKContext.cpp:
33538 * UIProcess/API/C/WKContext.h:
33539 * UIProcess/API/C/WKData.cpp:
33541 * UIProcess/API/C/WKData.h:
33542 * UIProcess/API/C/WKDictionary.cpp:
33543 (WKDictionaryCopyKeys):
33544 * UIProcess/API/C/WKDictionary.h:
33545 * UIProcess/API/C/WKError.h:
33546 * UIProcess/API/C/WKFormSubmissionListener.cpp:
33547 (WKFormSubmissionListenerContinue):
33548 * UIProcess/API/C/WKFormSubmissionListener.h:
33549 * UIProcess/API/C/WKFrame.cpp:
33551 * UIProcess/API/C/WKFrame.h:
33552 * UIProcess/API/C/WKFramePolicyListener.cpp:
33553 (WKFramePolicyListenerIgnore):
33554 * UIProcess/API/C/WKFramePolicyListener.h:
33555 * UIProcess/API/C/WKNavigationData.cpp:
33556 (WKNavigationDataCopyURL):
33557 * UIProcess/API/C/WKNavigationData.h:
33558 * UIProcess/API/C/WKPage.cpp:
33559 * UIProcess/API/C/WKPage.h:
33560 * UIProcess/API/C/WKPageNamespace.cpp:
33561 (WKPageNamespaceGetContext):
33562 * UIProcess/API/C/WKPageNamespace.h:
33563 * UIProcess/API/C/WKPreferences.cpp:
33564 (WKPreferencesCreate):
33565 (WKPreferencesGetLocalStorageEnabled):
33566 * UIProcess/API/C/WKPreferences.h:
33567 * UIProcess/API/C/WKString.cpp:
33568 * UIProcess/API/C/WKString.h:
33569 * UIProcess/API/C/WKType.cpp:
33572 * UIProcess/API/C/WKType.h:
33573 * UIProcess/API/C/WKURL.cpp:
33575 * UIProcess/API/C/WKURL.h:
33576 * UIProcess/API/cpp/WKRetainPtr.h:
33577 * UIProcess/API/win/WKView.cpp:
33578 * UIProcess/API/win/WKView.h:
33579 * UIProcess/WebPreferences.cpp:
33580 (WebKit::WebPreferences::shared):
33581 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
33582 (WKBundleNodeHandleGetTypeID):
33583 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h:
33584 * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
33585 (WKBundleScriptWorldNormalWorld):
33586 * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h:
33588 2010-08-20 Balazs Kelemen <kb@inf.u-szeged.hu>
33590 Reviewed by Antonio Gomes.
33592 [Qt] Implement cursor change in WebKit2
33593 https://bugs.webkit.org/show_bug.cgi?id=44263
33595 Implemented PageClient::setCursor.
33596 * UIProcess/API/qt/qgraphicswkview.cpp: Added updateCursor slot to be connected to the QWKPage::setCursor signal.
33597 (QGraphicsWKView::QGraphicsWKView):
33598 (QGraphicsWKView::updateCursor): Sets the cursor of the widget.
33599 * UIProcess/API/qt/qgraphicswkview.h:
33600 * UIProcess/API/qt/qwkpage.cpp:
33601 (QWKPagePrivate::setCursor): Added implementation for PageClient::setCursor. Emitting singal through the QWKPage.
33602 * UIProcess/API/qt/qwkpage.h: Added setCursor signal.
33603 * UIProcess/API/qt/qwkpage_p.h:
33605 2010-08-19 David Kilzer <ddkilzer@apple.com>
33607 BUILD FIX: Fix Mac build after Windows WebKit2 changes for Netscape Plug-ins
33609 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
33610 (WebKit::NetscapePlugin::platformPaint): Changed frameRect() to
33613 2010-08-19 Adam Roben <aroben@apple.com>
33615 Send mouse events to windowless plugins on Windows
33617 This seems to have been the last issue blocking us from playing videos
33620 Fixes <http://webkit.org/b/44276> <rdar://problem/8330398> Can't click
33621 play button in vimeo.com Flash video player in WebKit2 on Windows
33623 Reviewed by Sam Weinig.
33625 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
33626 (WebKit::toNP): Added. Converts a WebMouseEvent to an NPEvent. Code
33627 was adapted from WebCore's PluginViewWin.cpp.
33629 (WebKit::NetscapePlugin::platformHandleMouseEvent):
33630 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
33631 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
33632 Convert the WebMouseEvent to an NPEvent and send it to the plugin.
33634 2010-08-19 Adam Roben <aroben@apple.com>
33636 Add support for painting windowless plugins on Windows
33638 This gets the video on the front page of vimeo.com painting (though
33639 you can't make it play because we don't support mouse events yet).
33641 Fixes <http://webkit.org/b/44274> <rdar://problem/8330395> Windowless
33642 plugins don't paint in WebKit2 on Windows
33644 Reviewed by Sam Weinig.
33646 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
33647 (WebKit::NPN_GetValue): Tell the plugin that we support windowless
33649 (WebKit::NPN_SetValue): Implemented handling of NPPVpluginWindowBool
33650 by calling through to NetscapePlugin::setIsWindowed.
33652 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
33653 (WebKit::NetscapePlugin::NetscapePlugin): Added initialization of
33654 m_isWindowed. It defaults to false on Mac and true on other platforms,
33655 matching WebCore's PluginView.
33657 * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added m_isWindowed.
33658 (WebKit::NetscapePlugin::setIsWindowed): Added standard setter.
33660 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
33661 (WebKit::NetscapePlugin::platformPaint): Moved Mac-specific context
33662 translation code here from PluginView::paint.
33664 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
33665 (WebKit::NetscapePlugin::platformPaint): Implemented. Code was ported
33666 from WebCore's PluginViewWin.cpp.
33668 * WebProcess/Plugins/Plugin.h: Updated the comment for Plugin::paint
33669 to explain the coordinate system of the context.
33671 * WebProcess/Plugins/PluginView.cpp:
33672 (WebKit::PluginView::paint): Changed to translate the context from
33673 document to window coordinates. We were previously trying to translate
33674 to plugin-local coordinates, but this only worked for documents whose
33675 origin was the same as the window's origin (i.e., the main frame). The
33676 plugin takes care of any further translations needed. (Mac translates
33677 the context into plugin-local coordinates, and Windows leaves it in
33678 window coordinates.)
33680 2010-08-19 Adam Roben <aroben@apple.com>
33682 Implement PluginInfoStore::pluginsDirectories
33684 This makes WebKit2 able to find and load Flash on Windows.
33686 Note that we aren't yet respecting the MozillaPlugins registry key.
33687 That's covered by <http://webkit.org/b/44271>.
33689 Fixes <http://webkit.org/b/43510> <rdar://problem/8273827> WebKit2
33690 should load plugins from the same directories as old-WebKit
33692 Reviewed by Jon Honeycutt and Ada Chan.
33694 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
33695 (WebKit::parseVersionString):
33696 (WebKit::compareVersions):
33697 (WebKit::safariPluginsDirectory):
33698 (WebKit::addMozillaPluginDirectories):
33699 (WebKit::addWindowsMediaPlayerPluginDirectory):
33700 (WebKit::addQuickTimePluginDirectory):
33701 (WebKit::addAdobeAcrobatPluginDirectory):
33702 (WebKit::addMacromediaPluginDirectories):
33703 (WebKit::PluginInfoStore::pluginsDirectories):
33704 Ported (and ever-so-slightly cleaned up) code from WebCore's
33705 PluginDatabaseWin.cpp.
33707 2010-08-19 Adam Roben <aroben@apple.com>
33709 Call NP_GetEntryPoints before NP_Initialize on Windows
33711 Doing otherwise will cause Flash and QuickTime to crash inside
33714 Fixes <http://webkit.org/b/44270> <rdar://problem/8330393> Crash in
33715 NP_Initialize when loading QuickTime when running
33716 plugins/embed-attributes-setting.html in WebKit2 on Windows
33718 Reviewed by Sam Weinig.
33720 * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
33721 (WebKit::NetscapePluginModule::tryLoad): On Windows, first call
33722 NP_GetEntryPoints, then NP_Initialize. Do the reverse on Mac to
33723 prevent Silverlight (e.g.) from crashing (see r38858).
33725 2010-08-19 Adam Roben <aroben@apple.com>
33727 Add NetscapePluginWin.cpp
33729 Fixes <http://webkit.org/b/44269> <rdar://problem/8330391>
33730 NetscapePlugin.h contains functions that should be in
33731 NetscapePluginWin.cpp
33733 Reviewed by Sam Weinig.
33735 * WebProcess/Plugins/Netscape/NetscapePlugin.h: Moved functions from
33737 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: ...to here.
33739 * win/WebKit2.vcproj: Added NetscapePluginWin.cpp and let VS reorder
33742 2010-08-19 Sam Weinig <sam@webkit.org>
33744 Reviewed by Adam Roben.
33746 Add modifier key info to policy client functions in WebKit2
33747 <rdar://problem/8185298>
33748 https://bugs.webkit.org/show_bug.cgi?id=44280
33750 * UIProcess/API/C/WKAPICast.h:
33751 Add conversion function for modifiers and rename an incorrectly named
33754 * UIProcess/API/C/WKPage.h:
33755 Add WKEventModifiers enum.
33757 * UIProcess/WebPageProxy.cpp:
33758 (WebKit::WebPageProxy::didReceiveMessage):
33759 (WebKit::WebPageProxy::decidePolicyForNavigationAction):
33760 (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
33761 * UIProcess/WebPageProxy.h:
33762 * UIProcess/WebPolicyClient.cpp:
33763 (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
33764 (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
33765 * UIProcess/WebPolicyClient.h:
33766 Pipe through modifier info.
33768 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
33769 (WebKit::modifiersForNavigationAction):
33770 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
33771 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
33772 Get modifier info out of the NavigationInfo class in the same manner as
33775 2010-08-18 Sam Weinig <sam@webkit.org>
33777 Reviewed by Adam Roben.
33779 Add ability to get all the keys from a WKDictionaryRef
33780 https://bugs.webkit.org/show_bug.cgi?id=44221
33782 * Shared/ImmutableDictionary.cpp:
33783 (WebKit::ImmutableDictionary::keys):
33784 * Shared/ImmutableDictionary.h:
33787 * UIProcess/API/C/WKDictionary.cpp:
33788 (WKDictionaryCopyKeys):
33789 * UIProcess/API/C/WKDictionary.h:
33790 Wrap keys function.
33792 2010-08-18 Sam Weinig <sam@webkit.org>
33794 Reviewed by Jon Honeycutt.
33796 Add ability to set custom userAgent for WebKit2
33797 https://bugs.webkit.org/show_bug.cgi?id=44215
33799 * Shared/CoreIPCSupport/WebPageMessageKinds.h:
33800 (WebPageMessage::):
33801 * UIProcess/API/C/WKPage.cpp:
33802 (WKPageSetCustomUserAgent):
33803 * UIProcess/API/C/WKPage.h:
33804 * UIProcess/WebPageProxy.cpp:
33805 (WebKit::WebPageProxy::setCustomUserAgent):
33806 * UIProcess/WebPageProxy.h:
33807 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
33808 (WebKit::WebFrameLoaderClient::userAgent):
33809 * WebProcess/WebPage/WebPage.cpp:
33810 (WebKit::WebPage::setCustomUserAgent):
33811 (WebKit::WebPage::userAgent):
33812 (WebKit::WebPage::didReceiveMessage):
33813 * WebProcess/WebPage/WebPage.h:
33815 2010-08-18 Sam Weinig <sam@webkit.org>
33817 Rubber-stamped by John Sullivan.
33819 Make WKBundleNodeHandleRef usable from WKRetainPtr.
33821 * WebKit2.xcodeproj/project.pbxproj: Make WKBundleNodeHandle.h public.
33822 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h: Add WKRetain/WKRelease overloads.
33824 2010-08-18 Zoltan Horvath <zoltan@webkit.org>
33826 Reviewed by Kenneth Rohde Christiansen.
33828 [Qt] Forwards QtWebProcess' stdout, stderr onto the UI process
33829 https://bugs.webkit.org/show_bug.cgi?id=44159
33831 For debugging purposes forwards stdout and stderr of QtWebProcess onto the UI process.
33833 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
33834 (WebKit::ProcessLauncherHelper::launch):
33836 2010-08-17 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
33838 Reviewed by Darin Adler.
33840 Add NetworkingContext to avoid layer violations
33841 https://bugs.webkit.org/show_bug.cgi?id=42292
33843 Preparation: Just add the files to the build system.
33845 * WebKit2.xcodeproj/project.pbxproj: Added new files.
33846 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: Added.
33847 Placeholder with tentative code that might be changed when landing
33849 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: Added.
33850 Empty placeholder for now.
33852 2010-08-16 Jon Honeycutt <jhoneycutt@apple.com>
33854 Allow some tests to pass in WebKitTestRunner before SharedMemory and
33855 PluginInfoStore are implemented on Windows.
33857 Reviewed by Sam Weinig.
33859 * Platform/win/SharedMemoryWin.cpp:
33860 Disable not implemented warnings.
33861 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
33864 2010-08-16 Gavin Barraclough <barraclough@apple.com>
33866 Rubber stamped by Sam Weinig
33868 Remove unnecessary includes from UString.h, add new includes as necessary.
33870 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
33872 2010-08-16 Sam Weinig <sam@webkit.org>
33876 * Shared/win/CommandLineWin.cpp:
33878 2010-08-16 Sam Weinig <sam@webkit.org>
33880 Reviewed by Gavin Barraclough.
33882 Remove #includes of <WebCore/PlatformString.h> in favor of <wtf/text/WTFString.h>
33884 * Platform/Module.cpp:
33885 * Platform/Module.h:
33886 * Shared/CommandLine.h:
33887 * Shared/WebCoreArgumentCoders.h:
33888 * Shared/WebEvent.h:
33889 * Shared/WebNavigationDataStore.h:
33890 * Shared/WebPreferencesStore.h:
33891 * Shared/WebString.h:
33893 * Shared/mac/CommandLineMac.cpp:
33894 * Shared/qt/UpdateChunk.cpp:
33895 * UIProcess/API/C/WKContext.cpp:
33896 * UIProcess/API/C/cf/WKStringCF.cpp:
33897 * UIProcess/API/C/cf/WKURLCF.cpp:
33898 * UIProcess/API/cpp/qt/WKStringQt.cpp:
33899 * UIProcess/API/cpp/qt/WKURLQt.cpp:
33900 * UIProcess/API/mac/PageClientImpl.mm:
33901 * UIProcess/API/qt/qgraphicswkview.cpp:
33902 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
33903 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
33904 * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
33905 * UIProcess/WebBackForwardListItem.cpp:
33906 * UIProcess/WebBackForwardListItem.h:
33907 * UIProcess/WebContext.h:
33908 * UIProcess/WebContextInjectedBundleClient.cpp:
33909 * UIProcess/WebFrameProxy.cpp:
33910 * UIProcess/WebFrameProxy.h:
33911 * UIProcess/WebPageProxy.h:
33912 * UIProcess/WebPolicyClient.cpp:
33913 * UIProcess/WebProcessProxy.cpp:
33914 * UIProcess/WebUIClient.cpp:
33915 * UIProcess/win/WebView.cpp:
33916 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
33917 * WebProcess/InjectedBundle/InjectedBundle.h:
33918 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
33919 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
33920 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
33921 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
33922 * WebProcess/Plugins/JSNPObject.cpp:
33923 * WebProcess/Plugins/NPJSObject.cpp:
33924 * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
33925 * WebProcess/Plugins/Netscape/NetscapePluginModule.h:
33926 * WebProcess/WebCoreSupport/WebChromeClient.h:
33927 * WebProcess/WebKitMain.cpp:
33928 * WebProcess/win/WebProcessMainWin.cpp:
33930 2010-08-16 Sam Weinig <sam@webkit.org>
33932 Reviewed by Gavin Barraclough.
33934 Null CFURLRef returned from provisionalURL after searching on zillow.com
33935 <rdar://problem/8261812>
33936 https://bugs.webkit.org/show_bug.cgi?id=44072
33938 Conversion from WKURLRef to CFRURLRef was breaking on URLs using characters
33941 * UIProcess/API/C/cf/WKURLCF.cpp:
33942 (WKURLCopyCFURL): Use code similar to that found in KURLCFNet.cpp for conversion.
33944 2010-08-16 Sam Weinig <sam@webkit.org>
33946 Reviewed by Gavin Barraclough.
33948 Remove unnecessary copy constructor, assignment operator and swap function.
33949 The defaults (for all except swap) should do just fine.
33951 * Shared/WebPreferencesStore.cpp:
33952 * Shared/WebPreferencesStore.h:
33954 2010-08-16 Balazs Kelemen <kb@inf.u-szeged.hu>
33956 Reviewed by Kenneth Rohde Christiansen.
33958 Handle content size change in WebKit2
33959 Re-landing after fix.
33961 https://bugs.webkit.org/show_bug.cgi?id=43198
33963 Based on the work of Antti Koivisto.
33964 Send message to the UI client when the contents size has changed through the WebChromeClient
33965 and propagate it to the WKPageUIClient.
33967 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
33968 (WebPageProxyMessage::): Added ContentsSizeChanged message kind.
33969 * UIProcess/API/C/WKPage.h: Added WKPageContentsSizeChangedCallback callback to the WKPageUIClient.
33970 * UIProcess/API/qt/qwkpage.cpp:
33971 (QWKPage::QWKPage): Initialize the new callback to 0.
33972 * UIProcess/WebPageProxy.cpp:
33973 (WebKit::WebPageProxy::didReceiveMessage): Handle ContentsSizeChanged message. Calls contetsSizeChanged.
33974 (WebKit::WebPageProxy::contentsSizeChanged): Added. Propagate the event to the the UI client.
33975 * UIProcess/WebPageProxy.h:
33976 * UIProcess/WebUIClient.cpp:
33977 (WebKit::WebUIClient::contentsSizeChanged): Added. Propagate the event forward to the WKPageUIClient.
33978 * UIProcess/WebUIClient.h:
33979 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
33980 (WebKit::WebChromeClient::contentsSizeChanged): Implemented.
33982 2010-08-16 Sheriff Bot <webkit.review.bot@gmail.com>
33984 Unreviewed, rolling out r65419.
33985 http://trac.webkit.org/changeset/65419
33986 https://bugs.webkit.org/show_bug.cgi?id=44053
33988 Broke the Windows build (Requested by bbandix on #webkit).
33990 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
33991 (WebPageProxyMessage::):
33992 * UIProcess/API/C/WKPage.h:
33993 * UIProcess/API/qt/qwkpage.cpp:
33994 (QWKPage::QWKPage):
33995 * UIProcess/WebPageProxy.cpp:
33996 (WebKit::WebPageProxy::didReceiveMessage):
33997 * UIProcess/WebPageProxy.h:
33998 * UIProcess/WebUIClient.cpp:
33999 * UIProcess/WebUIClient.h:
34000 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
34001 (WebKit::WebChromeClient::contentsSizeChanged):
34003 2010-08-16 Balazs Kelemen <kb@inf.u-szeged.hu>
34005 Reviewed by Kenneth Rohde Christiansen.
34007 Handle content size change in WebKit2
34009 https://bugs.webkit.org/show_bug.cgi?id=43198
34011 Based on the work of Antti Koivisto.
34012 Send message to the UI client when the contents size has changed through the WebChromeClient
34013 and propagate it to the WKPageUIClient.
34015 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
34016 (WebPageProxyMessage::): Added ContentsSizeChanged message kind.
34017 * UIProcess/API/C/WKPage.h: Added WKPageContentsSizeChangedCallback callback to the WKPageUIClient.
34018 * UIProcess/API/qt/qwkpage.cpp:
34019 (QWKPage::QWKPage): Initialize the new callback to 0.
34020 * UIProcess/WebPageProxy.cpp:
34021 (WebKit::WebPageProxy::didReceiveMessage): Handle ContentsSizeChanged message. Calls contetsSizeChanged.
34022 (WebKit::WebPageProxy::contentsSizeChanged): Added. Propagate the event to the the UI client.
34023 * UIProcess/WebPageProxy.h:
34024 * UIProcess/WebUIClient.cpp:
34025 (WebKit::WebUIClient::contentsSizeChanged): Added. Propagate the event forward to the WKPageUIClient.
34026 * UIProcess/WebUIClient.h:
34027 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
34028 (WebKit::WebChromeClient::contentsSizeChanged): Implemented.
34030 2010-08-16 Balazs Kelemen <kb@inf.u-szeged.hu>
34032 Unreviewed Qt WebKit2 build fix.
34034 * UIProcess/qt/WebContextQt.cpp:
34035 (WebKit::WebContext::platformSetUpWebProcess): Added empty stub implementation.
34036 * WebKit2.pro: Enumerate new files, include WebKit.pri for correct define macro set.
34038 2010-08-15 Dan Bernstein <mitz@apple.com>
34040 Revised build fix from r65363 based on suggestion from Darin Adler.
34042 * UIProcess/API/C/WKArray.h: Include stddef.h.
34043 * UIProcess/API/C/WKBase.h: Uninclude ctype.h.
34044 * UIProcess/API/C/WKData.h: Include stddef.h.
34045 * UIProcess/API/C/WKDictionary.h: Ditto.
34047 2010-08-14 Dan Bernstein <mitz@apple.com>
34049 Reviewed by Anders Carlsson in Sweden.
34051 Clean build of WebKitTestRunner fails with “'size_t' has not been declared” in WKArray.h
34052 https://bugs.webkit.org/show_bug.cgi?id=44005
34054 * UIProcess/API/C/WKBase.h: Include ctype.h.
34056 2010-08-13 Sam Weinig <sam@webkit.org>
34060 * WebKit2.xcodeproj/project.pbxproj: Make WKDictionary.h public.
34062 2010-08-13 Sam Weinig <sam@webkit.org>
34064 Reviewed by Brady Eidson.
34066 Pass values map to willSubmitForm in WebKit2 API
34067 Part of <rdar://problem/8255932>
34068 https://bugs.webkit.org/show_bug.cgi?id=43995
34070 * Platform/CoreIPC/ArgumentCoders.h:
34072 Add overload for std::pair.
34074 * Shared/ImmutableDictionary.h:
34075 (WebKit::ImmutableDictionary::adopt):
34076 Fix function signature by removing size parameter.
34078 * UIProcess/API/C/WKPage.h:
34079 Add dictionary parameter to callback.
34081 * UIProcess/WebFormClient.cpp:
34082 (WebKit::WebFormClient::willSubmitForm):
34083 Create an ImmutableDictionary from the vector of string pairs.
34085 * UIProcess/WebFormClient.h:
34086 * UIProcess/WebPageProxy.cpp:
34087 (WebKit::WebPageProxy::didReceiveMessage):
34088 (WebKit::WebPageProxy::willSubmitForm):
34089 * UIProcess/WebPageProxy.h:
34090 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
34091 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
34092 Plumb through the values vector.
34094 2010-08-13 Sam Weinig <sam@webkit.org>
34096 Reviewed by Brady Eidson.
34098 Add dictionary API type
34099 https://bugs.webkit.org/show_bug.cgi?id=43990
34101 Add an immutable dictionary type (WKStringRef -> WKTypeRef).
34103 * Shared/APIObject.h:
34104 (WebKit::APIObject::):
34107 * Shared/ImmutableDictionary.cpp: Added.
34108 (WebKit::ImmutableDictionary::ImmutableDictionary):
34109 (WebKit::ImmutableDictionary::~ImmutableDictionary):
34110 * Shared/ImmutableDictionary.h: Added.
34111 (WebKit::ImmutableDictionary::create):
34112 (WebKit::ImmutableDictionary::adopt):
34113 (WebKit::ImmutableDictionary::get):
34114 (WebKit::ImmutableDictionary::size):
34115 (WebKit::ImmutableDictionary::):
34116 (WebKit::ImmutableDictionary::type):
34117 Add basic implementation
34119 * UIProcess/API/C/WKAPICast.h:
34123 * UIProcess/API/C/WKBase.h:
34124 Add new opaque type.
34126 * UIProcess/API/C/WKDictionary.cpp: Added.
34127 (WKDictionaryGetTypeID):
34128 (WKDictionaryGetItemForKey):
34129 (WKDictionaryGetSize):
34130 (WKDictionaryRetain):
34131 (WKDictionaryRelease):
34132 * UIProcess/API/C/WKDictionary.h: Added.
34135 * UIProcess/API/C/WebKit2.h:
34136 Add missing public headers.
34138 * WebKit2.xcodeproj/project.pbxproj:
34139 * win/WebKit2.vcproj:
34140 * win/WebKit2Generated.make:
34143 2010-08-13 Sam Weinig <sam@webkit.org>
34145 Reviewed by Jon Honeycutt.
34147 Add form submission listener to WebKit2
34148 Part of <rdar://problem/8255932>
34149 https://bugs.webkit.org/show_bug.cgi?id=43947
34151 * Shared/APIObject.h:
34152 Add TypeFormSubmissionListener APIType.
34154 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
34155 Add WillSubmitForm message kind.
34157 * UIProcess/API/C/WKAPICast.h:
34158 Add new mappings for WKFormSubmissionListenerRef -> WebFormSubmissionListener
34160 * UIProcess/API/C/WKBase.h:
34161 Add OpaqueWKFormSubmissionListener and rename the other opaque types to match.
34163 * UIProcess/API/C/WKFormSubmissionListener.cpp: Added.
34164 (WKFormSubmissionListenerGetTypeID):
34165 (WKFormSubmissionListenerContinue):
34166 (WKFormSubmissionListenerRetain):
34167 (WKFormSubmissionListenerRelease):
34168 * UIProcess/API/C/WKFormSubmissionListener.h: Added.
34169 Add C wrapper for WebFormSubmissionListener.
34171 * UIProcess/API/C/WKPage.cpp:
34172 (WKPageSetPageFormClient):
34173 * UIProcess/API/C/WKPage.h:
34174 Add WKPageFormClient with willSubmitForm callback. Additional callbacks will be added as
34177 * UIProcess/API/C/WebKit2.h:
34178 Add include for WKFormSubmissionListener.h
34180 * UIProcess/WebFormClient.cpp: Added.
34181 (WebKit::WebFormClient::WebFormClient):
34182 (WebKit::WebFormClient::initialize):
34183 (WebKit::WebFormClient::willSubmitForm):
34184 * UIProcess/WebFormClient.h: Added.
34185 Add client for form related delagations.
34187 * UIProcess/WebFormSubmissionListenerProxy.cpp: Added.
34188 (WebKit::WebFormSubmissionListenerProxy::WebFormSubmissionListenerProxy):
34189 (WebKit::WebFormSubmissionListenerProxy::continueSubmission):
34190 * UIProcess/WebFormSubmissionListenerProxy.h: Added.
34191 (WebKit::WebFormSubmissionListenerProxy::create):
34192 (WebKit::WebFormSubmissionListenerProxy::type):
34193 * UIProcess/WebFrameListenerProxy.cpp: Copied from UIProcess/WebFramePolicyListenerProxy.cpp.
34194 Add new type of listener for form submissions. It inherits from the new base class
34195 for listeners, WebFrameListenerProxy.
34197 (WebKit::WebFrameListenerProxy::WebFrameListenerProxy):
34198 (WebKit::WebFrameListenerProxy::~WebFrameListenerProxy):
34199 (WebKit::WebFrameListenerProxy::invalidate):
34200 (WebKit::WebFrameListenerProxy::receivedPolicyDecision):
34201 * UIProcess/WebFrameListenerProxy.h: Copied from UIProcess/WebFramePolicyListenerProxy.h.
34202 Move logic that would have to be shared between WebFramePolicyListenerProxy and
34203 WebFormSubmissionListenerProxy into shared base class.
34205 * UIProcess/WebFramePolicyListenerProxy.cpp:
34206 (WebKit::WebFramePolicyListenerProxy::WebFramePolicyListenerProxy):
34207 * UIProcess/WebFramePolicyListenerProxy.h:
34208 (WebKit::WebFramePolicyListenerProxy::create):
34209 (WebKit::WebFramePolicyListenerProxy::type):
34210 Move to inheriting from WebFrameListenerProxy.
34212 * UIProcess/WebFrameProxy.cpp:
34213 (WebKit::WebFrameProxy::disconnect):
34214 (WebKit::WebFrameProxy::receivedPolicyDecision):
34215 (WebKit::WebFrameProxy::setUpPolicyListenerProxy):
34216 (WebKit::WebFrameProxy::setUpFormSubmissionListenerProxy):
34217 * UIProcess/WebFrameProxy.h:
34218 Change listener functions to act on WebFrameListenerProxys and add setUpFormSubmissionListenerProxy.
34220 * UIProcess/WebPageProxy.cpp:
34221 (WebKit::WebPageProxy::initializeFormClient):
34222 (WebKit::WebPageProxy::didReceiveMessage):
34223 (WebKit::WebPageProxy::willSubmitForm):
34224 * UIProcess/WebPageProxy.h:
34225 Plumb through willSubmitForm call as we do with the other listeners.
34227 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
34228 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
34231 * WebKit2.xcodeproj/project.pbxproj: Add new files.
34232 * win/WebKit2.vcproj: Add new files.
34233 * win/WebKit2Generated.make: Ditto.
34235 2010-08-13 Gavin Barraclough <barraclough@apple.com>
34237 Reviewed by Sam Weinig
34239 Unify UString::UTF8String() & String::utf8() methods,
34240 remove UString::cost() & make atArrayIndex a free function.
34242 * WebProcess/Plugins/JSNPObject.cpp:
34243 (WebKit::npIdentifierFromIdentifier):
34244 * WebProcess/Plugins/NPJSObject.cpp:
34245 (WebKit::NPJSObject::enumerate):
34246 * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
34247 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
34249 2010-08-12 Sheriff Bot <webkit.review.bot@gmail.com>
34251 Unreviewed, rolling out r65295.
34252 http://trac.webkit.org/changeset/65295
34253 https://bugs.webkit.org/show_bug.cgi?id=43950
34255 It broke 4 sputnik tests (Requested by Ossy on #webkit).
34257 * WebProcess/Plugins/JSNPObject.cpp:
34258 (WebKit::npIdentifierFromIdentifier):
34259 * WebProcess/Plugins/NPJSObject.cpp:
34260 (WebKit::NPJSObject::enumerate):
34261 * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
34262 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
34264 2010-08-12 Gavin Barraclough <barraclough@apple.com>
34266 Reviewed by Sam Weinig
34268 Unify UString::UTF8String() & String::utf8() methods,
34269 remove UString::cost() & make atArrayIndex a free function.
34271 * WebProcess/Plugins/JSNPObject.cpp:
34272 (WebKit::npIdentifierFromIdentifier):
34273 * WebProcess/Plugins/NPJSObject.cpp:
34274 (WebKit::NPJSObject::enumerate):
34275 * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
34276 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
34278 2010-08-12 Maciej Stachowiak <mjs@apple.com>
34280 Reviewed by Sam Weinig.
34282 WebKit2 crashes when WebFrame outlives WebPage
34283 https://bugs.webkit.org/show_bug.cgi?id=43939
34285 * WebProcess/WebCoreSupport/WebChromeClient.h:
34286 (WebKit::WebChromeClient::page): Add this method, to allow
34287 WebFrame to retrieve its WebPage following WebCore pointers.
34288 * WebProcess/WebPage/WebFrame.cpp:
34289 (WebKit::WebFrame::WebFrame): Do not initialize m_page (it's gone).
34290 (WebKit::WebFrame::page): Don't use the data member, get it from
34292 (WebKit::WebFrame::invalidate): Use method to get page() and null check.
34293 (WebKit::WebFrame::isMainFrame): ditto
34294 * WebProcess/WebPage/WebFrame.h:
34296 2010-08-12 Jon Honeycutt <jhoneycutt@apple.com>
34298 WebKit2 needs to initialize SafariTheme
34299 https://bugs.webkit.org/show_bug.cgi?id=43901
34301 Reviewed by Sam Weinig.
34303 * WebProcess/win/WebProcessMainWin.cpp:
34304 (WebKit::initializeSafariTheme):
34305 Copied from old WebKit.
34306 (WebKit::WebProcessMain):
34307 If we're using SafariTheme, initialize it.
34309 2010-08-12 Jon Honeycutt <jhoneycutt@apple.com>
34311 WebKitTestRunner needs to run tests without using native controls
34312 https://bugs.webkit.org/show_bug.cgi?id=43772
34314 Reviewed by Sam Weinig.
34316 * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
34317 (WebProcessMessage::):
34320 * UIProcess/API/C/win/WKContextPrivateWin.h: Added.
34321 Declare WKContextSetShouldPaintNativeControls().
34323 * UIProcess/API/C/win/WKContextWin.cpp: Added.
34324 (WKContextSetShouldPaintNativeControls):
34325 Call the WebContext's setShouldPaintNativeControls().
34327 * UIProcess/WebContext.cpp:
34328 (WebKit::WebContext::WebContext):
34329 Initialize m_shouldPaintNativeControls.
34330 (WebKit::WebContext::ensureWebProcess):
34331 If we created a web process, call platformSetUpWebProcess().
34333 * UIProcess/WebContext.h:
34334 Declare new functions and a member to store whether we should paint
34337 * UIProcess/mac/WebContextMac.mm:
34338 (WebKit::WebContext::platformSetUpWebProcess):
34341 * UIProcess/win/WebContextWin.cpp:
34342 (WebKit::WebContext::setShouldPaintNativeControls):
34343 Set m_shouldPaintNativeControls. If we have a valid web process, send a
34344 SetShouldPaintNativeControls message.
34345 (WebKit::WebContext::platformSetUpWebProcess):
34346 Send a SetShouldPaintNativeControls message.
34348 * WebProcess/WebProcess.cpp:
34349 (WebKit::WebProcess::didReceiveMessage):
34350 If this is a SetShouldPaintNativeControls message, decode the argument,
34351 and call Settings::setShouldPaintNativeControls().
34353 * win/WebKit2.vcproj:
34354 Add WKContextPrivateWin.h and WKContextWin.cpp to project.
34356 * win/WebKit2Generated.make:
34357 Copy WKContextPrivateWin.h.
34359 2010-08-11 Sam Weinig <sam@webkit.org>
34361 Reviewed by Gavin Barraclough.
34363 Add SPI to stop loading from the InjectedBundle.
34365 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
34366 (WKBundlePageStopLoading):
34367 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
34368 * WebProcess/WebPage/WebPage.h:
34370 2010-08-11 Sam Weinig <sam@webkit.org>
34372 Reviewed by Gavin Barraclough.
34374 WKPageStopLoading always asserts
34376 * WebProcess/WebPage/WebPage.cpp:
34377 (WebKit::WebPage::didReceiveMessage): Switch break to return, break made us
34378 hit the ASSERT_NOT_REACHED at the end of the function.
34380 2010-08-11 Balazs Kelemen <kb@inf.u-szeged.hu>
34382 Unreviewed build fix.
34384 [Qt] Update WebKit2 build environment, add stub implementation of SharedMemory.
34386 * DerivedSources.pro:
34387 * Platform/qt/SharedMemoryQt.cpp: Added.
34388 (WebKit::SharedMemory::Handle::Handle):
34389 (WebKit::SharedMemory::Handle::~Handle):
34390 (WebKit::SharedMemory::Handle::encode):
34391 (WebKit::SharedMemory::Handle::decode):
34392 (WebKit::SharedMemory::create):
34393 (WebKit::SharedMemory::~SharedMemory):
34394 (WebKit::SharedMemory::createHandle):
34395 (WebKit::SharedMemory::systemPageSize):
34399 2010-08-11 Mark Rowe <mrowe@apple.com>
34401 Build fix. Update references to StringHash.h.
34403 * Shared/CommandLine.h:
34404 * UIProcess/WebContext.h:
34405 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
34406 * WebProcess/win/WebProcessMainWin.cpp:
34408 2010-08-10 Darin Adler <darin@apple.com>
34410 Reviewed by Sam Weinig.
34412 Add leakRef and clear to all RefPtr variants
34413 https://bugs.webkit.org/show_bug.cgi?id=42389
34415 * UIProcess/API/cpp/WKRetainPtr.h: Changed all uses of "template <...>" to
34416 "template<...>". Defined many of the inlined functions outside the class
34417 definition, to avoid style checker warnings about multiple statements on
34418 a single line and for slightly better clarity of the class definition itself.
34419 Renamed releaseRef to leakRef. Added a releaseRef that calls leakRef so we
34420 don't have to rename all callers at once. Added a clear function.
34422 2010-08-10 Balazs Kelemen <kb@inf.u-szeged.hu>
34424 Reviewed by Antonio Gomes.
34426 [Qt] Build WebKit2 into a static lib
34428 https://bugs.webkit.org/show_bug.cgi?id=43621
34430 * WebKit2.pri: Added. Defined addWebKit2Lib function that defines how to link against the static lib.
34431 * WebKit2.pro: Build specification for the WebKit2 framework.
34432 * WebProcess.pro: Copied from WebKit2/WebKit2.pro. Build specification for the WebProcess binary.
34434 2010-08-09 Sam Weinig <sam@webkit.org>
34436 Reviewed by Geoffrey Garen.
34438 Add zoom support for injected bundle
34439 https://bugs.webkit.org/show_bug.cgi?id=43759
34441 Add SPI to change the zoom factor for a page.
34443 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
34445 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
34446 (WKBundlePageGetZoomFactor):
34447 (WKBundlePageSetZoomFactor):
34448 (WKBundlePageSetZoomMode):
34449 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
34450 * WebProcess/WebPage/WebPage.cpp:
34451 (WebKit::WebPage::zoomFactor):
34452 (WebKit::WebPage::setZoomFactor):
34453 (WebKit::WebPage::setZoomMode):
34454 * WebProcess/WebPage/WebPage.h:
34456 2010-08-06 Gavin Barraclough <barraclough@apple.com>
34458 Rubber stamped by Sam Weinig
34460 Bug 43594 - Add string forwards to Forward.h
34461 This allows us to remove forward declarations for these classes from
34462 WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
34464 * UIProcess/PageClient.h:
34465 * UIProcess/VisitedLinkProvider.h:
34466 * UIProcess/WebContextInjectedBundleClient.h:
34467 * UIProcess/WebFrameProxy.h:
34468 * UIProcess/WebHistoryClient.h:
34469 * UIProcess/WebLoaderClient.h:
34470 * UIProcess/WebPolicyClient.h:
34471 * UIProcess/WebProcessProxy.h:
34472 * UIProcess/WebUIClient.h:
34473 * UIProcess/win/WebView.h:
34474 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
34475 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
34476 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
34477 * WebProcess/Plugins/NPRuntimeObjectMap.h:
34478 * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
34479 * WebProcess/Plugins/PluginController.h:
34480 * WebProcess/WebPage/WebFrame.h:
34481 * WebProcess/WebPage/WebPage.h:
34482 * WebProcess/WebProcess.h:
34484 2010-08-09 Balazs Kelemen <kb@inf.u-szeged.hu>
34486 Reviewed by Kenneth Rohde Christiansen.
34488 [Qt] No need for PageClientImpl
34490 https://bugs.webkit.org/show_bug.cgi?id=43728
34492 Remove PageClientImpl, take the implementation of WebKit::PageClient into QWKPagePrivate.
34494 * UIProcess/API/qt/qwkpage.cpp:
34495 (QWKPagePrivate::QWKPagePrivate):
34496 (QWKPagePrivate::toolTipChanged):
34497 * UIProcess/API/qt/qwkpage_p.h:
34498 (QWKPagePrivate::pageDidEnterAcceleratedCompositing):
34499 (QWKPagePrivate::pageDidLeaveAcceleratedCompositing):
34500 (QWKPagePrivate::processDidExit):
34501 (QWKPagePrivate::processDidRevive):
34502 (QWKPagePrivate::setCursor):
34503 (QWKPagePrivate::takeFocus):
34505 2010-08-07 Sam Weinig <sam@webkit.org>
34507 Reviewed by Anders Carlsson.
34509 WebKitTestRunner needs to print onunload handler information
34510 <rdar://problem/8213831>
34511 https://bugs.webkit.org/show_bug.cgi?id=42703
34513 Add SPI to get the number of pending unload events.
34515 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
34516 (WKBundleFrameGetPendingUnloadCount):
34517 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
34518 * WebProcess/WebPage/WebFrame.cpp:
34519 (WebKit::WebFrame::pendingUnloadCount):
34520 * WebProcess/WebPage/WebFrame.h:
34522 2010-08-07 Sam Weinig <sam@webkit.org>
34524 Reviewed by Anders Carlsson.
34526 Add additional loader client functions need to complete WebKitTestRunner
34527 https://bugs.webkit.org/show_bug.cgi?id=43684
34529 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
34530 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
34531 (WebKit::InjectedBundlePageLoaderClient::didCancelClientRedirectForFrame):
34532 (WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame):
34533 (WebKit::InjectedBundlePageLoaderClient::didChangeLocationWithinPageForFrame):
34534 (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame):
34535 (WebKit::InjectedBundlePageLoaderClient::didHandleOnloadEventsForFrame):
34536 (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
34537 (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
34538 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
34539 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
34540 (WebKit::WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
34541 (WebKit::WebFrameLoaderClient::dispatchDidCancelClientRedirect):
34542 (WebKit::WebFrameLoaderClient::dispatchWillPerformClientRedirect):
34543 (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
34544 (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
34545 (WebKit::WebFrameLoaderClient::didDisplayInsecureContent):
34546 (WebKit::WebFrameLoaderClient::didRunInsecureContent):
34548 2010-08-07 Sam Weinig <sam@webkit.org>
34550 Another fix for the windows build.
34552 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
34553 (WebKit::NetscapePlugin::isAcceleratedCompositingEnabled):
34555 2010-08-07 Sam Weinig <sam@webkit.org>
34559 * WebProcess/Plugins/PluginView.cpp:
34560 (WebKit::PluginView::platformLayer):
34561 * WebProcess/Plugins/PluginView.h:
34563 2010-08-07 Sam Weinig <sam@webkit.org>
34565 Reviewed by Anders Carlsson.
34567 WebKitTestRunner needs GCController
34568 <rdar://problem/8213834>
34569 https://bugs.webkit.org/show_bug.cgi?id=42701
34571 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
34572 (WKBundleGarbageCollectJavaScriptObjects):
34573 (WKBundleGarbageCollectJavaScriptObjectsOnAlternateThreadForDebugging):
34574 (WKBundleGetJavaScriptObjectsCount):
34575 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
34576 * WebProcess/InjectedBundle/InjectedBundle.cpp:
34577 (WebKit::InjectedBundle::garbageCollectJavaScriptObjects):
34578 (WebKit::InjectedBundle::garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging):
34579 (WebKit::InjectedBundle::javaScriptObjectsCount):
34580 * WebProcess/InjectedBundle/InjectedBundle.h:
34582 2010-08-07 Anders Carlsson <andersca@apple.com>
34584 Reviewed by Sam Weinig.
34586 CA drawing model support for Mac Plugins
34587 https://bugs.webkit.org/show_bug.cgi?id=43678
34588 <rdar://problem/7929701>
34590 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
34591 (WebKit::NPN_GetValue):
34592 Handle WKNVSupportsCompositingCoreAnimationPluginsBool and
34593 NPNVsupportsCoreAnimationBool and return true if accelerated compositing is enabled.
34595 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
34596 (WebKit::NetscapePlugin::isAcceleratedCompositingEnabled):
34597 Call PluginController::isAcceleratedCompositingEnabled.
34599 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
34600 (WebKit::NetscapePlugin::platformPostInitialize):
34601 If the plug-in uses the Core Animation drawing model, ask it for its layer.
34603 (WebKit::NetscapePlugin::platformPaint):
34604 Don't send draw events if the Core Animation drawing model is used.
34606 (WebKit::NetscapePlugin::pluginLayer):
34607 Return the plug-in layer.
34609 * WebProcess/Plugins/Plugin.h:
34610 Add a pluginLayer pure virtual member function.
34612 * WebProcess/Plugins/PluginController.h:
34613 Add an isAcceleratedCompositingEnabled pure virtual member function.
34615 * WebProcess/Plugins/PluginView.cpp:
34616 (WebKit::PluginView::initializePlugin):
34617 If the plug-in has a layer, enter compositing mode.
34619 (WebKit::PluginView::platformLayer):
34620 Ask the plug-in for its layer.
34622 (WebKit::PluginView::isAcceleratedCompositingEnabled):
34623 Call Settings::acceleratedCompositingEnabled.
34625 * WebProcess/Plugins/PluginView.h:
34627 2010-08-06 Sam Weinig <sam@webkit.org>
34629 Reviewed by Anders Carlsson.
34631 Delete key doesn't go Back in WebKit2
34632 <rdar://problem/8272978>
34633 https://bugs.webkit.org/show_bug.cgi?id=43665
34635 - Adds support for delete key going back (mac only for now)
34636 - Adds support for command-left/command right going back/forward
34637 - Flesh out scrolling due to arrow keys on the mac to match old webkit.
34638 - Made performDefaultBehaviorForKeyEvent platform specific and added
34639 a boolean return value which will be used later to inform the UI process
34640 about what events have been processed.
34642 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
34643 (WebPageProxyMessage::):
34644 * UIProcess/API/mac/WKView.mm:
34645 (-[WKView _wantsKeyDownForEvent:]):
34646 * UIProcess/WebPageProxy.cpp:
34647 (WebKit::WebPageProxy::didReceiveSyncMessage):
34648 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
34649 (WebKit::WebBackForwardListProxy::backItem):
34650 (WebKit::WebBackForwardListProxy::forwardItem):
34651 * WebProcess/WebPage/WebPage.cpp:
34652 (WebKit::WebPage::keyEvent):
34653 * WebProcess/WebPage/WebPage.h:
34654 * WebProcess/WebPage/mac/WebPageMac.mm:
34656 (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
34657 * WebProcess/WebPage/qt/WebPageQt.cpp:
34659 (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
34660 * WebProcess/WebPage/win/WebPageWin.cpp:
34662 (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
34664 2010-08-07 Sheriff Bot <webkit.review.bot@gmail.com>
34666 Unreviewed, rolling out r64904.
34667 http://trac.webkit.org/changeset/64904
34668 https://bugs.webkit.org/show_bug.cgi?id=43671
34670 Broke the Qt Windows builders. (Requested by bbandix on
34673 * WebKit2.pri: Removed.
34675 * WebProcess.pro: Removed.
34677 2010-08-07 Balazs Kelemen <kb@inf.u-szeged.hu>
34679 Reviewed by Eric Seidel.
34681 NPAPI headers should be included through npruntime_internal.h
34683 https://bugs.webkit.org/show_bug.cgi?id=43620
34685 * DerivedSources.pro:
34686 * WebProcess/Plugins/NPJSObject.h:
34687 * WebProcess/Plugins/NPRuntimeUtilities.h:
34688 * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
34690 2010-08-07 Balazs Kelemen <kb@inf.u-szeged.hu>
34692 Reviewed by Eric Seidel.
34694 [Qt] Build WebKit2 into a static lib
34696 https://bugs.webkit.org/show_bug.cgi?id=43621
34698 * WebKit2.pri: Added. Defined addWebKit2Lib function that defines how to link against the static lib.
34699 * WebKit2.pro: Build specification for the WebKit2 framework.
34700 * WebProcess.pro: Copied from WebKit2/WebKit2.pro. Build specification for the WebProcess binary.
34702 2010-08-05 Jon Honeycutt <jhoneycutt@apple.com>
34704 WebKitTestRunner needs to be able to set the font smoothing type
34705 https://bugs.webkit.org/show_bug.cgi?id=43406
34707 Reviewed by Adam Roben.
34709 * Shared/FontSmoothingLevel.h: Added.
34712 * Shared/WebPreferencesStore.cpp:
34713 (WebKit::WebPreferencesStore::WebPreferencesStore):
34714 Initialize fontSmoothingLevel.
34715 (WebKit::WebPreferencesStore::swap):
34716 Copy fontSmoothingLevel.
34718 * Shared/WebPreferencesStore.h:
34719 (WebKit::WebPreferencesStore::encode):
34720 Encode fontSmoothingLevel.
34721 (WebKit::WebPreferencesStore::decode):
34724 * UIProcess/API/C/WKPreferencesPrivate.cpp: Added.
34725 (WKPreferencesSetFontSmoothingLevel):
34726 Get the font smoothing level from the WKFontSmoothingLevel, and call
34727 WebPreferences::setFontSmoothingLevel().
34728 (WKPreferencesGetFontSmoothingLevel):
34729 Get the font smoothing level from WebPreferences, and translate it to a
34730 WKFontSmoothingLevel.
34732 * UIProcess/API/C/WKPreferencesPrivate.h: Added.
34733 Declare the font smoothing levels, and declare functions to get and set
34736 * UIProcess/WebPreferences.cpp:
34737 (WebKit::WebPreferences::setFontSmoothingLevel):
34738 Set fontSmoothingLevel and call update().
34739 (WebKit::WebPreferences::fontSmoothingLevel):
34742 * UIProcess/WebPreferences.h:
34743 Declare getter and setter for fontSmoothingLevel.
34745 * WebKit2.xcodeproj/project.pbxproj:
34746 Add new files to project.
34748 * WebProcess/WebPage/WebPage.cpp:
34749 (WebKit::WebPage::preferencesDidChange):
34750 Call platformPreferencesDidChange().
34752 * WebProcess/WebPage/WebPage.h:
34753 Declare platformPreferencesDidChange().
34755 * WebProcess/WebPage/mac/WebPageMac.mm:
34756 (WebKit::WebPage::platformPreferencesDidChange):
34759 * WebProcess/WebPage/qt/WebPageQt.cpp:
34760 (WebKit::WebPage::platformPreferencesDidChange):
34763 * WebProcess/WebPage/win/WebPageWin.cpp:
34764 (WebKit::WebPage::platformPreferencesDidChange):
34765 On CG platforms, call wkSetFontSmoothingLevel(). This matches the code
34766 in old WebKit's WebPreferences. Set the font rendering mode to either
34767 normal (CG) or alternative (GDI) based on the font smoothing level. This
34768 matches what was done in old WebKit's WebView.
34770 * win/WebKit2.vcproj:
34771 Add FontSmoothingLevel.h and WKPreferencesPrivate.{h,cpp} to project.
34773 * win/WebKit2Generated.make:
34774 Copy WKPreferencesPrivate.h.
34776 2010-08-06 Anders Carlsson <andersca@apple.com>
34780 * Platform/win/SharedMemoryWin.cpp:
34781 (WebKit::SharedMemory::Handle::encode):
34782 (WebKit::SharedMemory::Handle::decode):
34783 * Shared/qt/UpdateChunk.cpp:
34784 (WebKit::UpdateChunk::encode):
34785 (WebKit::UpdateChunk::decode):
34786 * Shared/qt/UpdateChunk.h:
34787 * Shared/win/UpdateChunk.cpp:
34788 (WebKit::UpdateChunk::encode):
34789 (WebKit::UpdateChunk::decode):
34790 * Shared/win/UpdateChunk.h:
34792 2010-08-06 Anders Carlsson <andersca@apple.com>
34794 Reviewed by Sam Weinig.
34796 Change all ArgumentEncoder and ArgumentDecoder references to pointers
34797 https://bugs.webkit.org/show_bug.cgi?id=43651
34799 * Platform/CoreIPC/ArgumentCoder.h:
34800 * Platform/CoreIPC/ArgumentDecoder.h:
34801 * Platform/CoreIPC/Arguments.h:
34802 * Platform/CoreIPC/Attachment.cpp:
34803 * Platform/CoreIPC/Attachment.h:
34804 * Platform/CoreIPC/mac/MachPort.h:
34805 * Platform/SharedMemory.h:
34806 * Platform/mac/SharedMemoryMac.cpp:
34807 * Shared/DrawingAreaBase.cpp:
34808 * Shared/DrawingAreaBase.h:
34809 * Shared/WebEvent.h:
34810 * Shared/WebNavigationDataStore.h:
34811 * Shared/WebPreferencesStore.h:
34812 * Shared/mac/UpdateChunk.cpp:
34813 * Shared/mac/UpdateChunk.h:
34814 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
34815 * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
34816 * UIProcess/DrawingAreaProxy.h:
34817 * UIProcess/LayerBackedDrawingAreaProxy.cpp:
34818 * UIProcess/LayerBackedDrawingAreaProxy.h:
34819 * UIProcess/WebContext.cpp:
34820 * UIProcess/WebContext.h:
34821 * UIProcess/WebPageProxy.cpp:
34822 * UIProcess/WebPageProxy.h:
34823 * UIProcess/WebProcessProxy.cpp:
34824 * WebProcess/InjectedBundle/InjectedBundle.cpp:
34825 * WebProcess/InjectedBundle/InjectedBundle.h:
34826 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
34827 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
34828 * WebProcess/WebPage/DrawingArea.h:
34829 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
34830 * WebProcess/WebPage/LayerBackedDrawingArea.h:
34831 * WebProcess/WebPage/WebPage.cpp:
34832 * WebProcess/WebPage/WebPage.h:
34833 * WebProcess/WebProcess.cpp:
34835 2010-08-06 Anders Carlsson <andersca@apple.com>
34837 Reviewed by Sam Weinig.
34839 Don't try to allocate a vector unless we know the buffer can contain it
34840 https://bugs.webkit.org/show_bug.cgi?id=43647
34842 * Platform/CoreIPC/ArgumentCoders.h:
34844 Check that the argument decoder buffer actually can hold all the vector elements.
34846 * Platform/CoreIPC/ArgumentDecoder.cpp:
34847 (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughtToContain):
34848 Align the current position to the given alignment, add the size and check if the position is
34849 past the end of the buffer.
34851 * Platform/CoreIPC/ArgumentDecoder.h:
34852 (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughtToContain):
34853 Get the size and alignment and call the other bufferIsLargeEnoughtToContain overload.
34855 2010-08-06 Anders Carlsson <andersca@apple.com>
34857 Reviewed by Adam Roben.
34859 Detect invalid CoreIPC messages and call didReceiveInvalidMessage
34860 https://bugs.webkit.org/show_bug.cgi?id=43643
34861 <rdar://problem/7891069>
34863 * Platform/CoreIPC/ArgumentDecoder.cpp:
34864 (CoreIPC::ArgumentDecoder::alignBufferPosition):
34865 If we can't correctly align the buffer position, mark the decoder as invalid.
34867 * Platform/CoreIPC/ArgumentDecoder.h:
34868 (CoreIPC::ArgumentDecoder::isInvalid):
34869 Check if the argument decoder is valid.
34871 (CoreIPC::ArgumentDecoder::markInvalid):
34872 Mark the argument decoder as invalid, by setting its buffer position past its end position.
34874 * Platform/CoreIPC/Connection.cpp:
34875 (CoreIPC::Connection::dispatchMessages):
34876 Check if m_client is null before dispatching messages. If an argument decoder was marked invalid, call
34877 Connection::Client::didReceiveInvalidMessage.
34879 * Platform/CoreIPC/Connection.h:
34880 (CoreIPC::Connection::Message::releaseArguments):
34881 Rename destroy to releaseArguments and make it return a PassOwnPtr.
34883 * UIProcess/WebProcessProxy.cpp:
34884 (WebKit::WebProcessProxy::~WebProcessProxy):
34885 Call releaseArguments instead of destroy.
34887 (WebKit::WebProcessProxy::didReceiveInvalidMessage):
34888 Kill the web process and invalidate its connection.
34890 * WebProcess/WebProcess.cpp:
34891 (WebKit::WebProcess::didReceiveInvalidMessage):
34892 Don't do anything, if the UI process is sending invalid messages there's not much we can do.
34894 * WebProcess/WebProcess.h:
34896 2010-08-06 Anders Carlsson <andersca@apple.com>
34898 Reviewed by Adam Roben.
34900 Add CoreIPC::MessageReceiver class
34901 https://bugs.webkit.org/show_bug.cgi?id=43637
34903 * Platform/CoreIPC/Connection.h:
34904 (CoreIPC::Connection::MessageReceiver::~MessageReceiver):
34905 Add MessageReceiver class and make Client inherit from it.
34907 (CoreIPC::Connection::MessageReceiver::didReceiveSyncMessage):
34908 Change didReceiveSyncMessage from being a pure virtual member function and make it
34909 assert by default instead.
34911 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
34912 * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
34913 Remove ChunkedUpdateDrawingAreaProxy::didReceiveSyncMessage.
34915 * Shared/DrawingAreaBase.h:
34916 Include "Connection.h" instead.
34918 * UIProcess/DrawingAreaProxy.h:
34919 (WebKit::DrawingAreaProxy::didReceiveSyncMessage):
34920 Change didReceiveSyncMessage from being a pure virtual member function and make it
34921 assert by default instead.
34923 * WebProcess/WebProcess.cpp:
34924 * WebProcess/WebProcess.h:
34925 Remove didReceiveSyncMessage.
34927 2010-08-06 Jessie Berlin <jberlin@apple.com>
34929 Roll out http://trac.webkit.org/changeset/64801, which broke the Safari Windows Build.
34932 * UIProcess/PageClient.h:
34933 * UIProcess/VisitedLinkProvider.h:
34934 * UIProcess/WebContextInjectedBundleClient.h:
34935 * UIProcess/WebFrameProxy.h:
34936 * UIProcess/WebHistoryClient.h:
34937 * UIProcess/WebLoaderClient.h:
34938 * UIProcess/WebPolicyClient.h:
34939 * UIProcess/WebProcessProxy.h:
34940 * UIProcess/WebUIClient.h:
34941 * UIProcess/win/WebView.h:
34942 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
34943 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
34944 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
34945 * WebProcess/Plugins/NPRuntimeObjectMap.h:
34946 * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
34947 * WebProcess/Plugins/PluginController.h:
34948 * WebProcess/WebPage/WebFrame.h:
34949 * WebProcess/WebPage/WebPage.h:
34950 * WebProcess/WebProcess.h:
34952 2010-08-05 Sam Weinig <sam@webkit.org>
34954 Reviewed by Anders Carlsson.
34956 Add form client for injected bundle code
34957 https://bugs.webkit.org/show_bug.cgi?id=43603
34959 * WebKit2.xcodeproj/project.pbxproj:
34960 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
34961 (WKBundlePageSetFormClient):
34962 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
34963 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: Added.
34964 (WebKit::InjectedBundlePageFormClient::InjectedBundlePageFormClient):
34965 (WebKit::InjectedBundlePageFormClient::initialize):
34966 (WebKit::InjectedBundlePageFormClient::textFieldDidBeginEditing):
34967 (WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing):
34968 (WebKit::InjectedBundlePageFormClient::textDidChangeInTextField):
34969 (WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea):
34970 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h: Added.
34971 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
34972 (WebKit::WebEditorClient::textFieldDidBeginEditing):
34973 (WebKit::WebEditorClient::textFieldDidEndEditing):
34974 (WebKit::WebEditorClient::textDidChangeInTextField):
34975 (WebKit::WebEditorClient::textDidChangeInTextArea):
34976 * WebProcess/WebPage/WebPage.cpp:
34977 (WebKit::WebPage::initializeInjectedBundleFormClient):
34978 * WebProcess/WebPage/WebPage.h:
34979 (WebKit::WebPage::injectedBundleFormClient):
34980 * win/WebKit2.vcproj:
34982 2010-08-05 Sam Weinig <sam@webkit.org>
34984 Reviewed by Anders Carlsson.
34986 Add ability to get a JSValueRef for a node handle and a world
34987 https://bugs.webkit.org/show_bug.cgi?id=43591
34989 - Add API to get a JSValueRef for a world, node and frame (the
34990 frame is currently necessary to pick the right globalObject for
34992 - Add API to a JSGlobalContextRef for a world and a frame.
34994 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
34995 (WKBundleFrameGetJavaScriptContextForWorld):
34996 (WKBundleFrameGetJavaScriptWrapperForNodeForWorld):
34997 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
34998 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h:
34999 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
35000 (WebKit::InjectedBundleNodeHandle::coreNode):
35001 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
35002 * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
35003 (WebKit::InjectedBundleScriptWorld::coreWorld):
35004 * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
35005 * WebProcess/WebPage/WebFrame.cpp:
35006 (WebKit::WebFrame::jsContext):
35007 (WebKit::WebFrame::jsContextForWorld):
35008 (WebKit::WebFrame::jsWrapperForWorld):
35009 * WebProcess/WebPage/WebFrame.h:
35011 2010-08-05 Gavin Barraclough <barraclough@apple.com>
35013 Rubber stamped by Sam Weinig
35015 Bug 43594 - Add string forwards to Forward.h
35016 This allows us to remove forward declarations for these classes from
35017 WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
35019 * UIProcess/PageClient.h:
35020 * UIProcess/VisitedLinkProvider.h:
35021 * UIProcess/WebContextInjectedBundleClient.h:
35022 * UIProcess/WebFrameProxy.h:
35023 * UIProcess/WebHistoryClient.h:
35024 * UIProcess/WebLoaderClient.h:
35025 * UIProcess/WebPolicyClient.h:
35026 * UIProcess/WebProcessProxy.h:
35027 * UIProcess/WebUIClient.h:
35028 * UIProcess/win/WebView.h:
35029 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
35030 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
35031 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
35032 * WebProcess/Plugins/NPRuntimeObjectMap.h:
35033 * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
35034 * WebProcess/Plugins/PluginController.h:
35035 * WebProcess/WebPage/WebFrame.h:
35036 * WebProcess/WebPage/WebPage.h:
35037 * WebProcess/WebProcess.h:
35039 2010-08-05 Anders Carlsson <andersca@apple.com>
35041 Reviewed by Sam Weinig.
35043 Use the visited link provider for visited links
35044 https://bugs.webkit.org/show_bug.cgi?id=43583
35046 * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
35047 (WebProcessMessage::):
35048 Remove AddVisitedLink.
35050 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
35051 (WebProcessProxyMessage::):
35052 Remove PopulateVisitedLinks and add AddVisitedLink.
35054 * UIProcess/WebContext.cpp:
35055 (WebKit::WebContext::sharedProcessContext):
35056 Initialize the main run loop before creating the context.
35058 (WebKit::WebContext::sharedThreadContext):
35061 (WebKit::WebContext::create):
35064 (WebKit::WebContext::WebContext):
35065 Initialize the visited link provider.
35067 (WebKit::WebContext::processDidFinishLaunching):
35068 Ask the visited link provider to populate visited links.
35070 (WebKit::WebContext::addVisitedLink):
35071 Ask the visited link provider to add the visited link.
35073 * UIProcess/WebProcessProxy.cpp:
35074 (WebKit::WebProcessProxy::addVisitedLink):
35075 Call WebContext::addVisitedLink.
35077 (WebKit::WebProcessProxy::didReceiveMessage):
35078 Handle AddVisitedLink.
35080 (WebKit::WebProcessProxy::didFinishLaunching):
35081 Call WebContext::processdidFinishLaunching.
35083 * UIProcess/WebProcessProxy.h:
35084 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
35085 (WebKit::WebChromeClient::populateVisitedLinks):
35086 Don't send the WebProcessProxyMessage::PopulateVisitedLinks message.
35088 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
35089 (WebKit::WebPlatformStrategies::isLinkVisited):
35090 Call WebProcess::isLinkVisited.
35092 (WebKit::WebPlatformStrategies::addVisitedLink):
35093 Call WebProcess::addVisitedLink.
35095 * WebProcess/WebProcess.cpp:
35096 (WebKit::WebProcess::setVisitedLinkTable):
35097 Create a shared memory object and tell the visited link table about it.
35099 (WebKit::WebProcess::visitedLinkStateChanged):
35100 Go through the link hashes and call Page::visitedStateChanged.
35102 (WebKit::WebProcess::allVisitedLinkStateChanged):
35103 Call Page::allVisitedStateChanged.
35105 (WebKit::WebProcess::isLinkVisited):
35106 Call VisitedLinkTable::isLinkVisited.
35108 (WebKit::WebProcess::addVisitedLink):
35109 Inform the UI process about the added link.
35111 (WebKit::WebProcess::didReceiveMessage):
35112 Handle new messages.
35114 2010-08-05 Steve Falkenburg <sfalken@apple.com>
35117 Add missing include path.
35119 * win/WebKit2Common.vsprops:
35121 2010-08-05 Brady Eidson <beidson@apple.com>
35123 Rubberstamped by Sam Weinig.
35127 * WebKit2.xcodeproj/project.pbxproj:
35129 2010-08-05 Steve Falkenburg <sfalken@apple.com>
35132 Correct vcproj nesting.
35134 * win/WebKit2.vcproj:
35136 2010-08-05 Sam Weinig <sam@webkit.org>
35138 Reviewed by Gavin Barraclough.
35140 Add script world API for injected bundles
35141 https://bugs.webkit.org/show_bug.cgi?id=43577
35143 * Shared/APIObject.h:
35144 (WebKit::APIObject::):
35145 * WebKit2.xcodeproj/project.pbxproj:
35146 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
35148 * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
35149 * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp: Added.
35150 (WKBundleScriptWorldGetTypeID):
35151 (WKBundleScriptWorldCreateWorld):
35152 (WKBundleScriptWorldNormalWorld):
35153 (WKBundleScriptWorldRetain):
35154 (WKBundleScriptWorldRelease):
35155 * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h: Added.
35156 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
35157 * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp: Added.
35158 (WebKit::allWorlds):
35159 (WebKit::InjectedBundleScriptWorld::create):
35160 (WebKit::InjectedBundleScriptWorld::getOrCreate):
35161 (WebKit::InjectedBundleScriptWorld::normalWorld):
35162 (WebKit::InjectedBundleScriptWorld::InjectedBundleScriptWorld):
35163 (WebKit::InjectedBundleScriptWorld::~InjectedBundleScriptWorld):
35164 * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h: Added.
35165 (WebKit::InjectedBundleScriptWorld::type):
35166 * win/WebKit2.vcproj:
35167 * win/WebKit2Generated.make:
35169 2010-08-05 Sam Weinig <sam@webkit.org>
35171 Reviewed Anders Carlsson.
35173 Add DOM Node wrapper class for injected bundle
35174 https://bugs.webkit.org/show_bug.cgi?id=43524
35176 - This class should not expose any DOM APIs, but just be a handle that can be used to get a JS
35177 wrapper for the node in a specific world.
35179 * Shared/APIObject.h:
35180 (WebKit::APIObject::):
35181 * WebKit2.xcodeproj/project.pbxproj:
35182 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
35184 * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
35185 * WebProcess/InjectedBundle/API/c/WKBundleNode.h:
35186 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: Added.
35187 (WKBundleNodeHandleGetTypeID):
35188 (WKBundleNodeHandleRetain):
35189 (WKBundleNodeHandleRelease):
35190 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h: Added.
35191 * WebProcess/InjectedBundle/DOM: Added.
35192 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: Added.
35193 (WebKit::domHandleCache):
35194 (WebKit::getDOMHandle):
35195 (WebKit::setDOMHandle):
35196 (WebKit::removeDOMHandle):
35197 (WebKit::InjectedBundleNodeHandle::getOrCreate):
35198 (WebKit::InjectedBundleNodeHandle::create):
35199 (WebKit::InjectedBundleNodeHandle::InjectedBundleNodeHandle):
35200 (WebKit::InjectedBundleNodeHandle::~InjectedBundleNodeHandle):
35201 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: Added.
35202 (WebKit::InjectedBundleNodeHandle::type):
35203 * win/WebKit2.vcproj:
35204 * win/WebKit2Generated.make:
35206 2010-08-05 Anders Carlsson <andersca@apple.com>
35210 * Platform/mac/SharedMemoryMac.cpp:
35212 2010-08-05 Anders Carlsson <andersca@apple.com>
35214 Reviewed by Sam Weinig.
35216 Add VisitedLinkProvider class
35217 https://bugs.webkit.org/show_bug.cgi?id=43570
35219 * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
35220 (WebProcessMessage::):
35221 Add SetVisitedLinkTable, VisitedLinkStateChanged and AllVisitedLinkStateChanged.
35223 * UIProcess/VisitedLinkProvider.cpp: Added.
35224 (WebKit::VisitedLinkProvider::VisitedLinkProvider):
35227 (WebKit::VisitedLinkProvider::populateVisitedLinksIfNeeded):
35228 Ask the context to populate visited links.
35230 (WebKit::VisitedLinkProvider::addVisitedLink):
35231 Add the link hash to the set of pending visited links and start the timer.
35233 (WebKit::nextPowerOf2):
35234 Add helper function.
35236 (WebKit::tableSizeForKeyCount):
35237 Given a key count, returns a table size. The table size is always a power of two, and
35238 is chosen so that the table is always at least half empty.
35240 (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
35241 First, check if we need to resize the hash table and allocate new shared memory for it if that is the case.
35242 Then, go through the pending link hash vector and insert all the elements in the table. Finally, notify the web
35243 process about visited links whose state have changed.
35245 * WebProcess/WebProcess.cpp:
35246 (WebKit::WebProcess::didReceiveMessage):
35247 Add case statements.
35249 * win/WebKit2.vcproj:
35250 * WebKit2.xcodeproj/project.pbxproj:
35251 Add VisitedLinkProvider.cpp and VisitedLinkProvider.h.
35253 2010-08-05 Anders Carlsson <andersca@apple.com>
35255 Reviewed by Sam Weinig.
35257 Add VisitedLinkTable class
35258 https://bugs.webkit.org/show_bug.cgi?id=43566
35260 * Shared/VisitedLinkTable.cpp: Added.
35261 (WebKit::VisitedLinkTable::VisitedLinkTable):
35262 (WebKit::VisitedLinkTable::~VisitedLinkTable):
35263 Add out of line constructors so we won't have to include SharedMemory.h in the
35264 VisitedLinkTable.h header.
35266 (WebKit::isPowerOf2):
35267 Add helper function.
35269 (WebKit::VisitedLinkTable::setSharedMemory):
35270 Set the new shared memory and update the table size and hash.
35272 (WebKit::doubleHash):
35273 Add helper function from the WTF HashTable.
35275 (WebKit::VisitedLinkTable::addLinkHash):
35276 Add a link hash to the table.
35278 (WebKit::VisitedLinkTable::isLinkVisited):
35279 See if there is an entry for the given link hash.
35281 * Shared/VisitedLinkTable.h: Added.
35282 (WebKit::VisitedLinkTable::sharedMemory):
35283 * WebKit2.xcodeproj/project.pbxproj:
35284 * win/WebKit2.vcproj:
35285 Add VisitedLinkTable.cpp and VisitedLinkTable.h
35287 2010-08-04 Anders Carlsson <andersca@apple.com>
35289 Reviewed by Adam Roben.
35291 Add shared memory abstraction
35292 https://bugs.webkit.org/show_bug.cgi?id=43535
35293 <rdar://problem/8275295>
35295 * Platform/SharedMemory.h: Added.
35296 (WebKit::SharedMemory::):
35297 (WebKit::SharedMemory::size):
35298 Return the size, in bytes, of the shared memory object.
35300 (WebKit::SharedMemory::data):
35301 Return a pointer to the shared memory object.
35303 * Platform/mac/SharedMemoryMac.cpp: Added.
35304 (WebKit::SharedMemory::Handle):
35305 A shared memory handle, which can be passed in a CoreIPC Connection.
35307 (WebKit::SharedMemory::create):
35308 Allocate the shared memory.
35310 (WebKit::SharedMemory::~SharedMemory):
35311 Deallocate the shared memory.
35313 (WebKit::SharedMemory::createHandle):
35314 Create a mach port and pass it to the handle.
35316 (WebKit::SharedMemory::systemPageSize):
35317 Return the system page size, in bytes.
35319 * Platform/win/SharedMemoryWin.cpp: Added.
35320 Add stubbed out version.
35322 * WebKit2.xcodeproj/project.pbxproj:
35323 * win/WebKit2.vcproj:
35326 2010-08-05 Jian Li <jianli@chromium.org>
35328 Reviewed by David Levin.
35330 Unify blob related feature defines to ENABLE(BLOB).
35331 https://bugs.webkit.org/show_bug.cgi?id=43081
35333 * Configurations/FeatureDefines.xcconfig:
35335 2010-08-05 Balazs Kelemen <kb@inf.u-szeged.hu>
35337 Rubber-stamped by Kenneth Rohde Christiansen.
35339 [Qt] Remove redundant include paths from WebKit2.pro.
35343 2010-08-04 Adam Roben <aroben@apple.com>
35345 Teach WebKit2 how to load the TestNetscapePlugin
35347 Fixes <http://webkit.org/b/43513> WebKitTestRunner on Windows fails to
35348 load TestNetscapePlugin
35350 Reviewed by Jon Honeycutt.
35352 * Platform/Module.cpp:
35353 (WebKit::Module::Module): Initialize m_module on Windows.
35355 * Platform/Module.h: Added m_module on Windows.
35357 * Platform/win/ModuleWin.cpp:
35358 (WebKit::Module::load): Implemented using ::LoadLibraryExW.
35359 (WebKit::Module::unload): Implemented using ::FreeLibrary.
35360 (WebKit::Module::platformFunctionPointer): Implemented using
35363 * Platform/win/RunLoopWin.cpp:
35364 (RunLoop::TimerBase::timerFired): Kill the native timer before calling
35365 the fired callback. This makes all our timers non-repeating, but
35366 that's all we need currently.
35367 (RunLoop::TimerBase::start): Added an assertion to help us figure out
35368 when we need to implement repeating timers. Also fixed a typo.
35370 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
35371 (WebKit::PluginInfoStore::pluginsDirectories): Added a FIXME.
35373 (WebKit::PathWalker::PathWalker):
35374 (WebKit::PathWalker::~PathWalker):
35375 (WebKit::PathWalker::isValid):
35376 (WebKit::PathWalker::data):
35377 (WebKit::PathWalker::step):
35378 Added. This class wraps the ::FindFirstFile/::FindNextFile APIs.
35380 (WebKit::PluginInfoStore::pluginPathsInDirectory): Implemented by
35382 WebCore::PluginDatabase::getPluginPathsInDirectories.
35383 (WebKit::getVersionInfo): Copied from PluginDatabaseWin.cpp.
35384 (WebKit::PluginInfoStore::getPluginInfo): Implemented by porting logic
35385 from WebCore::PluginPackage::fetchInfo.
35386 (WebKit::PluginInfoStore::shouldUsePlugin): Changed to always return
35387 true for now. Added a FIXME about implementing this for real.
35389 * UIProcess/WebProcessProxy.cpp:
35390 (WebKit::WebProcessProxy::didReceiveSyncMessage):
35391 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
35392 (WebKit::WebFrameLoaderClient::createPlugin):
35393 Removed PLATFORM(MAC) guards around plugin code.
35395 * win/WebKit2.vcproj: Let VS sort the file.
35397 2010-08-05 Antti Koivisto <koivisto@iki.fi>
35399 Reviewed by Kenneth Rohde Christiansen.
35401 Use toCopiedRef for making WK objects
35402 https://bugs.webkit.org/show_bug.cgi?id=43552
35404 * UIProcess/API/cpp/qt/WKStringQt.cpp:
35405 (WKStringCreateWithQString):
35406 * UIProcess/API/cpp/qt/WKURLQt.cpp:
35407 (WKURLCreateWithQUrl):
35409 2010-08-04 Brady Eidson <beidson@apple.com>
35411 Reviewed by Sam Weinig.
35413 Change callback APIs to include an Error object in one callback, instead of having a second callback for failure.
35414 https://bugs.webkit.org/show_bug.cgi?id=43522
35416 This includes adding a WKErrorRef object which - for now - either exists or doesn't.
35417 In the future, it may contain useful information about the error.
35419 * WebKit2.xcodeproj/project.pbxproj:
35420 * win/WebKit2.vcproj:
35421 * win/WebKit2Generated.make:
35423 * Shared/APIObject.h:
35424 (WebKit::APIObject::):
35425 * UIProcess/API/C/WKAPICast.h:
35426 * UIProcess/API/C/WKBase.h:
35428 * Shared/WebError.h: Added.
35429 (WebKit::WebError::create):
35430 (WebKit::WebError::WebError):
35431 (WebKit::WebError::type):
35433 * UIProcess/API/C/WKError.cpp: Added.
35434 (WKErrorGetTypeID):
35435 * UIProcess/API/C/WKError.h: Added.
35437 * UIProcess/API/C/WKPage.cpp:
35438 (WKPageRunJavaScriptInMainFrame):
35439 (callRunJavaScriptBlockAndRelease):
35440 (WKPageRunJavaScriptInMainFrame_b):
35441 (WKPageRenderTreeExternalRepresentation):
35442 (callRenderTreeExternalRepresentationBlockAndDispose):
35443 (WKPageRenderTreeExternalRepresentation_b):
35444 * UIProcess/API/C/WKPage.h:
35445 * UIProcess/API/C/WKPagePrivate.h:
35447 * UIProcess/GenericCallback.h:
35448 (WebKit::GenericCallback::create):
35449 (WebKit::GenericCallback::performCallbackWithReturnValue):
35450 (WebKit::GenericCallback::invalidate):
35451 (WebKit::GenericCallback::GenericCallback):
35453 2010-08-04 Ada Chan <adachan@apple.com>
35457 * win/WebKit2Generated.make:
35459 2010-08-04 John Sullivan <sullivan@apple.com>
35461 Build fix, rubber-stamped by Brady Eidson.
35463 * WebKit2.xcodeproj/project.pbxproj:
35464 Made WKData.h a public header.
35466 2010-08-04 Adam Roben <aroben@apple.com>
35470 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
35471 (WebKit::NPN_SetValue): Removed unreachable code.
35473 2010-08-04 Adam Roben <aroben@apple.com>
35477 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
35478 (WebKit::NPN_SetValue): Added some case statements that are compiled
35479 on Windows to avoid a warning about having default but not cases.
35481 2010-08-04 Adam Roben <aroben@apple.com>
35485 * win/WebKit2.vcproj: Added NetscapeBrowserFuncs.
35487 2010-08-04 Adam Roben <aroben@apple.com>
35491 The functions in NetscapePluginModuleWin.cpp have been moved to
35492 NetscapePluginModule.cpp.
35494 * WebProcess/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Removed.
35495 * win/WebKit2.vcproj: Removed NetscapePluginModuleWin.
35497 2010-08-04 Adam Roben <aroben@apple.com>
35499 Move bundle-loading code from NetscapePluginModule to a new Module
35502 This allows more NetscapePluginModule code to be cross-platform.
35504 Fixes <http://webkit.org/b/43497> NetscapePluginModule::try/unload
35505 should be cross-platform
35507 Reviewed by Anders Carlsson.
35509 * Platform/Module.cpp: Added.
35510 (WebKit::Module::Module): Store our path.
35511 (WebKit::Module::~Module): Unload our native module.
35513 * Platform/Module.h: Added.
35514 (WebKit::Module::leakBundle): Does what it says.
35515 (WebKit::Module::functionPointer): Returns a pointer to the named
35516 function, with the right type.
35518 * Platform/mac/ModuleMac.mm: Added.
35519 (WebKit::Module::load): Code was moved here from
35520 NetscapePluginModule::tryLoad.
35521 (WebKit::Module::unload): Just clears our bundle.
35522 (WebKit::Module::platformFunctionPointer): Code was moved here from
35523 NetscapePluginModuleMac.cpp.
35525 * Platform/qt/ModuleQt.cpp: Added.
35526 (WebKit::Module::load):
35527 (WebKit::Module::unload):
35528 (WebKit::Module::platformFunctionPointer):
35529 * Platform/win/ModuleWin.cpp: Added.
35530 (WebKit::Module::load):
35531 (WebKit::Module::unload):
35532 (WebKit::Module::platformFunctionPointer):
35533 Just stubbed out these functions.
35535 * WebKit2.xcodeproj/project.pbxproj: Added Module.
35537 * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
35538 (WebKit::NetscapePluginModule::tryLoad):
35539 (WebKit::NetscapePluginModule::unload):
35540 Moved here from NetscapePluginModuleMac.cpp. Now uses the
35541 cross-platform m_module member.
35543 * WebProcess/Plugins/Netscape/NetscapePluginModule.h: Replaced
35544 m_bundle with m_module.
35546 * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp: Removed.
35548 * win/WebKit2.vcproj: Added Module.
35550 2010-08-04 Brady Eidson <beidson@apple.com>
35552 Reviewed by Sam Weinig.
35554 Lay the groundwork for saving/restoring page session state to WK2
35555 https://bugs.webkit.org/show_bug.cgi?id=43495
35557 * WebKit2.xcodeproj/project.pbxproj:
35558 * win/WebKit2.vcproj:
35560 * Shared/APIObject.h:
35561 (WebKit::APIObject::):
35562 * UIProcess/API/C/WKAPICast.h:
35563 * UIProcess/API/C/WKBase.h:
35565 Arbitrary byte buffer:
35566 * Shared/WebData.h: Added.
35567 (WebKit::WebData::create):
35568 (WebKit::WebData::bytes):
35569 (WebKit::WebData::size):
35570 (WebKit::WebData::WebData):
35571 (WebKit::WebData::type):
35573 API facing object to act as a byte buffer:
35574 * UIProcess/API/C/WKData.cpp: Added.
35581 * UIProcess/API/C/WKData.h: Added.
35583 API for saving/restoring state:
35584 * UIProcess/API/C/WKPage.cpp:
35585 (WKPageCopySessionState):
35586 (WKPageRestoreFromSessionState):
35587 * UIProcess/API/C/WKPage.h:
35589 These will be filled in later:
35590 * UIProcess/WebPageProxy.cpp:
35591 (WebKit::WebPageProxy::sessionState):
35592 (WebKit::WebPageProxy::restoreFromSessionState):
35593 * UIProcess/WebPageProxy.h:
35596 2010-08-04 Sam Weinig <sam@webkit.org>
35598 Reviewed by Anders Carlsson.
35600 Set correct default minimumFontSize.
35602 * Shared/WebPreferencesStore.cpp:
35603 (WebKit::WebPreferencesStore::WebPreferencesStore):
35605 2010-08-03 Adam Roben <aroben@apple.com>
35607 Turn on PLATFORM_STRATEGIES on Windows
35609 Fixes <http://webkit.org/b/43431>.
35611 Reviewed by Anders Carlsson.
35613 * win/WebKit2.vcproj: Added WebPlatformStrategies. Also let VS reorder
35614 this file as it saw fit.
35616 2010-08-03 Balazs Kelemen <kb@inf.u-szeged.hu>
35618 Reviewed by Kenneth Rohde Christiansen.
35620 [Qt] Close the WebProcess
35622 https://bugs.webkit.org/show_bug.cgi?id=41690
35624 * Platform/CoreIPC/qt/ConnectionQt.cpp:
35625 (CoreIPC::Connection::open): Registered connectionDidClose to be called when the client disconnected.
35626 * Platform/qt/RunLoopQt.cpp:
35627 (RunLoop::stop): Implemented by calling QCoreApplication::exit.
35629 2010-08-03 Jon Honeycutt <jhoneycutt@apple.com>
35631 WebKitTestRunner needs to activate the Mac font ascent hack
35632 https://bugs.webkit.org/show_bug.cgi?id=43404
35634 Reviewed by Darin Adler.
35636 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
35637 (WKBundleActivateMacFontAscentHack):
35638 Get the InjectedBundle, and calls its activateMacFontAscentHack().
35640 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
35641 Declare WKBundleActivateMacFontAscentHack().
35643 * WebProcess/InjectedBundle/InjectedBundle.h:
35644 Declare activateMacFontAscentHack().
35646 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
35647 (WebKit::InjectedBundle::activateMacFontAscentHack):
35650 * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
35651 (WebKit::InjectedBundle::activateMacFontAscentHack):
35654 * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
35655 (WebKit::InjectedBundle::activateMacFontAscentHack):
35656 Activate the ascent hack.
35658 2010-08-03 Simon Fraser <simon.fraser@apple.com>
35660 Fix typo in typo fix.
35662 * Shared/DrawingAreaBase.h:
35663 (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo):
35664 (WebKit::DrawingAreaBase::DrawingAreaBase):
35666 2010-08-03 Simon Fraser <simon.fraser@apple.com>
35668 Fix typo in previous commit.
35670 * Shared/DrawingAreaBase.h:
35671 (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo):
35672 (WebKit::DrawingAreaBase::DrawingAreaBase):
35674 2010-08-03 Simon Fraser <simon.fraser@apple.com>
35676 Reviewed by Anders Carlsson.
35678 Compositing iframe layout test crashes in WebKit2
35679 https://bugs.webkit.org/show_bug.cgi?id=42860
35681 Fix assertion caused by a DrawingArea handling a message that was targetted at an older DrawingArea
35682 that it has replaced.
35684 This was done by assigning a unique ID to each DrawingAreaProxy that gets created, and passing
35685 this ID, along with the type, to the WebProcess via an encoded DrawingAreaInfo. Each message
35686 also includes this ID. Messages with an ID that doesn't match that of the current DrawingArea are ignored.
35688 Refactored some common code and data into a DrawingAreaBase class which is shared, and adding
35689 encode/decode of DrawingAreaInfo.
35691 * Shared/DrawingAreaBase.cpp: Added.
35692 (WebKit::DrawingAreaBase::encode):
35693 (WebKit::DrawingAreaBase::decode):
35694 * Shared/DrawingAreaBase.h: Added.
35695 (WebKit::DrawingAreaBase::):
35696 (WebKit::DrawingAreaBase::~DrawingAreaBase):
35697 (WebKit::DrawingAreaBase::type):
35698 (WebKit::DrawingAreaBase::id):
35699 (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo):
35700 (WebKit::DrawingAreaBase::DrawingAreaBase):
35702 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
35703 (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
35704 (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
35705 (WebKit::ChunkedUpdateDrawingAreaProxy::update):
35706 * UIProcess/DrawingAreaProxy.cpp:
35707 (WebKit::DrawingAreaProxy::DrawingAreaProxy):
35708 (WebKit::DrawingAreaProxy::nextDrawingAreaID):
35709 * UIProcess/DrawingAreaProxy.h:
35710 * UIProcess/LayerBackedDrawingAreaProxy.cpp:
35711 (WebKit::LayerBackedDrawingAreaProxy::setSize):
35712 (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible):
35713 (WebKit::LayerBackedDrawingAreaProxy::update):
35714 * UIProcess/LayerBackedDrawingAreaProxy.h:
35715 * UIProcess/WebPageProxy.cpp:
35716 (WebKit::WebPageProxy::didReceiveSyncMessage):
35717 * WebKit2.xcodeproj/project.pbxproj:
35718 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
35719 (WebKit::WebChromeClient::createWindow):
35720 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
35721 (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
35722 (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
35723 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
35724 * WebProcess/WebPage/DrawingArea.cpp:
35725 (WebKit::DrawingArea::create):
35726 (WebKit::DrawingArea::DrawingArea):
35727 * WebProcess/WebPage/DrawingArea.h:
35728 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
35729 (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
35730 (WebKit::LayerBackedDrawingArea::didReceiveMessage):
35731 * WebProcess/WebPage/LayerBackedDrawingArea.h:
35732 * WebProcess/WebPage/WebPage.cpp:
35733 (WebKit::WebPage::create):
35734 (WebKit::WebPage::WebPage):
35735 (WebKit::WebPage::changeAcceleratedCompositingMode):
35736 * WebProcess/WebPage/WebPage.h:
35737 * WebProcess/WebProcess.cpp:
35738 (WebKit::WebProcess::createWebPage):
35739 (WebKit::WebProcess::didReceiveMessage):
35740 * WebProcess/WebProcess.h:
35741 * win/WebKit2.vcproj:
35743 2010-08-03 Alex Milowski <alex@milowski.com>
35745 Reviewed by Beth Dakin.
35747 Changed the ENABLE_MATHML value to enable MathML by default.
35749 * Configurations/FeatureDefines.xcconfig:
35751 2010-08-03 Simon Fraser <simon.fraser@apple.com>
35753 Reviewed by Sam Weinig.
35755 Compositing iframe layout test crashes in WebKit2
35756 https://bugs.webkit.org/show_bug.cgi?id=42860
35758 Part one of the fix: make DrawingArea ref-counted, so that the object
35759 can survide a swap in drawing areas inside the run loop observer callback.
35761 * WebProcess/WebPage/DrawingArea.cpp:
35762 (WebKit::DrawingArea::create):
35763 * WebProcess/WebPage/DrawingArea.h:
35764 * WebProcess/WebPage/WebPage.h:
35765 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
35766 (WebKit::LayerBackedDrawingArea::platformClear):
35767 (WebKit::LayerBackedDrawingArea::updateLayoutRunLoopObserverCallback):
35768 (WebKit::LayerBackedDrawingArea::updateLayoutRunLoopObserverFired):
35770 2010-08-03 Anders Carlsson <andersca@apple.com>
35772 Reviewed by Adam Roben.
35774 Frequent ASSERT_NOT_REACHED in Connection::processIncomingMessage when running regression tests
35775 https://bugs.webkit.org/show_bug.cgi?id=42926
35776 <rdar://problem/8237329>
35778 Remove this assert, it's bogus. It would fire when a reply came in on the connection queue before
35779 waitForReply was called on the client thread, but that case is already covered.
35781 * Platform/CoreIPC/Connection.cpp:
35782 (CoreIPC::Connection::processIncomingMessage):
35784 2010-08-03 Adam Roben <aroben@apple.com>
35786 Compile out two Mac-only localized strings on non-Mac platforms
35788 Fixes <http://webkit.org/b/43433> copyImageUnknownFileLabel and
35789 AXARIAContentGroupText should only be compiled on Mac
35791 Reviewed by Anders Carlsson.
35793 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
35794 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
35795 Wrapped copyImageUnknownFileLabel and AXARIAContentGroupText in
35798 2010-08-03 Balazs Kelemen <kb@inf.u-szeged.hu>
35800 [Qt] Unreviewed typo fix in the WebKit2/DerivedSources.pro project file.
35802 Use QMAKE_MKDIR as the command for directory creation.
35804 * DerivedSources.pro:
35806 2010-08-02 Brady Eidson <beidson@apple.com>
35808 Reviewed by Anders Carlsson.
35810 Add VisitedLinkStrategy for each platform to implement
35811 https://bugs.webkit.org/show_bug.cgi?id=43393
35813 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
35814 (WebKit::WebPlatformStrategies::createVisitedLinkStrategy):
35815 (WebKit::WebPlatformStrategies::isLinkVisited): Call back into PageGroup's visited links, for now.
35816 (WebKit::WebPlatformStrategies::addVisitedLink): Ditto.
35817 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
35819 2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
35821 Reviewed by Darin Fisher.
35823 PopupMenu refactoring in preparation to WebKit2
35824 https://bugs.webkit.org/show_bug.cgi?id=42592
35826 Classes WebPopupMenu and WebSearchPopupMenu inherit from PopupMenu and
35827 SearchPopupMenu respectively. At this point they are just empty implementations.
35829 * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Added.
35830 (WebKit::WebPopupMenu::WebPopupMenu):
35831 (WebKit::WebPopupMenu::~WebPopupMenu):
35832 (WebKit::WebPopupMenu::disconnectClient):
35833 (WebKit::WebPopupMenu::show):
35834 (WebKit::WebPopupMenu::hide):
35835 (WebKit::WebPopupMenu::updateFromElement):
35836 * WebProcess/WebCoreSupport/WebPopupMenu.h: Added.
35837 * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Added.
35838 (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
35839 (WebKit::WebSearchPopupMenu::popupMenu):
35840 (WebKit::WebSearchPopupMenu::saveRecentSearches):
35841 (WebKit::WebSearchPopupMenu::loadRecentSearches):
35842 (WebKit::WebSearchPopupMenu::enabled):
35843 * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Added.
35845 As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
35846 instances, concrete classes that inherit from ChromeClient needed to be changed to
35847 implement the new methods.
35849 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
35850 (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
35851 (WebKit::WebChromeClient::createPopupMenu):
35852 (WebKit::WebChromeClient::createSearchPopupMenu):
35853 * WebProcess/WebCoreSupport/WebChromeClient.h:
35857 * WebKit2.xcodeproj/project.pbxproj:
35858 * win/WebKit2.vcproj:
35860 2010-08-02 Anders Carlsson <andersca@apple.com>
35862 Reviewed by Sam Weinig.
35864 Fix plug-in test failures and remove tests from the Skipped list
35865 https://bugs.webkit.org/show_bug.cgi?id=43389
35867 * WebProcess/Plugins/JSNPMethod.cpp:
35868 JSNPMethod::s_info should specify InternalFunction::info as its parent.
35870 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
35871 (WebKit::NetscapePlugin::cancelStreamLoad):
35872 Special-case the manual stream and call PluginController::cancelManualStreamLoad.
35874 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
35875 (WebKit::NetscapePluginStream::stop):
35876 It's OK to call stop on a stream that hasn't been started. Remove assertion and return early.
35878 * WebProcess/Plugins/PluginController.h:
35879 Add cancelManualStreamLoad.
35881 * WebProcess/Plugins/PluginView.cpp:
35882 (WebKit::PluginView::cancelManualStreamLoad):
35883 Tell the document loader to cancel the main resource load.
35885 * WebProcess/WebPage/WebFrame.cpp:
35886 (WebKit::WebFrame::innerText):
35887 Check for a null document element.
35889 2010-08-02 Anders Carlsson <andersca@apple.com>
35891 Reviewed by Sam Weinig.
35893 Add support for loading manual streams
35894 https://bugs.webkit.org/show_bug.cgi?id=43380
35896 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
35897 (WebKit::NetscapePlugin::NetscapePlugin):
35898 Initialize m_loadManually to false.
35900 (WebKit::NetscapePlugin::removePluginStream):
35901 Special case the manual stream.
35903 (WebKit::NetscapePlugin::initialize):
35904 Don't request the stream if we're already loading.
35906 (WebKit::NetscapePlugin::manualStreamDidReceiveResponse):
35907 Create the manual stream and pass the response to it.
35909 (WebKit::NetscapePlugin::manualStreamDidReceiveData):
35910 Pass the data to the manual stream.
35912 (WebKit::NetscapePlugin::manualStreamDidFinishLoading):
35913 Call the manual stream.
35915 (WebKit::NetscapePlugin::manualStreamDidFail):
35918 * WebProcess/Plugins/Plugin.h:
35919 Add pure virtual member functions for manual stream loading.
35921 * WebProcess/Plugins/PluginView.cpp:
35922 (WebKit::buildHTTPHeaders):
35923 Put code in a function so both PluginView::Stream::didReceiveResponse and
35924 manualLoadDidReceiveResponse can call it.
35926 (WebKit::PluginView::Stream::didReceiveResponse):
35927 Call buildHTTPHeaders.
35929 (WebKit::PluginView::Stream::didFinishLoading):
35930 Protect the plug-in when calling destroyStream.
35932 (WebKit::PluginView::manualLoadDidReceiveResponse):
35933 Call Plugin::manualStreamDidReceiveResponse.
35935 (WebKit::PluginView::manualLoadDidReceiveData):
35936 Call Plugin::manualStreamDidReceiveData.
35938 (WebKit::PluginView::manualLoadDidFinishLoading):
35939 Call Plugin::manualStreamDidFinishLoading.
35941 (WebKit::PluginView::manualLoadDidFail):
35942 Call Plugin::manualStreamDidFail.
35944 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
35945 (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
35946 Initialize m_hasSentResponseToPluginView to false.
35948 (WebKit::WebFrameLoaderClient::setMainDocumentError):
35949 Call PluginView::manualLoadDidFail.
35951 (WebKit::WebFrameLoaderClient::committedLoad):
35952 Call PluginView::manualLoadDidReceiveResponse.
35954 (WebKit::WebFrameLoaderClient::finishedLoading):
35955 Call PluginView::manualLoadDidFinishLoading.
35957 (WebKit::WebFrameLoaderClient::redirectDataToPlugin):
35958 Keep track of the plug-in view.
35960 2010-08-02 Brady Eidson <beidson@apple.com>
35962 Reviewed by Anders Carlsson.
35964 Basic WK2 visited link coloring
35965 https://bugs.webkit.org/show_bug.cgi?id=43377
35967 Add simple API that allows the WK2 app to add 1 visited link at a time.
35968 For now, this just pipes each individual LinkHash down to WebCore.
35970 * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
35971 (WebProcessMessage::):
35973 * UIProcess/API/C/WKContext.cpp:
35974 (WKContextAddVisitedLink):
35975 * UIProcess/API/C/WKContext.h:
35977 * UIProcess/WebContext.cpp:
35978 (WebKit::WebContext::addVisitedLink):
35979 * UIProcess/WebContext.h:
35981 * WebProcess/WebProcess.cpp:
35982 (WebKit::WebProcess::addVisitedLinkHash):
35983 (WebKit::WebProcess::didReceiveMessage):
35984 * WebProcess/WebProcess.h:
35986 2010-08-02 Darin Adler <darin@apple.com>
35988 Reviewed by Sam Weinig.
35990 WebKitTestRunner needs layoutTestController.setCanOpenWindows
35991 https://bugs.webkit.org/show_bug.cgi?id=42321
35993 WebKitTestRunner needs layoutTestController.setCloseRemainingWindowsWhenComplete
35994 https://bugs.webkit.org/show_bug.cgi?id=42779
35996 Implemented window.close, added a function that does a similar operation on behalf
35997 of injected bundle code named WKBundlePageClose, and fixed the reference counting of
35998 the result of the createNewPage client function.
36000 * UIProcess/API/cpp/WKRetainPtr.h: Added clear. Tweaked formatting. Renamed
36001 releaseRef to leakRef.
36003 * UIProcess/API/mac/WKView.mm:
36004 (-[WKView _updateVisibility]): Handle the case where drawing area is 0. This
36005 came up in WebKitTestRunner and other functions handle drawing area of 0.
36007 * UIProcess/WebPageProxy.cpp:
36008 (WebKit::WebPageProxy::didReceiveSyncMessage): Update now that createNewPage
36009 returns a PassRefPtr.
36010 (WebKit::WebPageProxy::createNewPage): Changed to return a PassRefPtr.
36011 * UIProcess/WebPageProxy.h: Ditto.
36013 * UIProcess/WebUIClient.cpp:
36014 (WebKit::WebUIClient::createNewPage): Changed to return a PassRefPtr and adopt
36015 the WKPageRef passed from the client. This follows the "create rule".
36016 * UIProcess/WebUIClient.h: Ditto.
36018 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
36019 (WKBundlePageClose): Added.
36020 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Added WKBundlePageClose
36021 and re-sorted the other functions in this file.
36023 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
36024 (WebKit::WebChromeClient::closeWindowSoon): Implemented this.
36026 * WebProcess/WebPage/WebPage.cpp:
36027 (WebKit::WebPage::WebPage): Called setJavaScriptCanOpenWindowsAutomatically(true).
36028 I suppose we will need to revisit this later when we implement pop-up blocking.
36029 (WebKit::WebPage::tryClose): Factored out the part of this that sends a message
36030 to the other process.
36031 (WebKit::WebPage::sendClose): This is where the part that sends a message went.
36032 * WebProcess/WebPage/WebPage.h: Added sendClose, used by both closeWindowSoon
36033 and WKBundlePageClose.
36035 2010-08-02 John Sullivan <sullivan@apple.com>
36037 https://bugs.webkit.org/show_bug.cgi?id=43369
36038 WebBackForwardList::forwardListAsImmutableArrayWithLimit can return partly-uninitialized array
36040 Reviewed by Ada Chan.
36042 * UIProcess/WebBackForwardList.cpp:
36043 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
36044 Use a simpler and correct expression to determine "last".
36046 2010-08-02 Anders Carlsson <andersca@apple.com>
36048 Reviewed by Sam Weinig.
36050 Protect the plug-in from being destroyed while in plug-in code
36051 https://bugs.webkit.org/show_bug.cgi?id=43370
36053 Add a PluginProtector to NPRuntimeObjectMap and use it in JSNPObject.
36055 * WebProcess/Plugins/JSNPObject.cpp:
36056 (WebKit::JSNPObject::callMethod):
36057 (WebKit::JSNPObject::callObject):
36058 (WebKit::JSNPObject::callConstructor):
36059 (WebKit::JSNPObject::put):
36060 (WebKit::JSNPObject::getOwnPropertyNames):
36061 (WebKit::JSNPObject::propertyGetter):
36062 Add PluginProtector declarations.
36064 * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
36065 (WebKit::NPRuntimeObjectMap::PluginProtector::PluginProtector):
36066 Ref the plug-in view (unless it's being destroyed).
36068 (WebKit::NPRuntimeObjectMap::PluginProtector::~PluginProtector):
36069 * WebProcess/Plugins/NPRuntimeObjectMap.h:
36071 * WebProcess/Plugins/PluginView.cpp:
36072 (WebKit::PluginView::PluginView):
36073 Initialize m_isBeingDestroyed.
36075 (WebKit::PluginView::~PluginView):
36076 Set m_isBeingDestroyed to true.
36078 (WebKit::PluginView::scriptObject):
36079 Don't crash if the plug-in failed to initialize.
36081 (WebKit::PluginView::evaluate):
36084 * WebProcess/Plugins/PluginView.h:
36085 (WebKit::PluginView::isBeingDestroyed):
36087 2010-08-02 Anders Carlsson <andersca@apple.com>
36089 Reviewed by Sam Weinig.
36091 Cache JSNPObjects and fix bugs in the object map
36092 https://bugs.webkit.org/show_bug.cgi?id=43368
36094 * WebProcess/Plugins/JSNPObject.cpp:
36095 (WebKit::JSNPObject::JSNPObject):
36096 Assert that we're not trying to wrap an NPJSObject.
36098 (WebKit::JSNPObject::~JSNPObject):
36099 Tell the object map that we're gone.
36101 (WebKit::JSNPObject::invalidate):
36102 Release the NPObject and null out the pointer.
36104 * WebProcess/Plugins/NPJSObject.cpp:
36105 (WebKit::NPJSObject::create):
36106 Assert that we're not trying to wrap a JSNPObject.
36108 * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
36109 (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
36110 If we're passed a JSNPObject, just extract its NPObject.
36112 (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
36113 If we're passed an NPJSObject, just extract its JSObject. Otherwise, check if we already have
36114 a JSObject for this NPObject and return it.
36116 (WebKit::NPRuntimeObjectMap::jsNPObjectDestroyed):
36117 Remove the object from the map.
36119 (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue):
36120 getOrCreateJSObject now checks for wrapped objects.
36122 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
36123 getOrCreateNPObject now checks for wrapped objects.
36125 (WebKit::NPRuntimeObjectMap::invalidate):
36126 Invalidate JSNPObjects as well.
36128 2010-08-02 Jeremy Orlow <jorlow@chromium.org>
36130 Speculative revert of 64425 due to Chromium instability
36131 https://bugs.webkit.org/show_bug.cgi?id=43347
36133 * WebKit2.xcodeproj/project.pbxproj:
36134 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
36135 * WebProcess/WebCoreSupport/WebChromeClient.h:
36136 * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Removed.
36137 * WebProcess/WebCoreSupport/WebPopupMenu.h: Removed.
36138 * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Removed.
36139 * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Removed.
36140 * win/WebKit2.vcproj:
36142 2010-08-02 Balazs Kelemen <kb@inf.u-szeged.hu>
36144 Reviewed by Simon Hausmann.
36146 [Qt] Generate forwarding headers for WebKit2
36148 https://bugs.webkit.org/show_bug.cgi?id=43336
36150 * DerivedSources.pro: Added.
36152 2010-08-01 Anders Carlsson <andersca@apple.com>
36154 Reviewed by Sam Weinig.
36156 Implement NPN_SetException
36157 https://bugs.webkit.org/show_bug.cgi?id=43320
36159 * WebProcess/Plugins/JSNPObject.cpp:
36160 (WebKit::JSNPObject::callConstructor):
36161 (WebKit::JSNPObject::put):
36162 (WebKit::JSNPObject::getOwnPropertyNames):
36163 (WebKit::JSNPObject::propertyGetter):
36164 Call NPRuntimeObjectMap::moveGlobalExceptionToExecState.
36166 * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
36167 (WebKit::globalExceptionString):
36170 (WebKit::NPRuntimeObjectMap::setGlobalException):
36171 Set the global exception string.
36173 (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
36174 Create an error from the exception string.
36176 * WebProcess/Plugins/NPRuntimeObjectMap.h:
36177 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
36178 (WebKit::NPN_SetException):
36179 Call NetscapePlugin::setException.
36181 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
36182 (WebKit::NetscapePlugin::setException):
36183 Call NPRuntimeObjectMap::setGlobalException.
36185 2010-08-01 Sam Weinig <sam@webkit.org>
36187 Roll r64446 out. It broke the test runner.
36189 * UIProcess/WebContext.cpp:
36190 (WebKit::WebContext::postMessageToInjectedBundle):
36192 2010-08-01 Sam Weinig <sam@webkit.org>
36194 Reviewed by Anders Carlsson.
36196 Don't send user messages to the injected bundle if the process is not active
36197 https://bugs.webkit.org/show_bug.cgi?id=43317
36199 * UIProcess/WebContext.cpp:
36200 (WebKit::WebContext::postMessageToInjectedBundle):
36202 2010-08-01 Sam Weinig <sam@webkit.org>
36204 Reviewed by Anders Carlsson.
36206 Add ability to reset frame names for WebKitTestRunner
36207 https://bugs.webkit.org/show_bug.cgi?id=43316
36209 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
36210 (WKBundlePageClearMainFrameName):
36211 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
36212 * WebProcess/WebPage/WebPage.cpp:
36213 (WebKit::WebPage::clearMainFrameName):
36214 * WebProcess/WebPage/WebPage.h:
36216 2010-08-01 Anders Carlsson <andersca@apple.com>
36218 Reviewed by Sam Weinig.
36220 Minor NPRuntime fixes
36221 https://bugs.webkit.org/show_bug.cgi?id=43318
36223 * WebProcess/Plugins/JSNPObject.h:
36224 (WebKit::JSNPObject::npObject):
36225 * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
36226 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
36227 If we see an JSNPObject, extract the NPObject.
36229 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
36230 (WebKit::NPN_GetProperty):
36231 Don't check for whether the property exists before getting it.
36233 2010-08-01 Anders Carlsson <andersca@apple.com>
36235 Reviewed by Sam Weinig.
36237 Implement NPN_RemoveProperty
36238 https://bugs.webkit.org/show_bug.cgi?id=43315
36240 * WebProcess/Plugins/NPJSObject.cpp:
36241 (WebKit::NPJSObject::removeProperty):
36242 Try to remove the property.
36244 (WebKit::NPJSObject::npClass):
36245 Add NP_RemoveProperty.
36247 (WebKit::NPJSObject::NP_RemoveProperty):
36248 Call NPJSObject::removeProperty.
36250 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
36251 (WebKit::NPN_RemoveProperty):
36252 Call the NPClass::removeProperty function.
36254 2010-07-31 Sam Weinig <sam@webkit.org>
36256 Reviewed by Darin Adler.
36258 Crash due to calling StringImpl::createCFString() from non-main thread in plug-in code
36259 https://bugs.webkit.org/show_bug.cgi?id=43306
36260 <rdar://problem/8259687>
36262 * UIProcess/Plugins/PluginInfoStore.cpp:
36263 (WebKit::PluginInfoStore::getMIMETypeForExtension):
36264 (WebKit::PluginInfoStore::findPlugin):
36265 * UIProcess/Plugins/PluginInfoStore.h:
36266 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
36267 (WebKit::safeCreateCFString):
36268 (WebKit::PluginInfoStore::getMIMETypeForExtension):
36269 Bypass MIMETypeRegistry in the UIProcess until we can safely convert Strings
36272 2010-07-31 Sam Weinig <sam@webkit.org>
36274 Reviewed by Dan Bernstein.
36276 Patch for https://bugs.webkit.org/show_bug.cgi?id=43305
36277 Add back WKBundleFrameCopyInnerText to fix ~50 test failures
36278 due to SVGElements not having the innerText function.
36280 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
36281 (WKBundleFrameCopyInnerText):
36282 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
36283 * WebProcess/WebPage/WebFrame.cpp:
36284 (WebKit::WebFrame::innerText):
36285 * WebProcess/WebPage/WebFrame.h:
36287 2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
36289 Reviewed by Darin Fisher.
36291 PopupMenu refactoring in preparation to WebKit2
36292 https://bugs.webkit.org/show_bug.cgi?id=42592
36294 Classes WebPopupMenu and WebSearchPopupMenu inherit from PopupMenu and
36295 SearchPopupMenu respectively. At this point they are just empty implementations.
36297 * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Added.
36298 (WebKit::WebPopupMenu::WebPopupMenu):
36299 (WebKit::WebPopupMenu::~WebPopupMenu):
36300 (WebKit::WebPopupMenu::disconnectClient):
36301 (WebKit::WebPopupMenu::show):
36302 (WebKit::WebPopupMenu::hide):
36303 (WebKit::WebPopupMenu::updateFromElement):
36304 * WebProcess/WebCoreSupport/WebPopupMenu.h: Added.
36305 * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Added.
36306 (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
36307 (WebKit::WebSearchPopupMenu::popupMenu):
36308 (WebKit::WebSearchPopupMenu::saveRecentSearches):
36309 (WebKit::WebSearchPopupMenu::loadRecentSearches):
36310 (WebKit::WebSearchPopupMenu::enabled):
36311 * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Added.
36313 As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
36314 instances, concrete classes that inherit from ChromeClient needed to be changed to
36315 implement the new methods.
36317 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
36318 (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
36319 (WebKit::WebChromeClient::createPopupMenu):
36320 (WebKit::WebChromeClient::createSearchPopupMenu):
36321 * WebProcess/WebCoreSupport/WebChromeClient.h:
36325 * WebKit2.xcodeproj/project.pbxproj:
36326 * win/WebKit2.vcproj:
36328 2010-07-31 Sheriff Bot <webkit.review.bot@gmail.com>
36330 Unreviewed, rolling out r64422.
36331 http://trac.webkit.org/changeset/64422
36332 https://bugs.webkit.org/show_bug.cgi?id=43304
36334 Build fixes are needed for Snow Leopard and Windows.
36335 (Requested by lca on #webkit).
36337 * WebKit2.xcodeproj/project.pbxproj:
36338 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
36339 * WebProcess/WebCoreSupport/WebChromeClient.h:
36340 * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Removed.
36341 * WebProcess/WebCoreSupport/WebPopupMenu.h: Removed.
36342 * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Removed.
36343 * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Removed.
36344 * win/WebKit2.vcproj:
36346 2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
36348 Reviewed by Darin Fisher.
36350 PopupMenu refactoring in preparation to WebKit2
36351 https://bugs.webkit.org/show_bug.cgi?id=42592
36353 Classes WebPopupMenu and WebSearchPopupMenu inherit from PopupMenu and
36354 SearchPopupMenu respectively. At this point they are just empty implementations.
36356 * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Added.
36357 (WebKit::WebPopupMenu::WebPopupMenu):
36358 (WebKit::WebPopupMenu::~WebPopupMenu):
36359 (WebKit::WebPopupMenu::disconnectClient):
36360 (WebKit::WebPopupMenu::show):
36361 (WebKit::WebPopupMenu::hide):
36362 (WebKit::WebPopupMenu::updateFromElement):
36363 * WebProcess/WebCoreSupport/WebPopupMenu.h: Added.
36364 * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Added.
36365 (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
36366 (WebKit::WebSearchPopupMenu::popupMenu):
36367 (WebKit::WebSearchPopupMenu::saveRecentSearches):
36368 (WebKit::WebSearchPopupMenu::loadRecentSearches):
36369 (WebKit::WebSearchPopupMenu::enabled):
36370 * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Added.
36372 As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
36373 instances, concrete classes that inherit from ChromeClient needed to be changed to
36374 implement the new methods.
36376 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
36377 (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
36378 (WebKit::WebChromeClient::createPopupMenu):
36379 (WebKit::WebChromeClient::createSearchPopupMenu):
36380 * WebProcess/WebCoreSupport/WebChromeClient.h:
36384 * WebKit2.xcodeproj/project.pbxproj:
36385 * win/WebKit2.vcproj:
36387 2010-07-30 Darin Fisher <darin@chromium.org>
36389 Reviewed by Darin Adler.
36391 Eliminate BackForwardList::pushStateItem
36392 https://bugs.webkit.org/show_bug.cgi?id=43282
36394 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
36395 * WebProcess/WebPage/WebBackForwardListProxy.h:
36397 2010-07-30 Joseph Pecoraro <joepeck@webkit.org>
36399 Reviewed by David Kilzer.
36401 Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
36402 https://bugs.webkit.org/show_bug.cgi?id=40627
36404 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
36405 (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
36406 * WebProcess/WebCoreSupport/WebChromeClient.h:
36408 2010-07-30 Sam Weinig <sam@webkit.org>
36410 Reviewed by Maciej Stachowiak.
36412 Patch for https://bugs.webkit.org/show_bug.cgi?id=43290
36413 Add structured message passing from the injected bundle to UIProcess
36415 * Platform/CoreIPC/MessageID.h:
36416 * Shared/CoreIPCSupport/WebContextMessageKinds.h: Added.
36417 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
36418 (WebProcessProxyMessage::):
36419 * UIProcess/API/C/WKContext.h:
36420 * UIProcess/WebContext.cpp:
36422 (WebKit::PostMessageEncoder::PostMessageDecoder::PostMessageDecoder):
36423 (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
36424 (WebKit::WebContext::didReceiveMessageFromInjectedBundle):
36425 (WebKit::WebContext::didReceiveMessage):
36426 * UIProcess/WebContext.h:
36427 * UIProcess/WebContextInjectedBundleClient.cpp:
36428 (WebKit::WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle):
36429 * UIProcess/WebContextInjectedBundleClient.h:
36430 * UIProcess/WebProcessProxy.cpp:
36431 (WebKit::WebProcessProxy::didReceiveMessage):
36432 (WebKit::WebProcessProxy::didReceiveSyncMessage):
36433 * UIProcess/WebProcessProxy.h:
36434 * WebKit2.xcodeproj/project.pbxproj:
36435 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
36436 (WKBundlePostMessage):
36437 * WebProcess/InjectedBundle/API/c/WKBundle.h:
36438 * WebProcess/InjectedBundle/InjectedBundle.cpp:
36440 (WebKit::InjectedBundle::InjectedBundle):
36441 (WebKit::InjectedBundle::~InjectedBundle):
36442 (WebKit::InjectedBundle::initializeClient):
36443 (WebKit::InjectedBundle::postMessage):
36444 (WebKit::InjectedBundle::setShouldTrackVisitedLinks):
36445 (WebKit::InjectedBundle::removeAllVisitedLinks):
36446 (WebKit::InjectedBundle::didCreatePage):
36447 (WebKit::InjectedBundle::willDestroyPage):
36448 (WebKit::InjectedBundle::didReceiveMessage):
36449 * WebProcess/InjectedBundle/InjectedBundle.h:
36451 2010-07-30 Andy Estes <aestes@apple.com>
36453 Reviewed by David Kilzer.
36455 Add support to Xcode for compiling WebKit against iOS SDKs.
36456 https://bugs.webkit.org/show_bug.cgi?id=42796
36458 * Configurations/FeatureDefines.xcconfig:
36460 2010-07-30 Brady Eidson <beidson@apple.com>
36462 Reviewed by Sam Weinig.
36464 Cast the return value for the templated ImmutableArray::at().
36466 * Shared/ImmutableArray.h:
36467 (WebKit::ImmutableArray::at):
36469 2010-07-30 Sam Weinig <sam@webkit.org>
36471 Reviewed by Anders Carlsson.
36473 Patch for https://bugs.webkit.org/show_bug.cgi?id=43283
36474 Add APIObject template introspection support.
36476 Add a way to get the type the APIObject::Type from the APIObject subclass typenames
36477 for template fun. Use this to make a type checking version of ImmutableArray::at.
36479 * Shared/ImmutableArray.h:
36480 (WebKit::ImmutableArray::at):
36481 (WebKit::ImmutableArray::type):
36482 * Shared/WebString.h:
36483 (WebKit::WebString::type):
36485 (WebKit::WebURL::type):
36486 * UIProcess/API/C/WKArray.cpp:
36487 (WKArrayGetTypeID):
36488 * UIProcess/API/C/WKBackForwardList.cpp:
36489 (WKBackForwardListGetTypeID):
36490 * UIProcess/API/C/WKBackForwardListItem.cpp:
36491 (WKBackForwardListItemGetTypeID):
36492 * UIProcess/API/C/WKContext.cpp:
36493 (WKContextGetTypeID):
36494 * UIProcess/API/C/WKFrame.cpp:
36495 (WKFrameGetTypeID):
36496 * UIProcess/API/C/WKFramePolicyListener.cpp:
36497 (WKFramePolicyListenerGetTypeID):
36498 * UIProcess/API/C/WKNavigationData.cpp:
36499 (WKNavigationDataGetTypeID):
36500 * UIProcess/API/C/WKPage.cpp:
36502 * UIProcess/API/C/WKPageNamespace.cpp:
36503 (WKPageNamespaceGetTypeID):
36504 * UIProcess/API/C/WKPreferences.cpp:
36505 (WKPreferencesGetTypeID):
36506 * UIProcess/API/C/WKString.cpp:
36507 (WKStringGetTypeID):
36508 * UIProcess/API/C/WKURL.cpp:
36510 * UIProcess/WebBackForwardList.h:
36511 (WebKit::WebBackForwardList::type):
36512 * UIProcess/WebBackForwardListItem.h:
36513 (WebKit::WebBackForwardListItem::type):
36514 * UIProcess/WebContext.h:
36515 (WebKit::WebContext::type):
36516 * UIProcess/WebFramePolicyListenerProxy.h:
36517 (WebKit::WebFramePolicyListenerProxy::type):
36518 * UIProcess/WebFrameProxy.h:
36519 (WebKit::WebFrameProxy::type):
36520 * UIProcess/WebNavigationData.h:
36521 (WebKit::WebNavigationData::type):
36522 * UIProcess/WebPageNamespace.h:
36523 (WebKit::WebPageNamespace::type):
36524 * UIProcess/WebPageProxy.h:
36525 (WebKit::WebPageProxy::type):
36526 * UIProcess/WebPreferences.h:
36527 (WebKit::WebPreferences::type):
36528 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
36529 (WKBundleGetTypeID):
36530 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
36531 (WKBundleFrameGetTypeID):
36532 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
36533 (WKBundlePageGetTypeID):
36534 * WebProcess/InjectedBundle/InjectedBundle.h:
36535 (WebKit::InjectedBundle::type):
36536 * WebProcess/WebPage/WebFrame.h:
36537 (WebKit::WebFrame::type):
36538 * WebProcess/WebPage/WebPage.h:
36539 (WebKit::WebPage::type):
36541 2010-07-30 Sam Weinig <sam@webkit.org>
36543 Reviewed by Anders Carlsson.
36545 Patch for https://bugs.webkit.org/show_bug.cgi?id=43275
36546 Make WKArrayRef more usable.
36548 - Add Create functions.
36549 - Make WKArrayGetItemAtIndex return a WKTypeRef.
36551 * UIProcess/API/C/WKArray.cpp:
36553 (WKArrayCreateAdoptingValues):
36554 (WKArrayGetItemAtIndex):
36555 * UIProcess/API/C/WKArray.h:
36557 2010-07-30 Ada Chan <adachan@apple.com>
36559 Reviewed by John Sullivan.
36561 Fix issue with populating the back list when limit is a huge number.
36562 https://bugs.webkit.org/show_bug.cgi?id=43270
36564 * UIProcess/WebBackForwardList.cpp:
36565 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
36567 2010-07-29 Sam Weinig <sam@webkit.org>
36569 Reviewed by Anders Carlsson.
36571 Patch for https://bugs.webkit.org/show_bug.cgi?id=43274
36572 Add first pass of structured message passing.
36574 - Only supports passing messages from the UIProcess -> InjectedBundle
36575 - Only supports passing Strings, Arrays, and WebPage references (NOTE: There
36576 currently isn't a way to make an array).
36577 - Changed ImmutableArray to operate on APIObjects instead of void*'s and
36578 removed the retain/release abstraction.
36580 * Platform/CoreIPC/MessageID.h:
36582 * Shared/CoreIPCSupport/InjectedBundleMessageKinds.h: Added.
36583 (InjectedBundleMessage::):
36585 * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
36586 (WebProcessMessage::):
36587 * Shared/ImmutableArray.cpp:
36588 (WebKit::ImmutableArray::ImmutableArray):
36589 (WebKit::ImmutableArray::~ImmutableArray):
36590 * Shared/ImmutableArray.h:
36591 (WebKit::ImmutableArray::create):
36592 (WebKit::ImmutableArray::adopt):
36593 (WebKit::ImmutableArray::at):
36594 * UIProcess/API/C/WKBase.h:
36595 * UIProcess/API/C/WKContext.cpp:
36596 (WKContextPostMessageToInjectedBundle):
36597 * UIProcess/API/C/WKContext.h:
36598 * UIProcess/API/C/WKType.cpp:
36600 * UIProcess/API/C/WebKit2.h:
36601 * UIProcess/WebBackForwardList.cpp:
36602 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
36603 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
36604 * UIProcess/WebContext.cpp:
36605 (WebKit::WebContext::postMessageToInjectedBundle):
36606 (WebKit::WebContext::didReceiveMessageFromInjectedBundle):
36607 * UIProcess/WebContext.h:
36608 * WebKit2.xcodeproj/project.pbxproj:
36609 * WebProcess/InjectedBundle/API/c/WKBundle.h:
36610 * WebProcess/InjectedBundle/InjectedBundle.cpp:
36611 (WebKit::InjectedBundle::didReceiveMessage):
36612 * WebProcess/InjectedBundle/InjectedBundle.h:
36613 * WebProcess/WebPage/WebFrame.cpp:
36614 (WebKit::WebFrame::childFrames):
36615 * WebProcess/WebProcess.cpp:
36616 (WebKit::WebProcess::didReceiveMessage):
36617 * WebProcess/WebProcess.h:
36618 * win/WebKit2.vcproj:
36620 2010-07-30 Anders Carlsson <andersca@apple.com>
36622 Reviewed by Sam Weinig.
36624 Implement NPN_Evaluate
36625 https://bugs.webkit.org/show_bug.cgi?id=43268
36627 * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
36628 (WebKit::NPRuntimeObjectMap::evaluate):
36629 Evaluate the passed in string.
36631 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
36632 (WebKit::NPN_Evaluate):
36633 Call NetscapePlugin::evaluate.
36635 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
36636 (WebKit::NetscapePlugin::evaluate):
36637 Call PluginController::evaluate.
36639 * WebProcess/Plugins/PluginController.h:
36640 Add evaluate pure virtual member function.
36642 * WebProcess/Plugins/PluginView.cpp:
36643 (WebKit::PluginView::evaluate):
36644 Update the popup window state and call NPRuntimeObjectMap::evaluate.
36646 2010-07-30 Anders Carlsson <andersca@apple.com>
36648 Reviewed by Sam Weinig.
36650 Implement NPN_InvokeDefault
36651 https://bugs.webkit.org/show_bug.cgi?id=43266
36653 * WebProcess/Plugins/JSNPObject.cpp:
36654 (WebKit::JSNPObject::JSNPObject):
36655 Remove ExecState parameter.
36657 (WebKit::JSNPObject::callObject):
36658 Call the NPClass::invokeDefault function.
36660 (WebKit::callNPJSObject):
36661 Call JSNPObject::callObject.
36663 (WebKit::JSNPObject::getCallData):
36664 Check if the NPClass has an invokeDefault function.
36666 * WebProcess/Plugins/JSNPObject.h:
36667 * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
36668 (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
36669 Remove ExecState parameter.
36671 (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue):
36672 Remove ExecState parameter.
36674 * WebProcess/Plugins/PluginView.cpp:
36675 (WebKit::PluginView::scriptObject):
36676 Remove ExecState parameter.
36678 2010-07-30 Adam Roben <aroben@apple.com>
36680 Roll our r64361 and r64363
36682 We can't make these changes until QuartzCore.lib is included in
36683 WebKitSupportLibrary.
36685 2010-07-30 Adam Roben <aroben@apple.com>
36689 * win/WebKit2Apple.vsprops: Always link against QuartzCore, since
36690 WebKitSystemInterface requires it.
36692 2010-07-30 Balazs Kelemen <kb@inf.u-szeged.hu>
36694 Unreviewed build fix.
36696 [Qt] Build fix for recent API changes in WebKit2.
36698 * UIProcess/API/cpp/qt/WKStringQt.cpp:
36699 (WKStringCopyQString):
36700 * UIProcess/API/cpp/qt/WKURLQt.cpp:
36702 * UIProcess/API/qt/qwkpage.cpp:
36703 (QWKPage::QWKPage):
36705 2010-07-29 Brady Eidson <beidson@apple.com>
36707 Reviewed by Sam Weinig.
36709 Setting empty document schemes on the WKContext shouldn't start the WebProcess
36710 <rdar://problem/8253734> and https://bugs.webkit.org/show_bug.cgi?id=43222
36712 * UIProcess/WebContext.cpp:
36713 (WebKit::WebContext::ensureWebProcess):
36714 (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
36715 * UIProcess/WebContext.h:
36717 2010-07-29 Brady Eidson <beidson@apple.com>
36719 Reviewed by Sam Weinig.
36721 Make all public facing client setters take const pointers
36722 https://bugs.webkit.org/show_bug.cgi?id=43219
36724 * UIProcess/API/C/WKContext.cpp:
36725 (WKContextSetInjectedBundleClient):
36726 (WKContextSetHistoryClient):
36727 * UIProcess/API/C/WKContext.h:
36729 * UIProcess/API/C/WKPage.cpp:
36730 (WKPageSetPageLoaderClient):
36731 (WKPageSetPagePolicyClient):
36732 (WKPageSetPageUIClient):
36733 * UIProcess/API/C/WKPage.h:
36735 * UIProcess/WebContext.cpp:
36736 (WebKit::WebContext::initializeInjectedBundleClient):
36737 (WebKit::WebContext::initializeHistoryClient):
36738 * UIProcess/WebContext.h:
36740 * UIProcess/WebContextInjectedBundleClient.cpp:
36741 (WebKit::WebContextInjectedBundleClient::initialize):
36742 * UIProcess/WebContextInjectedBundleClient.h:
36744 * UIProcess/WebHistoryClient.cpp:
36745 (WebKit::WebHistoryClient::initialize):
36746 * UIProcess/WebHistoryClient.h:
36748 * UIProcess/WebLoaderClient.cpp:
36749 (WebKit::WebLoaderClient::initialize):
36750 * UIProcess/WebLoaderClient.h:
36752 * UIProcess/WebPageProxy.cpp:
36753 (WebKit::WebPageProxy::initializeLoaderClient):
36754 (WebKit::WebPageProxy::initializePolicyClient):
36755 (WebKit::WebPageProxy::initializeUIClient):
36756 * UIProcess/WebPageProxy.h:
36758 * UIProcess/WebPolicyClient.cpp:
36759 (WebKit::WebPolicyClient::initialize):
36760 * UIProcess/WebPolicyClient.h:
36762 * UIProcess/WebUIClient.cpp:
36763 (WebKit::WebUIClient::initialize):
36764 * UIProcess/WebUIClient.h:
36766 2010-07-29 Anders Carlsson <andersca@apple.com>
36768 Reviewed by Sam Weinig.
36770 Implement NPN_SetProperty
36771 https://bugs.webkit.org/show_bug.cgi?id=43217
36773 * WebProcess/Plugins/NPJSObject.cpp:
36774 (WebKit::NPJSObject::setProperty):
36775 Convert the NPVariant to a JSValue and set it on the underlying JSObject.
36777 (WebKit::NPJSObject::NP_SetProperty):
36778 Call NPJSObject::setProperty.
36780 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
36781 (WebKit::NPN_GetProperty):
36782 Remove unused parameter name.
36784 (WebKit::NPN_SetProperty):
36785 Call the NPClass::setProperty function.
36787 2010-07-29 Anders Carlsson <andersca@apple.com>
36789 Reviewed by Sam Weinig.
36791 Implement NPN_Enumerate
36792 https://bugs.webkit.org/show_bug.cgi?id=43215
36794 * WebProcess/Plugins/JSNPObject.cpp:
36795 (WebKit::npIdentifierFromIdentifier):
36796 Get the UTF-8 string representation instead of the lossy ASCII representation.
36798 (WebKit::JSNPObject::getOwnPropertyNames):
36799 Implement by calling the NPClass::enumerate function.
36801 * WebProcess/Plugins/JSNPObject.h:
36802 * WebProcess/Plugins/NPJSObject.cpp:
36803 (WebKit::NPJSObject::enumerate):
36804 Implement by calling JSObject::getPropertyNames.
36806 (WebKit::NPJSObject::npClass):
36807 (WebKit::NPJSObject::NP_Enumerate):
36808 Call NPJSObject::enumerate.
36810 * WebProcess/Plugins/NPJSObject.h:
36811 * WebProcess/Plugins/NPRuntimeUtilities.cpp:
36812 (WebKit::createNPObject):
36815 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
36816 (WebKit::NPN_Enumerate):
36817 Call the NPClass::enumerate function.
36819 2010-07-29 John Sullivan <sullivan@apple.com>
36821 <https://bugs.webkit.org/show_bug.cgi?id=43203>
36822 WebBackForwardList::back/ForwardListWithLimit() crashes if passed a limit larger than max int
36824 Reviewed by Sam Weinig.
36826 * UIProcess/WebBackForwardList.cpp:
36827 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
36828 Fixed casting so that a large unsigned won't become a negative int.
36829 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
36832 2010-07-29 Anders Carlsson <andersca@apple.com>
36834 Reviewed by Sam Weinig.
36836 Implement NPN_Status
36837 https://bugs.webkit.org/show_bug.cgi?id=43205
36839 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
36840 (WebKit::NPN_Status):
36841 Convert the message char* to a String and call NetscapePlugin::setStatusbarText.
36843 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
36844 (WebKit::NetscapePlugin::setStatusbarText):
36845 Call PluginController::setStatusbarText.
36847 * WebProcess/Plugins/PluginController.h:
36848 Add setStatusbarText.
36850 * WebProcess/Plugins/PluginView.cpp:
36851 (WebKit::PluginView::setStatusbarText):
36852 Call the Chrome member function.
36854 2010-07-29 Adam Roben <aroben@apple.com>
36856 Always say "plugins directory" when referring to a directory
36857 containing one or more plugins
36859 Fixes <http://webkit.org/b/43197> WebKit2 often says "plugin
36860 directory" when it means "plugins directory"
36862 Reviewed by John Sullivan.
36864 * UIProcess/API/C/WKContext.cpp:
36865 (_WKContextSetAdditionalPluginsDirectory):
36866 * UIProcess/API/C/WKContextPrivate.h:
36867 Renamed from _WKContextSetAdditionalPluginDirectory.
36869 * UIProcess/Plugins/PluginInfoStore.cpp:
36870 (WebKit::PluginInfoStore::setAdditionalPluginsDirectories): Renamed
36871 from setAdditionalPluginDirectories.
36872 (WebKit::PluginInfoStore::loadPluginsIfNecessary): Updated for rename.
36874 * UIProcess/Plugins/PluginInfoStore.h: Renamed
36875 m_additionalPluginDirectories to m_additionalPluginsDirectories.
36877 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
36878 (WebKit::PluginInfoStore::pluginsDirectories):
36879 * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
36880 (WebKit::PluginInfoStore::pluginsDirectories):
36881 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
36882 (WebKit::PluginInfoStore::pluginsDirectories):
36883 Renamed from pluginDirectories.
36885 * UIProcess/WebContext.cpp:
36886 (WebKit::WebContext::setAdditionalPluginsDirectory):
36887 * UIProcess/WebContext.h:
36888 Renamed from setAdditionalPluginDirectory.
36890 2010-07-29 Adam Roben <aroben@apple.com>
36892 Always say "directory" when referring to a plugin directory
36894 Fixes <http://webkit.org/b/43195> WebKit2 often says "plugin path"
36895 when it means "plugin directory"
36897 Reviewed by John Sullivan.
36899 * UIProcess/API/C/WKContext.cpp:
36900 (_WKContextSetAdditionalPluginDirectory):
36901 * UIProcess/API/C/WKContextPrivate.h:
36902 Renamed from _WKContextSetAdditionalPluginPath.
36904 * UIProcess/Plugins/PluginInfoStore.cpp:
36905 (WebKit::PluginInfoStore::setAdditionalPluginDirectories): Renamed
36906 from setAdditionalPluginPaths.
36907 (WebKit::PluginInfoStore::loadPluginsIfNecessary): Updated for rename.
36909 * UIProcess/Plugins/PluginInfoStore.h: Renamed m_additionalPluginPaths
36910 to m_additionalPluginDirectories.
36912 * UIProcess/WebContext.cpp:
36913 (WebKit::WebContext::setAdditionalPluginDirectory):
36914 * UIProcess/WebContext.h:
36915 Renamed from setAdditionalPluginPath, and updated for PluginInfoStore
36918 2010-07-29 Adam Roben <aroben@apple.com>
36920 Remove PluginInfoStore::mimeTypeFromExtension
36922 WebCore::MIMETypeRegistry already provides a cross-platform interface
36925 Fixes <http://webkit.org/b/43188>
36926 PluginInfoStore::mimeTypeFromExtension is unnecessary
36928 Reviewed by Nikolas Zimmermann.
36930 * UIProcess/Plugins/PluginInfoStore.cpp:
36931 (WebKit::PluginInfoStore::findPlugin): Changed to use
36934 * UIProcess/Plugins/PluginInfoStore.h:
36935 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
36936 * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
36937 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
36938 Removed mimeTypeFromExtension.
36940 2010-07-28 Sam Weinig <sam@webkit.org>
36942 Another Windows build fix.
36944 * UIProcess/API/C/WKBase.h:
36945 * win/WebKit2Generated.make:
36947 2010-07-28 Sam Weinig <sam@webkit.org>
36951 * UIProcess/API/C/WKAPICast.h:
36952 (WebKit::ProxyingRefPtr::operator APIType):
36956 * UIProcess/win/WebView.h:
36957 (WebKit::WebView::type):
36959 2010-07-28 Sam Weinig <sam@webkit.org>
36961 Reviewed by Darin Adler.
36963 Patch for https://bugs.webkit.org/show_bug.cgi?id=43163
36964 Add a CF-style base type (WKTypeRef) as a base for polymorphic functions.
36966 - Add first polymorphic function, WKGetTypeID.
36967 - Add functions to each WK type to get their respective TypeIDs.
36968 - Adds WebURL to complement WebString.
36970 * Shared/APIObject.h:
36971 (WebKit::APIObject::):
36972 (WebKit::APIObject::~APIObject):
36973 * Shared/ImmutableArray.h:
36974 (WebKit::ImmutableArray::type):
36975 * Shared/WebString.h:
36976 (WebKit::WebString::type):
36977 * Shared/WebURL.h: Added.
36978 (WebKit::WebURL::create):
36979 (WebKit::WebURL::type):
36980 (WebKit::WebURL::isNull):
36981 (WebKit::WebURL::isEmpty):
36982 (WebKit::WebURL::string):
36983 (WebKit::WebURL::WebURL):
36984 * UIProcess/API/C/WKAPICast.h:
36985 (WebKit::ProxyingRefPtr::ProxyingRefPtr):
36986 (WebKit::ProxyingRefPtr::operator APIType):
36990 * UIProcess/API/C/WKArray.cpp:
36991 (WKArrayGetTypeID):
36992 * UIProcess/API/C/WKArray.h:
36993 * UIProcess/API/C/WKBackForwardList.cpp:
36994 (WKBackForwardListGetTypeID):
36995 * UIProcess/API/C/WKBackForwardList.h:
36996 * UIProcess/API/C/WKBackForwardListItem.cpp:
36997 (WKBackForwardListItemGetTypeID):
36998 * UIProcess/API/C/WKBackForwardListItem.h:
36999 * UIProcess/API/C/WKBase.h:
37000 * UIProcess/API/C/WKContext.cpp:
37001 (WKContextGetTypeID):
37002 * UIProcess/API/C/WKContext.h:
37003 * UIProcess/API/C/WKFrame.cpp:
37004 (WKFrameGetTypeID):
37005 * UIProcess/API/C/WKFrame.h:
37006 * UIProcess/API/C/WKFramePolicyListener.cpp:
37007 (WKFramePolicyListenerGetTypeID):
37008 * UIProcess/API/C/WKFramePolicyListener.h:
37009 * UIProcess/API/C/WKNavigationData.cpp:
37010 (WKNavigationDataGetTypeID):
37011 * UIProcess/API/C/WKNavigationData.h:
37012 * UIProcess/API/C/WKPage.cpp:
37014 * UIProcess/API/C/WKPage.h:
37015 * UIProcess/API/C/WKPageNamespace.cpp:
37016 (WKPageNamespaceGetTypeID):
37017 * UIProcess/API/C/WKPageNamespace.h:
37018 * UIProcess/API/C/WKPreferences.cpp:
37019 (WKPreferencesGetTypeID):
37020 * UIProcess/API/C/WKPreferences.h:
37021 * UIProcess/API/C/WKString.cpp:
37022 (WKStringGetTypeID):
37023 * UIProcess/API/C/WKString.h:
37024 * UIProcess/API/C/WKType.cpp: Added.
37026 * UIProcess/API/C/WKType.h: Added.
37027 * UIProcess/API/C/WKURL.cpp:
37029 * UIProcess/API/C/WKURL.h:
37030 * UIProcess/API/win/WKView.cpp:
37032 * UIProcess/API/win/WKView.h:
37033 * UIProcess/WebBackForwardList.h:
37034 (WebKit::WebBackForwardList::type):
37035 * UIProcess/WebBackForwardListItem.h:
37036 (WebKit::WebBackForwardListItem::type):
37037 * UIProcess/WebContext.h:
37038 (WebKit::WebContext::type):
37039 * UIProcess/WebFramePolicyListenerProxy.h:
37040 (WebKit::WebFramePolicyListenerProxy::type):
37041 * UIProcess/WebFrameProxy.h:
37042 (WebKit::WebFrameProxy::type):
37043 * UIProcess/WebNavigationData.h:
37044 (WebKit::WebNavigationData::type):
37045 * UIProcess/WebPageNamespace.h:
37046 (WebKit::WebPageNamespace::type):
37047 * UIProcess/WebPageProxy.h:
37048 (WebKit::WebPageProxy::type):
37049 * UIProcess/WebPreferences.h:
37050 (WebKit::WebPreferences::type):
37051 * WebKit2.xcodeproj/project.pbxproj:
37052 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
37053 (WKBundleGetTypeID):
37054 * WebProcess/InjectedBundle/API/c/WKBundle.h:
37055 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
37056 (WKBundleFrameGetTypeID):
37057 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
37058 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
37059 (WKBundlePageGetTypeID):
37060 (WKBundlePageSetEditorClient):
37061 (WKBundlePageSetLoaderClient):
37062 (WKBundlePageSetUIClient):
37063 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
37064 * WebProcess/WebPage/WebFrame.h:
37065 (WebKit::WebFrame::type):
37066 * WebProcess/WebPage/WebPage.h:
37067 (WebKit::WebPage::type):
37068 * win/WebKit2.vcproj:
37070 2010-07-28 Darin Adler <darin@apple.com>
37072 Reviewed by Sam Weinig.
37074 WebKitTestRunner needs to support layoutTestController.execCommand
37075 <https://bugs.webkit.org/show_bug.cgi?id=42538>
37077 WebKitTestRunner needs layoutTestController.isCommandEnabled
37078 <https://bugs.webkit.org/show_bug.cgi?id=42671>
37080 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
37081 (WKBundlePageExecuteEditingCommand): Added.
37082 (WKBundlePageIsEditingCommandEnabled): Added.
37083 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Ditto.
37085 * WebProcess/WebPage/WebPage.cpp:
37086 (WebKit::WebPage::executeEditingCommand): Added.
37087 (WebKit::WebPage::isEditingCommandEnabled): Added.
37088 * WebProcess/WebPage/WebPage.h: Ditto.
37090 2010-07-28 Anders Carlsson <andersca@apple.com>
37094 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
37095 (WebKit::NPN_GetValue):
37097 2010-07-28 Brady Eidson <beidson@apple.com>
37099 Reviewed by Darin Adler.
37101 First pass at visited link support for WK2
37102 https://bugs.webkit.org/show_bug.cgi?id=43157
37104 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
37105 (WebPageProxyMessage::):
37106 * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
37107 (WebProcessMessage::):
37108 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
37109 (WebProcessProxyMessage::):
37111 Move HistoryClient support from the page...:
37112 * UIProcess/API/C/WKPage.cpp:
37113 * UIProcess/API/C/WKPage.h:
37116 * UIProcess/API/C/WKContext.cpp:
37117 (WKContextSetHistoryClient):
37118 * UIProcess/API/C/WKContext.h:
37120 * UIProcess/WebContext.cpp:
37121 (WebKit::WebContext::initializeHistoryClient):
37122 (WebKit::WebContext::ensureWebProcess): When a new WebProcess is created, set its "should track visited links" mode.
37123 (WebKit::WebContext::didNavigateWithNavigationData):
37124 (WebKit::WebContext::didPerformClientRedirect):
37125 (WebKit::WebContext::didPerformServerRedirect):
37126 (WebKit::WebContext::didUpdateHistoryTitle):
37127 (WebKit::WebContext::populateVisitedLinks):
37128 * UIProcess/WebContext.h:
37129 (WebKit::WebContext::hasValidProcess):
37131 * UIProcess/WebHistoryClient.cpp:
37132 (WebKit::WebHistoryClient::initialize):
37133 (WebKit::WebHistoryClient::didNavigateWithNavigationData):
37134 (WebKit::WebHistoryClient::didPerformClientRedirect):
37135 (WebKit::WebHistoryClient::didPerformServerRedirect):
37136 (WebKit::WebHistoryClient::didUpdateHistoryTitle):
37137 (WebKit::WebHistoryClient::populateVisitedLinks):
37138 * UIProcess/WebHistoryClient.h:
37139 (WebKit::WebHistoryClient::shouldTrackVisitedLinks):
37141 * UIProcess/WebPageProxy.cpp:
37142 (WebKit::WebPageProxy::didReceiveMessage):
37143 * UIProcess/WebPageProxy.h:
37145 * UIProcess/WebProcessProxy.cpp:
37146 (WebKit::WebProcessProxy::didReceiveMessage):
37147 (WebKit::WebProcessProxy::didReceiveSyncMessage):
37149 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
37150 (WebKit::WebChromeClient::populateVisitedLinks):
37152 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
37153 (WebKit::WebFrameLoaderClient::updateGlobalHistory):
37154 (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
37155 (WebKit::WebFrameLoaderClient::setTitle):
37157 * WebProcess/WebProcess.cpp:
37158 (WebKit::WebProcess::didReceiveMessage):
37160 2010-07-28 Anders Carlsson <andersca@apple.com>
37162 Reviewed by Sam Weinig.
37164 Add JSNPObject::getConstructData
37165 https://bugs.webkit.org/show_bug.cgi?id=43165
37167 * WebProcess/Plugins/JSNPObject.cpp:
37168 (WebKit::JSNPObject::callMethod):
37169 Add a null check for m_npObject.
37171 (WebKit::JSNPObject::callConstructor):
37172 Call NPClass::construct.
37174 (WebKit::JSNPObject::getConstructData):
37175 Set up the construct data.
37177 (WebKit::JSNPObject::propertyGetter):
37178 convertNPVariantToJSValue now takes a JSGlobalObject as well.
37180 * WebProcess/Plugins/NPJSObject.cpp:
37181 (WebKit::NPJSObject::invoke):
37182 (WebKit::NPJSObject::invokeDefault):
37183 (WebKit::NPJSObject::construct):
37184 convertNPVariantToJSValue now takes a JSGlobalObject as well.
37186 * WebProcess/Plugins/NPJSObject.h:
37187 Make isNPJSObject and toNPJSObject public.
37189 * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
37190 (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue):
37191 Convert NPObjects correctly.
37193 (WebKit::NPRuntimeObjectMap::globalObject):
37194 Get the globalObject from the frame.
37196 (WebKit::NPRuntimeObjectMap::globalExec):
37199 * WebProcess/Plugins/NPRuntimeObjectMap.h:
37201 2010-07-28 Anders Carlsson <andersca@apple.com>
37203 Reviewed by Sam Weinig.
37205 Implement NPN_InvokeDefault and NPN_Construct
37206 https://bugs.webkit.org/show_bug.cgi?id=43160
37208 * WebProcess/Plugins/NPJSObject.cpp:
37209 (WebKit::NPJSObject::invoke):
37210 Just call invoke directly.
37212 (WebKit::NPJSObject::invokeDefault):
37215 (WebKit::NPJSObject::construct):
37218 (WebKit::NPJSObject::invoke):
37219 Add new invoke overload that takes the function as a JSValue.
37221 (WebKit::NPJSObject::npClass):
37224 (WebKit::NPJSObject::NP_InvokeDefault):
37225 Call NPJSObject::invokeDefault.
37227 (WebKit::NPJSObject::NP_Construct):
37228 Call NPJSObject::construct.
37230 * WebProcess/Plugins/NPJSObject.h:
37231 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
37232 (WebKit::NPN_GetValue):
37233 Handle the Core Animation drawing model and the Carbon event model.
37235 (WebKit::NPN_InvokeDefault):
37236 Call the NPClass::invokeDefault function.
37238 (WebKit::NPN_Construct):
37239 Call the NPClass::construct function.
37241 2010-07-28 Anders Carlsson <andersca@apple.com>
37243 Reviewed by Sam Weinig.
37245 Implement NPN_Invoke
37246 https://bugs.webkit.org/show_bug.cgi?id=43158
37248 * WebProcess/Plugins/NPJSObject.cpp:
37249 (WebKit::NPJSObject::hasMethod):
37250 Use the free getCallData function.
37252 (WebKit::NPJSObject::invoke):
37253 Get the JavaScript function and call it.
37255 (WebKit::NPJSObject::NP_Invoke):
37256 Call NPJSObject::invoke.
37258 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
37259 (WebKit::NPN_Invoke):
37260 Call the NPClass::invoke function.
37262 2010-07-28 Anders Carlsson <andersca@apple.com>
37264 Reviewed by Sam Weinig.
37266 Implement NPN_HasMethod
37267 https://bugs.webkit.org/show_bug.cgi?id=43155
37269 * WebProcess/Plugins/NPJSObject.cpp:
37270 (WebKit::NPJSObject::hasMethod):
37271 Check if the JSObject has a property with the given name. If it does, check that the value is a function.
37273 (WebKit::NPJSObject::hasProperty):
37276 (WebKit::NPJSObject::npClass):
37277 Add some stubbed out functions.
37279 (WebKit::NPJSObject::NP_HasMethod):
37280 Call NPJSObject::hasMethod.
37282 (WebKit::NPJSObject::NP_Invoke):
37283 (WebKit::NPJSObject::NP_InvokeDefault):
37284 (WebKit::NPJSObject::NP_SetProperty):
37285 Stub out functions.
37287 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
37288 (WebKit::NPN_HasMethod):
37289 Call the NPClass::hasMethod function.
37291 2010-07-28 Brady Eidson <beidson@apple.com>
37293 Rubberstamped by Sam Weinig.
37295 Make sure new pages are always added to the same PageGroup (for now).
37297 * WebProcess/WebPage/WebPage.cpp:
37298 (WebKit::WebPage::WebPage):
37300 2010-07-28 Sam Weinig <sam@webkit.org>
37302 Reviewed by Anders Carlsson.
37304 Patch for https://bugs.webkit.org/show_bug.cgi?id=43097
37305 Make all objects in the WebKit2 API inherit from a single base class
37307 - Adds an APIObject base class for all objects which one can get through
37308 the C API to inherit from.
37309 - Adds a WebString class which wraps WebCore::String for now. I am not too fond of
37310 this solution, so we should continue to iterate on it.
37311 - This is a first step toward make a CF-style base type (eg. CFTypeRef) for the C-API.
37313 * Shared/APIObject.h: Added.
37314 (WebKit::APIObject::APIObject):
37315 Base class for API objects.
37317 * Shared/ImmutableArray.h:
37318 Make inherit from APIObject.
37320 * Shared/WebString.h: Added.
37321 (WebKit::WebString::create):
37322 (WebKit::WebString::isNull):
37323 (WebKit::WebString::isEmpty):
37324 (WebKit::WebString::string):
37325 (WebKit::WebString::WebString):
37326 Wraps a WebCore::String so that it can be passed out to the API
37327 and still inherit from APIObject.
37329 * UIProcess/API/C/WKAPICast.h:
37330 (WebKit::WebStringAdaptor::WebStringAdaptor):
37331 (WebKit::WebStringAdaptor::operator WKStringRef):
37332 (WebKit::WebStringAdaptor::operator WKURLRef):
37333 Update conversion methods to deal in terms of WebStrings. Added WebStringAdaptor
37334 to ease passing strings to client functions.
37336 * UIProcess/API/C/WKContext.cpp:
37337 (WKContextCreateWithInjectedBundlePath):
37338 (WKContextPostMessageToInjectedBundle):
37339 (_WKContextSetAdditionalPluginPath):
37340 (_WKContextRegisterURLSchemeAsEmptyDocument):
37341 Get the WebCore::String from the WebString.
37343 * UIProcess/API/C/WKPage.cpp:
37347 * UIProcess/API/C/WKString.cpp:
37349 Implement in terms of WebString.
37351 * UIProcess/API/C/WKURL.cpp:
37352 * UIProcess/API/C/cf/WKStringCF.cpp:
37353 (WKStringCreateWithCFString):
37354 (WKStringCopyCFString):
37357 * UIProcess/API/C/cf/WKURLCF.cpp:
37358 (WKURLCreateWithCFURL):
37362 * UIProcess/WebBackForwardList.h:
37363 Make inherit from APIObject.
37365 * UIProcess/WebBackForwardListItem.h:
37368 * UIProcess/WebContext.cpp:
37369 (WebKit::WebContext::didReceiveMessageFromInjectedBundle):
37370 (WebKit::WebContext::postMessageToInjectedBundle):
37371 (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
37372 Use String instead of StringImpl to be consistent.
37374 * UIProcess/WebContext.h:
37375 Make inherit from APIObject.
37377 * UIProcess/WebFramePolicyListenerProxy.h:
37380 * UIProcess/WebFrameProxy.h:
37383 * UIProcess/WebNavigationData.h:
37386 * UIProcess/WebPageNamespace.h:
37389 * UIProcess/WebPageProxy.h:
37392 * UIProcess/WebPreferences.h:
37395 * UIProcess/WebUIClient.cpp:
37396 (WebKit::WebUIClient::runJavaScriptPrompt):
37397 Implement in terms of WebString.
37399 * UIProcess/win/WebView.h:
37400 Make inherit from APIObject.
37402 * WebKit2.xcodeproj/project.pbxproj:
37405 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
37406 (WKBundlePostMessage):
37407 Get the WebCore::String from the WebString.
37409 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
37410 (WKBundleFramePauseAnimationOnElementWithId):
37413 * WebProcess/InjectedBundle/InjectedBundle.cpp:
37414 (WebKit::InjectedBundle::postMessage):
37415 * WebProcess/InjectedBundle/InjectedBundle.h:
37416 Use String instead of StringImpl to be consistent.
37418 * WebProcess/WebPage/WebFrame.h:
37419 Make inherit from APIObject.
37421 * WebProcess/WebPage/WebPage.h:
37422 Make inherit from APIObject.
37424 * win/WebKit2.vcproj:
37427 2010-07-28 Anders Carlsson <andersca@apple.com>
37429 Reviewed by Sam Weinig.
37431 Implement JSNPObject::put
37432 https://bugs.webkit.org/show_bug.cgi?id=43149
37434 * WebProcess/Plugins/JSNPObject.cpp:
37435 (WebKit::JSNPObject::getOwnPropertySlot):
37438 (WebKit::JSNPObject::getOwnPropertyDescriptor):
37439 Implement this in the same way as it's implemented in RuntimeObject.
37441 (WebKit::JSNPObject::put):
37442 Implement this, call NPClass::setProperty.
37444 * WebProcess/Plugins/JSNPObject.h:
37446 2010-07-28 Anders Carlsson <andersca@apple.com>
37448 Reviewed by Sam Weinig.
37450 Add support for calling NPObject methods
37451 https://bugs.webkit.org/show_bug.cgi?id=43145
37453 * WebKit2.xcodeproj/project.pbxproj:
37454 Add JSNPMethod.cpp and JSNPMethod.h
37456 * WebProcess/Plugins/JSNPMethod.cpp: Added.
37457 * WebProcess/Plugins/JSNPMethod.h: Added.
37458 * WebProcess/Plugins/JSNPObject.cpp:
37460 Add a ClassInfo static variable for JSNPObject.
37462 (WebKit::JSNPObject::callMethod):
37463 Convert the passed in arguments, call the method and convert the result back.
37465 (WebKit::JSNPObject::getOwnPropertySlot):
37466 Check if the NPObject has a method.
37468 (WebKit::JSNPObject::methodGetter):
37469 Return a new JSNPMethod.
37471 * WebProcess/Plugins/JSNPObject.h:
37472 (WebKit::JSNPObject::classInfo):
37475 * WebProcess/Plugins/NPJSObject.cpp:
37476 (WebKit::NPJSObject::getProperty):
37477 Get the property from the JSObject.
37479 * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
37480 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
37481 Convert the given JSValue to an NPVariant.
37483 * win/WebKit2.vcproj:
37484 Add JSNPMethod.cpp and JSNPMethod.h
37486 2010-07-28 Adam Roben <aroben@apple.com>
37488 Teach CoreIPC how to handle with a pipe closing during a write
37490 Fixes <http://webkit.org/b/43131> Assertion failure in
37491 Connection::sendOutgoingMessage if the other process exits at just the
37494 Reviewed by Darin Adler.
37496 * Platform/CoreIPC/win/ConnectionWin.cpp:
37497 (CoreIPC::Connection::sendOutgoingMessage): If ::WriteFile fails with
37498 ERROR_NO_DATA, the pipe (and thus the connection) has closed.
37500 2010-07-28 Adam Roben <aroben@apple.com>
37502 Teach CoreIPC the right way to send large messages on Windows
37504 r63776 added support for ::WriteFile failing with ERROR_IO_PENDING,
37505 but it had a major flaw: we didn't ensure that the data being sent
37506 (which is owned by the ArgumentEncoder) stayed around until the write
37507 finished. We'd destroy the data immediately, leading to ::WriteFile
37508 accessing that freed memory later. This seemed to always manifest
37509 itself as a crash in ::WaitForMultipleObjects.
37511 The correct solution (as hinted above) is to make sure that the data
37512 being written is not destroyed until the write completes. When
37513 ::WriteFile fails with ERROR_IO_PENDING, we store the data being sent
37514 in Connection::m_pendingWriteArguments, and don't send any more
37515 messages until that write completes. We use an event in the OVERLAPPED
37516 structure passed to ::WriteFile to detect when the write has completed
37517 (similar to what we do for reads).
37519 Fixes <http://webkit.org/b/42785> <rdar://problem/8218522> Crash in
37520 WebKit2WebProcess in WaitForMultipleObjects beneath
37521 WorkQueue::workQueueThreadBody when running tests that produce a lot
37524 Reviewed by Anders Carlsson.
37526 * Platform/CoreIPC/Connection.cpp:
37527 (CoreIPC::Connection::canSendOutgoingMessages): Added. This calls out
37528 to a platform-specific function to allow each platform to have its own
37529 policy for when messages can and can't be sent.
37530 (CoreIPC::Connection::sendOutgoingMessages): Use the new
37531 canSendOutgoingMessages to determine whether we can send any messages
37532 right now. We now remove one message at a time from m_outgoingMessages
37533 and send it. We stop sending messages when sendOutgoingMessage returns
37536 * Platform/CoreIPC/Connection.h: Added m_pendingWriteArguments and
37537 m_writeState on Windows.
37538 (CoreIPC::Connection::Message::Message): Added this default
37541 * Platform/CoreIPC/MessageID.h:
37542 (CoreIPC::MessageID::MessageID): Made the default constructor public
37543 for Message's benefit.
37545 * Platform/CoreIPC/mac/ConnectionMac.cpp:
37546 (CoreIPC::Connection::platformCanSendOutgoingMessages): Added. Always
37548 (CoreIPC::Connection::sendOutgoingMessage): Changed to return a
37549 boolean indicating whether more messages can be sent at this time.
37551 * Platform/CoreIPC/qt/ConnectionQt.cpp:
37552 (CoreIPC::Connection::platformCanSendOutgoingMessages): Added. Returns
37553 true if we have a socket.
37554 (CoreIPC::Connection::sendOutgoingMessage): Changed a null-check of
37555 m_socket to an assertion since it should be checked for null in
37556 platformCanSendOutgoingMessages. Changed to return a boolean
37557 indicating whether more messages can be sent at this time.
37559 * Platform/CoreIPC/win/ConnectionWin.cpp:
37560 (CoreIPC::Connection::platformInitialize): Added initialization of
37562 (CoreIPC::Connection::platformInvalidate): Close m_writeState's event
37564 (CoreIPC::Connection::writeEventHandler): Added. Checks if the pending
37565 write has completed, cleans up our pending write state, and sends any
37566 remaining messages.
37567 (CoreIPC::Connection::open): Register our write event with the
37568 WorkQueue so that writeEventHandler will be called when the event is
37570 (CoreIPC::Connection::platformCanSendOutgoingMessages): Added. We can
37571 only send messages if there isn't a write pending.
37572 (CoreIPC::Connection::sendOutgoingMessage): Changed to return a
37573 boolean indicating whether more messages can be sent at this time. We
37574 now pass m_writeState to ::WriteFile instead of an empty OVERLAPPED
37575 struct so that our write event will be signaled when the write
37576 completes. We also no longer pass a pointer to receive how many bytes
37577 were written, as recommended by MSDN. If ::WriteFile fails with
37578 ERROR_IO_PENDING, we save the ArgumentEncoder for this message and
37579 return false to indicate that no more messages can be sent at this
37582 2010-07-28 Adam Roben <aroben@apple.com>
37584 Stop leaking Connection::m_readState.hEvent on Windows
37586 Fixes <http://webkit.org/b/43129> CoreIPC::Connection leaks its read
37589 Reviewed by Darin Adler.
37591 * Platform/CoreIPC/win/ConnectionWin.cpp:
37592 (CoreIPC::Connection::platformInvalidate): Close the event handle.
37594 2010-07-26 Steve Block <steveblock@google.com>
37596 Reviewed by Jeremy Orlow.
37598 Page clients should be passed to Page constructor via structure of pointers
37599 https://bugs.webkit.org/show_bug.cgi?id=42834
37601 * WebKit2/WebProcess/WebPage/WebPage.cpp:
37602 (WebPage::WebPage):
37604 2010-07-28 Andras Becsi <abecsi@webkit.org>
37606 Unreviewed trivial build fix.
37608 [Qt] Follow the API changes after r64172.
37610 * UIProcess/API/qt/qwkpage.cpp:
37614 2010-07-27 Anders Carlsson <andersca@apple.com>
37618 * WebProcess/Plugins/JSNPObject.cpp:
37619 (WebKit::JSNPObject::propertyGetter):
37620 Remove unreachable code.
37622 2010-07-27 Anders Carlsson <andersca@apple.com>
37624 Reviewed by Sam Weinig.
37626 Implement JSNPObject::propertyGetter
37627 https://bugs.webkit.org/show_bug.cgi?id=43091
37629 * WebProcess/Plugins/JSNPObject.cpp:
37630 (WebKit::JSNPObject::propertyGetter):
37631 Ask the NPObject for its property.
37633 * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
37634 (WebKit::NPRuntimeObjectMap::jsNPObjectDestroyed):
37637 (WebKit::NPRuntimeObjectMap::convertNPVariantToValue):
37638 Implement this for everything except objects.
37640 2010-07-27 Sam Weinig <sam@webkit.org>
37642 Reviewed by Anders Carlsson.
37644 Patch for https://bugs.webkit.org/show_bug.cgi?id=43087
37645 Clean up handling of strings at the WebKit2 API layer.
37647 - Always use the "copy" rule for functions that return WKStringRefs or WKURLRefs.
37648 - Never return a null WKStringRef or WKURLRef.
37650 * UIProcess/API/C/WKAPICast.h:
37655 * UIProcess/API/C/WKBackForwardListItem.cpp:
37656 (WKBackForwardListItemCopyOriginalURL):
37657 (WKBackForwardListItemCopyURL):
37658 (WKBackForwardListItemCopyTitle):
37659 * UIProcess/API/C/WKBackForwardListItem.h:
37660 * UIProcess/API/C/WKFrame.cpp:
37661 (WKFrameIsMainFrame):
37662 (WKFrameCopyProvisionalURL):
37667 * UIProcess/API/C/WKFrame.h:
37668 * UIProcess/API/C/WKNavigationData.cpp:
37669 (WKNavigationDataCopyTitle):
37670 (WKNavigationDataCopyURL):
37671 * UIProcess/API/C/WKNavigationData.h:
37672 * UIProcess/API/C/WKPage.cpp:
37674 * UIProcess/API/C/WKPage.h:
37675 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
37676 (WKBundleFrameCopyURL):
37677 (WKBundleFrameCopyName):
37678 (WKBundleFrameCopyCounterValue):
37679 (WKBundleFrameCopyMarkerText):
37680 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
37681 * WebProcess/InjectedBundle/API/c/WKBundleNode.cpp:
37682 (WKBundleNodeCopyNodeName):
37683 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
37684 (WKBundlePageCopyRenderTreeExternalRepresentation):
37686 2010-07-27 Adam Roben <aroben@apple.com>
37688 Fix PageClient ownership in WebPageProxy
37690 WKView now owns the PageClient, similar to how things work on Windows
37691 (where the WebView is the PageClient).
37693 Fixes <http://webkit.org/b/40185> WebPageProxy should keep a weak
37694 reference to the PageClient
37696 Reviewed by Anders Carlsson.
37698 * UIProcess/API/mac/WKView.mm:
37699 (-[WKView initWithFrame:pageNamespaceRef:]): Store the PageClientImpl
37700 on our WKViewData object and pass it to the WebPageProxy.
37702 * UIProcess/WebPageProxy.cpp:
37703 (WebKit::WebPageProxy::setPageClient):
37704 * UIProcess/WebPageProxy.h:
37705 Removed Mac-specific code that put the PageClient in an OwnPtr. We now
37706 store it in a bare pointer just like on Windows.
37708 2010-07-27 Anders Carlsson <andersca@apple.com>
37710 Reviewed by Sam Weinig.
37712 Add JSNPObject, a JSObject that wraps an NPObject
37713 https://bugs.webkit.org/show_bug.cgi?id=43079
37715 * WebKit2.xcodeproj/project.pbxproj:
37716 Add JSNPObject.cpp and JSNPObject.h
37718 * WebProcess/Plugins/JSNPObject.cpp: Added.
37719 (WebKit::npIdentifierFromIdentifier):
37720 (WebKit::JSNPObject::JSNPObject):
37721 (WebKit::JSNPObject::~JSNPObject):
37722 (WebKit::JSNPObject::getOwnPropertySlot):
37723 Check if the NPObject has the given property.
37725 (WebKit::JSNPObject::propertyGetter):
37726 (WebKit::JSNPObject::throwInvalidAccessError):
37727 * WebProcess/Plugins/JSNPObject.h: Added.
37728 (WebKit::JSNPObject::createStructure):
37729 * WebProcess/Plugins/NPJSObject.h:
37731 * win/WebKit2.vcproj:
37732 Add JSNPObject.cpp and JSNPObject.h
37734 2010-07-27 Anders Carlsson <andersca@apple.com>
37736 Reviewed by Sam Weinig.
37738 Expose interface for returning the plug-in script JSObject
37739 https://bugs.webkit.org/show_bug.cgi?id=43074
37741 * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
37742 (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
37745 * WebProcess/Plugins/NPRuntimeObjectMap.h:
37746 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
37747 (WebKit::NetscapePlugin::pluginScriptableNPObject):
37748 Ask the plug-in for it's scriptable NPObject.
37750 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
37751 * WebProcess/Plugins/Plugin.h:
37752 Add pluginScritableNPObject.
37754 * WebProcess/Plugins/PluginView.cpp:
37755 (WebKit::PluginView::PluginView):
37756 Call PluginViewBase constructor.
37758 (WebKit::PluginView::scriptObject):
37759 Ask the plug-in for its scriptable object and wrap it.
37761 * WebProcess/Plugins/PluginView.h:
37762 PluginView now inherits from PluginViewBase.
37764 2010-07-27 Anders Carlsson <andersca@apple.com>
37766 Reviewed by Adam Roben.
37768 Move NPJSObject out into separate files
37769 https://bugs.webkit.org/show_bug.cgi?id=43068
37771 * WebKit2.xcodeproj/project.pbxproj:
37772 * WebProcess/Plugins/NPJSObject.cpp: Added.
37773 (WebKit::NPJSObject::create):
37774 (WebKit::NPJSObject::NPJSObject):
37775 (WebKit::NPJSObject::~NPJSObject):
37776 (WebKit::NPJSObject::isNPJSObject):
37777 (WebKit::NPJSObject::initialize):
37778 (WebKit::identifierFromIdentifierRep):
37779 (WebKit::NPJSObject::hasProperty):
37780 (WebKit::NPJSObject::getProperty):
37781 (WebKit::NPJSObject::npClass):
37782 (WebKit::NPJSObject::NP_Allocate):
37783 (WebKit::NPJSObject::NP_Deallocate):
37784 (WebKit::NPJSObject::NP_HasProperty):
37785 (WebKit::NPJSObject::NP_GetProperty):
37786 * WebProcess/Plugins/NPJSObject.h: Added.
37787 (WebKit::NPJSObject::jsObject):
37788 (WebKit::NPJSObject::toNPJSObject):
37789 * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
37790 (WebKit::NPRuntimeObjectMap::npJSObjectDestroyed):
37791 (WebKit::NPRuntimeObjectMap::globalExec):
37792 * WebProcess/Plugins/NPRuntimeObjectMap.h:
37793 * win/WebKit2.vcproj:
37795 2010-07-27 Anders Carlsson <andersca@apple.com>
37797 Reviewed by Adam Roben.
37799 Rename NPJSObjectMap to NPRuntimeObjectMap
37800 https://bugs.webkit.org/show_bug.cgi?id=43066
37802 * WebKit2.xcodeproj/project.pbxproj:
37803 * WebProcess/Plugins/NPJSObjectMap.cpp: Removed.
37804 * WebProcess/Plugins/NPJSObjectMap.h: Removed.
37805 * WebProcess/Plugins/NPRuntimeObjectMap.cpp: Added.
37806 (WebKit::NPJSObject::NPJSObject):
37807 (WebKit::NPJSObject::~NPJSObject):
37808 (WebKit::NPJSObject::toNPJSObject):
37809 (WebKit::NPJSObject::create):
37810 (WebKit::NPJSObject::isNPJSObject):
37811 (WebKit::NPJSObject::initialize):
37812 (WebKit::identifierFromIdentifierRep):
37813 (WebKit::NPJSObject::hasProperty):
37814 (WebKit::NPJSObject::getProperty):
37815 (WebKit::NPJSObject::npClass):
37816 (WebKit::NPJSObject::NP_Allocate):
37817 (WebKit::NPJSObject::NP_Deallocate):
37818 (WebKit::NPJSObject::NP_HasProperty):
37819 (WebKit::NPJSObject::NP_GetProperty):
37820 (WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap):
37821 (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
37822 (WebKit::NPRuntimeObjectMap::invalidate):
37823 * WebProcess/Plugins/NPRuntimeObjectMap.h: Added.
37824 * WebProcess/Plugins/PluginView.cpp:
37825 (WebKit::PluginView::PluginView):
37826 (WebKit::PluginView::~PluginView):
37827 (WebKit::PluginView::windowScriptNPObject):
37828 (WebKit::PluginView::pluginElementNPObject):
37829 * WebProcess/Plugins/PluginView.h:
37830 * win/WebKit2.vcproj:
37832 2010-07-27 Adam Roben <aroben@apple.com>
37834 Make preferences APIs robust against web process crashes
37836 Fixes <http://webkit.org/b/43049> Crash in
37837 WebPageNamespace::preferencesDidChange if preferences are changed
37838 after the web process crashes
37840 Reviewed by Anders Carlsson.
37842 * UIProcess/WebContext.cpp:
37843 (WebKit::WebContext::preferencesDidChange): Bail out if we don't have
37844 a web process. The new preference values will get propogated to the
37845 web process if and when it launches.
37847 2010-07-27 Adam Roben <aroben@apple.com>
37849 Add a ProcessDidExit callback to the WKPageLoaderClient
37851 Fixes <http://webkit.org/b/43048> UI process needs a way to find out
37852 when the web process crashes
37854 Reviewed by Anders Carlsson.
37856 * UIProcess/API/C/WKPage.h: Added WKPageProcessDidExitCallback, and a
37857 processDidExit member of that type to WKPageLoaderClient.
37859 * UIProcess/WebLoaderClient.cpp:
37860 (WebKit::WebLoaderClient::processDidExit): Added. Calls through to the
37861 WKPageLoaderClient.
37863 * UIProcess/WebLoaderClient.h: Added processDidExit.
37865 * UIProcess/WebPageProxy.cpp:
37866 (WebKit::WebPageProxy::processDidExit): Tell the loader client the
37869 2010-07-27 Andras Becsi <abecsi@webkit.org>
37871 Reviewed by Kenneth Rohde Christiansen.
37873 [Qt] WebEventFactory::createWebMouseEvent should follow WebKit2 API changes
37874 https://bugs.webkit.org/show_bug.cgi?id=43042
37876 * Shared/qt/WebEventFactoryQt.cpp:
37877 (WebKit::WebEventFactory::createWebMouseEvent):
37878 Set deltaX, deltaY and deltaZ arguments.
37880 2010-07-27 Balazs Kelemen <kb@inf.u-szeged.hu>
37882 Reviewed by Kenneth Rohde Christiansen.
37884 [Qt] WebKit::PageClient implementation needs a dedicated class
37886 https://bugs.webkit.org/show_bug.cgi?id=42974
37888 * UIProcess/API/qt/qwkpage.cpp:
37889 (PageClientImpl::PageClientImpl): Added.
37890 (PageClientImpl::pageDidEnterAcceleratedCompositing): Moved from QWKPagePrivate.
37891 (PageClientImpl::pageDidLeaveAcceleratedCompositing): Ditto.
37892 (PageClientImpl::processDidExit): Ditto.
37893 (PageClientImpl::processDidRevive): Ditto.
37894 (PageClientImpl::setCursor): Ditto.
37895 (PageClientImpl::takeFocus): Ditto.
37896 (PageClientImpl::toolTipChanged): Ditto.
37897 (QWKPagePrivate::QWKPagePrivate): Set a new instance of the PageClientImpl as PageClient rather than 'this'.
37898 * UIProcess/API/qt/qwkpage_p.h: Removed PageClient implementation methods from QWKPagePrivate.
37900 2010-07-26 Darin Adler <darin@apple.com>
37902 Reviewed by Sam Weinig.
37904 WebKitTestRunner needs to support layoutTestController.counterValueForElementById
37905 https://bugs.webkit.org/show_bug.cgi?id=42537
37907 WebKitTestRunner needs layoutTestController.markerTextForListItem
37908 https://bugs.webkit.org/show_bug.cgi?id=42549
37910 * UIProcess/API/C/WKString.cpp:
37911 (WKStringIsEmpty): Added.
37912 * UIProcess/API/C/WKString.h: Added WKStringIsEmpty.
37914 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
37915 (copiedString): Added. Helper for functions that return a
37916 WKStringRef that follows the copy rule.
37917 (WKBundleFrameCopyName): Use copiedString.
37918 (WKBundleFrameCopyCounterValue): Added. Calls counterValue.
37919 (WKBundleFrameCopyMarkerText): Added. Calls markerText.
37920 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
37921 Added WKBundleFrameCopyCounterValue and WKBundleFrameCopyMarkerText.
37923 * WebProcess/WebPage/WebFrame.cpp:
37924 (WebKit::WebFrame::computedStyleIncludingVisitedInfo):
37925 Renamed argument to streamline function a bit.
37926 (WebKit::WebFrame::counterValue): Added.
37927 (WebKit::WebFrame::markerText): Added.
37928 * WebProcess/WebPage/WebFrame.h: Added counterValue and markerText.
37930 2010-07-26 Sam Weinig <sam@webkit.org>
37932 Reviewed by Anders Carlsson.
37934 Part 2 of https://bugs.webkit.org/show_bug.cgi?id=43013
37935 <rdar://problem/8152434>
37936 Add support for scrolling using the keyboard in WebKit2
37938 Add support for scrolling with the space bar and ensure that we don't scroll
37939 if WebCore is handling the event in another way.
37941 * WebProcess/WebPage/WebPage.cpp:
37942 (WebKit::WebPage::keyEvent):
37943 (WebKit::getScrollMapping):
37944 (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
37945 * WebProcess/WebPage/WebPage.h:
37947 2010-07-26 Sam Weinig <sam@webkit.org>
37949 Reviewed by Anders Carlsson.
37951 Patch for https://bugs.webkit.org/show_bug.cgi?id=43013
37952 Part of <rdar://problem/8152434>
37953 Add support for scrolling using the keyboard in WebKit2
37955 * WebProcess/WebPage/WebPage.cpp:
37956 (WebKit::getScrollMapping):
37957 (WebKit::WebPage::keyEvent):
37958 Scroll the page in response to keyDown.
37959 * WebProcess/WebPage/WebPage.h:
37960 * WebProcess/WebPage/mac/WebPageMac.mm:
37961 Use WindowsKeyboardCodes.h instead of redefining the constants.
37963 2010-07-26 Ada Chan <adachan@apple.com>
37967 * win/WebKit2Generated.make:
37969 2010-07-26 Anders Carlsson <andersca@apple.com>
37973 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
37974 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
37975 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
37977 2010-07-26 Anders Carlsson <andersca@apple.com>
37979 Reviewed by Sam Weinig.
37981 Handle mouseenter/mouseleave + focus events
37982 https://bugs.webkit.org/show_bug.cgi?id=42997
37984 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
37985 (WebKit::NetscapePlugin::handleMouseEnterEvent):
37986 Call platformHandleMouseEnterEvent.
37988 (WebKit::NetscapePlugin::handleMouseLeaveEvent):
37989 Call platformHandleMouseExitEvent.
37991 (WebKit::NetscapePlugin::setFocus):
37992 Call platformSetFocus.
37994 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
37995 (WebKit::fillInCocoaEventFromMouseEvent):
37996 Factor out code that fills in an NPCocoaEvent from a WebMouseEvent.
37998 (WebKit::initializeMouseEvent):
37999 Call fillInCocoaEventFromMouseEvent.
38001 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
38002 Send an NPCocoaEventMouseEntered event.
38004 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
38005 Send an NPCocoaEventMouseExited event.
38007 (WebKit::NetscapePlugin::platformSetFocus):
38008 Send an NPCocoaEventFocusChanged.
38010 * WebProcess/Plugins/Plugin.h:
38011 * WebProcess/Plugins/PluginView.cpp:
38012 (WebKit::PluginView::handleEvent):
38013 Dispatch mouse enter and mouse leave events. Call focusPluginElement on mousedown.
38015 (WebKit::PluginView::focusPluginElement):
38016 Focus the plug-in's containing frame and its element.
38018 (WebKit::PluginView::setFocus):
38019 Call Plugin::setFocus.
38021 2010-07-26 Brady Eidson <beidson@apple.com>
38023 Reviewed by Sam Weinig.
38025 Add ability for WK2 to register a scheme to always be displayed as an empty document
38026 https://bugs.webkit.org/show_bug.cgi?id=42995
38028 * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
38029 (WebProcessMessage::):
38031 * UIProcess/API/C/WKContext.cpp:
38032 (_WKContextRegisterURLSchemeAsEmptyDocument):
38033 * UIProcess/API/C/WKContextPrivate.h:
38035 * UIProcess/WebContext.cpp:
38036 (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
38037 * UIProcess/WebContext.h:
38039 * WebProcess/WebProcess.cpp:
38040 (WebKit::WebProcess::registerURLSchemeAsEmptyDocument):
38041 (WebKit::WebProcess::didReceiveMessage):
38042 * WebProcess/WebProcess.h:
38044 2010-07-26 Anders Carlsson <andersca@apple.com>
38046 Reviewed by Adam Roben.
38048 Get rid of the dummy plug-in.
38050 * WebKit2.xcodeproj/project.pbxproj:
38051 * WebProcess/Plugins/DummyPlugin.cpp: Removed.
38052 * WebProcess/Plugins/DummyPlugin.h: Removed.
38053 * win/WebKit2.vcproj:
38055 2010-07-26 Sam Weinig <sam@webkit.org>
38057 Reviewed by Anders Carlsson.
38059 Move some non-APIish functions into private headers.
38061 * WebKit2.xcodeproj/project.pbxproj:
38062 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
38063 * WebProcess/InjectedBundle/API/c/WKBundle.h:
38064 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
38065 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
38066 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: Copied from WebProcess/InjectedBundle/API/c/WKBundleFrame.h.
38067 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Copied from WebProcess/InjectedBundle/API/c/WKBundle.h.
38068 * win/WebKit2.vcproj:
38070 2010-07-26 Sam Weinig <sam@webkit.org>
38072 Reviewed by Anders Carlsson.
38074 Fix for https://bugs.webkit.org/show_bug.cgi?id=42986
38075 Add prompt and confirm client functions to WebKit2
38077 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
38078 (WebPageProxyMessage::):
38079 * UIProcess/API/C/WKPage.h:
38080 * UIProcess/WebPageProxy.cpp:
38081 (WebKit::WebPageProxy::didReceiveSyncMessage):
38082 (WebKit::WebPageProxy::runJavaScriptAlert):
38083 (WebKit::WebPageProxy::runJavaScriptConfirm):
38084 (WebKit::WebPageProxy::runJavaScriptPrompt):
38085 * UIProcess/WebPageProxy.h:
38086 * UIProcess/WebUIClient.cpp:
38087 (WebKit::WebUIClient::runJavaScriptAlert):
38088 (WebKit::WebUIClient::runJavaScriptConfirm):
38089 (WebKit::WebUIClient::runJavaScriptPrompt):
38090 * UIProcess/WebUIClient.h:
38091 * WebKit2.xcodeproj/project.pbxproj:
38092 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
38093 (WebKit::WebChromeClient::runJavaScriptConfirm):
38094 (WebKit::WebChromeClient::runJavaScriptPrompt):
38096 2010-07-26 Adam Roben <aroben@apple.com>
38100 * win/WebKit2.vcproj:
38101 * win/WebKit2WebProcess.vcproj:
38102 Removed empty attributes so the values will be picked up from the
38103 vsprops files. (Also removed a couple of attributes that accidentally
38104 duplicated values from the vsprops files.)
38106 2010-07-26 Simon Fraser <simon.fraser@apple.com>
38108 Reviewed by Anders Carlsson.
38110 Composited layers don't scroll in WebKit2
38111 https://bugs.webkit.org/show_bug.cgi?id=42771
38113 In WebKit2, do the compositing layer geometry flipping on the drawing area's main
38114 backing layer. This both avoids us having to flip the layer contents, and also avoids issues
38115 with the positioning of the root platform layer, which we want top-left. Doing the flipping
38116 lower down would require that the root platform layer know where the scrollbar is.
38118 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
38119 (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
38121 2010-07-26 Anders Carlsson <andersca@apple.com>
38123 Reviewed by Sam Weinig.
38125 Deliver mouse and wheel events to plug-ins
38126 https://bugs.webkit.org/show_bug.cgi?id=42988
38128 * Shared/WebEvent.h:
38129 (WebKit::WebMouseEvent::WebMouseEvent):
38130 (WebKit::WebMouseEvent::deltaX):
38131 (WebKit::WebMouseEvent::deltaY):
38132 (WebKit::WebMouseEvent::deltaZ):
38133 * Shared/mac/WebEventFactory.mm:
38134 (WebKit::WebEventFactory::createWebMouseEvent):
38135 Add deltaX, deltaY and deltaZ member variables to WebMosueEvent.
38137 * WebKit2.xcodeproj/project.pbxproj:
38138 Rename NetscapePluginMac.cpp to NetscapePluginMac.mm.
38140 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
38141 (WebKit::NetscapePlugin::NPP_HandleEvent):
38144 (WebKit::NetscapePlugin::handleMouseEvent):
38145 (WebKit::NetscapePlugin::handleWheelEvent):
38146 Call the platform variants.
38148 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: Added.
38149 (WebKit::modifierFlags):
38150 (WebKit::buttonNumber):
38151 (WebKit::initializeMouseEvent):
38152 (WebKit::NetscapePlugin::platformHandleMouseEvent):
38153 Create an NPCocoaEvent and send it to the plug-in.
38155 (WebKit::NetscapePlugin::platformHandleWheelEvent):
38158 * WebProcess/Plugins/PluginView.cpp:
38159 (WebKit::PluginView::handleEvent):
38160 Get the current WebEvent and send it to the plug-in if necessary.
38162 * WebProcess/WebPage/WebPage.cpp:
38163 (WebKit::WebPage::currentEvent):
38164 (WebKit::CurrentEvent::CurrentEvent):
38165 (WebKit::CurrentEvent::~CurrentEvent):
38166 (WebKit::WebPage::mouseEvent):
38167 (WebKit::WebPage::wheelEvent):
38168 (WebKit::WebPage::keyEvent):
38169 * WebProcess/WebPage/WebPage.h:
38170 Add RAII object for keeping track of the current event.
38172 2010-07-26 Anders Carlsson <andersca@apple.com>
38174 Reviewed by Sam Weinig.
38176 Clean up event handling functions
38177 https://bugs.webkit.org/show_bug.cgi?id=42977
38179 * WebProcess/WebPage/WebPage.cpp:
38180 (WebKit::WebPage::mouseEvent):
38181 (WebKit::WebPage::wheelEvent):
38182 (WebKit::WebPage::keyEvent):
38183 (WebKit::WebPage::didReceiveMessage):
38184 * WebProcess/WebPage/WebPage.h:
38186 2010-07-25 Darin Adler <darin@apple.com>
38188 Reviewed by Maciej Stachowiak.
38190 WebKitTestRunner needs to support layoutTestController.keepWebHistory
38191 https://bugs.webkit.org/show_bug.cgi?id=42323
38193 Added WKBundleSetShouldTrackVisitedLinks, WKBundleRemoveAllVisitedLinks,
38194 and WKBundleFrameGetComputedStyleIncludingVisitedInfo.
38196 Also fixed misspellings of the word "receive".
38198 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
38199 (WKBundleSetShouldTrackVisitedLinks): Added.
38200 (WKBundleRemoveAllVisitedLinks): Added.
38201 * WebProcess/InjectedBundle/API/c/WKBundle.h: Added functions and
38202 fixed mispellings of receive.
38204 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
38205 (WKBundleFrameGetJavaScriptContext): Moved the code from here into WebFrame,
38206 to be consistent with the rest of the functions in this file.
38207 (WKBundleFrameGetComputedStyleIncludingVisitedInfo): Added.
38208 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Added
38209 WKBundleFrameGetComputedStyleIncludingVisitedInfo and tried to rearrange the
38210 file to be more logically ordered and grouped.
38212 * WebProcess/InjectedBundle/InjectedBundle.cpp:
38213 (WebKit::InjectedBundle::setShouldTrackVisitedLinks): Added.
38214 (WebKit::InjectedBundle::removeAllVisitedLinks): Added.
38215 (WebKit::InjectedBundle::didReceiveMessage): Fixed mispellings of receive.
38216 * WebProcess/InjectedBundle/InjectedBundle.h: Ditto.
38218 * WebProcess/WebPage/WebFrame.cpp:
38219 (WebKit::WebFrame::jsContext): Added. Contains the code that used to be in
38220 WKBundleFrameGetJavaScriptContext.
38221 (WebKit::WebFrame::computedStyleIncludingVisitedInfo): Added.
38222 * WebProcess/WebPage/WebFrame.h: Ditto.
38224 * UIProcess/API/C/WKContext.h: Fixed misspellings of receive.
38225 * UIProcess/WebContext.cpp:
38226 (WebKit::WebContext::didReceiveMessageFromInjectedBundle): Ditto.
38227 * UIProcess/WebContext.h: Ditto.
38228 * UIProcess/WebContextInjectedBundleClient.cpp:
38229 (WebKit::WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle): Ditto.
38230 * UIProcess/WebContextInjectedBundleClient.h: Ditto.
38231 * UIProcess/WebProcessProxy.cpp:
38232 (WebKit::WebProcessProxy::forwardMessageToWebContext): Ditto.
38233 * WebProcess/WebProcess.cpp:
38234 (WebKit::WebProcess::forwardMessageToInjectedBundle): Ditto.
38236 2010-07-25 Alexey Proskuryakov <ap@apple.com>
38238 Reviewed by Sam Weinig.
38240 https://bugs.webkit.org/show_bug.cgi?id=42193
38241 Support layoutTestController.dumpEditingDelegates in WebKitTestRunner
38243 Step 2 - add the rest of editing delegates.
38245 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
38246 * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
38247 Added enums for EditorInsertAction and EAffinity. Also added a dummy type for
38248 CSSStyleDeclaration - neither DumpRenderTree not WebKitTestRunner actually use that.
38250 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
38251 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
38252 (WebKit::InjectedBundlePageEditorClient::shouldBeginEditing):
38253 (WebKit::InjectedBundlePageEditorClient::shouldEndEditing):
38254 (WebKit::InjectedBundlePageEditorClient::shouldInsertNode):
38255 (WebKit::InjectedBundlePageEditorClient::shouldInsertText):
38256 (WebKit::InjectedBundlePageEditorClient::shouldDeleteRange):
38257 (WebKit::InjectedBundlePageEditorClient::shouldChangeSelectedRange):
38258 (WebKit::InjectedBundlePageEditorClient::shouldApplyStyle):
38259 (WebKit::InjectedBundlePageEditorClient::didBeginEditing):
38260 (WebKit::InjectedBundlePageEditorClient::didEndEditing):
38261 (WebKit::InjectedBundlePageEditorClient::didChange):
38262 (WebKit::InjectedBundlePageEditorClient::didChangeSelection):
38263 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
38264 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
38265 (WebKit::WebEditorClient::shouldDeleteRange):
38266 (WebKit::WebEditorClient::shouldEndEditing):
38267 (WebKit::WebEditorClient::shouldInsertNode):
38268 (WebKit::WebEditorClient::shouldInsertText):
38269 (WebKit::WebEditorClient::shouldChangeSelectedRange):
38270 (WebKit::WebEditorClient::shouldApplyStyle):
38271 (WebKit::WebEditorClient::didBeginEditing):
38272 (WebKit::WebEditorClient::respondToChangedContents):
38273 (WebKit::WebEditorClient::respondToChangedSelection):
38274 (WebKit::WebEditorClient::didEndEditing):
38275 Added remaining delagates that are needed for WebKitTestRunner.
38277 2010-07-19 Balazs Kelemen <kb@inf.u-szeged.hu>
38279 Reviewed by Kenneth Rohde Christiansen.
38281 [Qt] Setup the QtWebProcess
38283 https://bugs.webkit.org/show_bug.cgi?id=42623
38285 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
38286 Remove the framework entry point from here to WebProcess/qt/WebProcessMainQt.cpp to match with with the mac and the win port.
38287 * WebKit2.pro: Added.
38288 * WebProcess/qt/WebProcessMainQt.cpp: Added.
38289 (WebKit::WebProcessMainQt): Framework entry point for Qt.
38290 * qt/MainQt.cpp: Added.
38293 2010-07-22 Darin Adler <darin@apple.com>
38295 Reviewed by Sam Weinig.
38297 Eliminate unneeded WKBundleFrameCopyInnerText function from WebKit2
38298 https://bugs.webkit.org/show_bug.cgi?id=42847
38300 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Removed WKBundleFrameCopyInnerText.
38301 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Ditto.
38302 * WebProcess/WebPage/WebFrame.cpp: Removed innerText.
38303 * WebProcess/WebPage/WebFrame.h: Ditto.
38305 2010-07-22 Alexey Proskuryakov <ap@apple.com>
38307 More Windows build fixing.
38309 * win/WebKit2Generated.make: Copy the new public headers to $(WEBKITOUTPUTDIR)\include\WebKit2.
38311 2010-07-22 Alexey Proskuryakov <ap@apple.com>
38315 * win/WebKit2.vcproj: Added new files.
38317 2010-07-22 Alexey Proskuryakov <ap@apple.com>
38319 Reviewed by Sam Weinig and Darin Adler.
38321 https://bugs.webkit.org/show_bug.cgi?id=42193
38322 Support layoutTestController.dumpEditingDelegates in WebKitTestRunner
38324 Step 1: Add the method, and implement one actual delegate call as proof of concept. No tests
38325 fixed, but this makes difference one line smaller on many editing tests.
38327 * WebKit2.xcodeproj/project.pbxproj:
38328 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
38329 * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
38330 * WebProcess/InjectedBundle/API/c/WKBundleNode.cpp: Added.
38331 (WKBundleNodeCopyNodeName):
38332 (WKBundleNodeGetParent):
38333 * WebProcess/InjectedBundle/API/c/WKBundleNode.h: Added.
38334 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
38335 (WKBundlePageSetEditorClient):
38336 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
38337 * WebProcess/InjectedBundle/API/c/WKBundleRange.cpp: Added.
38338 (WKBundleRangeGetStartOffset):
38339 (WKBundleRangeGetStartContainer):
38340 (WKBundleRangeGetEndOffset):
38341 (WKBundleRangeGetEndContainer):
38342 * WebProcess/InjectedBundle/API/c/WKBundleRange.h: Added.
38343 Added WKBundleRangeRef and WKBundleNodeRef types for injected bundles. These are just pointers
38344 to respective WebCore objects, without any WebKit2 wrappers.
38346 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: Added.
38347 (WebKit::InjectedBundlePageEditorClient::InjectedBundlePageEditorClient):
38348 (WebKit::InjectedBundlePageEditorClient::initialize):
38349 (WebKit::InjectedBundlePageEditorClient::shouldBeginEditing):
38350 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h: Added.
38351 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
38352 (WebKit::WebEditorClient::shouldBeginEditing):
38353 * WebProcess/WebPage/WebPage.cpp:
38354 (WebKit::WebPage::initializeInjectedBundleEditorClient):
38355 * WebProcess/WebPage/WebPage.h:
38356 (WebKit::WebPage::injectedBundleEditorClient):
38357 Added the plumbing for invoking injected bundle code for editor client. There is no real API
38358 for editor client yet.
38360 2010-07-22 Ivan Krstić <ike@apple.com>
38362 Reviewed by Anders Carlsson.
38364 Adapt sandbox for new WebProcess bootstrap service naming scheme.
38365 <rdar://problem/8225000>
38367 * WebProcess/com.apple.WebProcess.sb:
38369 2010-07-22 Anders Carlsson <andersca@apple.com>
38371 Reviewed by Adam Roben.
38373 It should be possible to attach to the WebProcess in gdb during startup
38374 https://bugs.webkit.org/show_bug.cgi?id=42853
38376 Create an unique bootstrap service name and pass it to the web process, instead of registering a per process
38377 name (which was incorrect anyway). This lets us get rid of the requirement that the UI process always should be
38378 the parent process of the web process, something which is false when running under the debugger.
38380 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
38381 (WebKit::ProcessLauncher::launchProcess):
38382 * WebProcess/mac/WebProcessMainMac.mm:
38383 (WebKit::WebProcessMain):
38385 2010-07-22 Anders Carlsson <andersca@apple.com>
38387 Reviewed by Sam Weinig.
38389 Don't assert when Connection::invalidate is called before Connection::dispatchConnectionDidClose
38390 https://bugs.webkit.org/show_bug.cgi?id=42851
38392 * Platform/CoreIPC/Connection.cpp:
38393 (CoreIPC::Connection::dispatchConnectionDidClose):
38394 Just return early if m_client is 0.
38396 2010-07-22 Adam Roben <aroben@apple.com>
38398 Use ::MessageBox instead of ::DebugBreak to make the web process wait
38401 While ::DebugBreak can make it easier to attach a debugger (because it
38402 brings up the Just-in-Time debugger window), using ::MessageBox has
38404 1) It explains to the user what's going on, so it's harder to
38405 mistake this debugging aid for a bug.
38406 2) It allows you to debug the UI process and the web process using
38407 the same debugger, if desired.
38409 Special thanks to John Sullivan for help with the text that's shown in
38412 Fixes <http://webkit.org/b/42848> WebKit2's wait-for-debugger
38413 debugging aid should explain to the user what's happening
38415 Reviewed by John Sullivan and Anders Carlsson.
38417 * WebProcess/WebKitMain.cpp:
38418 (WebKitMain): Use a ::MessageBox instead of a ::DebugBreak to wait for
38419 the debugger. The alert explains to the user what's going on.
38421 2010-07-22 Adam Roben <aroben@apple.com>
38423 Make WorkQueue aware of potential errors with ::WaitForMultipleObjects
38425 Fixes <http://webkit.org/b/42846> WorkQueue should detect
38426 ::WaitForMultipleObject failures
38428 Reviewed by Anders Carlsson.
38430 * Platform/win/WorkQueueWin.cpp:
38431 (WorkQueue::workQueueThreadBody): Added some assertions about the
38432 various things that can fail with ::WaitForMultipleObjects,
38434 - Passing too many objects
38435 - Timeouts (which shouldn't happen since we pass a timeout interval
38437 - Abandoned mutexes (which shouldn't happen since we don't wait on
38438 any mutexes currently)
38439 - Miscellaneous failures
38441 2010-07-22 Sam Weinig <sam@webkit.org>
38443 Reviewed by Anders Carlsson.
38445 Patch for https://bugs.webkit.org/show_bug.cgi?id=42836
38446 Add localized strings stubs for WebKit2.
38448 Gets us below 200 tests failing in WebKitTestRunner.
38450 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
38451 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
38453 2010-07-22 Andras Becsi <abecsi@webkit.org>
38455 Unreviewed trivial build fix.
38457 [Qt] Mend remaining issues to fix the WebKit2 build.
38459 * Shared/qt/UpdateChunk.h: add missing function
38460 (WebKit::UpdateChunk::isEmpty):
38461 * UIProcess/API/qt/qwkpage_p.h: Add stub implementation
38462 (QWKPagePrivate::pageDidEnterAcceleratedCompositing):
38463 (QWKPagePrivate::pageDidLeaveAcceleratedCompositing):
38465 2010-07-22 Andras Becsi <abecsi@webkit.org>
38467 Reviewed by Antonio Gomes.
38469 [Qt] Implement WebContext::applicationCacheDirectory() for the Qt port of WebKit2.
38470 https://bugs.webkit.org/show_bug.cgi?id=42830
38472 * UIProcess/qt/WebContextQt.cpp: Added.
38473 (WebKit::WebContext::applicationCacheDirectory):
38475 2010-07-22 Balazs Kelemen <kb@inf.u-szeged.hu>
38477 Unreviewed build fix.
38479 [Qt] Fix WebKit2 build
38481 https://bugs.webkit.org/show_bug.cgi?id=42638
38483 * UIProcess/API/qt/qwkpage_p.h:
38484 (QWKPagePrivate::setCursor): Added empty implementation.
38486 2010-07-22 Balazs Kelemen <kb@inf.u-szeged.hu>
38488 Reviewed by Antonio Gomes.
38490 Lazy cursor creation should be guarded by #if USE(LAZY_NATIVE_CURSOR) in WebKit2
38492 https://bugs.webkit.org/show_bug.cgi?id=42622
38494 * Shared/WebCoreArgumentCoders.h:
38495 * UIProcess/WebPageProxy.cpp:
38496 (WebKit::WebPageProxy::didReceiveMessage):
38497 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
38498 (WebKit::WebChromeClient::setCursor):
38500 2010-07-22 Jon Honeycutt <jhoneycutt@apple.com>
38502 Build fix. Unreviewed.
38504 * win/WebKit2WebProcess.vcproj:
38505 Remove the pre- and post-build events, so that they will use the value
38506 inherited from the vsprops.
38508 2010-07-21 Darin Adler <darin@apple.com>
38510 Reviewed by Sam Weinig.
38512 WebKitTestRunner needs layoutTestController.dumpChildFrameScrollPositions
38513 https://bugs.webkit.org/show_bug.cgi?id=42548
38515 Added WKBundleFrameCopyName.
38517 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
38518 (WKBundleFrameCopyName): Added.
38519 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Ditto.
38521 * WebProcess/WebPage/WebFrame.cpp:
38522 (WebKit::WebFrame::name): Added.
38523 * WebProcess/WebPage/WebFrame.h: Ditto.
38525 2010-07-21 Darin Adler <darin@apple.com>
38527 Reviewed by Sam Weinig.
38529 WebKitTestRunner needs to support dumping of scroll position
38530 https://bugs.webkit.org/show_bug.cgi?id=42514
38532 Added WKBundleFrameGetJavaScriptContext function.
38534 * WebKit2.xcodeproj: Added property svn:ignore.
38536 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
38537 (WKBundleFrameGetJavaScriptContext): Added.
38538 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Ditto.
38540 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
38541 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
38542 (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
38543 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
38544 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
38545 (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
38546 Use JSGlobalContextRef instead of JSContextRef and context instead of ct.
38548 2010-07-21 Adam Roben <aroben@apple.com>
38550 Handle broken pipes in more places in CoreIPC
38552 Fixes <http://webkit.org/b/42784> Assertion failure in
38553 Connection::readEventHandler when WebKitTestRunner exits
38555 Reviewed by Anders Carlsson.
38557 * Platform/CoreIPC/win/ConnectionWin.cpp:
38558 (CoreIPC::Connection::readEventHandler): Check for a broken pipe
38559 whenever we call ::PeekNamedPipe.
38561 2010-07-21 Adam Roben <aroben@apple.com>
38563 Teach CoreIPC how to handle messages that are larger than the pipe's
38566 ::GetOverlappedResult and ::ReadFile can fail with ERROR_MORE_DATA
38567 when there is more data available on the pipe than was requested in
38568 the read operation. In those cases, the appropriate response is to
38569 perform another read operation to read the extra data. We now do this.
38571 Also, MSDN says that, because we are doing asynchronous read
38572 operations, we should not pass a pointer to ::ReadFile to find out how
38573 many bytes were read. Instead we should always call
38574 ::GetOverlappedResult to find this out. I've changed
38575 Connection::readEventHandler to have a single loop that calls
38576 ::GetOverlappedResult and ::ReadFile in alternation, rather than
38577 sometimes calling ::ReadFile multiple times in a row, to satisfy this
38580 In order to simplify the logic in this function, I've made us request
38581 only a single byte from the pipe when there are no messages already in
38582 the pipe. (Previously we were requesting 4096 bytes in this case.)
38583 This allows us not to have to consider the case where the received
38584 message is smaller than our read buffer. If we decide that this has a
38585 negative impact on performance, we can of course change it. I've
38586 mitigated this somewhat by using ::PeekNamedMessage to find out the
38587 size of the next message in the pipe (if any), so that we can read it
38588 all in one read operation.
38590 Fixes <http://webkit.org/b/42710> <rdar://problem/8197571> Assertion
38591 in Connection::readEventHandler when launching WebKitTestRunner
38593 Reviewed by Anders Carlsson.
38595 * Platform/CoreIPC/win/ConnectionWin.cpp:
38596 (CoreIPC::Connection::readEventHandler): Put the call to
38597 ::GetOverlappedResult in the same loop as ::ReadFile so that we will
38598 call them alternately. If ::GetOverlappedResult fails with
38599 ERROR_MORE_DATA, use ::PeekNamedPipe to determine the size of the rest
38600 of the message, then read it from the pipe. After dispatching the
38601 message, use ::PeekNamedPipe to find out the size of the next message
38602 in the pipe so we can read it all in one operation. If there's no
38603 message in the pipe, we'll request just a single byte of the next
38604 message that becomes available, and Windows will tell us when the rest
38605 of the message is ready. If ::ReadFile fails with ERROR_MORE_DATA it
38606 means there is data available now even though we didn't think there
38607 was any. We go back to the top of the loop in this case and call
38608 ::GetOverlappedResult again to retrieve the available data.
38610 2010-07-21 Sam Weinig <sam@webkit.org>
38612 Reviewed by Anders Carlsson.
38614 Patch for https://bugs.webkit.org/show_bug.cgi?id=42539
38615 WebKitTestRunner needs to support printing ALERT, PROMPT and CONFIRM messages
38617 - Convert injected bundle UIClient functions to will-style, at least until we establish
38618 more concrete use cases for them past the TestRunner.
38620 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
38621 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
38622 (WebKit::InjectedBundlePageUIClient::willAddMessageToConsole):
38623 (WebKit::InjectedBundlePageUIClient::willSetStatusbarText):
38624 (WebKit::InjectedBundlePageUIClient::willRunJavaScriptAlert):
38625 (WebKit::InjectedBundlePageUIClient::willRunJavaScriptConfirm):
38626 (WebKit::InjectedBundlePageUIClient::willRunJavaScriptPrompt):
38627 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
38628 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
38629 (WebKit::WebChromeClient::addMessageToConsole):
38630 (WebKit::WebChromeClient::runJavaScriptAlert):
38631 (WebKit::WebChromeClient::runJavaScriptConfirm):
38632 (WebKit::WebChromeClient::runJavaScriptPrompt):
38633 (WebKit::WebChromeClient::setStatusbarText):
38635 2010-07-21 Simon Fraser <simon.fraser@apple.com>
38639 Need to supply implementations of PageClient::pageDidEnterAcceleratedCompositing()
38640 and pageDidLeaveAcceleratedCompositing() for WebView on Windows.
38642 * UIProcess/win/WebView.cpp:
38643 (WebKit::WebView::pageDidEnterAcceleratedCompositing):
38644 (WebKit::WebView::pageDidLeaveAcceleratedCompositing):
38645 * UIProcess/win/WebView.h:
38647 2010-07-21 Anders Carlsson <andersca@apple.com>
38649 Reviewed by Sam Weinig.
38651 Don't assert when clicking on a plug-in in WebKit2
38652 https://bugs.webkit.org/show_bug.cgi?id=42762
38654 Add stub for PluginView::handleEvent.
38656 * WebProcess/Plugins/PluginView.cpp:
38657 (WebKit::PluginView::handleEvent):
38658 * WebProcess/Plugins/PluginView.h:
38660 2010-07-21 Simon Fraser <simon.fraser@apple.com>
38662 Reviewed by Anders Carlsson.
38664 Get accelerated compositing working with webkit2
38665 https://bugs.webkit.org/show_bug.cgi?id=41084
38667 Hook up dynamic DrawingArea switching, so that when the WebProcess hits a page
38668 that requires accelerated compositing, we switch to the LayerBackedDrawingArea.
38670 * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
38671 (DrawingAreaProxyMessage::):
38672 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
38673 (WebPageProxyMessage::):
38674 * UIProcess/API/mac/PageClientImpl.h:
38675 * UIProcess/API/mac/PageClientImpl.mm:
38676 (WebKit::PageClientImpl::pageDidEnterAcceleratedCompositing):
38677 (WebKit::PageClientImpl::pageDidLeaveAcceleratedCompositing):
38678 * UIProcess/API/mac/WKView.mm:
38679 (-[WKView _startAcceleratedCompositing:]):
38680 (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaProxy::]):
38681 (-[WKView _pageDidEnterAcceleratedCompositing]):
38682 (-[WKView _pageDidLeaveAcceleratedCompositing]):
38683 * UIProcess/API/mac/WKViewInternal.h:
38684 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
38685 (WebKit::ChunkedUpdateDrawingAreaProxy::didReceiveSyncMessage):
38686 * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
38687 * UIProcess/DrawingAreaProxy.h:
38688 (WebKit::DrawingAreaProxy::):
38689 (WebKit::DrawingAreaProxy::type):
38690 * UIProcess/LayerBackedDrawingAreaProxy.cpp:
38691 (WebKit::LayerBackedDrawingAreaProxy::didSetSize):
38692 (WebKit::LayerBackedDrawingAreaProxy::didReceiveMessage):
38693 (WebKit::LayerBackedDrawingAreaProxy::didReceiveSyncMessage):
38694 * UIProcess/LayerBackedDrawingAreaProxy.h:
38695 * UIProcess/PageClient.h:
38696 * UIProcess/WebPageProxy.cpp:
38697 (WebKit::WebPageProxy::setDrawingArea):
38698 (WebKit::WebPageProxy::didReceiveSyncMessage):
38699 (WebKit::WebPageProxy::didEnterAcceleratedCompositing):
38700 (WebKit::WebPageProxy::didLeaveAcceleratedCompositing):
38701 * UIProcess/WebPageProxy.h:
38702 * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
38703 (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext):
38704 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
38705 (WebKit::WebChromeClient::attachRootGraphicsLayer):
38706 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
38707 (WebKit::ChunkedUpdateDrawingArea::attachCompositingContext):
38708 (WebKit::ChunkedUpdateDrawingArea::setRootCompositingLayer):
38709 * WebProcess/WebPage/DrawingArea.cpp:
38710 (WebKit::DrawingArea::create):
38711 * WebProcess/WebPage/DrawingArea.h:
38712 (WebKit::DrawingArea::):
38713 (WebKit::DrawingArea::type):
38714 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
38715 (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
38716 (WebKit::LayerBackedDrawingArea::setNeedsDisplay):
38717 (WebKit::LayerBackedDrawingArea::setSize):
38718 (WebKit::LayerBackedDrawingArea::didUpdate):
38719 (WebKit::LayerBackedDrawingArea::setRootCompositingLayer):
38720 * WebProcess/WebPage/LayerBackedDrawingArea.h:
38721 * WebProcess/WebPage/WebPage.cpp:
38722 (WebKit::WebPage::changeAcceleratedCompositingMode):
38723 (WebKit::WebPage::enterAcceleratedCompositingMode):
38724 (WebKit::WebPage::exitAcceleratedCompositingMode):
38725 * WebProcess/WebPage/WebPage.h:
38726 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
38727 (WebKit::LayerBackedDrawingArea::platformInit):
38728 (WebKit::LayerBackedDrawingArea::attachCompositingContext):
38729 (WebKit::LayerBackedDrawingArea::detachCompositingContext):
38730 (WebKit::LayerBackedDrawingArea::setRootCompositingLayer):
38732 2010-07-20 Steve Falkenburg <sfalken@apple.com>
38734 Reviewed by Adam Roben.
38736 WebKit on Windows should build optionally with an unversioned ICU DLL
38737 https://bugs.webkit.org/show_bug.cgi?id=42722
38738 <rdar://problem/8211767> WebKit needs to link against unversioned ICU
38740 To get the proper value for U_DISABLE_RENAMING into all source files, we force
38741 the include of ICUVersion.h (our generated header) via the compiler options.
38743 Since the versioned and unversioned ICU have different filenames (libicuuc.lib vs icuuc.lib)
38744 we copy the ICU lib to an intermediate location under obj with a common name. This
38745 allows us to link properly with either without adding a new build configuration.
38747 * win/WebKit2Common.vsprops:
38748 Copy ICU libs into a common location with a common name.
38749 Add additional library search path to pick up icu lib.
38750 Change ICU library filename specified to linker.
38751 Add forced include of ICUVersion.h.
38753 2010-07-21 Adam Roben <aroben@apple.com>
38757 * Shared/win/UpdateChunk.h:
38758 (WebKit::UpdateChunk::isEmpty): Added to match the Mac definition.
38760 2010-07-21 Anders Carlsson <andersca@apple.com>
38762 Land file I forgot to add.
38764 * WebProcess/com.apple.WebProcess.sb: Added.
38766 2010-07-21 Adam Roben <aroben@apple.com>
38768 Move WebKit2WebProcess's settings to a vsprops file
38770 Fixes <http://webkit.org/b/42751> WebKit2WebProcess should use vsprops
38773 Reviewed by Darin Adler.
38775 * win/WebKit2WebProcess.vcproj: Moved settings from here...
38776 * win/WebKit2WebProcessCommon.vsprops: ...to here.
38778 2010-07-20 Ivan Krstić <ike@apple.com>
38780 Reviewed and tweaked by Anders Carlsson and Sam Weinig.
38782 Put WebProcess in a sandbox. All of the following changes are
38784 <rdar://problem/7865269>
38786 * UIProcess/WebProcessProxy.cpp:
38787 (WebKit::WebProcessProxy::WebProcessProxy):
38788 Send Sandbox extension for injected bundle to WebProcess.
38790 * WebKit2.xcodeproj/project.pbxproj:
38791 Add Sandbox profile to Resources for WebProcess.
38793 * WebProcess/InjectedBundle/InjectedBundle.h:
38794 New function InjectedBundle::setSandboxToken.
38796 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
38797 (WebKit::InjectedBundle::load):
38798 Consume Sandbox token for the bundle if present.
38800 (WebKit::InjectedBundle::setSandboxToken):
38801 Set Sandbox token for the bundle.
38803 * WebProcess/WebProcess.cpp:
38804 (WebKit::WebProcess::loadInjectedBundle):
38805 Extra function parameter for Sandbox token.
38807 (WebKit::WebProcess::didReceiveMessage):
38808 Pass Sandbox token to loadInjectedBundle().
38810 * WebProcess/WebProcess.h:
38811 Extra function parameter for Sandbox token in loadInjectedBundle().
38813 * WebProcess/com.apple.WebProcess.sb: Added.
38814 Sandbox profile for WebProcess.
38816 * WebProcess/mac/WebProcessMainMac.mm:
38817 (WebKit::WebProcessMain):
38818 Initialize Sandbox, exit on failure.
38820 2010-07-20 Sam Weinig <sam@webkit.org>
38822 Reviewed by Brady Eidson.
38824 Patch for https://bugs.webkit.org/show_bug.cgi?id=42719
38825 Make Acid2 pass in WebKit2
38827 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
38828 (WebKit::WebFrameLoaderClient::objectContentType): Check for supported image mimetypes
38829 before falling back to plugins.
38831 2010-07-20 Adam Roben <aroben@apple.com>
38835 WebKit.sln builds all the same projects.
38837 Rubber-stamped in advance by Steve Falkenburg.
38839 * WebKit2.sln: Removed.
38841 2010-07-20 Adam Roben <aroben@apple.com>
38843 Make the web process break into the debugger when Ctrl-Alt-Shift is
38846 Fixes <http://webkit.org/b/42670> Would like a way to break into the
38847 debugger when the web process launches
38849 Reviewed by Anders Carlsson.
38851 * WebProcess/WebKitMain.cpp:
38852 (WebKitMain): If the Control, Alt, and Shift keys are held down in a
38853 Debug build, call DebugBreak() so that we will break into the
38856 2010-07-20 Adam Roben <aroben@apple.com>
38858 Teach Connection how to handle a slow receiver
38860 Fixes <http://webkit.org/b/42667> Assertion in
38861 Connection::sendOutgoingMessage when browser or web process is paused
38863 Reviewed by Anders Carlsson.
38865 * Platform/CoreIPC/win/ConnectionWin.cpp:
38866 (CoreIPC::Connection::sendOutgoingMessage): If WriteFile returns FALSE
38867 and the last error is ERROR_IO_PENDING, Windows will write the data as
38868 soon as the current write operation is completed. We don't need to do
38869 anything special in this case, so there's no need to assert about it.
38871 2010-07-20 Anders Carlsson <andersca@apple.com>
38873 Reviewed by Dan Bernstein.
38875 Handle WKView visibility changes
38876 <rdar://problem/7891077>
38878 * Shared/mac/UpdateChunk.h:
38879 (WebKit::UpdateChunk::isEmpty):
38880 Add convenience getter.
38882 * UIProcess/API/mac/WKView.mm:
38883 (-[WKView viewDidMoveToWindow]):
38884 Reorder the calls to _updateActiveState and _updateVisibility based on whether the view is moved to
38885 a window or away from a window.
38887 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
38888 (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
38889 Initialize m_forceRepaintWhenResumingPainting to false.
38891 (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
38892 Pass the m_forceRepaintWhenResumingPainting along to the DrawingAreaMessage::ResumePainting message.
38894 (WebKit::ChunkedUpdateDrawingAreaProxy::didSetSize):
38895 Don't try to paint empty update chunks.
38897 (WebKit::ChunkedUpdateDrawingAreaProxy::update):
38898 Don't paint the update chunk if we're not visible. Instead, make sure that the entire page is being redrawn
38899 when its shown again.
38901 * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
38902 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
38903 (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
38904 (WebKit::ChunkedUpdateDrawingArea::display):
38905 (WebKit::ChunkedUpdateDrawingArea::suspendPainting):
38906 Rename m_shouldPaint to m_isPaintingSuspended and invert its logic.
38908 (WebKit::ChunkedUpdateDrawingArea::scheduleDisplay):
38909 Don't schedule a display timer if the dirty rect is empty.
38911 (WebKit::ChunkedUpdateDrawingArea::setSize):
38912 If painting is suspended, just send back an empty update chunk in the DidSetSize message.
38914 (WebKit::ChunkedUpdateDrawingArea::resumePainting):
38915 If forceRepaint is true, repaint the entire drawing area.
38917 2010-07-20 Anders Carlsson <andersca@apple.com>
38919 Reviewed by Dan Bernstein.
38921 Implement NPN_GetURL and NPN_PostURL
38922 https://bugs.webkit.org/show_bug.cgi?id=42650
38924 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
38925 (WebKit::parsePostBuffer):
38926 Add a FIXME about deleting the file.
38928 (WebKit::makeURLString):
38929 Move this static method before NPN_GetURL.
38931 (WebKit::NPN_GetURL):
38932 Call NetscapePLugin::LoadURL.
38934 (WebKit::NPN_PostURL):
38937 (WebKit::NPN_PostURLNotify):
38938 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
38939 Remove unreached code.
38941 (WebKit::NetscapePluginStream::deliverDataToPlugin):
38942 Stop the stream if the plug-in returns -1 from NPP_Write.
38944 2010-07-19 Anders Carlsson <andersca@apple.com>
38946 Reviewed by Sam Weinig.
38948 WebKitTestRunner and WebProcess simultaneously stall in CoreIPC::Connection::sendOutgoingMessage
38949 https://bugs.webkit.org/show_bug.cgi?id=42356
38951 Up the port queue length from 5 to 1024. While this does solve the problem, we should still try to
38952 make sendOutgoingMessage not block. I've filed https://bugs.webkit.org/show_bug.cgi?id=42611 to track
38953 doing this on Mac and Windows.
38955 * Platform/CoreIPC/mac/ConnectionMac.cpp:
38956 (CoreIPC::Connection::open):
38957 Call setMachPortQueueLength.
38959 * Platform/mac/MachUtilities.cpp: Added.
38960 (setMachPortQueueLength):
38961 Given a mach port receive right, sets the port queue length.
38963 * Platform/mac/MachUtilities.h: Added.
38965 * WebKit2.xcodeproj/project.pbxproj:
38966 Add MachUtilities.cpp and MachUtilities.h
38968 2010-07-19 Anders Carlsson <andersca@apple.com>
38970 Reviewed by Darin Adler, Adam Roben, Dan Bernstein and Sam Weinig.
38972 Handle NP_ASFILE and NP_ASFILEONLY transfer modes
38973 https://bugs.webkit.org/show_bug.cgi?id=42587
38975 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
38976 (WebKit::NetscapePlugin::NPP_StreamAsFile):
38977 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
38980 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
38981 (WebKit::NetscapePluginStream::NetscapePluginStream):
38982 Initialize m_fileHandle.
38984 (WebKit::isSupportedTransferMode):
38985 NP_ASFILE and NP_ASFILEONLY is now supported.
38987 (WebKit::NetscapePluginStream::deliverData):
38988 Call deliverDataToFile if necessary.
38990 (WebKit::NetscapePluginStream::deliverDataToFile):
38991 Create a temporary file and write the data into it.
38993 (WebKit::NetscapePluginStream::stop):
38994 If the transfer mode is either NP_ASFILE or NP_ASFILEONLY, make sure to
38995 call NPP_StreamAsFile and close the file and delete it.
38997 * WebProcess/Plugins/PluginView.cpp:
38998 (WebKit::PluginView::cancelStreamLoad):
38999 Keep a reference to the Stream since cancelling it will remove it from the map.
39001 2010-07-19 Anders Carlsson <andersca@apple.com>
39003 Reviewed by Sam Weinig.
39005 Implement NPN_PostURLNotify
39006 https://bugs.webkit.org/show_bug.cgi?id=42602
39008 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
39009 (WebKit::parsePostBuffer):
39010 Read the buffer from a file if necessary and parse it.
39012 (WebKit::NPN_GetURLNotify):
39013 Add extra arguments.
39015 (WebKit::NPN_PostURLNotify):
39016 Parse the post buffer, then call NetscapePlugin::loadURL.
39018 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39019 (WebKit::NetscapePlugin::loadURL):
39020 Pass the method, the header fields and form data along.
39022 (WebKit::NetscapePlugin::allowPopups):
39023 Just return false for now.
39025 (WebKit::NetscapePlugin::initialize):
39026 Pass extra arguments to loadURL.
39028 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
39029 * WebProcess/Plugins/PluginController.h:
39030 Add method, header fields and form data.
39032 * WebProcess/Plugins/PluginView.cpp:
39033 (WebKit::PluginView::loadURL):
39034 Set the method, add the header fields and set the body.
39036 2010-07-19 Sam Weinig <sam@webkit.org>
39038 Reviewed by Darin Adler.
39040 Add local storage support for WebKit2
39041 https://bugs.webkit.org/show_bug.cgi?id=42584
39043 * Shared/WebPreferencesStore.cpp:
39044 (WebKit::WebPreferencesStore::WebPreferencesStore):
39045 (WebKit::WebPreferencesStore::swap):
39046 * Shared/WebPreferencesStore.h:
39047 (WebKit::WebPreferencesStore::encode):
39048 (WebKit::WebPreferencesStore::decode):
39049 * UIProcess/API/C/WKPreferences.cpp:
39050 (WKPreferencesSetLocalStorageEnabled):
39051 (WKPreferencesGetLocalStorageEnabled):
39052 * UIProcess/API/C/WKPreferences.h:
39053 * UIProcess/WebPreferences.cpp:
39054 (WebKit::WebPreferences::setLocalStorageEnabled):
39055 (WebKit::WebPreferences::localStorageEnabled):
39056 * UIProcess/WebPreferences.h:
39057 * WebProcess/WebPage/WebPage.cpp:
39058 (WebKit::WebPage::WebPage):
39059 (WebKit::WebPage::preferencesDidChange):
39061 2010-07-19 Simon Fraser <simon.fraser@apple.com>
39063 Reviewed by Anders Carlsson.
39065 Uae an OwnPtr for the drawing area in WebPage (fixes a leak!).
39067 * WebProcess/WebPage/WebPage.h:
39068 (WebKit::WebPage::drawingArea):
39070 2010-07-19 Anders carlsson <andersca@apple.com>
39072 Reviewed by Adam Roben.
39074 WebKit2 does not have application cache
39075 https://bugs.webkit.org/show_bug.cgi?id=42552
39077 * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
39078 (WebProcessMessage::):
39079 Add SetApplicationCacheDirectory.
39081 * Shared/WebPreferencesStore.h:
39082 (WebKit::WebPreferencesStore::encode):
39083 (WebKit::WebPreferencesStore::decode):
39084 add offlineWebApplicationCacheEnabled.
39086 * UIProcess/API/C/WKPreferences.cpp:
39087 (WKPreferencesSetOfflineWebApplicationCacheEnabled):
39088 (WKPreferencesGetOfflineWebApplicationCacheEnabled):
39089 * UIProcess/API/C/WKPreferences.h:
39090 Add getters/setters for whether the application cache is enabled.
39092 * UIProcess/WebContext.h:
39093 * UIProcess/WebPreferences.cpp:
39094 (WebKit::WebPreferences::setOfflineWebApplicationCacheEnabled):
39095 Update the store and call update().
39097 * UIProcess/WebPreferences.h:
39098 * UIProcess/WebProcessProxy.cpp:
39099 (WebKit::WebProcessProxy::WebProcessProxy):
39100 Ask the web process to set the application cache directory.
39102 * UIProcess/mac/WebContextMac.mm: Added.
39103 (WebKit::WebContext::applicationCacheDirectory):
39104 Return the application cache directory.
39106 * UIProcess/win/WebContextWin.cpp: Added.
39107 (WebKit::WebContext::applicationCacheDirectory):
39110 * WebKit2.xcodeproj/project.pbxproj:
39111 Add WebContextMac.mm
39113 * WebProcess/WebPage/WebPage.cpp:
39114 (WebKit::WebPage::preferencesDidChange):
39116 (WebKit::WebPage::didReceiveMessage):
39117 Handle PreferencesDidChange. Get rid of the default: case statement so we'll
39118 get warnings if we have unhandled message kinds.
39120 * WebProcess/WebProcess.cpp:
39121 (WebKit::WebProcess::setApplicationCacheDirectory):
39122 Set the application cache directory.
39124 (WebKit::WebProcess::didReceiveMessage):
39125 Handle SetApplicationCacheDirectory.
39127 win/WebKit2.vcproj:
39128 Add WebContextWin.cpp
39130 2010-07-18 Anders Carlsson <andersca@apple.com>
39132 Another attempt at fixing the Windows build.
39134 * WebProcess/Plugins/NPJSObjectMap.h:
39136 2010-07-18 Anders Carlsson <andersca@apple.com>
39138 Try to fix Windows build.
39140 * win/WebKit2.vcproj:
39142 2010-07-18 Anders Carlsson <andersca@apple.com>
39144 Reviewed by Sam Weinig.
39146 More NPRuntime work
39147 https://bugs.webkit.org/show_bug.cgi?id=42526
39149 * WebProcess/Plugins/NPJSObjectMap.cpp:
39150 (WebKit::identifierFromIdentifierRep):
39151 (WebKit::NPJSObject::hasProperty):
39152 Check if the JSObject has the given property.
39154 (WebKit::NPJSObject::getProperty):
39155 Add stubbed out function.
39157 (WebKit::NPJSObject::npClass):
39158 Add NP_HasProperty and NP_GetProperty.
39160 (WebKit::NPJSObject::NP_HasProperty):
39161 Call NPJSObject::hasProperty.
39163 (WebKit::NPJSObject::NP_GetProperty):
39164 Call NPJSObject::getProperty.
39166 * WebProcess/Plugins/NPRuntimeUtilities.cpp:
39167 (WebKit::releaseNPVariantValue):
39168 Release the given NPVariant.
39170 * WebProcess/Plugins/NPRuntimeUtilities.h:
39171 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
39172 (WebKit::NPN_GetProperty):
39173 Call the NPClass GetProperty function.
39175 (WebKit::NPN_HasProperty):
39176 Call the NPClass HasProperty function.
39178 (WebKit::NPN_ReleaseVariantValue):
39179 Call releaseNPVariantValue.
39181 2010-07-18 Anders Carlsson <andersca@apple.com>
39183 Reviewed by Sam Weinig.
39185 Add NPJSObjectMap class
39186 https://bugs.webkit.org/show_bug.cgi?id=42524
39188 * WebKit2.xcodeproj/project.pbxproj:
39191 * WebProcess/Plugins/NPJSObjectMap.cpp: Added.
39192 * WebProcess/Plugins/NPJSObjectMap.h: Added.
39193 Add NPJSObjectMap, a map which contains NPObjects that wrap JavaScript objects.
39195 * WebProcess/Plugins/PluginView.cpp:
39196 (WebKit::PluginView::PluginView):
39197 Initialize the map.
39199 (WebKit::PluginView::~PluginView):
39200 Invalidate the map.
39202 (WebKit::PluginView::frame):
39205 (WebKit::PluginView::windowScriptNPObject):
39206 Wrap the window object.
39208 (WebKit::PluginView::pluginElementNPObject):
39209 Wrap the plug-in element object.
39211 * WebProcess/Plugins/PluginView.h:
39213 2010-07-18 Anders Carlsson <andersca@apple.com>
39215 Reviewed by Sam Weinig.
39217 Implement more NPRuntime related NPN_ functions
39218 https://bugs.webkit.org/show_bug.cgi?id=42520
39220 * WebKit2.xcodeproj/project.pbxproj:
39221 * WebProcess/Plugins/NPRuntimeUtilities.cpp: Added.
39222 * WebProcess/Plugins/NPRuntimeUtilities.h: Added.
39223 Add new file with NPRuntime related utility functions.
39225 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
39226 (WebKit::NPN_CreateObject):
39227 (WebKit::NPN_RetainObject):
39228 (WebKit::NPN_ReleaseObject):
39229 Call the corresponding NPRuntimeUtilities functions.
39231 2010-07-18 Anders Carlsson <andersca@apple.com>
39233 Reviewed by Dan Bernstein.
39235 Begin work on NPRuntime support
39236 https://bugs.webkit.org/show_bug.cgi?id=42519
39238 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
39239 (WebKit::NPN_GetValue):
39240 Handle NPNVWindowNPObject and NPNVPluginElementNPObject.
39242 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39243 (WebKit::NetscapePlugin::windowScriptNPObject):
39244 (WebKit::NetscapePlugin::pluginElementNPObject):
39245 Call the plug-in controller.
39247 * WebProcess/Plugins/PluginController.h:
39248 Add new windowScriptNPObject and pluginElementNPObject functions.
39250 * WebProcess/Plugins/PluginView.cpp:
39251 (WebKit::PluginView::windowScriptNPObject):
39252 (WebKit::PluginView::pluginElementNPObject):
39253 Add stubbed out functions.
39255 2010-07-18 Anders Carlsson <andersca@apple.com>
39257 Reviewed by Dan Bernstein.
39259 Implement some NPRuntime related NPN_ functions
39260 https://bugs.webkit.org/show_bug.cgi?id=42518
39262 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
39263 (WebKit::NPN_GetStringIdentifier):
39264 (WebKit::NPN_GetStringIdentifiers):
39265 (WebKit::NPN_GetIntIdentifier):
39266 (WebKit::NPN_IdentifierIsString):
39267 (WebKit::NPN_UTF8FromIdentifier):
39268 (WebKit::NPN_IntFromIdentifier):
39269 (WebKit::NPN_CreateObject):
39271 2010-07-18 Anders Carlsson <andersca@apple.com>
39273 Reviewed by Dan Bernstein.
39275 Add dumping of statusbar text to WebKitTestRunner
39276 https://bugs.webkit.org/show_bug.cgi?id=42516
39278 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
39279 Add setStatusbarText callback to WKBundlePageUIClient.
39281 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
39282 (WebKit::InjectedBundlePageUIClient::setStatusbarText):
39283 Call setStatusbarText.
39285 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
39286 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
39287 (WebKit::WebChromeClient::setStatusbarText):
39288 Call the bundle page UI client.
39290 2010-07-17 Anders Carlsson <andersca@apple.com>
39292 Reviewed by Maciej Stachowiak.
39294 WebKitTestRunner should load the test plug-in
39295 https://bugs.webkit.org/show_bug.cgi?id=42509
39297 * UIProcess/API/C/WKContext.cpp:
39298 (_WKContextSetAdditionalPluginPath):
39299 Add a private function for setting a single additional plug-in path. the WebKit1 SPI that does the
39300 same thing takes an array of paths, but this is good enough for now.
39302 * UIProcess/Plugins/PluginInfoStore.cpp:
39303 (WebKit::PluginInfoStore::setAdditionalPluginPaths):
39304 Set the additional plug-in paths vector and refresh the database.
39306 (WebKit::PluginInfoStore::loadPluginsIfNecessary):
39307 First try to load plug-ins in the additional plug-in paths.
39309 * UIProcess/WebContext.cpp:
39310 (WebKit::WebContext::setAdditionalPluginPath):
39311 Call PluginInfoStore::setAdditionalPluginPaths.
39313 * UIProcess/WebContext.h:
39314 (WebKit::WebContext::pluginInfoStore):
39315 Make the plug-in info store per context instead of having a single shared info store.
39317 * UIProcess/WebProcessProxy.cpp:
39318 (WebKit::WebProcessProxy::getPlugins):
39319 (WebKit::WebProcessProxy::getPluginHostConnection):
39320 * UIProcess/WebProcessProxy.h:
39321 Get the plug-in info store from the context.
39323 2010-07-17 Anders Carlsson <andersca@apple.com>
39325 Reviewed by Dan Bernstein.
39327 Stop all NPStreams before destroying a plug-in
39328 https://bugs.webkit.org/show_bug.cgi?id=42504
39330 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39331 (WebKit::NetscapePlugin::stopAllStreams):
39332 Go through all streams and stop them.
39334 (WebKit::NetscapePlugin::destroy):
39335 Call stopAllStreams.
39337 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
39338 Add stopAllStreams.
39340 * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
39343 2010-07-17 Anders Carlsson <andersca@apple.com>
39345 Reviewed by Dan Bernstein.
39347 Open streams should not keep a plug-in view alive
39348 https://bugs.webkit.org/show_bug.cgi?id=42503
39350 PluginView::Stream now has a weak reference to its PluginView.
39352 * WebProcess/Plugins/PluginView.cpp:
39353 (WebKit::PluginView::Stream::~Stream):
39354 Assert that the plug-in view is null.
39356 (WebKit::PluginView::Stream::didFail):
39357 After calling removeStream, set the plug-in view member variable to 0. This is OK to do
39358 since we keep a reference to the Stream, so we're sure that the call to removeStream does not
39359 destroy the stream.
39361 (WebKit::PluginView::Stream::didFinishLoading):
39364 (WebKit::PluginView::~PluginView):
39365 Cancel all streams.
39367 (WebKit::PluginView::cancelAllStreams):
39368 Cancel all streams.
39370 2010-07-16 Zhe Su <suzhe@chromium.org>
39372 Reviewed by Darin Adler.
39374 REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
39375 https://bugs.webkit.org/show_bug.cgi?id=42253
39377 Dummy implementation of EditorClient::willSetInputMethodState.
39379 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
39380 (WebKit::WebEditorClient::willSetInputMethodState):
39381 * WebProcess/WebCoreSupport/WebEditorClient.h:
39383 2010-07-16 Alice Liu <alice.liu@apple.com>
39385 Build fix, not reviewed.
39387 Reverted http://trac.webkit.org/changeset/63585 because getopt isn't
39388 available in the OpenSource support libraries
39392 2010-07-16 Sam Weinig <sam@webkit.org>
39394 Reviewed by Anders Carlsson.
39396 Fix for https://bugs.webkit.org/show_bug.cgi?id=42482
39397 <rdar://problem/8197701>
39398 Add notification of when the BackForwardList changes
39399 to aid invalidation of Back/Forward related UI elements.
39401 * UIProcess/API/C/WKPage.h:
39402 Add didChangeBackForwardList to the WKPageLoaderClient. This
39403 fires whenever an item is added or removed from the back forward
39404 list or when the cursor changes position.
39406 * UIProcess/WebBackForwardList.cpp:
39407 (WebKit::WebBackForwardList::addItem):
39408 (WebKit::WebBackForwardList::goToItem):
39409 * UIProcess/WebLoaderClient.cpp:
39410 (WebKit::WebLoaderClient::didChangeBackForwardList):
39411 * UIProcess/WebLoaderClient.h:
39412 * UIProcess/WebPageProxy.cpp:
39413 (WebKit::WebPageProxy::didChangeBackForwardList):
39414 * UIProcess/WebPageProxy.h:
39415 Pipe changes to the WebBackForwardList up to the page load client.
39417 2010-07-16 Alice Liu <alice.liu@apple.com>
39419 Reviewed by Sam Weinig.
39421 Add WebKitTestRunner to the WebKit2 solution
39423 * WebKit2.sln: Add InjectedBundle and WebKitTestRunner projects. Also change the build dependency order from
39424 DumpRunderTree --> WebKitAPITest to
39425 DumpRenderTree --> InjectedBundle --> WebKitTestRunner --> WebKitAPITest
39427 2010-07-15 Anders Carlsson <andersca@apple.com>
39429 Reviewed by Dan Bernstein.
39431 Set notifyData to the stream's notification data
39432 https://bugs.webkit.org/show_bug.cgi?id=42429
39434 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
39435 (WebKit::NetscapePluginStream::start):
39437 2010-07-15 Brent Fulgham <bfulgham@webkit.org>
39439 Build fix. Don't include CoreGraphics.h on non-CG builds.
39441 * WebKit2Prefix.h: Conditionalize include of CoreGraphics.h
39442 to avoid build break on WinCairo.
39444 2010-07-15 Anders Carlsson <andersca@apple.com>
39446 Reviewed by Sam Weinig.
39448 If needed, NPN_GetURL the src URL
39449 https://bugs.webkit.org/show_bug.cgi?id=42424
39451 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39452 (WebKit::NetscapePlugin::NPP_GetValue):
39453 Add NPP_GetValue wrapper.
39455 (WebKit::NetscapePlugin::shouldLoadSrcURL):
39456 Check whether the src url should be cancelled.
39458 (WebKit::NetscapePlugin::initialize):
39459 If the src URL should be loaded, then load it.
39461 2010-07-15 Anders Carlsson <andersca@apple.com>
39463 Reviewed by Sam Weinig.
39465 Stop the plug-in stream when it's finished loading
39466 https://bugs.webkit.org/show_bug.cgi?id=42423
39468 * WebProcess/Plugins/DummyPlugin.cpp:
39469 (WebKit::DummyPlugin::streamDidFinishLoading):
39470 * WebProcess/Plugins/DummyPlugin.h:
39473 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39474 (WebKit::NetscapePlugin::streamDidFinishLoading):
39475 Call NetscapePluginStream::didFinishLoading.
39477 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
39478 (WebKit::NetscapePluginStream::didFinishLoading):
39479 Stop the stream with NPRES_DONE.
39481 * WebProcess/Plugins/Plugin.h:
39482 Add streamDidFinishLoading.
39484 * WebProcess/Plugins/PluginView.cpp:
39485 (WebKit::PluginView::Stream::didFinishLoading):
39486 Call Plugin::streamDidFinishLoading.
39488 2010-07-15 Anders Carlsson <andersca@apple.com>
39490 Reviewed by Sam Weinig.
39492 Pass URL stream data to the plug-in
39493 https://bugs.webkit.org/show_bug.cgi?id=42420
39495 * WebProcess/Plugins/DummyPlugin.cpp:
39496 (WebKit::DummyPlugin::streamDidReceiveData):
39497 * WebProcess/Plugins/DummyPlugin.h:
39500 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39501 (WebKit::NetscapePlugin::streamDidReceiveData):
39502 Call NetscapePluginStream::didReceiveData.
39504 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
39505 (WebKit::NetscapePluginStream::didReceiveData):
39506 Deliver the data to the plug-in.
39508 * WebProcess/Plugins/Plugin.h:
39509 Add pure virtual streamDidReceiveData member function.
39511 * WebProcess/Plugins/PluginView.cpp:
39512 (WebKit::PluginView::Stream::didReceiveData):
39513 Call Plugin::streamDidReceiveData.
39515 2010-07-15 Anders Carlsson <andersca@apple.com>
39517 Reviewed by Sam Weinig.
39519 Handle failed loads correctly
39520 https://bugs.webkit.org/show_bug.cgi?id=42418
39522 * WebProcess/Plugins/DummyPlugin.cpp:
39523 (WebKit::DummyPlugin::streamDidFail):
39524 * WebProcess/Plugins/DummyPlugin.h:
39527 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39528 (WebKit::NetscapePlugin::streamDidFail):
39529 Call NetscapePluginStream::didFail.
39531 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
39532 (WebKit::NetscapePluginStream::didReceiveResponse):
39533 Take a reference to the plug-in stream in case starting it causes it to be destroyed.
39535 (WebKit::NetscapePluginStream::didFail):
39536 Take a reference to the plug-in stream in case stopping it causes it to be destroyed.
39538 (WebKit::NetscapePluginStream::destroy):
39541 (WebKit::NetscapePluginStream::start):
39542 If we fail to start the stream, cancel the load.
39544 (WebKit::NetscapePluginStream::cancel):
39545 Call NetscapePlugin::cancelStreamLoad.
39547 (WebKit::NetscapePluginStream::notifyAndDestroyStream):
39548 Don't call cancel here. notifyAndDestroyStream can be called when we don't want to cancel the
39549 load, such as when it's already failed to load.
39551 * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
39554 * WebProcess/Plugins/Plugin.h:
39555 Add pure virtual streamDidFail member function.
39557 * WebProcess/Plugins/PluginView.cpp:
39558 (WebKit::PluginView::Stream::Stream):
39559 Initialize m_streamWasCancelled to false.
39561 (WebKit::PluginView::Stream::cancel):
39562 Set m_streamWasCancelled to true.
39564 (WebKit::PluginView::Stream::didFail):
39565 Call Plugin::streamDidFail.
39567 2010-07-15 Sam Weinig <sam@webkit.org>
39569 Reviewed by Anders Carlsson.
39571 Fix for https://bugs.webkit.org/show_bug.cgi?id=42358
39572 <rdar://problem/8194512>
39573 Hyphenation tests crash the Web process
39575 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
39576 (InitWebCoreSystemInterface): Add missing initializer.
39578 2010-07-15 Anders Carlsson <andersca@apple.com>
39580 Attempt to fix the Windows build.
39582 * WebProcess/Plugins/PluginView.cpp:
39583 (WebKit::PluginView::Stream::didReceiveResponse):
39584 expectedContentLength should be a signed long long.
39586 2010-07-15 Anders Carlsson <andersca@apple.com>
39588 Reviewed by Sam Weinig.
39590 Cancel stream loads when destroying NetscapePluginStreams
39591 https://bugs.webkit.org/show_bug.cgi?id=42413
39593 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39594 (WebKit::NetscapePlugin::cancelStreamLoad):
39595 Call PluginController::cancelStreamLoad.
39597 (WebKit::NetscapePlugin::streamDidReceiveResponse):
39598 Call NetscapePluginStream::didReceiveResponse.
39600 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
39601 (WebKit::NetscapePluginStream::didReceiveResponse):
39602 Try to start the stream.
39604 (WebKit::NetscapePluginStream::sendJavaScriptStream):
39605 Don't stop the stream if it can't be started. start handles that now.
39607 (WebKit::isSupportedTransferMode):
39608 Return whether the given transfer mode is supported.
39610 (WebKit::NetscapePluginStream::start):
39611 If the stream fails to start, call notifyAndDestroyStream. If it starts successfully but has
39612 an unsupported transfer mode, call stop.
39614 (WebKit::NetscapePluginStream::notifyAndDestroyStream):
39615 Cancel the stream load unless it's being destroyed because it has finished loading.
39617 * WebProcess/Plugins/PluginController.h:
39618 Add cancelStreamLoad pure virtual member function.
39620 * WebProcess/Plugins/PluginView.cpp:
39621 (WebKit::PluginView::Stream::cancel):
39622 Tell the stream loader to cancel and null it out.
39624 (WebKit::PluginView::cancelStreamLoad):
39625 Get the stream and cancel it.
39627 * WebProcess/Plugins/PluginView.h:
39629 2010-07-15 Anders Carlsson <andersca@apple.com>
39631 Reviewed by Sam Weinig.
39633 Start loading plug-in streams
39634 https://bugs.webkit.org/show_bug.cgi?id=42407
39636 * WebProcess/Plugins/DummyPlugin.cpp:
39637 (WebKit::DummyPlugin::streamDidReceiveResponse):
39638 * WebProcess/Plugins/DummyPlugin.h:
39641 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39642 (WebKit::NetscapePlugin::streamDidReceiveResponse):
39643 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
39646 * WebProcess/Plugins/Plugin.h:
39647 Add streamDidReceiveResponse pure virtual member function.
39649 * WebProcess/Plugins/PluginView.cpp:
39650 Make PluginView::Stream a NetscapePlugInStreamLoaderClient.
39652 (WebKit::PluginView::Stream::start):
39653 Create a plug-in loader and start loading.
39655 (WebKit::PluginView::Stream::didReceiveResponse):
39656 Get the necessary data out of the resource response and call streamDidReceiveResponse.
39658 (WebKit::PluginView::Stream::didReceiveData):
39659 (WebKit::PluginView::Stream::didFail):
39660 (WebKit::PluginView::Stream::didFinishLoading):
39663 2010-07-15 Sam Weinig <sam@webkit.org>
39665 Reviewed by Anders Carlsson.
39667 Patch for https://bugs.webkit.org/show_bug.cgi?id=42396
39668 Give the navigation type in the policy client callbacks meaning.
39670 - Use the new WKFrameNavigationType instead of just uint32_t.
39672 * UIProcess/API/C/WKAPICast.h:
39674 Add conversion method from WebCore::NavigationType to WKFrameNavigationType.
39675 * UIProcess/API/C/WKPage.h:
39676 * UIProcess/WebPageProxy.cpp:
39677 (WebKit::WebPageProxy::didReceiveMessage):
39678 (WebKit::WebPageProxy::decidePolicyForNavigationAction):
39679 (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
39680 * UIProcess/WebPageProxy.h:
39681 * UIProcess/WebPolicyClient.cpp:
39682 (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
39683 (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
39684 * UIProcess/WebPolicyClient.h:
39685 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
39687 2010-07-15 Anders Carlsson <andersca@apple.com>
39689 Reviewed by Sam Weinig.
39691 Add a PluginView::Stream class
39692 https://bugs.webkit.org/show_bug.cgi?id=42398
39694 * WebProcess/Plugins/PluginView.cpp:
39695 Add the Stream class.
39697 (WebKit::PluginView::performURLRequest):
39698 Create the stream and start it.
39700 (WebKit::PluginView::addStream):
39701 Add the stream to the map.
39703 (WebKit::PluginView::removeStream):
39704 Remove the stream from the map.
39706 * WebProcess/Plugins/PluginView.h:
39707 Add Stream forward declaration and the m_streams map.
39709 2010-07-15 Anders Carlsson <andersca@apple.com>
39711 Reviewed by Sam Weinig.
39713 Don't allow multiple calls to NetscapePluginStream::stop
39714 https://bugs.webkit.org/show_bug.cgi?id=42395
39716 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
39717 (WebKit::NetscapePluginStream::NetscapePluginStream):
39718 Initialize m_urlNotifyHasBeenCalled.
39720 (WebKit::NetscapePluginStream::~NetscapePluginStream):
39721 Assert that the stream didn't need a URL notification or that one was sent.
39723 (WebKit::NetscapePluginStream::sendJavaScriptStream):
39724 Don't call stop in the JS failure case because the stream won't be started.
39726 (WebKit::NetscapePluginStream::stop):
39727 Remove m_isStarted check and add an assertion instead. Move code that calls NPP_URLNotify and
39728 destroys the stream out to a separate function.
39730 (WebKit::NetscapePluginStream::notifyAndDestroyStream):
39731 Call NPP_URLNotify if necessary and destroy the stream.
39733 * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
39735 2010-07-15 Anders Carlsson <andersca@apple.com>
39737 Reviewed by Sam Weinig.
39739 Implement NPN_DestroyStream
39740 https://bugs.webkit.org/show_bug.cgi?id=42393
39742 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
39743 (WebKit::NPN_DestroyStream):
39744 Call NetscapePlugin::destroyStream.
39746 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39747 (WebKit::NetscapePlugin::destroyStream):
39748 Check if the stream is valid, and if it is call NetscapePluginStream::destroy.
39750 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
39751 (WebKit::NetscapePluginStream::sendJavaScriptStream):
39752 Keep a reference to the stream in case it's destroyed by an NPP_ call.
39754 (WebKit::NetscapePluginStream::destroy):
39755 Verify that the stream can be destroyed and stop it.
39757 (WebKit::NetscapePluginStream::deliverDataToPlugin):
39758 Add m_isStarted checks after any calls to NPP_ functions.
39760 (WebKit::NetscapePluginStream::stop):
39761 Set m_isStarted to false before calling NPP_DestroyStream.
39763 * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
39764 (WebKit::NetscapePluginStream::npStream):
39765 Add NPStream getter.
39767 2010-07-15 Anders Carlsson <andersca@apple.com>
39769 Reviewed by Darin Adler.
39771 WebKitTestRunner goes off the deep end, spinning in a dispatch queue thread
39772 https://bugs.webkit.org/show_bug.cgi?id=42355
39774 Sometimes, when receiving a message whose size is very close to the inlineMessageMaxSize,
39775 mach_msg would return with MACH_RCV_TOO_LARGE. In debug builds we would assert, but in release
39776 builds we would just bail and the receiveSourceEventHandler would be run again shortly since we didn't
39777 actually pull the message off the mach message queue.
39779 Fix this by setting the receive source buffer size to include the maximum message trailer size, which
39780 mach_msg requires. Also, handle mach_msg returning MACH_RCV_TOO_LARGE (even though in theory it would never happen
39781 now that the receivedBufferSize always includes the maximum message trailer size.
39783 * Platform/CoreIPC/mac/ConnectionMac.cpp:
39784 (CoreIPC::Connection::receiveSourceEventHandler):
39785 Use a Vector with inline data instead of a char array. This way we can resize the Vector if the message received
39788 2010-07-15 Anders Carlsson <andersca@apple.com>
39790 Reviewed by Darin Adler.
39792 Send JavaScript stream data to plug-ins
39793 https://bugs.webkit.org/show_bug.cgi?id=42384
39795 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39796 (WebKit::NetscapePlugin::NPP_WriteReady):
39797 (WebKit::NetscapePlugin::NPP_Write):
39798 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
39801 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
39802 (WebKit::NetscapePluginStream::NetscapePluginStream):
39803 Initialize m_deliveryDataTimer and m_stopstreamWhenDoneDelivering.
39805 (WebKit::NetscapePluginStream::sendJavaScriptStream):
39806 Call deliverData and stop.
39808 (WebKit::NetscapePluginStream::deliverData):
39809 Add the data to m_deliveryData and call deliverDataToPlugin.
39811 (WebKit::NetscapePluginStream::deliverDataToPlugin):
39812 Deliver the data in m_deliveryData to the plug-in. Call NPP_WriteReady to see how much
39813 data the plug-in can handle right now. If the plug-in returns zero or a negative value, delay the
39814 delivery using the delivery data timer. Otherwise, call NPP_Write in chunks until all the data has been
39815 delivered, then stop the stream if needed.
39817 (WebKit::NetscapePluginStream::stop):
39818 If the reason for stopping the stream is that it's finished and the plug-in hasn't processed all the data,
39819 don't close the stream now. Instead, set m_stopStreamWhenDoneDelivering to true which will cause the stream to be
39820 closed once all data has been delivered.
39822 * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
39823 Add member functions and member variables.
39825 2010-07-14 Brent Fulgham <bfulgham@webkit.org>
39827 Reviewed by Steve Falkenburg.
39829 Patch for https://bugs.webkit.org/show_bug.cgi?id=42299
39830 Correct WinCairo build for new WebKit2 project structure.
39832 * win/WebKit2Apple.vsprops: Put WebKit2.def here.
39833 * win/WebKit2CFLite.def: Added CFLite version of def file.
39834 * win/WebKit2CFLite.vsprops: Add new WebKit2CFLite.def here.
39835 * win/WebKit2Common.vsprops: Remove WebKit2.def definition as
39836 WinCairo and Apple need different versions of this.
39837 * win/WebKit2WebProcess.vcproj: Add a new Debug_Cairo target
39838 for the WebKit2WebProcess project.
39840 2010-07-15 Mark Rowe <mrowe@apple.com>
39842 Update the sorting in the Xcode project files.
39844 * WebKit2.xcodeproj/project.pbxproj:
39846 2010-07-14 Sam Weinig <sam@webkit.org>
39848 Reviewed by Dan Bernstein.
39850 Patch for https://bugs.webkit.org/show_bug.cgi?id=42315
39851 <rdar://problem/8185281>
39852 All text in WebKit2 draws with no subpixel antialiasing
39854 - Change CGBitmapInfo passed to CGBitmapContextCreate and CGImageCreate
39855 from kCGImageAlphaPremultipliedLast to kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host.
39857 * Shared/mac/UpdateChunk.cpp:
39858 (WebKit::UpdateChunk::createImage):
39859 * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
39860 (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
39861 * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp:
39862 (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
39864 2010-07-14 Maciej Stachowiak <mjs@apple.com>
39866 Reviewed by Mark Rowe.
39868 - Fix WebKitTestRunner build
39870 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add stdint.h include.
39872 2010-07-14 Anders Carlsson <andersca@apple.com>
39874 Try to fix Windows build.
39876 * win/WebKit2.vcproj:
39878 2010-07-14 Anders Carlsson <andersca@apple.com>
39880 Reviewed by Sam Weinig.
39882 More work on plug-in streams
39883 https://bugs.webkit.org/show_bug.cgi?id=42308
39885 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39886 (WebKit::NetscapePlugin::loadURL):
39887 If the target is null, create a NetscapePluginStream and add it to the m_streams map.
39889 (WebKit::NetscapePlugin::removePluginStream):
39890 Remove the given NetscapePluginStream from the m_streams map.
39892 (WebKit::NetscapePlugin::NPP_NewStream):
39893 (WebKit::NetscapePlugin::NPP_DestroyStream):
39896 (WebKit::NetscapePlugin::streamFromID):
39897 Return the plug-in stream given a stream ID.
39899 (WebKit::NetscapePlugin::didEvaluateJavaScript):
39900 Find the plug-in stream and call sendJavaScriptStream.
39902 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
39903 (WebKit::NetscapePluginStream::NetscapePluginStream):
39904 Initialize member variables.
39906 (WebKit::NetscapePluginStream::~NetscapePluginStream):
39907 Assert that we aren't started.
39909 (WebKit::NetscapePluginStream::sendJavaScriptStream):
39910 If the JavaScript request was successful, start the stream. Otherwise call stop() which just
39911 ends up calling NPP_URLNotify when the stream isn't started.
39913 (WebKit::NetscapePluginStream::start):
39914 Set up the NPStream object. Call NPP_NewStream. Return false if the call was not successful, or if
39915 the requested stream type is one that we don't yet support.
39917 (WebKit::NetscapePluginStream::stop):
39918 Call NPP_DestroyStream if the stream is started. Call NPP_URLNotify if necessary.
39920 * WebProcess/Plugins/PluginView.cpp:
39921 (WebKit::PluginView::performJavaScriptURLRequest):
39922 Remove unneeded comment.
39924 2010-07-14 Sam Weinig <sam@webkit.org>
39926 Reviewed by John Sullivan.
39928 Make Back/Forward work.
39930 * UIProcess/WebPageProxy.cpp:
39931 (WebKit::WebPageProxy::goForward): Pass the item ID to avoid roundtrip.
39932 (WebKit::WebPageProxy::goBack): Ditto.
39933 (WebKit::WebPageProxy::didReceiveMessage): Implement WebPageProxyMessage::BackForwardGoToItem.
39934 * WebProcess/WebPage/WebPage.cpp:
39935 (WebKit::WebPage::WebPage):
39936 (WebKit::WebPage::goForward): Use m_page->goToItem with the correct type instead of the Page shortcut.
39937 (WebKit::WebPage::goBack): Ditto.
39938 (WebKit::WebPage::didReceiveMessage):
39939 * WebProcess/WebPage/WebPage.h:
39940 Remove unused m_canGoBack and m_canGoForward.
39942 2010-07-14 Anders Carlsson <andersca@apple.com>
39944 Reviewed by Darin Adler.
39946 Add NetscapePluginStream class
39947 https://bugs.webkit.org/show_bug.cgi?id=42296
39949 * WebKit2.xcodeproj/project.pbxproj:
39950 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: Added.
39951 (WebKit::NetscapePluginStream::NetscapePluginStream):
39952 (WebKit::NetscapePluginStream::~NetscapePluginStream):
39953 * WebProcess/Plugins/Netscape/NetscapePluginStream.h: Added.
39954 (WebKit::NetscapePluginStream::create):
39956 2010-07-14 Sam Weinig <sam@webkit.org>
39958 Reviewed by Darin Adler.
39960 Patch for https://bugs.webkit.org/show_bug.cgi?id=42297
39961 <rdar://problem/8187355>
39962 Make titles in WebBackForwardListItems work.
39964 - Make WebBackForwardListItemMap per WebProcessProxy to allow updating
39965 them separate from a page. They are conceptually per process anyway.
39966 - Add a message to add or update a WebBackForwardListItemMap triggered
39967 by the WebCore::notifyHistoryItemChanged mechanism.
39969 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
39970 (WebProcessProxyMessage::):
39971 Add AddOrUpdateBackForwardItem message.
39973 * UIProcess/WebBackForwardListItem.h:
39974 (WebKit::WebBackForwardListItem::setOriginalURL):
39975 (WebKit::WebBackForwardListItem::setURL):
39976 (WebKit::WebBackForwardListItem::setTitle):
39979 * UIProcess/WebPageProxy.cpp:
39980 (WebKit::WebPageProxy::didReceiveMessage):
39981 BackForwardAddItem now assumes the item has already been created, so
39982 now just forwards the add message onto the WebBackForwardList.
39984 (WebKit::WebPageProxy::addItemToBackForwardList): Take a WebBackForwardList instead of an ID.
39985 (WebKit::WebPageProxy::goToItemInBackForwardList): Ditto.
39986 * UIProcess/WebPageProxy.h: Ditto.
39988 * UIProcess/WebProcessProxy.cpp:
39989 (WebKit::WebProcessProxy::webBackForwardItem):
39990 (WebKit::WebProcessProxy::addOrUpdateBackForwardListItem):
39991 (WebKit::WebProcessProxy::didReceiveMessage):
39992 (WebKit::WebProcessProxy::didReceiveSyncMessage):
39993 * UIProcess/WebProcessProxy.h:
39994 Have the WebProcessProxy manage the WebBackForwardListItems.
39996 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
39997 (WebKit::updateBackForwardItem):
39998 (WebKit::WK2NotifyHistoryItemChanged): Use this to notify UIProcess
39999 of HistoryItem changes (such as the title being added).
40000 (WebKit::WebBackForwardListProxy::WebBackForwardListProxy):
40001 Register the notifyHistoryItemChanged function.
40002 (WebKit::WebBackForwardListProxy::addItem):
40003 Just send the ID as the updateBackForwardItem is already going to have
40004 been called by this time.
40006 2010-07-14 Anders Carlsson <andersca@apple.com>
40008 Reviewed by Sam Weinig.
40010 Call NPN_URLNotify for frame loads initiated by plug-ins
40011 https://bugs.webkit.org/show_bug.cgi?id=42291
40013 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
40014 (WebKit::NetscapePlugin::loadURL):
40015 If needed, keep track of the request ID and URL so we can call NPP_URLNotify at a later point.
40017 (WebKit::NetscapePlugin::frameDidFinishLoading):
40018 Get the notification data and the URL from the map and call NPP_URLNotify.
40020 (WebKit::NetscapePlugin::frameDidFail):
40021 Get the notification data and the URL from the map and call NPP_URLNotify.
40023 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
40025 2010-07-14 Anders Carlsson <andersca@apple.com>
40027 Reviewed by Sam Weinig.
40029 Add NetscapePlugin::NPP_ member functions for calling into the plug-in
40030 https://bugs.webkit.org/show_bug.cgi?id=42287
40032 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
40033 (WebKit::NetscapePlugin::NPP_New):
40034 (WebKit::NetscapePlugin::NPP_Destroy):
40035 (WebKit::NetscapePlugin::NPP_SetWindow):
40036 (WebKit::NetscapePlugin::NPP_URLNotify):
40037 (WebKit::NetscapePlugin::callSetWindow):
40038 (WebKit::NetscapePlugin::initialize):
40039 (WebKit::NetscapePlugin::destroy):
40040 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
40042 2010-07-14 Anders Carlsson <andersca@apple.com>
40044 Reviewed by Sam Weinig.
40046 Send JavaScript url request results back to the plug-in
40047 https://bugs.webkit.org/show_bug.cgi?id=42277
40049 * WebProcess/Plugins/DummyPlugin.cpp:
40050 (WebKit::DummyPlugin::didEvaluateJavaScript):
40051 * WebProcess/Plugins/DummyPlugin.h:
40054 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
40055 (WebKit::NetscapePlugin::didEvaluateJavaScript):
40056 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
40059 * WebProcess/Plugins/Plugin.h:
40060 Add didEvaluateJavaScript pure virtual member function.
40062 * WebProcess/Plugins/PluginView.cpp:
40063 (WebKit::PluginView::performJavaScriptURLRequest):
40064 If target is not null, Call Plugin::frameDidFail or Plugin::frameDidFinishLoading.
40065 If target is null, call didEvaluateJavaScript with the result string.
40067 2010-07-14 Sam Weinig <sam@webkit.org>
40069 Reviewed by Darin Adler.
40071 Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
40072 Make changing Cursors work in WebKit2.
40074 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
40075 Add SetCursor message.
40077 * Shared/WebCoreArgumentCoders.h:
40078 Add encoding/decoding of Cursors. For now we don't support Custom
40081 * UIProcess/API/mac/PageClientImpl.h:
40082 * UIProcess/API/mac/PageClientImpl.mm:
40083 (WebKit::PageClientImpl::setCursor):
40084 * UIProcess/PageClient.h:
40085 Add pass through functions to get the cursor from the WebPageProxy
40088 * UIProcess/API/mac/WKView.mm:
40089 (-[WKView _setCursor:]):
40090 * UIProcess/API/mac/WKViewInternal.h:
40091 Implement changing the cursor.
40093 * UIProcess/WebPageProxy.cpp:
40094 (WebKit::WebPageProxy::didReceiveMessage):
40095 (WebKit::WebPageProxy::setCursor):
40096 * UIProcess/WebPageProxy.h:
40099 * UIProcess/win/WebView.cpp:
40100 (WebKit::WebView::wndProc):
40101 (WebKit::WebView::WebView):
40102 (WebKit::WebView::onSetCursor):
40103 (WebKit::WebView::setCursor):
40104 * UIProcess/win/WebView.h:
40105 Implement changing the cursor.
40107 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
40108 (WebKit::WebChromeClient::setCursor):
40109 (WebKit::WebChromeClient::setLastSetCursorToCurrentCursor):
40110 * WebProcess/WebCoreSupport/WebChromeClient.h:
40111 Encode the cursor when setCursor is called.
40113 2010-07-13 Anders Carlsson <andersca@apple.com>
40115 Reviewed by Sam Weinig.
40117 Add support for loading javascript: URLs
40118 https://bugs.webkit.org/show_bug.cgi?id=42221
40120 * WebProcess/Plugins/DummyPlugin.cpp:
40121 (WebKit::DummyPlugin::controller):
40122 * WebProcess/Plugins/DummyPlugin.h:
40125 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
40126 (WebKit::NetscapePlugin::destroy):
40127 Set the plug-in controller to 0.
40129 (WebKit::NetscapePlugin::controller):
40130 Return the plug-in controller.
40132 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
40133 Add controller() member function.
40135 * WebProcess/Plugins/Plugin.h:
40136 Add controller() pure virtual member function.
40138 * WebProcess/Plugins/PluginView.cpp:
40139 (WebKit::PluginView::performURLRequest):
40140 If the given URL request has a javascript: protocol, call
40141 performJavaScriptURLRequest.
40143 (WebKit::PluginView::performFrameLoadURLRequest):
40144 Add a security origin check.
40146 (WebKit::PluginView::performJavaScriptURLRequest):
40147 Evaluate the JavaScript code, Get the resulting string.
40149 * WebProcess/Plugins/PluginView.h:
40150 Add performJavaScriptURLRequest.
40152 2010-07-13 Anders Carlsson <andersca@apple.com>
40154 Reviewed by Sam Weinig.
40156 Add support for URL frame loading using NPN_GetURLNotify
40157 https://bugs.webkit.org/show_bug.cgi?id=42192
40159 * WebProcess/Plugins/DummyPlugin.cpp:
40160 (WebKit::DummyPlugin::frameDidFinishLoading):
40161 (WebKit::DummyPlugin::frameDidFail):
40162 * WebProcess/Plugins/DummyPlugin.h:
40165 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
40166 Implement NPN_GetURLNotify and have it call NetscapePlugin::loadURL.
40168 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
40169 (WebKit::NetscapePlugin::NetscapePlugin):
40170 Initialize m_nextRequestID to 0.
40172 (WebKit::NetscapePlugin::loadURL):
40173 Ask the plug-in controller to load the URL.
40175 (WebKit::NetscapePlugin::frameDidFinishLoading):
40176 (WebKit::NetscapePlugin::frameDidFail):
40177 Add empty stubs for now.
40179 * WebProcess/Plugins/Plugin.h:
40180 Add new member functions for frame load notifications.
40182 * WebProcess/Plugins/PluginController.h:
40185 * WebProcess/Plugins/PluginView.cpp:
40186 (WebKit::PluginView::URLRequest::URLRequest):
40187 Add class that represents an URL request.
40189 (WebKit::PluginView::PluginView):
40190 Initialize m_pendingURLRequestsTimer.
40192 (WebKit::PluginView::~PluginView):
40193 Unset all active load listeners.
40195 (WebKit::PluginView::pendingURLRequestsTimerFired):
40196 Take the first request in the queue and process it.
40198 (WebKit::PluginView::performURLRequest):
40199 Call performFrameLoadURLRequest if necessary.
40201 (WebKit::PluginView::performFrameLoadURLRequest):
40202 Find a frame to load the request in. If a frame doesn't exist try to create a new frame.
40204 (WebKit::PluginView::loadURL):
40205 Create a URLRequest and add it to the queue.
40207 (WebKit::PluginView::didFinishLoad):
40208 Get the pending frame load request and call Plugin::frameDidFinishLoading.
40210 (WebKit::PluginView::didFailLoad):
40211 Get the pending frame load request and call Plugin::frameDidFail.
40213 * WebProcess/Plugins/PluginView.h:
40214 Inherit from WebFrame::LoadListener.
40216 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
40217 (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
40218 (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
40219 (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
40220 (WebKit::WebFrameLoaderClient::didFinishLoad):
40221 Call the WebFrame's load listener if needed.
40223 * WebProcess/WebPage/WebFrame.cpp:
40224 (WebKit::WebFrame::WebFrame):
40225 Initialize m_loadListener to 0.
40227 * WebProcess/WebPage/WebFrame.h:
40228 Add a LoadListener class that the plug-in view can use to track frame loads.
40230 (WebKit::WebFrame::LoadListener::~LoadListener):
40231 (WebKit::WebFrame::setLoadListener):
40232 (WebKit::WebFrame::loadListener):
40234 2010-07-13 Diego Gonzalez <diegohcg@webkit.org>
40236 Reviewed by Kenneth Rohde Christiansen.
40238 [Qt] [WebKit2] Hook up navigation actions
40239 https://bugs.webkit.org/show_bug.cgi?id=42183
40241 Make Back, Forward, Stop and Reload being enable/disabled according
40244 * UIProcess/API/qt/ClientImpl.cpp:
40245 (qt_wk_didStartProvisionalLoadForFrame):
40246 (qt_wk_didCommitLoadForFrame):
40247 (qt_wk_didFinishLoadForFrame):
40248 (qt_wk_didFailLoadWithErrorForFrame):
40249 * UIProcess/API/qt/qwkpage.cpp:
40250 (QWKPagePrivate::updateAction):
40252 2010-07-13 John Sullivan <sullivan@apple.com>
40254 Written by Simon Fraser, reviewed by me.
40256 Cleaner fix for previous check-in.
40258 * UIProcess/WebBackForwardList.cpp:
40259 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
40260 Use std::max<int> for int-casting brevity.
40262 2010-07-13 John Sullivan <sullivan@apple.com>
40264 Reviewed by Sam Weinig.
40266 Fixed signed/unsigned problem that led to bogus contents in the array
40267 returned by WKBackForwardListCopyBackListWithLimit().
40269 * UIProcess/WebBackForwardList.cpp:
40270 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
40271 Cast m_current and limit to signed values in std::max call.
40273 2010-07-13 Steve Falkenburg <sfalken@apple.com>
40275 Reviewed by Ada Chan.
40277 Fix missing resources causing layout test failures
40278 https://bugs.webkit.org/show_bug.cgi?id=42179
40280 Quick fix to get the layout tests going again.
40281 I'll work on getting resource.h from WebKit into a cross-project
40282 propagated header after this lands.
40285 * win/resource.h: Copied from WebKit/win/WebKit.vcproj/resource.h.
40287 2010-07-13 Anders Carlsson <andersca@apple.com>
40289 Reviewed by Adam Roben.
40291 Make all NPN_ functions static.
40293 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
40295 2010-07-13 Anders Carlsson <andersca@apple.com>
40297 Reviewed by Adam Roben.
40299 Document the member functions of the abstract Plugin and PluginController classes.
40301 * WebProcess/Plugins/Plugin.h:
40302 * WebProcess/Plugins/PluginController.h:
40304 2010-07-13 Simon Hausmann <simon.hausmann@nokia.com>
40306 [Qt] Trivial build fix.
40308 Provide a stub for mimeTypeFromExtension() that uses notImplemented().
40310 * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
40311 (WebKit::PluginInfoStore::mimeTypeFromExtension):
40313 2010-07-13 Simon Hausmann <simon.hausmann@nokia.com>
40315 Reviewed by Kenneth Rohde Christiansen.
40317 [Qt] Tweaks needed to compile WebKit2 with Qt
40318 https://bugs.webkit.org/show_bug.cgi?id=41604
40320 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
40321 (WebKit::ProcessLauncherHelper::launch): Adjust to PassOwnPtr API changes.
40322 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Don't include JavaScriptCore.h,
40323 as it unconditionally includes JSStringRefCF. Instead include JavaScript.h.
40325 2010-07-12 Steve Falkenburg <sfalken@apple.com>
40328 Don't build MiniBrowser except for Debug_Internal.
40332 2010-07-12 Steve Falkenburg <sfalken@apple.com>
40334 Reviewed by Maciej Stachowiak.
40336 Make WebKit2 be built by build-webkit (so it will be built by build.webkit.org bots)
40337 https://bugs.webkit.org/show_bug.cgi?id=40922
40339 Add additional dependent projects. Necessary since our WebKit build on
40340 Windows is packaged into a DLL with WebKit2.
40344 2010-07-12 Mark Rowe <mrowe@apple.com>
40346 Rubber-stamped by Maciej Stachowiak.
40348 Fix WebKit2 to use the same compiler-selection logic as the other projects.
40350 * WebKit2.xcodeproj/project.pbxproj: Don't hard-code WebKit2 to build with GCC 4.2.
40352 2010-07-12 Maciej Stachowiak <mjs@apple.com>
40354 Reviewed by Anders Carlsson.
40356 WKView should override setFrameSize: instead of setFrame:
40357 https://bugs.webkit.org/show_bug.cgi?id=42127
40359 * UIProcess/API/mac/WKView.mm:
40360 (-[WKView setFrameSize:]): Override this method instead of setFrame:,
40361 since that is the right way to do it.
40363 2010-07-12 Steve Falkenburg <sfalken@apple.com>
40365 Reviewed by Alice Liu.
40367 <rdar://problem/8113038> WebKit1 and WebKit2 should build as a single DLL
40368 https://bugs.webkit.org/show_bug.cgi?id=40921
40370 Pre-WebKit2 WebKit now builds into a static library named WebKitLib.lib.
40371 WebKit.dll now links in WebCore.lib, WebKitLib.lib and WebKit2 code.
40373 This is a first step. We'll likely want to migrate the remainder of
40374 the non-deprecated WebKit code (strings, DLLMain, resources) into WebKit2.
40376 * UIProcess/API/C/WKBase.h: Updated to new BUILDING_ name.
40377 * WebProcess/InjectedBundle/API/c/WKBundleBase.h: Updated to new BUILDING_ name.
40378 * WebProcess/WebCoreSupport/win/WebCoreLocalizedStrings.cpp: Removed.
40379 * WebProcess/win/DllMain.cpp: Removed. Overlaps with implementation in WebKitLib.lib.
40380 * WebProcess/win/WebLocalizableStrings.cpp: Removed. Overlaps with implementation in WebKitLib.lib.
40381 * WebProcess/win/WebLocalizableStrings.h: Removed. Overlaps with implementation in WebKitLib.lib.
40382 * win/WebKit2.def: Added. Copied from WebKit project.
40383 * win/WebKit2.rc: Added resources previously in WebKit.
40384 * win/WebKit2.vcproj: Changed project name to WebKit so we will link output to WebKit.dll.
40385 Removed implementations overlapping with WebKitLib (WebCoreLocalizedStrings, DllMain, WebLocalizableStrings, WebProcessMain).
40386 * win/WebKit2Common.vsprops: Use a framework name of WebKit instead of WebKit2 to reflect project name.
40387 Renamed BUILDING_WEBKIT2 to BUILDING_WEBKIT since there is now just a single WebKit.dll.
40388 * win/WebKit2WebProcess.vcproj: Link against WebKit instead of WebKit2 due to renaming.
40389 * win/deleteButton.png: Copied from ../WebKit/win/WebKit.vcproj/deleteButton.png.
40390 * win/deleteButtonPressed.png: Copied from ../WebKit/win/WebKit.vcproj/deleteButtonPressed.png.
40391 * win/fsVideoAudioVolumeHigh.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoAudioVolumeHigh.png.
40392 * win/fsVideoAudioVolumeLow.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoAudioVolumeLow.png.
40393 * win/fsVideoExitFullscreen.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoExitFullscreen.png.
40394 * win/fsVideoPause.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoPause.png.
40395 * win/fsVideoPlay.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoPlay.png.
40396 * win/missingImage.png: Copied from ../WebKit/win/WebKit.vcproj/missingImage.png.
40397 * win/nullplugin.png: Copied from ../WebKit/win/WebKit.vcproj/nullplugin.png.
40398 * win/panEastCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panEastCursor.png.
40399 * win/panIcon.png: Copied from ../WebKit/win/WebKit.vcproj/panIcon.png.
40400 * win/panNorthCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panNorthCursor.png.
40401 * win/panNorthEastCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panNorthEastCursor.png.
40402 * win/panNorthWestCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panNorthWestCursor.png.
40403 * win/panSouthCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panSouthCursor.png.
40404 * win/panSouthEastCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panSouthEastCursor.png.
40405 * win/panSouthWestCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panSouthWestCursor.png.
40406 * win/panWestCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panWestCursor.png.
40407 * win/searchCancel.png: Copied from ../WebKit/win/WebKit.vcproj/searchCancel.png.
40408 * win/searchCancelPressed.png: Copied from ../WebKit/win/WebKit.vcproj/searchCancelPressed.png.
40409 * win/searchMagnifier.png: Copied from ../WebKit/win/WebKit.vcproj/searchMagnifier.png.
40410 * win/searchMagnifierResults.png: Copied from ../WebKit/win/WebKit.vcproj/searchMagnifierResults.png.
40411 * win/textAreaResizeCorner.png: Copied from ../WebKit/win/WebKit.vcproj/textAreaResizeCorner.png.
40412 * win/verticalTextCursor.png: Copied from ../WebKit/win/WebKit.vcproj/verticalTextCursor.png.
40413 * win/zoomInCursor.png: Copied from ../WebKit/win/WebKit.vcproj/zoomInCursor.png.
40414 * win/zoomOutCursor.png: Copied from ../WebKit/win/WebKit.vcproj/zoomOutCursor.png.
40416 2010-07-12 Maciej Stachowiak <mjs@apple.com>
40418 Reviewed by Anders Carlsson.
40420 Get rid of auto_ptr use in WebKit2
40421 https://bugs.webkit.org/show_bug.cgi?id=42119
40423 Replace all use of auto_ptr with OwnPtr/PassOwnPtr.
40425 * Platform/CoreIPC/Connection.cpp:
40426 (CoreIPC::Connection::sendMessage):
40427 (CoreIPC::Connection::waitForMessage):
40428 (CoreIPC::Connection::sendSyncMessage):
40429 (CoreIPC::Connection::processIncomingMessage):
40430 (CoreIPC::Connection::sendOutgoingMessages):
40431 (CoreIPC::Connection::dispatchMessages):
40432 * Platform/CoreIPC/Connection.h:
40433 (CoreIPC::Connection::Message::Message):
40434 (CoreIPC::Connection::send):
40435 (CoreIPC::Connection::sendSync):
40436 (CoreIPC::Connection::waitFor):
40437 * Platform/CoreIPC/mac/ConnectionMac.cpp:
40438 (CoreIPC::Connection::sendOutgoingMessage):
40439 (CoreIPC::createArgumentDecoder):
40440 (CoreIPC::Connection::receiveSourceEventHandler):
40441 * Platform/CoreIPC/qt/ConnectionQt.cpp:
40442 (CoreIPC::Connection::readyReadHandler):
40443 (CoreIPC::Connection::sendOutgoingMessage):
40444 * Platform/CoreIPC/win/ConnectionWin.cpp:
40445 (CoreIPC::Connection::readEventHandler):
40446 (CoreIPC::Connection::sendOutgoingMessage):
40447 * Platform/RunLoop.cpp:
40448 (RunLoop::performWork):
40449 (RunLoop::scheduleWork):
40450 * Platform/RunLoop.h:
40451 * Platform/WorkItem.h:
40452 (WorkItem::create):
40453 * Platform/WorkQueue.h:
40454 * Platform/mac/WorkQueueMac.cpp:
40455 (WorkQueue::executeWorkItem):
40456 (WorkQueue::scheduleWork):
40457 (WorkQueue::EventSource::EventSource):
40458 (WorkQueue::registerMachPortEventHandler):
40459 * Platform/qt/WorkQueueQt.cpp:
40460 (WorkQueue::connectSignal):
40461 (WorkQueue::scheduleWork):
40462 * Platform/win/WorkQueueWin.cpp:
40463 (WorkQueue::registerHandle):
40464 (WorkQueue::scheduleWork):
40465 (WorkQueue::performWork):
40466 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
40467 (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
40468 * UIProcess/WebProcessProxy.cpp:
40469 (WebKit::WebProcessProxy::sendMessage):
40470 (WebKit::WebProcessProxy::didFinishLaunching):
40471 * UIProcess/WebProcessProxy.h:
40472 (WebKit::WebProcessProxy::send):
40474 2010-07-12 Ada Chan <adachan@apple.com>
40476 Build fix. Copy WKArray.h to the include directory.
40478 * win/WebKit2Generated.make:
40480 2010-07-12 Mark Rowe <mrowe@apple.com>
40482 Re-do an Xcode project change that Xcode decided not to save.
40484 * WebKit2.xcodeproj/project.pbxproj: Remove WebKit2.exp from the project.
40485 For some reason it was being copied in to the framework wrapper.
40487 2010-07-12 Mark Rowe <mrowe@apple.com>
40489 Reviewed by Sam Weinig.
40491 Remove the exports file from WebKit2.
40493 * Configurations/Base.xcconfig: Have symbols default to hidden visibility.
40494 * Configurations/WebKit2.xcconfig: Remove the export file.
40495 * UIProcess/API/mac/WKView.h: Export the WKView class.
40496 * WebProcess/WebKitMain.cpp: Export the WebKitMain function.
40497 * mac/WebKit2.exp: Removed.
40499 2010-07-12 Adam Roben <aroben@apple.com>
40501 Move WebKit2.vcproj's settings into .vsprops files
40503 This makes it easier to make changes that affect all configurations.
40505 Fixes <http://webkit.org/b/42097> WebKit2 should use .vsprops files
40507 Reviewed by Steve Falkenburg.
40509 * win/WebKit2.vcproj: Moved settings from here to the files below.
40510 * win/WebKit2Apple.vsprops: Added. Links against Apple-specific
40512 * win/WebKit2CFLite.vsprops: Added. Links against CFLite.
40513 * win/WebKit2Common.vsprops: Added. Contains settings shared by all
40515 * win/WebKit2DirectX.vsprops: Added. Contains settings to help with
40516 linking against DirectX.
40518 2010-07-12 Adam Roben <aroben@apple.com>
40520 Stop generating stripped symbols for Release builds
40522 It turns out we can strip the symbols after-the-fact using PDBCopy.
40524 Fixes <http://webkit.org/b/42085>.
40526 Reviewed by Steve Falkenburg.
40528 * win/WebKit2.vcproj: Removed the no-longer-needed Release override of
40529 the StripPrivateSymbols attribute. (This attribute is no longer set in
40530 release.vsprops, so doesn't need to be overridden.)
40532 2010-07-12 Brian Weinstein <bweinstein@apple.com>
40534 WebKit2 build fix for Windows.
40536 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: Remove some stub function definitions.
40537 * win/WebKit2.vcproj: Add PluginController.h to the vcproj.
40539 2010-07-12 Anders Carlsson <andersca@apple.com>
40541 Reviewed by Adam Roben.
40543 Add a PluginController class, use it for invalidation and getting the user agent
40544 https://bugs.webkit.org/show_bug.cgi?id=42084
40546 * WebKit2.xcodeproj/project.pbxproj:
40547 Add PluginController.h
40549 * WebProcess/Plugins/DummyPlugin.cpp:
40550 (WebKit::DummyPlugin::initialize):
40551 * WebProcess/Plugins/DummyPlugin.h:
40552 Pass the PluginController to initialize.
40554 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
40555 Implement NPN_UserAgent, NPN_MemAlloc, NPN_MemFree, NPN_InvalidateRect and NPN_InvalidateRegion.
40557 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
40558 (WebKit::NetscapePlugin::NetscapePlugin):
40559 Initialize m_pluginController to null.
40561 (WebKit::NetscapePlugin::invalidate):
40562 Ask the plug-in controller to invalidate.
40564 (WebKit::NetscapePlugin::userAgent):´
40565 Ask the plug-in controller for the user agent.
40567 (WebKit::NetscapePlugin::initialize):
40568 Set the m_pluginController member variable.
40570 * WebProcess/Plugins/Plugin.h:
40571 Make initialize take a PluginController.
40573 * WebProcess/Plugins/PluginController.h: Added.
40575 * WebProcess/Plugins/PluginView.cpp:
40576 (WebKit::PluginView::initializePlugin):
40577 Pass the PluginController to initialize.
40579 (WebKit::PluginView::invalidateRect):
40580 Tell the host window to invalidate the given rect.
40582 (WebKit::PluginView::invalidate):
40583 Call invalidateRect.
40585 (WebKit::PluginView::userAgent):
40586 Ask the frame loader client for the user agent.
40588 * WebProcess/Plugins/PluginView.h:
40590 2010-07-12 Adam Roben <aroben@apple.com>
40594 * WebProcess/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Added.
40595 (WebKit::NetscapePluginModule::tryLoad):
40596 (WebKit::NetscapePluginModule::unload):
40599 * win/WebKit2.vcproj: Added a Netscape filter beneath
40600 WebProcess/Plugins, and moved NetscapePlugin into it. Added
40601 NetscapePluginModule to the new Netscape filter. Added
40602 WebProcess/Plugins to the include path for all configurations (it was
40603 only added to Release and Debug_Internal previously) and added
40604 WebProcess/Plugins/Netscape to the include path for all
40607 2010-07-11 Maciej Stachowiak <mjs@apple.com>
40609 Reviewed by Dan Bernstein.
40611 Implement animation-related methods for WebKitTestRunner
40612 https://bugs.webkit.org/show_bug.cgi?id=42053
40614 Implemented some helpers for WebKitTestRunner;
40616 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
40617 (WKBundleFrameGetNumberOfActiveAnimations):
40618 (WKBundleFramePauseAnimationOnElementWithId):
40619 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
40620 * WebProcess/WebPage/WebFrame.cpp:
40621 (WebKit::WebFrame::numberOfActiveAnimations):
40622 (WebKit::WebFrame::pauseAnimationOnElementWithId):
40623 * WebProcess/WebPage/WebFrame.h:
40626 2010-07-10 Anders Carlsson <andersca@apple.com>
40628 Reviewed by Sam Weinig.
40630 Don't initialize plug-ins until allowed by the page
40631 https://bugs.webkit.org/show_bug.cgi?id=42033
40633 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
40634 (WebKit::NetscapePlugin::paint):
40635 (WebKit::NetscapePlugin::geometryDidChange):
40636 Assert that the plug-in is started.
40638 * WebProcess/Plugins/PluginView.cpp:
40639 (WebKit::PluginView::PluginView):
40640 Initialize m_isWaitingUntilMediaCanStart.
40642 (WebKit::PluginView::~PluginView):
40643 If necessary, remove the plug-in view as a MediaCanStartListener.
40645 (WebKit::PluginView::initializePlugin):
40646 If we're not allowed to initialize the plug-in, add the plug-in view as a MediaCanStartListener.
40648 (WebKit::PluginView::paint):
40649 Check that the plug-in is initialized.
40651 (WebKit::PluginView::viewGeometryDidChange):
40654 (WebKit::PluginView::mediaCanStart):
40655 Initialize the plug-in.
40657 * WebProcess/Plugins/PluginView.h:
40659 2010-07-10 Anders Carlsson <andersca@apple.com>
40661 Reviewed by Dan Bernstein.
40663 Have the plug-in view initialize the plug-in
40664 https://bugs.webkit.org/show_bug.cgi?id=42030
40666 * WebProcess/Plugins/DummyPlugin.cpp:
40667 (WebKit::DummyPlugin::initialize):
40668 * WebProcess/Plugins/DummyPlugin.h:
40669 Plugin::initialize now takes a struct.
40671 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
40672 (WebKit::NetscapePlugin::initialize):
40673 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
40674 Plugin::initialize now takes a struct.
40676 * WebProcess/Plugins/Plugin.h:
40677 Add Parameters struct.
40679 * WebProcess/Plugins/PluginView.cpp:
40680 (WebKit::PluginView::PluginView):
40681 Add Parameters parameter.
40683 (WebKit::PluginView::~PluginView):
40684 Add m_plugin null check.
40686 (WebKit::PluginView::initializePlugin):
40687 Try to initialize the plug-in and zero out the plug-in if initialization fails.
40689 (WebKit::PluginView::paint):
40690 Add m_plugin null check.
40692 (WebKit::PluginView::setParent):
40693 Initialize the plug-in.
40695 * WebProcess/Plugins/PluginView.h:
40696 (WebKit::PluginView::create):
40697 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
40698 (WebKit::WebFrameLoaderClient::createPlugin):
40699 Don't initialize the plug-in here.
40701 2010-07-10 Anders Carlsson <andersca@apple.com>
40703 Reviewed by Oliver Hunt.
40705 Call Page::canStartMedia when the WKView is added to/removed from a window
40706 https://bugs.webkit.org/show_bug.cgi?id=42029
40708 * Shared/CoreIPCSupport/WebPageMessageKinds.h:
40709 (WebPageMessage::):
40712 * UIProcess/API/mac/WKView.mm:
40713 (-[WKView initWithFrame:pageNamespaceRef:]):
40714 Call setIsInWindow.
40716 (-[WKView _updateVisibility]):
40717 Call setIsInWindow.
40719 * UIProcess/WebPageProxy.cpp:
40720 (WebKit::WebPageProxy::WebPageProxy):
40721 Initialize m_isInWindow.
40723 (WebKit::WebPageProxy::setIsInWindow):
40724 Send WebPageMessage::SetIsInWindow.
40726 * UIProcess/WebPageProxy.h:
40727 * WebProcess/WebPage/WebPage.cpp:
40728 (WebKit::WebPage::setIsInWindow):
40729 Call Page::canStartMedia.
40731 (WebKit::WebPage::didReceiveMessage):
40732 Handle the SetIsInWindow message.
40734 * WebProcess/WebPage/WebPage.h:
40736 2010-07-10 Anders Carlsson <andersca@apple.com>
40738 Reviewed by Dan Bernstein.
40740 Reuse initialized NetscapePluginModules, pass parameters to NPP_New
40741 https://bugs.webkit.org/show_bug.cgi?id=42028
40743 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
40744 (WebKit::NetscapePlugin::NetscapePlugin):
40745 Let the plug-in module know that a plug-in has been created.
40747 (WebKit::NetscapePlugin::~NetscapePlugin):
40748 Let the plug-in module know that a plug-in has been destroyed.
40750 (WebKit::NetscapePlugin::initialize):
40751 Pass the MIME type and parameters to the plug-in.
40753 * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
40754 (WebKit::initializedNetscapePluginModules):
40755 Add list of initialized plug-in modules.
40757 (WebKit::NetscapePluginModule::NetscapePluginModule):
40758 Initialize m_pluginCount to 0.
40760 (WebKit::NetscapePluginModule::~NetscapePluginModule):
40761 Assert that we're not in the list of initialized plug-ins.
40763 (WebKit::NetscapePluginModule::pluginCreated):
40764 Increment the plug-in count.
40766 (WebKit::NetscapePluginModule::pluginDestroyed):
40767 Decrement the plug-in count and call shutdown if it's 0.
40769 (WebKit::NetscapePluginModule::shutdown):
40770 Call NP_Shutdown and remove the plug-in from the list of initialized plug-ins.
40772 (WebKit::NetscapePluginModule::getOrCreate):
40773 Look for an already initialized plug-in module before creating one.
40775 (WebKit::NetscapePluginModule::load):
40776 Set m_isInitialized to true.
40778 * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp:
40779 (WebKit::NetscapePluginModule::unload):
40780 Leak the CFBundleRef to avoid possible crashes.
40782 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
40783 (WebKit::WebFrameLoaderClient::createPlugin):
40784 Call getOrCreate instead of create.
40786 2010-07-09 Leon Clarke <leonclarke@google.com>
40788 Reviewed by Adam Barth.
40790 add support for link prefetching
40791 https://bugs.webkit.org/show_bug.cgi?id=3652
40793 * Configurations/FeatureDefines.xcconfig:
40795 2010-07-09 Anders Carlsson <andersca@apple.com>
40797 Reviewed by Sam Weinig and Dan Bernstein.
40799 Handle setting of drawing and event models
40800 https://bugs.webkit.org/show_bug.cgi?id=41994
40802 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
40803 Handle NPPVpluginDrawingModel and NPPVpluginEventModel.
40805 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
40806 (WebKit::NetscapePlugin::NetscapePlugin):
40807 Initialize m_inNPPNew.
40809 (WebKit::NetscapePlugin::~NetscapePlugin):
40810 Assert that we aren't still running.
40812 (WebKit::NetscapePlugin::fromNPP):
40813 New function that returns a NetscapePlugin object given a NPP pointer.
40815 (WebKit::NetscapePlugin::initialize):
40816 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.cpp:
40817 (WebKit::NetscapePlugin::setDrawingModel):
40818 Set the drawing model.
40820 (WebKit::NetscapePlugin::setEventModel):
40821 Set the event model.
40823 (WebKit::initializeEvent):
40824 (WebKit::NetscapePlugin::platformPaint):
40825 Only send the Cocoa event when using the Cocoa event model.
40827 2010-07-09 Sam Weinig <sam@webkit.org>
40829 Reviewed by Anders Carlsson.
40831 Patch for https://bugs.webkit.org/show_bug.cgi?id=41971
40832 Add really basic BackForwardList support.
40834 * Shared/CoreIPCSupport/WebPageMessageKinds.h:
40835 (WebPageMessage::):
40836 Add new message kind.
40838 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
40839 (WebPageProxyMessage::):
40840 Add new message kinds. Remove DidChangeCanGoBack and DidChangeCanGoForward.
40842 * UIProcess/API/C/WKPage.cpp:
40843 (WKPageGoToBackForwardListItem):
40844 * UIProcess/API/C/WKPage.h:
40845 Add function to initiate a navigation to a BackForward item. The
40846 BackForward list will be updated to use this as the current item
40849 * UIProcess/WebBackForwardList.cpp:
40850 (WebKit::WebBackForwardList::WebBackForwardList):
40851 (WebKit::WebBackForwardList::addItem): Added.
40852 (WebKit::WebBackForwardList::goToItem): Added.
40853 (WebKit::WebBackForwardList::itemAtIndex): Added.
40854 (WebKit::WebBackForwardList::backListCount): Changed to return int matching WebCore.
40855 (WebKit::WebBackForwardList::forwardListCount): Ditto.
40856 (WebKit::WebBackForwardList::backListWithLimit): Add cast to int.
40857 (WebKit::WebBackForwardList::forwardListWithLimit): Ditto.
40858 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit): Ditto.
40859 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit): Ditto.
40860 * UIProcess/WebBackForwardList.h:
40862 * UIProcess/WebBackForwardListItem.cpp:
40863 (WebKit::WebBackForwardListItem::WebBackForwardListItem):
40864 * UIProcess/WebBackForwardListItem.h:
40865 (WebKit::WebBackForwardListItem::create):
40866 (WebKit::WebBackForwardListItem::itemID):
40869 * UIProcess/WebPageProxy.cpp:
40870 (WebKit::WebPageProxy::WebPageProxy):
40871 (WebKit::WebPageProxy::close):
40872 (WebKit::WebPageProxy::canGoForward):
40873 (WebKit::WebPageProxy::canGoBack):
40874 (WebKit::WebPageProxy::goToBackForwardItem):
40875 (WebKit::WebPageProxy::didReceiveMessage):
40876 (WebKit::WebPageProxy::didReceiveSyncMessage):
40877 (WebKit::WebPageProxy::addItemToBackForwardList):
40878 (WebKit::WebPageProxy::goToItemInBackForwardList):
40879 (WebKit::WebPageProxy::processDidExit):
40880 * UIProcess/WebPageProxy.h:
40881 - Removed m_canGoBack and m_canGoForward booleans and instead use the BackForwardList.
40882 - Forward goToBackForwardItem to the WebProcess.
40883 - Respond to messages from the WebBackForwardListProxy in the WebProcess,
40884 forwarding to the WebBackForwardList.
40886 * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp:
40887 (WebKit::WebBackForwardControllerClient::createBackForwardList):
40888 Start using a WebBackForwardListProxy instead of a BackForwardListImpl.
40890 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
40891 (WebKit::WebFrameLoaderClient::dispatchDidAddBackForwardItem):
40892 (WebKit::WebFrameLoaderClient::dispatchDidRemoveBackForwardItem):
40893 (WebKit::WebFrameLoaderClient::dispatchDidChangeBackForwardIndex):
40894 Remove calls backForwardListDidChange() now that we communicate much more
40895 information than just this state.
40897 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
40898 (WebKit::idToHistoryItemMap):
40899 (WebKit::historyItemToIDMap):
40900 (WebKit::generateHistoryItemID):
40901 (WebKit::getIDForHistoryItem):
40902 (WebKit::WebBackForwardListProxy::itemForID):
40903 Add leaking cached maps of HistoryItems to IDs, the life time of these
40904 objects will be improved in a subsequent patch.
40906 (WebKit::WebBackForwardListProxy::WebBackForwardListProxy):
40907 (WebKit::WebBackForwardListProxy::addItem):
40908 (WebKit::WebBackForwardListProxy::goBack):
40909 (WebKit::WebBackForwardListProxy::goForward):
40910 (WebKit::WebBackForwardListProxy::goToItem):
40911 (WebKit::WebBackForwardListProxy::backItem):
40912 (WebKit::WebBackForwardListProxy::currentItem):
40913 (WebKit::WebBackForwardListProxy::forwardItem):
40914 (WebKit::WebBackForwardListProxy::itemAtIndex):
40915 (WebKit::WebBackForwardListProxy::backListWithLimit):
40916 (WebKit::WebBackForwardListProxy::forwardListWithLimit):
40917 (WebKit::WebBackForwardListProxy::capacity):
40918 (WebKit::WebBackForwardListProxy::setCapacity):
40919 (WebKit::WebBackForwardListProxy::enabled):
40920 (WebKit::WebBackForwardListProxy::setEnabled):
40921 (WebKit::WebBackForwardListProxy::backListCount):
40922 (WebKit::WebBackForwardListProxy::forwardListCount):
40923 (WebKit::WebBackForwardListProxy::containsItem):
40924 (WebKit::WebBackForwardListProxy::close):
40925 (WebKit::WebBackForwardListProxy::closed):
40926 (WebKit::WebBackForwardListProxy::removeItem):
40927 (WebKit::WebBackForwardListProxy::entries):
40928 (WebKit::WebBackForwardListProxy::pushStateItem):
40929 * WebProcess/WebPage/WebBackForwardListProxy.h:
40930 Forward functions to the UIProcess.
40932 * WebProcess/WebPage/WebPage.cpp:
40933 (WebKit::WebPage::goToBackForwardItem):
40934 (WebKit::WebPage::didReceiveMessage):
40935 * WebProcess/WebPage/WebPage.h:
40936 Respond to GoToBackForwardItem message.
40938 * mac/WebKit2.exp: Add new API function.
40940 2010-07-09 Anders Carlsson <andersca@apple.com>
40942 Reviewed by Sam Weinig.
40944 Verify drawing coordinates, add crude painting support
40945 https://bugs.webkit.org/show_bug.cgi?id=41984
40947 * WebKit2.xcodeproj/project.pbxproj:
40948 Add NetscapePluginMac.cpp.
40950 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
40951 (WebKit::NetscapePlugin::NetscapePlugin):
40952 Initialize drawing and event models.
40954 (WebKit::NetscapePlugin::initialize):
40955 Call platformPostInitialize.
40957 (WebKit::NetscapePlugin::destroy):
40960 (WebKit::NetscapePlugin::paint):
40961 Call platformPaint.
40963 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
40964 Add member functions.
40966 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.cpp: Added.
40967 (WebKit::NetscapePlugin::platformPostInitialize):
40968 Set default event and drawing models and verify that they are compatible.
40970 (WebKit::NetscapePlugin::platformPaint):
40971 Send a paint event (assuming the Cocoa event model currently).
40973 * WebProcess/Plugins/PluginView.cpp:
40974 (WebKit::PluginView::paint):
40975 Change the paint rect to be in window coordinates.
40977 (WebKit::PluginView::viewGeometryDidChange):
40978 (WebKit::PluginView::clipRectInWindowCoordinates):
40979 * WebProcess/Plugins/PluginView.h:
40981 2010-07-09 Anders Carlsson <andersca@apple.com>
40983 Reviewed by Sam Weinig.
40985 Pass a clip rect to the plugin and call NPP_SetWindow
40986 https://bugs.webkit.org/show_bug.cgi?id=41969
40988 * WebProcess/Plugins/DummyPlugin.cpp:
40989 (WebKit::DummyPlugin::geometryDidChange):
40990 * WebProcess/Plugins/DummyPlugin.h:
40991 Add clip rect parameter.
40993 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
40994 (WebKit::NetscapePlugin::NetscapePlugin):
40995 Initialize m_npWindow.
40997 (WebKit::NetscapePlugin::callSetWindow):
40998 Call NPP_SetWindow.
41000 (WebKit::NetscapePlugin::initialize):
41001 Set the window type to NPWindowTypeDrawable for now.
41003 (WebKit::NetscapePlugin::geometryDidChange):
41004 Update the frame and clip rects and call NPP_SetWindow.
41006 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
41007 Add an NPWindow member variable.
41009 * WebProcess/Plugins/Plugin.h:
41010 Add a clipRect parameter to geometryDidChange.
41012 * WebProcess/Plugins/PluginView.cpp:
41013 (WebKit::PluginView::PluginView):
41014 Add the plug-in element to the constructor.
41016 (WebKit::PluginView::viewGeometryDidChange):
41017 Compute the clip rect and pass it to the plug-in.
41019 * WebProcess/Plugins/PluginView.h:
41020 (WebKit::PluginView::create):
41021 Pass the plug-in element to the constructor.
41023 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
41024 (WebKit::WebFrameLoaderClient::createPlugin):
41025 Pass the plug-in element to PluginView::create.
41027 2010-07-09 Anders Carlsson <andersca@apple.com>
41029 Reviewed by Simon Fraser.
41031 Instantiate Netscape plug-ins, pass geometry information to Plugin
41032 https://bugs.webkit.org/show_bug.cgi?id=41960
41034 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
41035 Handle NPNVsupportsCoreGraphicsBool and NPNVsupportsCocoaBool.
41037 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
41038 (WebKit::NetscapePlugin::NetscapePlugin):
41041 (WebKit::NetscapePlugin::initialize):
41042 Try to instantiate the plug-in by calling NPP_New.
41044 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
41045 Store the NetscapePluginModule and the NPP struct.
41047 * WebProcess/Plugins/Netscape/NetscapePluginModule.h:
41048 Add a getter for the NPPluginFuncs vtable.
41050 * WebProcess/Plugins/PluginView.cpp:
41051 (WebKit::PluginView::frameRectsChanged):
41052 Make sure to call viewGeometryDidChange.
41054 (WebKit::PluginView::setParent):
41057 (WebKit::PluginView::viewGeometryDidChange):
41058 Convert the frame rect to window coordinates and pass it to the plug-in.
41060 * WebProcess/Plugins/PluginView.h:
41061 Add function declarations.
41063 2010-07-08 Diego Gonzalez <diegohcg@webkit.org>
41065 Reviewed by Kenneth Rohde Christiansen.
41067 [Qt] [WebKit2] Make QWKPage call _q_webActionTriggered as a private slot
41068 https://bugs.webkit.org/show_bug.cgi?id=41880
41070 * UIProcess/API/qt/qwkpage.cpp:
41071 * UIProcess/API/qt/qwkpage.h:
41073 2010-07-09 Antti Koivisto <koivisto@iki.fi>
41079 * UIProcess/API/qt/qwkpage.h:
41081 2010-07-08 Brian Weinstein <bweinstein@apple.com>
41083 WebKit2 build fix for Windows.
41085 * WebProcess/Plugins/PluginView.h: Change the forward declaration of Plugin
41087 * win/WebKit2.vcproj: Update the include paths for Release to match Debug, and
41088 add some files to the vcproj that were added on Mac.
41090 2010-07-08 Sam Weinig <sam@webkit.org>
41092 Attempt to fix the windows build.
41094 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
41095 (WebKit::WebFrameLoaderClient::createPlugin):
41097 2010-07-08 Anders Carlsson <andersca@apple.com>
41099 Reviewed by Sam Weinig.
41101 Add NetscapePlugin class
41102 https://bugs.webkit.org/show_bug.cgi?id=41919
41104 * WebKit2.xcodeproj/project.pbxproj:
41105 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: Added.
41106 (WebKit::NetscapePlugin::NetscapePlugin):
41107 (WebKit::NetscapePlugin::~NetscapePlugin):
41108 (WebKit::NetscapePlugin::initialize):
41109 (WebKit::NetscapePlugin::destroy):
41110 (WebKit::NetscapePlugin::paint):
41111 (WebKit::NetscapePlugin::geometryDidChange):
41112 * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added.
41113 (WebKit::NetscapePlugin::create):
41114 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
41115 (WebKit::WebFrameLoaderClient::createPlugin):
41117 2010-07-08 Anders Carlsson <andersca@apple.com>
41119 Reviewed by Sam Weinig.
41121 Enable notImplemented messages by default and have the various clients explicitly disable them.
41123 * Shared/NotImplemented.h:
41124 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
41125 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
41126 * WebProcess/WebCoreSupport/WebDragClient.cpp:
41127 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
41128 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
41129 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
41131 2010-07-08 Anders Carlsson <andersca@apple.com>
41133 Reviewed by Sam Weinig.
41135 Add stubbed out NPN functions
41136 https://bugs.webkit.org/show_bug.cgi?id=41917
41138 * WebKit2.xcodeproj/project.pbxproj:
41139 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: Added.
41140 (WebKit::initializeBrowserFuncs):
41141 (WebKit::netscapeBrowserFuncs):
41142 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h: Added.
41143 * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp:
41144 (WebKit::NetscapePluginModule::tryLoad):
41146 2010-07-08 Anders Carlsson <andersca@apple.com>
41150 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
41152 2010-07-08 Luiz Agostini <luiz.agostini@openbossa.org>
41154 Reviewed by Kenneth Rohde Christiansen.
41156 [Qt] Spelling and style correction
41157 https://bugs.webkit.org/show_bug.cgi?id=41891
41159 Correcting a spelling and a style mistakes.
41161 * UIProcess/Launcher/ProcessLauncher.h:
41162 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
41164 2010-07-08 Anders Carlsson <andersca@apple.com>
41166 Reviewed by Sam Weinig.
41168 Implement more of NetscapePluginModule
41169 https://bugs.webkit.org/show_bug.cgi?id=41910
41171 * WebKit2.xcodeproj/project.pbxproj:
41172 * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
41173 (WebKit::NetscapePluginModule::create):
41174 (WebKit::NetscapePluginModule::load):
41175 * WebProcess/Plugins/Netscape/NetscapePluginModule.h:
41176 * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp: Added.
41177 (WebKit::NetscapePluginModule::unload):
41178 (WebKit::pointerToFunction):
41179 (WebKit::NetscapePluginModule::tryLoad):
41180 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
41181 (WebKit::WebFrameLoaderClient::createPlugin):
41183 2010-07-08 Anders Carlsson <andersca@apple.com>
41185 Reviewed by Sam Weinig.
41187 Add stubbed out NetscapePluginModule class
41188 https://bugs.webkit.org/show_bug.cgi?id=41901
41190 * WebKit2.xcodeproj/project.pbxproj:
41191 * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp: Added.
41192 (WebKit::NetscapePluginModule::NetscapePluginModule):
41193 * WebProcess/Plugins/Netscape/NetscapePluginModule.h: Added.
41194 (WebKit::NetscapePluginModule::create):
41195 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
41196 (WebKit::WebFrameLoaderClient::createPlugin):
41198 2010-07-08 Luiz Agostini <luiz.agostini@openbossa.org>
41200 Reviewed by Kenneth Rohde Christiansen.
41202 [Qt] Move socket objects to connection's thread
41203 https://bugs.webkit.org/show_bug.cgi?id=41897
41205 To receive network related notifications in the WorkQueue thread, the
41206 QLocalSocket instances must be moved to that thread.
41208 * Platform/CoreIPC/qt/ConnectionQt.cpp:
41209 (CoreIPC::Connection::open):
41210 * Platform/WorkQueue.h:
41211 * Platform/qt/WorkQueueQt.cpp:
41212 (WorkQueue::moveSocketToWorkThread):
41214 2010-07-08 Alice Liu <alice.liu@apple.com>
41216 Reviewed by Sam Weinig.
41218 https://bugs.webkit.org/show_bug.cgi?id=41653
41219 Add new WebKitTestRunner project for Windows
41221 * win/WebKit2Generated.make: Add files needed for WebKitTestRunner
41223 2010-07-08 Anders Carlsson <andersca@apple.com>
41225 Reviewed by Sam Weinig.
41227 Add a GetPluginHostConnection WebProcessProxy message
41228 https://bugs.webkit.org/show_bug.cgi?id=41893
41230 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
41231 (WebProcessProxyMessage::):
41232 * UIProcess/WebProcessProxy.cpp:
41233 (WebKit::WebProcessProxy::getPluginHostConnection):
41234 (WebKit::WebProcessProxy::didReceiveMessage):
41235 (WebKit::WebProcessProxy::didReceiveSyncMessage):
41236 * UIProcess/WebProcessProxy.h:
41237 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
41238 (WebKit::WebFrameLoaderClient::createPlugin):
41240 2010-07-08 Anders Carlsson <andersca@apple.com>
41242 Reviewed by Sam Weinig.
41244 Add more parameters to Plugin::initialize
41245 https://bugs.webkit.org/show_bug.cgi?id=41890
41247 * WebProcess/Plugins/DummyPlugin.cpp:
41248 (WebKit::DummyPlugin::initialize):
41249 * WebProcess/Plugins/DummyPlugin.h:
41250 * WebProcess/Plugins/Plugin.h:
41251 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
41252 (WebKit::WebFrameLoaderClient::createPlugin):
41254 2010-07-08 Anders Carlsson <andersca@apple.com>
41258 * WebProcess/Plugins/DummyPlugin.h:
41260 2010-07-08 Anders Carlsson <andersca@apple.com>
41262 Reviewed by Sam Weinig.
41264 Add a Plugin abstract base class and a DummyPlugin that implements it
41265 https://bugs.webkit.org/show_bug.cgi?id=41885
41267 * WebKit2.xcodeproj/project.pbxproj:
41270 * WebProcess/Plugins/DummyPlugin.cpp: Added.
41271 (WebKit::DummyPlugin::paint):
41272 Paint a red rectangle.
41274 * WebProcess/Plugins/Plugin.cpp: Added.
41275 * WebProcess/Plugins/Plugin.h: Added.
41276 Add Plugin, an abstract baseclass.
41278 * WebProcess/Plugins/PluginView.cpp:
41279 (WebKit::PluginView::PluginView):
41280 (WebKit::PluginView::~PluginView):
41281 (WebKit::PluginView::paint):
41282 (WebKit::PluginView::viewGeometryDidChange):
41283 * WebProcess/Plugins/PluginView.h:
41284 (WebKit::PluginView::create):
41285 Add a Plugin member function and forward PluginView calls to it.
41287 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
41288 (WebKit::WebFrameLoaderClient::createPlugin):
41289 Make a DummyPlugin and pass it to the PluginView.
41291 * win/WebKit2.vcproj:
41294 2010-07-08 Anders Carlsson <andersca@apple.com>
41296 Reviewed by Sam Weinig.
41298 Add stubbed out PluginView class
41299 https://bugs.webkit.org/show_bug.cgi?id=41879
41301 * WebKit2.xcodeproj/project.pbxproj:
41302 Add PluginView.cpp and PluginView.h
41304 * WebProcess/Plugins/PluginView.cpp: Added.
41305 (WebKit::PluginView::PluginView):
41306 (WebKit::PluginView::~PluginView):
41307 (WebKit::PluginView::setFrameRect):
41308 (WebKit::PluginView::paint):
41309 (WebKit::PluginView::viewGeometryDidChange):
41310 (WebKit::PluginView::invalidateRect):
41311 Stub out these functions.
41313 * WebProcess/Plugins/PluginView.h: Added.
41314 (WebKit::PluginView::create):
41315 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
41316 (WebKit::WebFrameLoaderClient::createPlugin):
41317 Create a plug-in view.
41319 * win/WebKit2.vcproj:
41320 Add PluginView.cpp and PluginView.h.
41322 2010-07-08 Steve Falkenburg <sfalken@apple.com>
41324 Reviewed by Adam Roben.
41326 WebKit2 on Windows needs a version resource
41327 https://bugs.webkit.org/show_bug.cgi?id=41870
41328 <rdar://problem/8170501>
41330 * win/WebKit2.rc: Added.
41331 * win/WebKit2.vcproj:
41332 * win/WebKit2WebProcess.rc: Added.
41333 * win/WebKit2WebProcess.vcproj:
41335 2010-07-08 Sam Weinig <sam@webkit.org>
41337 Reviewed by Anders Carlsson.
41339 Patch for https://bugs.webkit.org/show_bug.cgi?id=41874
41340 Add stubbed out WebBackForwardListProxy
41342 - No behavior change.
41343 - Rename the old WebBackForwardListProxy to WebBackForwardList since it
41344 will be the implementation, not the proxy.
41346 * UIProcess/API/C/WKAPICast.h:
41347 * UIProcess/API/C/WKBackForwardList.cpp:
41348 * UIProcess/API/C/WKPage.cpp:
41349 * UIProcess/WebBackForwardList.cpp: Copied from UIProcess/WebBackForwardListProxy.cpp.
41350 * UIProcess/WebBackForwardList.h: Copied from UIProcess/WebBackForwardListProxy.h.
41351 (WebKit::WebBackForwardList::create):
41352 * UIProcess/WebBackForwardListProxy.cpp: Removed.
41353 * UIProcess/WebBackForwardListProxy.h: Removed.
41354 * UIProcess/WebPageProxy.cpp:
41355 (WebKit::WebPageProxy::WebPageProxy):
41356 * UIProcess/WebPageProxy.h:
41357 (WebKit::WebPageProxy::backForwardList):
41358 * WebKit2.xcodeproj/project.pbxproj:
41359 * WebProcess/WebPage/WebBackForwardListProxy.cpp: Added.
41360 * WebProcess/WebPage/WebBackForwardListProxy.h: Added.
41361 (WebKit::WebBackForwardListProxy::create):
41362 * win/WebKit2.vcproj:
41364 2010-07-08 Sam Weinig <sam@webkit.org>
41366 Reviewed by Anders Carlsson.
41368 Pass Page to BackForwardControllerClient::createBackForwardList since it
41369 may be called before implementations of BackForwardControllerClient have
41372 * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp:
41373 (WebKit::WebBackForwardControllerClient::createBackForwardList):
41374 * WebProcess/WebCoreSupport/WebBackForwardControllerClient.h:
41376 2010-07-08 Anders Carlsson <andersca@apple.com>
41378 Reviewed by Sam Weinig.
41380 Fix fallout from Darin's adoptRef assertion changes.
41382 * UIProcess/WebContext.cpp:
41383 (WebKit::WebContext::sharedProcessContext):
41384 (WebKit::WebContext::sharedThreadContext):
41385 * WebProcess/WebPage/WebFrame.cpp:
41386 (WebKit::WebFrame::createMainFrame):
41387 (WebKit::WebFrame::createSubframe):
41388 (WebKit::WebFrame::create):
41389 (WebKit::WebFrame::WebFrame):
41390 * WebProcess/WebPage/WebFrame.h:
41392 2010-07-08 Steve Falkenburg <sfalken@apple.com>
41394 Reviewed by Mark Rowe.
41396 WebKit2 should enable DEP (Data Execution Prevention) on Windows via /NXCOMPAT
41397 https://bugs.webkit.org/show_bug.cgi?id=41837
41398 <rdar://problem/8170505>
41400 * win/WebKit2WebProcess.vcproj:
41402 2010-07-08 Sam Weinig <sam@webkit.org>
41404 Reviewed by Anders Carlsson.
41406 Patch for https://bugs.webkit.org/show_bug.cgi?id=41826
41407 Convert BackForwardList to an abstract base class and add BackForwardListImpl
41408 as the concrete implementation of it.
41410 * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp:
41411 (WebKit::WebBackForwardControllerClient::createBackForwardList):
41413 2010-07-08 Luiz Agostini <luiz@webkit.org>, Kenneth Rohde Christiansen <kenneth@webkit.org>
41415 Reviewed by Antti Koivisto.
41417 [Qt] Improve QtWebkit2 secondary process launching procedure
41418 https://bugs.webkit.org/show_bug.cgi?id=41853
41420 Changing secondary process launching procedure to make sure that the method
41421 ProcessLauncher::didFinishLaunchingProcess will only be called after secondary
41422 process has been launched and the connection has been stablished between the
41423 UIProcess and WebProcess.
41425 This solves the timing issues ocasionaly observed when launching MiniBrowser.
41427 QLocalServer object and related code has been removed from the class Connection.
41428 Server instances of the Connection class now get the QLocalSocket via ProcessLauncher.
41430 * Platform/CoreIPC/Connection.h:
41431 * Platform/CoreIPC/qt/ConnectionQt.cpp:
41432 (CoreIPC::Connection::platformInitialize):
41433 (CoreIPC::Connection::platformInvalidate):
41434 (CoreIPC::Connection::open):
41436 Using QProcess* as PlatformProcessIdentifier.
41438 * Platform/PlatformProcessIdentifier.h:
41440 A new singleton class named ProcessLauncherHelper was created to handle the QLocalServer
41441 object used to receive connections. This class launches the process and waits for it to connect
41442 before calling ProcessLauncher::didFinishLaunchingProcess.
41444 * UIProcess/Launcher/ProcessLauncher.h:
41445 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
41446 (WebKit::ProcessLauncherHelper::launch):
41447 (WebKit::ProcessLauncherHelper::takePendingConnection):
41448 (WebKit::ProcessLauncherHelper::ProcessLauncherHelper):
41449 (WebKit::ProcessLauncherHelper::instance):
41450 (WebKit::ProcessLauncherHelper::newConnection):
41451 (WebKit::ProcessLauncher::launchProcess):
41452 (WebKit::ProcessLauncher::terminateProcess):
41453 (_qt_takePendingConnection):
41455 2010-07-08 Antti Koivisto <koivisto@iki.fi>
41457 Reviewed by Kenneth Rohde Christiansen.
41459 [Qt] Initial WebKit2 implementation
41460 https://bugs.webkit.org/show_bug.cgi?id=40233
41462 Random build fixes.
41464 * Shared/qt/WebEventFactoryQt.cpp:
41465 * UIProcess/API/qt/ClientImpl.cpp:
41466 * UIProcess/API/qt/qwkpage.cpp:
41467 * UIProcess/API/qt/qwkpage.h:
41468 * UIProcess/DrawingAreaProxy.h:
41469 * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
41470 * WebProcess/WebProcess.cpp:
41472 2010-07-07 Zoltan Horvath <zoltan@webkit.org>
41474 Reviewed by Kenneth Rohde Christiansen.
41476 [Qt] Terminate QtWebProcess on exit
41477 https://bugs.webkit.org/show_bug.cgi?id=41766
41479 Call WKPageTerminate to terminate QtWebProcess on exit.
41481 * UIProcess/API/qt/qwkpage.cpp:
41482 (QWKPage::~QWKPage):
41484 2010-07-07 Steve Falkenburg <sfalken@apple.com>
41486 Windows release build fix.
41487 Don't generate public symbols since this is exceeding address space on our builders.
41489 * win/WebKit2.vcproj:
41491 2010-07-07 Sam Weinig <sam@webkit.org>
41493 Reviewed by Anders Carlsson.
41495 Patch for https://bugs.webkit.org/show_bug.cgi?id=41772
41496 Add basic piping for BackForwardControllerClient.
41498 - Add very basic WebBackForwardControllerClient.
41500 * WebKit2.xcodeproj/project.pbxproj:
41501 * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp: Added.
41502 (WebKit::WebBackForwardControllerClient::backForwardControllerDestroyed):
41503 (WebKit::WebBackForwardControllerClient::createBackForwardList):
41504 * WebProcess/WebCoreSupport/WebBackForwardControllerClient.h: Added.
41505 (WebKit::WebBackForwardControllerClient::WebBackForwardControllerClient):
41506 * WebProcess/WebPage/WebPage.cpp:
41507 (WebKit::WebPage::WebPage):
41508 * win/WebKit2.vcproj:
41510 2010-07-07 Antti Koivisto <koivisto@iki.fi>
41512 Reviewed by Kenneth Rohde Christiansen.
41514 [Qt] Initial WebKit2 implementation
41515 https://bugs.webkit.org/show_bug.cgi?id=40233
41517 Add Qt section to the prefix header.
41521 2010-07-07 Antti Koivisto <koivisto@iki.fi>
41525 Fix build, remove some left over debugging code.
41527 * Platform/CoreIPC/qt/ConnectionQt.cpp:
41528 (CoreIPC::Connection::readyReadHandler):
41529 (CoreIPC::Connection::sendOutgoingMessage):
41531 2010-07-07 Antti Koivisto <koivisto@iki.fi>
41533 Reviewed by Kenneth Rohde Christiansen.
41535 [Qt] Initial WebKit2 implementation
41536 https://bugs.webkit.org/show_bug.cgi?id=40233
41538 Implement WebPage for Qt.
41540 * WebProcess/WebPage/qt/WebPageQt.cpp: Added.
41541 (WebKit::WebPage::platformInitialize):
41543 (WebKit::WebPage::interpretKeyEvent):
41546 2010-07-06 Anders Carlsson <andersca@apple.com>
41548 Fix Windows WebKit2 build.
41550 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
41551 (WebKit::PluginInfoStore::mimeTypeFromExtension):
41553 2010-07-06 Anders Carlsson <andersca@apple.com>
41555 Reviewed by Sam Weinig.
41557 Add PluginInfoStore::findPlugin
41558 https://bugs.webkit.org/show_bug.cgi?id=41719
41560 * UIProcess/Plugins/PluginInfoStore.cpp:
41561 (WebKit::PluginInfoStore::getPlugins):
41562 (WebKit::PluginInfoStore::findPluginForMIMEType):
41563 (WebKit::PluginInfoStore::findPluginForExtension):
41564 (WebKit::pathExtension):
41565 (WebKit::PluginInfoStore::findPlugin):
41566 * UIProcess/Plugins/PluginInfoStore.h:
41567 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
41568 (WebKit::PluginInfoStore::mimeTypeFromExtension):
41570 2010-07-06 Sam Weinig <sam@webkit.org>
41572 Reviewed by Anders Carlsson.
41574 Add injected bundle API for exposing console messages.
41576 - Split WKBundlePageClient into multiple clients matching WKPage.
41577 (For now we only have a loader client and a UI client)
41579 * WebKit2.xcodeproj/project.pbxproj:
41580 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
41581 (WKBundlePageSetLoaderClient):
41582 (WKBundlePageSetUIClient):
41583 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
41584 * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp: Removed.
41585 * WebProcess/InjectedBundle/InjectedBundlePageClient.h: Removed.
41586 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: Copied from WebProcess/InjectedBundle/InjectedBundlePageClient.cpp.
41587 (WebKit::InjectedBundlePageLoaderClient::InjectedBundlePageLoaderClient):
41588 (WebKit::InjectedBundlePageLoaderClient::initialize):
41589 (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
41590 (WebKit::InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
41591 (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame):
41592 (WebKit::InjectedBundlePageLoaderClient::didCommitLoadForFrame):
41593 (WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame):
41594 (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame):
41595 (WebKit::InjectedBundlePageLoaderClient::didReceiveTitleForFrame):
41596 (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
41597 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: Copied from WebProcess/InjectedBundle/InjectedBundlePageClient.h.
41598 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Added.
41599 (WebKit::InjectedBundlePageUIClient::InjectedBundlePageUIClient):
41600 (WebKit::InjectedBundlePageUIClient::initialize):
41601 (WebKit::InjectedBundlePageUIClient::addMessageToConsole):
41602 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Added.
41603 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
41604 (WebKit::WebChromeClient::addMessageToConsole):
41605 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
41606 (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
41607 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
41608 (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
41609 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
41610 (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
41611 (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
41612 (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
41613 (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
41614 * WebProcess/WebPage/WebPage.cpp:
41615 (WebKit::WebPage::initializeInjectedBundleLoaderClient):
41616 (WebKit::WebPage::initializeInjectedBundleUIClient):
41617 * WebProcess/WebPage/WebPage.h:
41618 (WebKit::WebPage::injectedBundleLoaderClient):
41619 (WebKit::WebPage::injectedBundleUIClient):
41621 * win/WebKit2.vcproj:
41623 2010-07-06 Sam Weinig <sam@webkit.org>
41625 Reviewed by Anders Carlsson.
41627 Patch for https://bugs.webkit.org/show_bug.cgi?id=41707
41628 Add ability to dump frame inner text for the test runner
41630 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
41631 (WKBundleFrameCopyInnerText):
41632 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
41633 * WebProcess/WebPage/WebFrame.cpp:
41634 (WebKit::WebFrame::innerText):
41635 * WebProcess/WebPage/WebFrame.h:
41638 2010-07-06 Anders Carlsson <andersca@apple.com>
41640 Reviewed by Sam Weinig.
41642 Only export a single WebKitMain function for the Web Process to call
41643 https://bugs.webkit.org/show_bug.cgi?id=41702
41645 * Shared/CommandLine.h:
41646 Add windows CommandLine::parse overload.
41648 * Shared/win/CommandLineWin.cpp: Added.
41649 (WebKit::CommandLine::parse):
41650 Move parse overload from WebProcess/win/WebProcessMain.cpp.
41652 * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
41653 (WebKit::ProcessLauncher::launchProcess):
41654 Pass the right mode to.
41656 * WebKit2.xcodeproj/project.pbxproj:
41659 * WebProcess/Launching/mac/WebProcessMain.mm: Removed.
41660 * WebProcess/Launching/win/WebProcessWinMain.cpp: Removed.
41661 * WebProcess/WebKitMain.cpp: Added.
41663 (enableTerminationOnHeapCorruption):
41664 Add WebKitMain functions for Mac and Windows.
41666 * WebProcess/WebProcessMain.h: Added.
41667 * WebProcess/mac/WebProcessMainMac.mm: Added.
41668 (WebKit::WebProcessMain):
41669 Add Mac version of WebProcessMain.
41671 * WebProcess/win/WebProcessMain.cpp: Removed.
41672 * WebProcess/win/WebProcessMain.h: Removed.
41673 * WebProcess/win/WebProcessMainWin.cpp: Added.
41674 (WebKit::WebProcessMain):
41675 Add Windows version of WebProcessMain.
41677 * mac/MainMac.cpp: Added.
41679 Add Mac WebProcess main function.
41682 Remove functions that we don't need to export.
41684 * win/MainWin.cpp: Added.
41686 Add Windows WebProcess main function.
41688 * win/WebKit2.vcproj:
41689 * win/WebKit2WebProcess.vcproj:
41692 2010-07-05 Luiz Agostini <luiz.agostini@openbossa.org>
41694 Reviewed by Kenneth Rohde Christiansen.
41696 [Qt] WebKit2 triple click
41697 https://bugs.webkit.org/show_bug.cgi?id=41629
41699 QtWebkit2 triple click implementation.
41701 * UIProcess/API/qt/qwkpage.cpp:
41702 (QWKPagePrivate::mousePressEvent):
41703 (QWKPagePrivate::mouseDoubleClickEvent):
41704 (QWKPage::timerEvent):
41705 * UIProcess/API/qt/qwkpage.h:
41706 * UIProcess/API/qt/qwkpage_p.h:
41708 2010-07-05 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
41710 Reviewed by Antti Koivisto.
41712 [Qt] Initial WebKit2 implementation
41713 https://bugs.webkit.org/show_bug.cgi?id=40233
41717 * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp: Copied from WebKit2/UIProcess/Plugins/win/PluginInfoStoreWin.cpp.
41718 (WebKit::PluginInfoStore::pluginDirectories):
41719 (WebKit::PluginInfoStore::pluginPathsInDirectory):
41720 (WebKit::PluginInfoStore::getPluginInfo):
41721 (WebKit::PluginInfoStore::shouldUsePlugin):
41722 * WebProcess/InjectedBundle/InjectedBundle.h:
41723 * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp: Added.
41724 (WebKit::InjectedBundle::load):
41726 2010-07-05 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
41728 Reviewed by Antti Koivisto.
41730 [Qt] Initial WebKit2 implementation
41731 https://bugs.webkit.org/show_bug.cgi?id=40233
41735 * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: Added.
41737 (WebKit::cancelledError):
41738 (WebKit::blockedError):
41739 (WebKit::cannotShowURLError):
41740 (WebKit::interruptForPolicyChangeError):
41741 (WebKit::cannotShowMIMETypeError):
41742 (WebKit::fileDoesNotExistError):
41744 2010-07-05 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
41746 Reviewed by Antti Koivisto.
41748 [Qt] Initial WebKit2 implementation
41749 https://bugs.webkit.org/show_bug.cgi?id=40233
41751 Add Qt C API integration.
41753 * UIProcess/API/cpp/qt/WKStringQt.cpp: Added.
41754 (WKStringCreateWithQString):
41755 (WKStringCopyQString):
41756 * UIProcess/API/cpp/qt/WKStringQt.h: Added.
41757 * UIProcess/API/cpp/qt/WKURLQt.cpp: Added.
41758 (WKURLCreateWithQUrl):
41760 * UIProcess/API/cpp/qt/WKURLQt.h: Added.
41762 2010-07-05 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
41764 Reviewed by Antti Koivisto.
41766 [Qt] Initial WebKit2 implementation
41767 https://bugs.webkit.org/show_bug.cgi?id=40233
41769 Add the Qt process launcher.
41771 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Added.
41772 (WebKit::ProcessLauncher::launchProcess):
41773 (WebKit::ProcessLauncher::terminateProcess):
41774 (WebKit::webThreadBody):
41775 (WebKit::ProcessLauncher::createWebThread):
41778 2010-07-05 Antti Koivisto <koivisto@iki.fi>
41780 Reviewed by Kenneth Rohde Christiansen.
41782 [Qt] Initial WebKit2 implementation
41783 https://bugs.webkit.org/show_bug.cgi?id=40233
41785 Implement ChunkedUpdateDrawingArea + Proxy for Qt. Not built yet.
41787 * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
41788 * UIProcess/qt: Added.
41789 * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp: Added.
41790 (WebKit::ChunkedUpdateDrawingAreaProxy::page):
41791 (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
41792 (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore):
41793 (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
41794 (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
41795 * WebProcess/WebPage/qt: Added.
41796 * WebProcess/WebPage/qt/ChunkedUpdateDrawingAreaQt.cpp: Added.
41797 (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
41799 2010-07-04 Anders Carlsson <andersca@apple.com>
41801 Reviewed by Dan Bernstein.
41803 Add simple command line parser and pass mode argument to the web process
41804 https://bugs.webkit.org/show_bug.cgi?id=41586
41806 * Shared/CommandLine.h:
41807 (WebKit::CommandLine::operator[]):
41808 Add CommandLine class.
41810 * Shared/mac/CommandLineMac.cpp:
41811 (WebKit::CommandLine::parse):
41812 Implement Mac version of CommandLine::parse.
41814 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
41815 (WebKit::ProcessLauncher::launchProcess):
41816 Add "legacywebprocess" mode to the posix_spawn call.
41818 * WebKit2.xcodeproj/project.pbxproj:
41819 Add CommandLine to the xcode project.
41821 * WebProcess/Launching/mac/WebProcessMain.mm:
41824 Parse the command line and check the mode.
41826 2010-07-04 Maciej Stachowiak <mjs@apple.com>
41828 Reviewed by Mark Rowe.
41830 WebProcess crashes in release for simple layout tests
41831 https://bugs.webkit.org/show_bug.cgi?id=41575
41833 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
41834 (WKBundlePageCopyRenderTreeExternalRepresentation): ref external representation StringImpl*
41835 before taking it out of its parent String, to avoid returning freed memory.
41837 2010-07-03 Maciej Stachowiak <mjs@apple.com>
41839 Rubber stamped by Anders Carlsson.
41841 Add stdint.h include to fix WebKitTestRunner build.
41843 * UIProcess/API/C/WKPage.h:
41845 2010-07-02 Luiz Agostini <luiz.agostini@openbossa.org>
41847 Reviewed by Kenneth Rohde Christiansen.
41849 [Qt] Wrong method name in file Connection.h
41850 https://bugs.webkit.org/show_bug.cgi?id=41536
41852 Method openConnectionHandler was spelled as openConnection in class Connection.
41854 * Platform/CoreIPC/Connection.h:
41856 2010-07-02 Luiz Agostini <luiz.agostini@openbossa.org>
41858 Reviewed by Sam Weinig.
41860 Adding notification and touch events methods to WebChromeClient
41861 https://bugs.webkit.org/show_bug.cgi?id=41527
41863 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
41864 (WebKit::WebChromeClient::notificationPresenter):
41865 (WebKit::WebChromeClient::needTouchEvents):
41866 * WebProcess/WebCoreSupport/WebChromeClient.h:
41868 2010-07-02 Luiz Agostini <luiz.agostini@openbossa.org>
41870 Reviewed by Sam Weinig.
41872 Removing CoreFoundation.h include from WKFrame.h
41873 https://bugs.webkit.org/show_bug.cgi?id=41528
41875 * UIProcess/API/C/WKFrame.h:
41877 2010-07-02 Sam Weinig <sam@webkit.org>
41879 Reviewed by Oliver Hunt.
41881 Patch for https://bugs.webkit.org/show_bug.cgi?id=41540
41882 WebKit2: Add InjectedCode API to get a list of subframes
41884 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
41885 (WKBundleFrameCopyChildFrames):
41886 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
41887 * WebProcess/WebPage/WebFrame.cpp:
41888 (WebKit::childFrameRef):
41889 (WebKit::childFrameDeref):
41890 (WebKit::WebFrame::childFrames):
41891 * WebProcess/WebPage/WebFrame.h:
41894 2010-07-02 Sam Weinig <sam@webkit.org>
41896 Reviewed by Anders Carlsson.
41898 Turn off the Objective-C garbage collection for the WebProcess.
41900 * Configurations/WebProcess.xcconfig:
41901 * WebProcess/Launching/mac/WebProcessMain.mm:
41902 (main): Assert that GC is off.
41904 2010-07-02 Sam Weinig <sam@webkit.org>
41906 Reviewed by Anders Carlsson.
41908 There is no longer a reason to check that the process is valid when posting
41909 a message to the bundle, the process code will take care of that for us.
41911 * UIProcess/WebContext.cpp:
41912 (WebKit::WebContext::postMessageToInjectedBundle):
41914 2010-07-02 Sam Weinig <sam@webkit.org>
41916 Reviewed by Anders Carlsson.
41918 Use send instead of connection()->send(), now that connections() are created
41919 asynchronously it can be null at this point and the message needs to be queued.
41921 * UIProcess/mac/WebProcessProxyMac.mm:
41922 (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
41924 2010-07-01 Steve Falkenburg <sfalken@apple.com>
41926 Even more Windows build fixing.
41927 Removed bogus post-build event commands.
41928 Removed unnecessary link libraries.
41930 * win/WebKit2.vcproj:
41932 2010-07-01 Steve Falkenburg <sfalken@apple.com>
41934 Fix Windows while not breaking Qt (didn't realize this was building for Qt).
41936 * WebProcess/WebProcess.cpp:
41938 2010-07-01 Steve Falkenburg <sfalken@apple.com>
41942 * win/WebKit2Generated.make:
41944 2010-07-01 Steve Falkenburg <sfalken@apple.com>
41948 * WebProcess/WebProcess.cpp:
41950 2010-07-01 Sam Weinig <sam@webkit.org>
41952 Reviewed by Jon Honeycutt.
41954 Make WebKit2 compile (though not work) on Leopard.
41956 * Platform/WorkQueue.h:
41957 * Platform/mac/WorkQueueMac.cpp:
41958 (WorkQueue::EventSource::EventSource):
41959 (WorkQueue::scheduleWork):
41960 (WorkQueue::registerMachPortEventHandler):
41961 (WorkQueue::unregisterMachPortEventHandler):
41962 (WorkQueue::platformInitialize):
41963 (WorkQueue::platformInvalidate):
41964 * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
41965 (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext):
41966 * UIProcess/mac/WebProcessProxyMac.mm:
41967 (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
41968 * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
41969 (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
41970 (WebKit::LayerBackedDrawingArea::setNeedsDisplay):
41971 * WebProcess/WebPage/LayerBackedDrawingArea.h:
41972 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
41973 (WebKit::LayerBackedDrawingArea::platformClear):
41974 (WebKit::LayerBackedDrawingArea::attachCompositingContext):
41976 2010-07-01 Sam Weinig <sam@webkit.org>
41978 Reviewed by Anders Carlsson.
41980 https://bugs.webkit.org/show_bug.cgi?id=41491
41981 Add first stab at back/forward list API.
41983 * UIProcess/API/C/WKAPICast.h:
41984 * UIProcess/API/C/WKBackForwardList.cpp: Added.
41985 * UIProcess/API/C/WKBackForwardList.h: Added.
41986 * UIProcess/API/C/WKBackForwardListItem.cpp: Added.
41987 * UIProcess/API/C/WKBackForwardListItem.h: Added.
41988 * UIProcess/API/C/WKBase.h:
41989 * UIProcess/API/C/WKPage.cpp:
41990 * UIProcess/API/C/WKPage.h:
41991 * UIProcess/API/C/WebKit2.h:
41992 * UIProcess/WebBackForwardListItem.cpp: Added.
41993 * UIProcess/WebBackForwardListItem.h: Added.
41994 * UIProcess/WebBackForwardListProxy.cpp: Added.
41995 * UIProcess/WebBackForwardListProxy.h: Added.
41996 * UIProcess/WebPageProxy.cpp:
41997 * UIProcess/WebPageProxy.h:
41998 * WebKit2.xcodeproj/project.pbxproj:
41999 * win/WebKit2.vcproj:
42001 2010-07-01 Anders Carlsson <andersca@apple.com>
42003 Reviewed by Sam Weinig.
42005 Make process launching asynchronous
42006 https://bugs.webkit.org/show_bug.cgi?id=41489
42008 * Platform/CoreIPC/Connection.h:
42009 Make OutgoingMessage public.
42011 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
42012 (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
42013 Don't wait for a paint reply when the process is starting up.
42015 * UIProcess/Launcher/ProcessLauncher.cpp: Added.
42016 Add new ProcessLauncher class.
42018 (WebKit::processLauncherWorkQueue):
42019 Returns the work queue where process launching will happen.
42021 (WebKit::ProcessLauncher::ProcessLauncher):
42022 Schedule launching the process.
42024 (WebKit::ProcessLauncher::didFinishLaunchingProcess):
42025 Call the client method.
42027 (WebKit::ProcessLauncher::invalidate):
42028 Set the client to 0.
42030 * UIProcess/Launcher/ProcessLauncher.h: Added.
42031 * UIProcess/Launcher/WebProcessLauncher.h: Removed.
42032 Rename WebProcessLauncher.h -> ProcessLauncher.h
42034 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: Added.
42035 * UIProcess/Launcher/mac/WebProcessLauncher.mm: Removed.
42036 Rename WebProcessLauncher.mm -> ProcessLauncherMac.mm, update for ProcessLauncher changes.
42038 * UIProcess/Launcher/win/ProcessLauncherWin.cpp: Added.
42039 * UIProcess/Launcher/win/WebProcessLauncher.cpp: Removed.
42040 Rename WebProcessLauncher.cpp -> ProcessLauncherWin.cpp, update for ProcessLauncher changes.
42042 * UIProcess/WebProcessProxy.cpp:
42043 (WebKit::WebProcessProxy::~WebProcessProxy):
42044 Delete any unsent messages.
42046 (WebKit::WebProcessProxy::connect):
42047 Use the new ProcessLauncher.
42049 (WebKit::WebProcessProxy::sendMessage):
42050 If we're waiting for the process to launch, the messages need to be enqueued.
42052 (WebKit::WebProcessProxy::didFinishLaunching):
42053 Send the outgoing messages.
42055 * WebKit2.xcodeproj/project.pbxproj:
42056 * win/WebKit2.vcproj:
42057 Update for renames.
42059 2010-07-01 Simon Fraser <simon.fraser@apple.com>
42061 Reviewed by Anders Carlsson.
42063 Get accelerated compositing working with webkit2
42064 https://bugs.webkit.org/show_bug.cgi?id=41084
42066 Start up the CA render server in the UI process (currently, at launch time), and
42067 pass the server port over to the web process for use by the layer-backed drawing area.
42069 Fix some style issues pointed out by Dan Bernstein.
42071 Implement the WebChromeClient methods that pass the attach/detach calls through
42072 to the drawing area.
42074 * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
42075 * UIProcess/API/mac/WKView.mm:
42076 (-[WKView _startAcceleratedCompositing:]):
42077 * UIProcess/API/mac/WKViewInternal.h:
42078 * UIProcess/WebProcessProxy.cpp:
42079 (WebKit::WebProcessProxy::WebProcessProxy):
42080 (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
42081 * UIProcess/WebProcessProxy.h:
42082 * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
42083 * UIProcess/mac/WebProcessProxyMac.mm: Added.
42084 (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
42085 * WebKit2.xcodeproj/project.pbxproj:
42086 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
42087 (WebKit::WebChromeClient::attachRootGraphicsLayer):
42088 (WebKit::WebChromeClient::scheduleCompositingLayerSync):
42089 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
42090 (WebKit::LayerBackedDrawingArea::attachCompositingContext):
42091 * WebProcess/WebProcess.cpp:
42092 (WebKit::WebProcess::WebProcess):
42093 (WebKit::WebProcess::didReceiveMessage):
42094 * WebProcess/WebProcess.h:
42095 (WebKit::WebProcess::compositingRenderServerPort):
42097 2010-07-01 Simon Fraser <simon.fraser@apple.com>
42099 Reviewed by Anders Carlsson.
42101 Get accelerated compositing working with webkit2
42102 https://bugs.webkit.org/show_bug.cgi?id=41084
42104 Add a new kind of DrawingArea, which is a LayerBackedDrawingArea, which will be used
42105 when the page goes into accelerated compositing mode. It is not wired up yet.
42107 * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: New 'attach' and 'detach' messages
42108 related to accelerated compositing.
42110 * UIProcess/API/mac/WKView.mm:
42111 (-[WKView _startAcceleratedCompositing:]):
42112 (-[WKView _stopAcceleratedCompositing]):
42113 * UIProcess/API/mac/WKViewInternal.h:
42114 Add a subview of the WKView which has layer-backing enabled, and put the drawing area's
42115 layer inside of that.
42117 * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
42118 (WebKit::ChunkedUpdateDrawingAreaProxy::attachCompositingContext):
42119 (WebKit::ChunkedUpdateDrawingAreaProxy::detachCompositingContext): These methods will never be called
42120 on the ChunkedUpdateDrawingArea. Stub them out.
42122 * UIProcess/DrawingAreaProxy.h:
42123 Add attachCompositingContext() and detachCompositingContext() methods, and a new drawing area
42126 * UIProcess/LayerBackedDrawingAreaProxy.cpp: Added.
42127 * UIProcess/LayerBackedDrawingAreaProxy.h: Added.
42128 * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm: Added.
42130 * WebKit2.xcodeproj/project.pbxproj: Add LayerBackedDrawingArea files.
42132 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: Add virtual methods stubs.
42134 * WebProcess/WebPage/DrawingArea.cpp:
42135 (WebKit::DrawingArea::create): Create a LayerBackedDrawingArea if asked.
42136 * WebProcess/WebPage/DrawingArea.h: New LayerBackedDrawingAreaType type, and new virtual
42137 methods related to accelerated compositing.
42139 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: Added.
42140 * WebProcess/WebPage/LayerBackedDrawingArea.h: Added.
42141 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: Added.
42143 2010-07-01 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
42145 Rubberstamped by Sam Weinig.
42147 Export symbols on Linux with GCC, like JSC does.
42149 * UIProcess/API/C/WKBase.h:
42150 * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
42152 2010-07-01 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
42154 Reviewed by Antti Koivisto.
42156 [Qt] Initial WebKit2 implementation
42157 https://bugs.webkit.org/show_bug.cgi?id=40233
42159 Add implementation of the UI and loader client for Qt.
42161 * UIProcess/API/qt/qwkpage.cpp:
42162 * UIProcess/API/qt/ClientImpl.cpp: Added.
42164 (qt_wk_didStartProvisionalLoadForFrame):
42165 (qt_wk_didReceiveServerRedirectForProvisionalLoadForFrame):
42166 (qt_wk_didFailProvisionalLoadWithErrorForFrame):
42167 (qt_wk_didCommitLoadForFrame):
42168 (qt_wk_didFinishLoadForFrame):
42169 (qt_wk_didFailLoadWithErrorForFrame):
42170 (qt_wk_didReceiveTitleForFrame):
42171 (qt_wk_didFirstLayoutForFrame):
42172 (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame):
42173 (qt_wk_didStartProgress):
42174 (qt_wk_didChangeProgress):
42175 (qt_wk_didFinishProgress):
42176 (qt_wk_didBecomeUnresponsive):
42177 (qt_wk_didBecomeResponsive):
42178 (qt_wk_createNewPage):
42181 (qt_wk_runJavaScriptAlert):
42182 * UIProcess/API/qt/ClientImpl.h: Added.
42184 2010-07-01 Anders Carlsson <andersca@apple.com>
42186 Reviewed by Dan Bernstein.
42188 Change the CoreIPC connection identifier to be a HANDLE on Windows
42189 https://bugs.webkit.org/show_bug.cgi?id=41479
42191 * Platform/CoreIPC/Connection.h:
42192 * Platform/CoreIPC/win/ConnectionWin.cpp:
42193 (CoreIPC::Connection::createServerAndClientIdentifiers):
42194 New function that creates a server and client HANDLE.
42196 (CoreIPC::Connection::platformInitialize):
42197 Don't open the connections here.
42199 (CoreIPC::Connection::readEventHandler):
42200 (CoreIPC::Connection::open):
42202 * UIProcess/Launcher/win/WebProcessLauncher.cpp:
42203 (WebKit::webThreadBody):
42204 Get the handle from the thread.
42206 (WebKit::launchWebProcess):
42207 Mark the client identifier as inheritable and pass it along to the web process.
42209 * WebProcess/win/WebProcessMain.cpp:
42210 (WebKit::CommandLine::CommandLine):
42211 (WebKit::CommandLine::parse):
42212 (WebKit::CommandLine::operator[]):
42213 Add simple command line parser.
42215 (WebKit::WebProcessMain):
42216 Get the handle identifier from the command line.
42218 * WebProcess/win/WebProcessMain.h:
42220 2010-07-01 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
42222 Reviewed by Antti Koivisto.
42224 [Qt] Initial WebKit2 implementation
42225 https://bugs.webkit.org/show_bug.cgi?id=40233
42227 Add initial Qt API for WebKit2
42229 * UIProcess/API/qt/WKView.h: Added.
42230 * UIProcess/API/qt/qgraphicswkview.cpp: Added.
42231 (QGraphicsWKViewPrivate::pageRef):
42232 (QGraphicsWKView::QGraphicsWKView):
42233 (QGraphicsWKView::~QGraphicsWKView):
42234 (QGraphicsWKView::page):
42235 (QGraphicsWKView::paint):
42236 (QGraphicsWKView::setGeometry):
42237 (QGraphicsWKView::load):
42238 (QGraphicsWKView::setUrl):
42239 (QGraphicsWKView::url):
42240 (QGraphicsWKView::title):
42241 (QGraphicsWKView::triggerPageAction):
42242 (QGraphicsWKView::back):
42243 (QGraphicsWKView::forward):
42244 (QGraphicsWKView::reload):
42245 (QGraphicsWKView::stop):
42246 (QGraphicsWKView::itemChange):
42247 (QGraphicsWKView::event):
42248 (QGraphicsWKView::sizeHint):
42249 (QGraphicsWKView::inputMethodQuery):
42250 (QGraphicsWKView::keyPressEvent):
42251 (QGraphicsWKView::keyReleaseEvent):
42252 (QGraphicsWKView::hoverMoveEvent):
42253 (QGraphicsWKView::mouseMoveEvent):
42254 (QGraphicsWKView::mousePressEvent):
42255 (QGraphicsWKView::mouseReleaseEvent):
42256 (QGraphicsWKView::mouseDoubleClickEvent):
42257 (QGraphicsWKView::wheelEvent):
42258 (QGraphicsWKViewPrivate::QGraphicsWKViewPrivate):
42259 (QGraphicsWKView::visibleRect):
42260 * UIProcess/API/qt/qgraphicswkview.h: Added.
42261 * UIProcess/API/qt/qwkpage.cpp: Added.
42262 (QWKPagePrivate::QWKPagePrivate):
42263 (QWKPagePrivate::~QWKPagePrivate):
42264 (QWKPagePrivate::init):
42265 (QWKPagePrivate::toolTipChanged):
42266 (QWKPagePrivate::paint):
42267 (QWKPagePrivate::keyPressEvent):
42268 (QWKPagePrivate::keyReleaseEvent):
42269 (QWKPagePrivate::mouseMoveEvent):
42270 (QWKPagePrivate::mousePressEvent):
42271 (QWKPagePrivate::mouseReleaseEvent):
42272 (QWKPagePrivate::mouseDoubleClickEvent):
42273 (QWKPagePrivate::wheelEvent):
42274 (QWKPagePrivate::updateAction):
42275 (QWKPagePrivate::updateNavigationActions):
42276 (QWKPagePrivate::_q_webActionTriggered):
42277 (QWKPage::QWKPage):
42278 (QWKPage::~QWKPage):
42279 (QWKPage::pageRef):
42280 (QWKPage::setCreateNewPageFunction):
42285 (QWKPage::setViewportSize):
42286 (QWKPage::requestZoomRect):
42287 (QWKPage::triggerAction):
42289 * UIProcess/API/qt/qwkpage.h: Added.
42290 * UIProcess/API/qt/qwkpage_p.h: Added.
42291 (QWKPagePrivate::get):
42292 (QWKPagePrivate::processDidExit):
42293 (QWKPagePrivate::processDidRevive):
42294 (QWKPagePrivate::takeFocus):
42296 2010-07-01 John Sullivan <sullivan@apple.com>
42298 Rubber-stamped by Anders Carlsson.
42301 Added _WKFramePolicyListenerDownload and _WKFramePolicyListenerIgnore.
42303 2010-07-01 Sheriff Bot <webkit.review.bot@gmail.com>
42305 Unreviewed, rolling out r62267.
42306 http://trac.webkit.org/changeset/62267
42307 https://bugs.webkit.org/show_bug.cgi?id=41468
42309 broke stuff (Requested by weinig on #webkit).
42311 * UIProcess/API/C/WKBase.h:
42312 * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
42314 2010-07-01 John Sullivan <sullivan@apple.com>
42316 Rubber-stamped by Sam Weinig.
42319 Added _WKFramePolicyListenerRelease and _WKFramePolicyListenerRetain.
42321 2010-07-01 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
42323 Reviewed by Antti Koivisto.
42325 [Qt] Initial WebKit2 implementation
42326 https://bugs.webkit.org/show_bug.cgi?id=40233
42328 Add our event factory for converting Qt events to something WebKit2
42331 * Shared/qt/WebEventFactoryQt.cpp: Added.
42332 (WebKit::mouseButtonForEvent):
42333 (WebKit::webEventTypeForEvent):
42334 (WebKit::modifiersForEvent):
42335 (WebKit::WebEventFactory::createWebMouseEvent):
42336 (WebKit::WebEventFactory::createWebWheelEvent):
42337 (WebKit::WebEventFactory::createWebKeyboardEvent):
42338 * Shared/qt/WebEventFactoryQt.h: Added.
42340 2010-07-01 Antti Koivisto <koivisto@iki.fi>
42342 Reviewed by Kenneth Rohde Christiansen.
42344 [Qt] Initial WebKit2 implementation
42345 https://bugs.webkit.org/show_bug.cgi?id=40233
42347 Add UpdateChunk. This one is mmap based, using Qt abstractions.
42349 * Shared/qt: Added.
42350 * Shared/qt/UpdateChunk.cpp: Added.
42351 (WebKit::MappedMemory::markUsed):
42352 (WebKit::MappedMemory::markFree):
42353 (WebKit::MappedMemory::isFree):
42354 (WebKit::mapMemory):
42356 (WebKit::UpdateChunk::UpdateChunk):
42357 (WebKit::UpdateChunk::~UpdateChunk):
42358 (WebKit::UpdateChunk::data):
42359 (WebKit::UpdateChunk::encode):
42360 (WebKit::UpdateChunk::decode):
42361 (WebKit::UpdateChunk::createImage):
42362 * Shared/qt/UpdateChunk.h: Added.
42363 (WebKit::UpdateChunk::rect):
42364 (WebKit::UpdateChunk::size):
42366 2010-07-01 Antti Koivisto <koivisto@iki.fi>
42368 Reviewed by Kenneth Rohde Christiansen.
42370 [Qt] Initial WebKit2 implementation
42371 https://bugs.webkit.org/show_bug.cgi?id=40233
42373 Include some stdlib headers to fix linux build.
42375 * Platform/CoreIPC/ArgumentDecoder.cpp:
42376 * Platform/CoreIPC/ArgumentEncoder.cpp:
42377 * UIProcess/WebLoaderClient.cpp:
42378 * UIProcess/WebPageProxy.cpp:
42379 * UIProcess/WebUIClient.cpp:
42381 2010-07-01 Antti Koivisto <koivisto@iki.fi>
42383 Reviewed by Kenneth Rohde Christiansen.
42385 [Qt] Initial WebKit2 implementation
42386 https://bugs.webkit.org/show_bug.cgi?id=40233
42388 Implement CoreIPC::Connection and PlatformProcessIdentifier for Qt. Not built yet.
42390 * Platform/CoreIPC/Connection.h:
42391 * Platform/CoreIPC/qt: Added.
42392 * Platform/CoreIPC/qt/ConnectionQt.cpp: Added.
42393 (CoreIPC::Connection::platformInitialize):
42394 (CoreIPC::Connection::platformInvalidate):
42395 (CoreIPC::Connection::newConnectionHandler):
42396 (CoreIPC::Connection::readyReadHandler):
42397 (CoreIPC::Connection::openConnection):
42398 (CoreIPC::Connection::open):
42399 (CoreIPC::Connection::sendOutgoingMessage):
42400 * Platform/PlatformProcessIdentifier.h:
42402 2010-07-01 Antti Koivisto <koivisto@iki.fi>
42404 Reviewed by Kenneth Rohde Christiansen.
42406 [Qt] Initial WebKit2 implementation
42407 https://bugs.webkit.org/show_bug.cgi?id=40233
42409 Implement WorkQueue for Qt. Not built yet.
42411 * Platform/WorkQueue.h:
42412 * Platform/qt/WorkQueueQt.cpp: Added.
42413 (WorkQueue::WorkItemQt::WorkItemQt):
42414 (WorkQueue::WorkItemQt::~WorkItemQt):
42415 (WorkQueue::WorkItemQt::execute):
42416 (WorkQueue::WorkItemQt::timerEvent):
42417 (WorkQueue::connectSignal):
42418 (WorkQueue::disconnectSignal):
42419 (WorkQueue::platformInitialize):
42420 (WorkQueue::platformInvalidate):
42421 (WorkQueue::scheduleWork):
42423 2010-07-01 Antti Koivisto <koivisto@iki.fi>
42425 Reviewed by Kenneth Rohde Christiansen.
42427 [Qt] Initial WebKit2 implementation
42428 https://bugs.webkit.org/show_bug.cgi?id=40233
42430 Implement RunLoop for Qt. Not built yet.
42432 * Platform/RunLoop.h:
42433 * Platform/qt: Added.
42434 * Platform/qt/RunLoopQt.cpp: Added.
42435 (RunLoop::TimerObject::TimerObject):
42436 (RunLoop::TimerObject::performWork):
42437 (RunLoop::TimerObject::wakeUp):
42438 (RunLoop::TimerObject::timerEvent):
42441 (RunLoop::RunLoop):
42442 (RunLoop::~RunLoop):
42444 (RunLoop::TimerBase::timerFired):
42445 (RunLoop::TimerBase::TimerBase):
42446 (RunLoop::TimerBase::~TimerBase):
42447 (RunLoop::TimerBase::start):
42448 (RunLoop::TimerBase::stop):
42449 (RunLoop::TimerBase::isActive):
42451 2010-06-30 Sam Weinig <sam@webkit.org>
42453 Reviewed by Darin Adler.
42455 Patch for https://bugs.webkit.org/show_bug.cgi?id=41426
42456 Add ImmutableArray class and WKArrayRef API to go with it. This will be used
42457 in a few follow up patches.
42459 * Shared/ImmutableArray.cpp: Added.
42460 (WebKit::ImmutableArray::ImmutableArray):
42461 (WebKit::ImmutableArray::~ImmutableArray):
42462 * Shared/ImmutableArray.h: Added.
42463 * UIProcess/API/C/WKAPICast.h:
42464 * UIProcess/API/C/WKArray.cpp: Added.
42465 * UIProcess/API/C/WKArray.h: Added.
42466 * UIProcess/API/C/WKBase.h:
42467 * WebKit2.xcodeproj/project.pbxproj:
42469 * win/WebKit2.vcproj:
42471 2010-06-30 Anders Carlsson <andersca@apple.com>
42473 Reviewed by Adam Roben.
42475 Add WebProcessProxy::send
42476 https://bugs.webkit.org/show_bug.cgi?id=41416
42478 * Platform/CoreIPC/Connection.h:
42479 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
42480 (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
42481 (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
42482 (WebKit::ChunkedUpdateDrawingAreaProxy::update):
42483 * UIProcess/WebContext.cpp:
42484 (WebKit::WebContext::postMessageToInjectedBundle):
42485 * UIProcess/WebPageProxy.cpp:
42486 (WebKit::WebPageProxy::initializeWebPage):
42487 (WebKit::WebPageProxy::reinitializeWebPage):
42488 (WebKit::WebPageProxy::close):
42489 (WebKit::WebPageProxy::tryClose):
42490 (WebKit::WebPageProxy::loadURL):
42491 (WebKit::WebPageProxy::stopLoading):
42492 (WebKit::WebPageProxy::reload):
42493 (WebKit::WebPageProxy::goForward):
42494 (WebKit::WebPageProxy::goBack):
42495 (WebKit::WebPageProxy::setFocused):
42496 (WebKit::WebPageProxy::setActive):
42497 (WebKit::WebPageProxy::mouseEvent):
42498 (WebKit::WebPageProxy::wheelEvent):
42499 (WebKit::WebPageProxy::keyEvent):
42500 (WebKit::WebPageProxy::receivedPolicyDecision):
42501 (WebKit::WebPageProxy::runJavaScriptInMainFrame):
42502 (WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
42503 (WebKit::WebPageProxy::preferencesDidChange):
42504 * UIProcess/WebProcessProxy.cpp:
42505 (WebKit::WebProcessProxy::WebProcessProxy):
42506 (WebKit::WebProcessProxy::sendMessage):
42507 * UIProcess/WebProcessProxy.h:
42508 (WebKit::WebProcessProxy::connection):
42509 (WebKit::WebProcessProxy::send):
42511 2010-06-29 Anders Carlsson <andersca@apple.com>
42513 Reviewed by Sam Weinig.
42515 Add a private Message class template
42516 https://bugs.webkit.org/show_bug.cgi?id=41370
42518 * Platform/CoreIPC/Connection.h:
42519 (CoreIPC::Connection::Message::Message):
42520 (CoreIPC::Connection::Message::arguments):
42522 2010-06-28 John Gregg <johnnyg@google.com>
42524 Unreviewed, build fix (removing merge conflict from previous).
42526 * Configurations/FeatureDefines.xcconfig:
42528 2010-06-23 John Gregg <johnnyg@google.com>
42530 Reviewed by Kent Tamura.
42532 add ENABLE_DIRECTORY_UPLOAD build support
42533 https://bugs.webkit.org/show_bug.cgi?id=41100
42535 * Configurations/FeatureDefines.xcconfig:
42537 2010-06-28 Sam Weinig <sam@webkit.org>
42539 Rubber-stamped Geoffrey Garen.
42541 Add WKBundleFrameIsMainFrame to exports file.
42545 2010-06-28 Sam Weinig <sam@webkit.org>
42547 Reviewed by Anders Carlsson.
42549 Patch for https://bugs.webkit.org/show_bug.cgi?id=41288
42550 WebKit2: Add frame API for InjectedBundle code
42552 * WebKit2.xcodeproj/project.pbxproj:
42553 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Added.
42554 (WKBundleFrameIsMainFrame):
42555 (WKBundleFrameGetURL):
42556 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Added.
42557 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
42558 (WKBundlePageGetMainFrame):
42559 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
42560 * WebProcess/WebPage/WebFrame.cpp:
42561 (WebKit::WebFrame::isMainFrame):
42562 (WebKit::WebFrame::url):
42563 * WebProcess/WebPage/WebFrame.h:
42564 * WebProcess/WebPage/WebPage.cpp:
42565 * WebProcess/WebPage/WebPage.h:
42566 (WebKit::WebPage::mainFrame):
42568 * win/WebKit2.vcproj:
42570 2010-06-27 Mark Rowe <mrowe@apple.com>
42572 Rubber-stamped by Maciej Stachowiak.
42574 Update guards related to blocks to check whether __BLOCKS__ is defined, rather than checking its value.
42575 This matches how similar checks are performed in system headers, and avoids a compile error when __BLOCKS__
42578 * UIProcess/API/C/WKPage.cpp:
42579 * UIProcess/API/C/WKPage.h:
42580 * UIProcess/API/C/WKPagePrivate.h:
42582 2010-06-26 Tony Gentilcore <tonyg@chromium.org>
42584 Reviewed by Dimitri Glazkov.
42586 Add an ENABLE_WEB_TIMING option for enabling Web Timing support.
42587 https://bugs.webkit.org/show_bug.cgi?id=38924
42589 * Configurations/FeatureDefines.xcconfig:
42591 2010-06-25 Steve Falkenburg <sfalken@apple.com>
42595 * win/WebKit2.vcproj:
42597 2010-06-25 Ada Chan <adachan@apple.com>
42599 Rubber-stamped by Mark Rowe.
42601 Add additional include search paths relative to $(WebKitLibrariesDir) to fix a build.
42603 * win/WebKit2.vcproj:
42605 2010-06-25 Sam Weinig <sam@webkit.org>
42607 Reviewed by Anders Carlsson.
42609 WKBundlePageRenderTreeExternalRepresentation really needs to be
42610 WKBundlePageCopyRenderTreeExternalRepresentation so we don't have dangling
42611 pointers and adhere to naming conventions.
42613 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
42614 (WKBundlePageCopyRenderTreeExternalRepresentation):
42615 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
42618 2010-06-24 Steve Falkenburg <sfalken@apple.com>
42622 * win/WebKit2.make: Added.
42623 * win/WebKit2.submit.sln: Added.
42625 2010-06-24 Steve Falkenburg <sfalken@apple.com>
42629 * win/WebKit2WebProcess.vcproj:
42631 2010-06-24 Sam Weinig <sam@webkit.org>
42633 Reviewed by Brady Eidson.
42635 Add WKBundlePageRenderTreeExternalRepresentation for WebKitTestRunner.
42637 * WebKit2.xcodeproj/project.pbxproj:
42638 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
42639 (WKBundlePageRenderTreeExternalRepresentation):
42640 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Added.
42641 * WebProcess/WebPage/WebPage.cpp:
42642 (WebKit::WebPage::renderTreeExternalRepresentation):
42643 (WebKit::WebPage::getRenderTreeExternalRepresentation):
42644 * WebProcess/WebPage/WebPage.h:
42646 * win/WebKit2.vcproj:
42648 2010-06-24 John Sullivan <sullivan@apple.com>
42650 Rubber-stamped by Ada Chan.
42653 Added _WKNavigationDataRelease and _WKNavigationDataRetain.
42655 2010-06-24 John Sullivan <sullivan@apple.com>
42657 Rubber-stamped by Anders Carlsson.
42660 Added _WKPageReloadFromOrigin.
42662 2010-06-24 Sam Weinig <sam@webkit.org>
42664 Reviewed by Anders Carlsson.
42666 Fix for https://bugs.webkit.org/show_bug.cgi?id=41168
42667 <rdar://problem/8124605>
42668 Webkit2: Add WKPageReloadFromOrigin() to match old-WebKit functionality
42670 * UIProcess/API/C/WKPage.cpp:
42672 (WKPageReloadFromOrigin):
42673 * UIProcess/API/C/WKPage.h:
42674 * UIProcess/WebPageProxy.cpp:
42675 (WebKit::WebPageProxy::reload):
42676 * UIProcess/WebPageProxy.h:
42677 * WebProcess/WebPage/WebPage.cpp:
42678 (WebKit::WebPage::reload):
42679 (WebKit::WebPage::didReceiveMessage):
42680 * WebProcess/WebPage/WebPage.h:
42682 2010-06-24 Adam Roben <aroben@apple.com>
42686 Fixes <http://webkit.org/b/41158>.
42688 Reviewed by Anders Carlsson.
42690 * Shared/win/UpdateChunk.cpp: Updated header name.
42692 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: Added.
42693 (WebKit::PluginInfoStore::pluginDirectories):
42694 (WebKit::PluginInfoStore::pluginPathsInDirectory):
42695 (WebKit::PluginInfoStore::getPluginInfo):
42696 (WebKit::PluginInfoStore::shouldUsePlugin):
42699 * win/WebKit2.vcproj: Added UIProcess/Plugins to the include path for
42700 all configurations. Added UIProcess/Plugins files to the project.
42702 2010-06-23 Anders Carlsson <andersca@apple.com>
42704 Reviewed by Sam Weinig.
42706 Have the UI process compute the plug-in data
42707 https://bugs.webkit.org/show_bug.cgi?id=41118
42709 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
42710 (WebProcessProxyMessage::):
42711 Add GetPlugin message kind.
42713 * Shared/WebCoreArgumentCoders.h:
42714 Add argument coders for PluginInfo and MimeClassInfo.
42716 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
42717 (WebKit::safeCreateCFString):
42718 (WebKit::PluginInfoStore::pluginPathsInDirectory):
42719 (WebKit::PluginInfoStore::getPluginInfo):
42720 Use safeCreateCFString.
42722 * UIProcess/WebProcessProxy.cpp:
42723 (WebKit::WebProcessProxy::getPlugins):
42724 Ask the plug-in info store for the plug-in list.
42726 (WebKit::WebProcessProxy::didReceiveSyncMessage):
42729 * UIProcess/WebProcessProxy.h:
42730 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
42731 (WebKit::WebFrameLoaderClient::objectContentType):
42734 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
42735 (WebKit::WebPlatformStrategies::populatePluginCache):
42736 Send a sync GetPlugins message.
42738 2010-06-23 Anders Carlsson <andersca@apple.com>
42740 Reviewed by Dan Bernstein.
42742 Add ArgumentCoder for vectors.
42744 * Platform/CoreIPC/ArgumentCoders.h:
42747 2010-06-23 Anders Carlsson <andersca@apple.com>
42749 Reviewed by Dan Bernstein.
42751 Rename WebCoreTypeArgumentMarshalling.h to WebCoreArgumentCoders.h
42753 * Shared/WebCoreArgumentCoders.h: Copied from Shared/WebCoreTypeArgumentMarshalling.h.
42754 * Shared/WebCoreTypeArgumentMarshalling.h: Removed.
42755 * Shared/WebEvent.h:
42756 * Shared/WebNavigationDataStore.h:
42757 * Shared/WebPreferencesStore.h:
42758 * Shared/mac/UpdateChunk.cpp:
42759 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
42760 * UIProcess/WebContext.cpp:
42761 * UIProcess/WebPageProxy.cpp:
42762 * WebKit2.xcodeproj/project.pbxproj:
42763 * WebProcess/InjectedBundle/InjectedBundle.cpp:
42764 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
42765 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
42766 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
42767 * WebProcess/WebPage/WebPage.cpp:
42768 * WebProcess/WebProcess.cpp:
42770 2010-06-23 Anders Carlsson <andersca@apple.com>
42772 Reviewed by Dan Bernstein.
42774 MessageIDs should always have the most significant bit zeroed out
42775 https://bugs.webkit.org/show_bug.cgi?id=41112
42777 The most significant bit is used by the Mac implementation of CoreIPC, and
42778 should always be zero in MessageID objects.
42780 * Platform/CoreIPC/Connection.cpp:
42781 (CoreIPC::Connection::waitForMessage):
42782 * Platform/CoreIPC/MessageID.h:
42783 (CoreIPC::MessageID::):
42784 (CoreIPC::MessageID::MessageID):
42785 (CoreIPC::MessageID::operator==):
42786 (CoreIPC::MessageID::fromInt):
42787 (CoreIPC::MessageID::isSync):
42788 (CoreIPC::MessageID::stripMostSignificantBit):
42789 * Platform/CoreIPC/mac/ConnectionMac.cpp:
42790 (CoreIPC::Connection::sendOutgoingMessage):
42791 (CoreIPC::createArgumentDecoder):
42793 2010-06-23 John Sullivan <sullivan@apple.com>
42795 Rubber-stamped by Anders Carlsson.
42798 Added yet another symbol needed by Mac clients.
42800 2010-06-23 John Sullivan <sullivan@apple.com>
42802 Rubber-stamped by Anders Carlsson.
42805 Added another symbol needed by Mac clients.
42807 2010-06-23 Anders Carlsson <andersca@apple.com>
42809 Reviewed by Sam Weinig.
42811 Rename SimpleArgumentCoder.h to ArgumentCoders.h
42813 * Platform/CoreIPC/ArgumentCoders.h: Copied from Platform/CoreIPC/SimpleArgumentCoder.h.
42814 * Platform/CoreIPC/SimpleArgumentCoder.h: Removed.
42815 * Shared/WebCoreTypeArgumentMarshalling.h:
42816 * WebKit2.xcodeproj/project.pbxproj:
42818 2010-06-23 Anders Carlsson <andersca@apple.com>
42820 Reviewed by Sam Weinig.
42822 Add a plug-in info cache to WebPlatformStrategies
42823 https://bugs.webkit.org/show_bug.cgi?id=41087
42825 This is in preparation for proxying the getPlugins call over to the UI process.
42827 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
42828 (WebKit::WebPlatformStrategies::WebPlatformStrategies):
42829 (WebKit::WebPlatformStrategies::populatePluginCache):
42830 (WebKit::WebPlatformStrategies::refreshPlugins):
42831 (WebKit::WebPlatformStrategies::getPluginInfo):
42832 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
42834 2010-06-23 Sam Weinig <sam@webkit.org>
42836 Reviewed by John Sullivan.
42838 Stop silently ignoring crashes.
42840 * WebProcess/Launching/mac/WebProcessMain.mm:
42842 2010-06-23 Sam Weinig <sam@webkit.org>
42844 Reviewed by Anders Carlsson.
42846 Add missing include to WKRetainPtr.
42848 * UIProcess/API/cpp/WKRetainPtr.h:
42850 2010-06-23 Sam Weinig <sam@webkit.org>
42852 Reviewed by Anders Carlsson.
42854 Fix for https://bugs.webkit.org/show_bug.cgi?id=41073
42855 WebKit2: Flesh out more of the InjectedBundle client API
42857 * WebProcess/InjectedBundle/API/c/WKBundle.h:
42858 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
42859 * WebProcess/InjectedBundle/InjectedBundle.cpp:
42860 (WebKit::InjectedBundle::willDestroyPage):
42861 * WebProcess/InjectedBundle/InjectedBundle.h:
42862 * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp:
42863 (WebKit::InjectedBundlePageClient::didStartProvisionalLoadForFrame):
42864 (WebKit::InjectedBundlePageClient::didReceiveServerRedirectForProvisionalLoadForFrame):
42865 (WebKit::InjectedBundlePageClient::didFailProvisionalLoadWithErrorForFrame):
42866 (WebKit::InjectedBundlePageClient::didCommitLoadForFrame):
42867 (WebKit::InjectedBundlePageClient::didFinishLoadForFrame):
42868 (WebKit::InjectedBundlePageClient::didFailLoadWithErrorForFrame):
42869 (WebKit::InjectedBundlePageClient::didReceiveTitleForFrame):
42870 * WebProcess/InjectedBundle/InjectedBundlePageClient.h:
42871 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
42872 (WebKit::InjectedBundle::load): Add some error logging on failure to load the bundle.
42873 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
42874 (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
42875 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
42876 (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
42877 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
42878 (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
42879 (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
42880 (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
42881 * WebProcess/WebPage/WebPage.cpp:
42882 (WebKit::WebPage::close):
42885 2010-06-22 Anders Carlsson <andersca@apple.com>
42887 Reviewed by Sam Weinig.
42889 Add a SimpleArgumentCoder class template that works on POD types
42890 https://bugs.webkit.org/show_bug.cgi?id=41023
42892 * Platform/CoreIPC/SimpleArgumentCoder.h: Added.
42893 (CoreIPC::SimpleArgumentCoder::encode):
42894 (CoreIPC::SimpleArgumentCoder::decode):
42895 * Shared/WebCoreTypeArgumentMarshalling.h:
42897 * WebKit2.xcodeproj/project.pbxproj:
42899 2010-06-22 Anders Carlsson <andersca@apple.com>
42901 Reviewed by Sam Weinig.
42903 Use the ArgumentCoder class template for decoding
42904 https://bugs.webkit.org/show_bug.cgi?id=41021
42906 * Platform/CoreIPC/ArgumentCoder.h:
42907 (CoreIPC::ArgumentCoder::decode):
42908 * Platform/CoreIPC/ArgumentDecoder.h:
42909 (CoreIPC::ArgumentDecoder::decode):
42910 * Shared/WebCoreTypeArgumentMarshalling.h:
42913 2010-06-22 Anders Carlsson <andersca@apple.com>
42915 Reviewed by Dan Bernstein.
42917 Change the encode functions to be specializations of a class template
42918 https://bugs.webkit.org/show_bug.cgi?id=41015
42920 * Platform/CoreIPC/ArgumentCoder.h: Added.
42921 (CoreIPC::ArgumentCoder::encode):
42922 * Platform/CoreIPC/ArgumentEncoder.h:
42923 (CoreIPC::ArgumentEncoder::encode):
42924 * Shared/WebCoreTypeArgumentMarshalling.h:
42926 * WebKit2.xcodeproj/project.pbxproj:
42928 2010-06-22 Anders Carlsson <andersca@apple.com>
42930 Reviewed by Sam Weinig.
42932 Implement PluginInfoStore::shouldUsePlugin.
42934 * UIProcess/Plugins/PluginInfoStore.h:
42935 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
42936 (WebKit::PluginInfoStore::getPluginInfo):
42937 (WebKit::PluginInfoStore::shouldUsePlugin):
42938 * WebKit2.xcodeproj/project.pbxproj:
42940 2010-06-21 Anders Carlsson <andersca@apple.com>
42942 Reviewed by Sam Weinig.
42944 Support reading plug-in info from Carbon resources
42945 https://bugs.webkit.org/show_bug.cgi?id=40959
42947 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
42948 (WebKit::ResourceMap::ResourceMap):
42949 (WebKit::ResourceMap::~ResourceMap):
42950 (WebKit::ResourceMap::isValid):
42951 (WebKit::getStringListResource):
42952 (WebKit::getPluginInfoFromCarbonResources):
42953 (WebKit::PluginInfoStore::getPluginInfo):
42955 2010-06-21 Anders Carlsson <andersca@apple.com>
42959 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
42960 (WebKit::PluginInfoStore::getPluginInfo):
42962 2010-06-21 Anders Carlsson <andersca@apple.com>
42964 Reviewed by Sam Weinig.
42966 Have PluginInfoStoreMac actually get plug-in info and populate the plug-in list
42967 https://bugs.webkit.org/show_bug.cgi?id=40957
42969 * UIProcess/Plugins/PluginInfoStore.cpp:
42970 (WebKit::PluginInfoStore::loadPluginsIfNecessary):
42971 (WebKit::PluginInfoStore::loadPluginsInDirectory):
42972 (WebKit::PluginInfoStore::loadPlugin):
42973 (WebKit::PluginInfoStore::getPlugins):
42974 * UIProcess/Plugins/PluginInfoStore.h:
42975 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: Added.
42976 (WebKit::PluginInfoStore::pluginDirectories):
42977 (WebKit::PluginInfoStore::pluginPathsInDirectory):
42978 (WebKit::getPluginArchitecture):
42979 (WebKit::getPluginInfoFromPropertyLists):
42980 (WebKit::PluginInfoStore::getPluginInfo):
42981 (WebKit::PluginInfoStore::shouldUsePlugin):
42982 * WebKit2.xcodeproj/project.pbxproj:
42984 2010-06-21 Anders Carlsson <andersca@apple.com>
42986 Reviewed by Sam Weinig.
42988 Add PluginInfoStore class
42989 https://bugs.webkit.org/show_bug.cgi?id=40949
42991 * Shared/WebPreferencesStore.cpp:
42992 (WebKit::WebPreferencesStore::WebPreferencesStore):
42993 * Shared/WebPreferencesStore.h:
42994 (WebKit::WebPreferencesStore::encode):
42995 (WebKit::WebPreferencesStore::decode):
42996 Add plugInsEnabled to the preferences store.
42998 * UIProcess/Plugins: Added.
42999 * UIProcess/Plugins/PluginInfoStore.cpp: Added.
43000 (WebKit::PluginInfoStore::shared):
43001 (WebKit::PluginInfoStore::PluginInfoStore):
43002 (WebKit::PluginInfoStore::refresh):
43003 (WebKit::PluginInfoStore::getPlugins):
43004 * UIProcess/Plugins/PluginInfoStore.h: Added.
43005 * UIProcess/Plugins/mac: Added.
43006 * WebKit2.xcodeproj/project.pbxproj:
43007 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
43008 (WebKit::WebPlatformStrategies::refreshPlugins):
43009 (WebKit::WebPlatformStrategies::getPluginInfo):
43010 * WebProcess/WebPage/WebPage.cpp:
43011 (WebKit::WebPage::WebPage):
43013 2010-06-21 Simon Fraser <simon.fraser@apple.com>
43015 Reviewed by Anders Carlsson.
43017 Rename DrawingAreaProxyUpdateChunk to ChunkedUpdateDrawingArea
43018 https://bugs.webkit.org/show_bug.cgi?id=40948
43020 Rename UIProcess version of DrawingAreaUpdateChunk to ChunkedUpdateDrawingAreaProxy,
43021 and rename the Mac/Win versions of the various DrawingArea files too.
43023 Also rename the DrawingAreaUpdateChunkType enum to ChunkedUpdateDrawingAreaType.
43025 * UIProcess/API/mac/WKView.mm:
43026 (-[WKView initWithFrame:pageNamespaceRef:]):
43027 * UIProcess/ChunkedUpdateDrawingArea.cpp: Removed.
43028 * UIProcess/ChunkedUpdateDrawingArea.h: Removed.
43029 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: Added.
43030 (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
43031 (WebKit::ChunkedUpdateDrawingAreaProxy::~ChunkedUpdateDrawingAreaProxy):
43032 (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
43033 (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
43034 (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
43035 (WebKit::ChunkedUpdateDrawingAreaProxy::didSetSize):
43036 (WebKit::ChunkedUpdateDrawingAreaProxy::update):
43037 (WebKit::ChunkedUpdateDrawingAreaProxy::didReceiveMessage):
43038 * UIProcess/ChunkedUpdateDrawingAreaProxy.h: Added.
43039 (WebKit::ChunkedUpdateDrawingAreaProxy::encode):
43040 * UIProcess/DrawingAreaProxy.h:
43041 (WebKit::DrawingAreaProxy::):
43042 * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm: Added.
43043 (WebKit::ChunkedUpdateDrawingAreaProxy::page):
43044 (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
43045 (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore):
43046 (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
43047 (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
43048 * UIProcess/mac/DrawingAreaProxyUpdateChunkMac.mm: Removed.
43049 * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp: Added.
43050 (WebKit::ChunkedUpdateDrawingAreaProxy::page):
43051 (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
43052 (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore):
43053 (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
43054 (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
43055 * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp: Removed.
43056 * UIProcess/win/WebView.cpp:
43057 (WebKit::WebView::WebView):
43058 * WebKit2.xcodeproj/project.pbxproj:
43059 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: Added.
43060 (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
43061 (WebKit::ChunkedUpdateDrawingArea::~ChunkedUpdateDrawingArea):
43062 (WebKit::ChunkedUpdateDrawingArea::invalidateWindow):
43063 (WebKit::ChunkedUpdateDrawingArea::invalidateContentsAndWindow):
43064 (WebKit::ChunkedUpdateDrawingArea::invalidateContentsForSlowScroll):
43065 (WebKit::ChunkedUpdateDrawingArea::scroll):
43066 (WebKit::ChunkedUpdateDrawingArea::setNeedsDisplay):
43067 (WebKit::ChunkedUpdateDrawingArea::display):
43068 (WebKit::ChunkedUpdateDrawingArea::scheduleDisplay):
43069 (WebKit::ChunkedUpdateDrawingArea::setSize):
43070 (WebKit::ChunkedUpdateDrawingArea::suspendPainting):
43071 (WebKit::ChunkedUpdateDrawingArea::resumePainting):
43072 (WebKit::ChunkedUpdateDrawingArea::didUpdate):
43073 (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
43074 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: Added.
43075 * WebProcess/WebPage/DrawingArea.cpp:
43076 (WebKit::DrawingArea::create):
43077 * WebProcess/WebPage/DrawingArea.h:
43078 (WebKit::DrawingArea::):
43079 * WebProcess/WebPage/DrawingAreaUpdateChunk.cpp: Removed.
43080 * WebProcess/WebPage/DrawingAreaUpdateChunk.h: Removed.
43081 * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp: Added.
43082 (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
43083 * WebProcess/WebPage/mac/DrawingAreaUpdateChunkMac.cpp: Removed.
43084 * WebProcess/WebPage/win/ChunkedUpdateDrawingAreaWin.cpp: Added.
43085 (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
43086 * WebProcess/WebPage/win/DrawingAreaUpdateChunkWin.cpp: Removed.
43087 * win/WebKit2.vcproj:
43089 2010-06-21 Simon Fraser <simon.fraser@apple.com>
43091 Reviewed by Anders Carlsson.
43093 Rename DrawingAreaProxyUpdateChunk to ChunkedUpdateDrawingArea
43094 https://bugs.webkit.org/show_bug.cgi?id=40948
43096 Rename DrawingAreaUpdateChunk to ChunkedUpdateDrawingArea.
43098 * UIProcess/API/mac/WKView.mm:
43099 (-[WKView initWithFrame:pageNamespaceRef:]):
43100 * UIProcess/ChunkedUpdateDrawingArea.cpp: Added.
43101 (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
43102 (WebKit::ChunkedUpdateDrawingArea::~ChunkedUpdateDrawingArea):
43103 (WebKit::ChunkedUpdateDrawingArea::paint):
43104 (WebKit::ChunkedUpdateDrawingArea::setSize):
43105 (WebKit::ChunkedUpdateDrawingArea::setPageIsVisible):
43106 (WebKit::ChunkedUpdateDrawingArea::didSetSize):
43107 (WebKit::ChunkedUpdateDrawingArea::update):
43108 (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
43109 * UIProcess/ChunkedUpdateDrawingArea.h: Added.
43110 (WebKit::ChunkedUpdateDrawingArea::encode):
43111 * UIProcess/DrawingAreaProxyUpdateChunk.cpp: Removed.
43112 * UIProcess/DrawingAreaProxyUpdateChunk.h: Removed.
43113 * UIProcess/mac/DrawingAreaProxyUpdateChunkMac.mm:
43114 (WebKit::ChunkedUpdateDrawingArea::page):
43115 (WebKit::ChunkedUpdateDrawingArea::ensureBackingStore):
43116 (WebKit::ChunkedUpdateDrawingArea::invalidateBackingStore):
43117 (WebKit::ChunkedUpdateDrawingArea::platformPaint):
43118 (WebKit::ChunkedUpdateDrawingArea::drawUpdateChunkIntoBackingStore):
43119 * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp:
43120 (WebKit::ChunkedUpdateDrawingArea::page):
43121 (WebKit::ChunkedUpdateDrawingArea::ensureBackingStore):
43122 (WebKit::ChunkedUpdateDrawingArea::invalidateBackingStore):
43123 (WebKit::ChunkedUpdateDrawingArea::platformPaint):
43124 (WebKit::ChunkedUpdateDrawingArea::drawUpdateChunkIntoBackingStore):
43125 * UIProcess/win/WebView.cpp:
43126 (WebKit::WebView::WebView):
43127 * WebKit2.xcodeproj/project.pbxproj:
43128 * win/WebKit2.vcproj:
43130 2010-06-21 Sam Weinig <sam@webkit.org>
43132 Reviewed by Anders Carlsson.
43134 Patch for https://bugs.webkit.org/show_bug.cgi?id=40940
43135 Add message passing support to the WebKit2 API.
43137 Adds message passing for both InjectedBundle -> WebContext
43138 and WebContext -> InjectedBundle.
43140 * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
43141 (WebProcessMessage::):
43142 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h: Added.
43143 (WebProcessProxyMessage::):
43145 * UIProcess/API/C/WKContext.cpp:
43146 (WKContextSetInjectedBundleClient):
43147 (WKContextPostMessageToInjectedBundle):
43148 * UIProcess/API/C/WKContext.h:
43149 * UIProcess/WebContext.cpp:
43150 (WebKit::WebContext::initializeInjectedBundleClient):
43151 (WebKit::WebContext::forwardMessageToWebContext):
43152 (WebKit::WebContext::postMessageToInjectedBundle):
43153 * UIProcess/WebContext.h:
43154 * UIProcess/WebContextInjectedBundleClient.cpp: Added.
43155 (WebKit::WebContextInjectedBundleClient::WebContextInjectedBundleClient):
43156 (WebKit::WebContextInjectedBundleClient::initialize):
43157 (WebKit::WebContextInjectedBundleClient::didRecieveMessageFromInjectedBundle):
43158 * UIProcess/WebContextInjectedBundleClient.h: Added.
43159 * UIProcess/WebProcessManager.cpp:
43160 (WebKit::WebProcessManager::processDidClose):
43161 * UIProcess/WebProcessProxy.cpp:
43162 (WebKit::WebProcessProxy::didReceiveInjectedBundleMessage):
43163 (WebKit::WebProcessProxy::didReceiveMessage):
43164 * UIProcess/WebProcessProxy.h:
43165 * WebKit2.xcodeproj/project.pbxproj:
43166 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
43167 (WKBundlePostMessage):
43168 * WebProcess/InjectedBundle/API/c/WKBundle.h:
43169 * WebProcess/InjectedBundle/InjectedBundle.cpp:
43170 (WebKit::InjectedBundle::postMessage):
43171 (WebKit::InjectedBundle::didCreatePage):
43172 (WebKit::InjectedBundle::didRecieveMessage):
43173 * WebProcess/InjectedBundle/InjectedBundle.h:
43174 * WebProcess/WebProcess.cpp:
43175 (WebKit::WebProcess::loadInjectedBundle):
43176 (WebKit::WebProcess::forwardMessageToInjectedBundle):
43177 (WebKit::WebProcess::didReceiveMessage):
43178 * WebProcess/WebProcess.h:
43180 * win/WebKit2.vcproj:
43182 2010-06-21 Anders Carlsson <andersca@apple.com>
43184 Reviewed by Sam Weinig.
43186 Make WebKit2 build with clang++
43188 * Platform/CoreIPC/Connection.h:
43189 * UIProcess/API/mac/WKView.mm:
43190 (-[WKView keyUp:]):
43191 (-[WKView keyDown:]):
43192 * UIProcess/WebHistoryClient.h:
43193 * UIProcess/WebPageProxy.h:
43194 * WebProcess/WebPage/WebPage.h:
43195 * WebProcess/WebProcess.h:
43197 2010-06-21 Satish Sampath <satish@chromium.org>
43199 Reviewed by Steve Block.
43201 Speech Input Patch 0: Added compilation argument to conditionally compile pending patches.
43203 Speech Input Patch 0: Added compilation argument to conditionally compile pending patches.
43204 https://bugs.webkit.org/show_bug.cgi?id=40878
43206 * Configurations/FeatureDefines.xcconfig:
43208 2010-06-20 Jessie Berlin <jberlin@apple.com>
43210 Reviewed by Dan Bernstein.
43212 Add #if USE(PLATFORM_STRATEGIES) where WebPlatformStrategies is being used.
43214 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
43215 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
43216 * WebProcess/WebProcess.cpp:
43217 (WebKit::WebProcess::WebProcess):
43218 Only initialize the web platform strategies if PLATFORM_STRATEGIES is being used.
43220 2010-06-19 Sam Weinig <sam@webkit.org>
43222 Reviewed by Anders Carlsson.
43224 Fix for https://bugs.webkit.org/show_bug.cgi?id=40882
43225 Add ability to have a WebProcess per WebContext.
43227 - Move to a one-to-one correspondence of WebContexts to WebProcessProxies.
43228 - Add explicit shared contexts for general use.
43229 - Only non-shared contexts can use injected bundles.
43231 * UIProcess/API/C/WKContext.cpp:
43233 (WKContextCreateWithInjectedBundlePath):
43234 (WKContextGetSharedProcessContext):
43235 (WKContextGetSharedThreadContext):
43236 * UIProcess/API/C/WKContext.h:
43237 * UIProcess/API/C/WKContextPrivate.h:
43238 Change API for WKContext to no longer take a WKProcessModel type and instead
43239 have explicit Create/Get functions for the different kind of contexts. Added
43240 two shared contexts, one threaded, one process, and made the threaded on private
43243 * UIProcess/API/mac/WKView.mm:
43244 (-[WKView initWithFrame:]):
43245 Make WKViews that don't have an explicit context use the shared process
43246 context by default.
43248 * UIProcess/Launcher/WebProcessLauncher.h:
43249 * UIProcess/Launcher/mac/WebProcessLauncher.mm:
43250 (WebKit::launchWebProcess):
43251 * UIProcess/Launcher/win/WebProcessLauncher.cpp:
43252 (WebKit::launchWebProcess):
43253 Use a boolean argument to note whether we are using a thread or a process
43254 instead of using the process model enum.
43256 * UIProcess/ProcessModel.h:
43258 Convert to using explicit Shared modifier for shared contexts.
43260 * UIProcess/WebContext.cpp:
43261 (WebKit::WebContext::sharedProcessContext):
43262 (WebKit::WebContext::sharedThreadContext):
43263 (WebKit::WebContext::ensureWebProcess):
43264 (WebKit::WebContext::createWebPage):
43265 (WebKit::WebContext::reviveIfNecessary):
43266 * UIProcess/WebContext.h:
43267 (WebKit::WebContext::create):
43268 (WebKit::WebContext::process):
43269 * UIProcess/WebPageNamespace.cpp:
43270 (WebKit::WebPageNamespace::createWebPage):
43271 (WebKit::WebPageNamespace::preferencesDidChange):
43272 (WebKit::WebPageNamespace::getStatistics):
43273 * UIProcess/WebPageNamespace.h:
43274 (WebKit::WebPageNamespace::process):
43275 (WebKit::WebPageNamespace::reviveIfNecessary):
43276 Move WebProcessProxy creation logic up into WebContext.
43278 * UIProcess/WebProcessManager.cpp:
43279 (WebKit::WebProcessManager::getWebProcess):
43280 (WebKit::WebProcessManager::processDidClose):
43281 * UIProcess/WebProcessManager.h:
43282 Keep a map of WebContexts to WebProcessProxies in addition to the two
43285 * UIProcess/WebProcessProxy.cpp:
43286 (WebKit::WebProcessProxy::create):
43287 (WebKit::WebProcessProxy::WebProcessProxy):
43288 (WebKit::WebProcessProxy::connect):
43289 (WebKit::WebProcessProxy::didClose):
43290 * UIProcess/WebProcessProxy.h:
43291 Store a WebContext instead of the process model.
43296 2010-06-18 Anders Carlsson <andersca@apple.com>
43298 Reviewed by Sam Weinig.
43300 Make WebCoreSystemInterface.h a C++ only header
43301 https://bugs.webkit.org/show_bug.cgi?id=40867
43303 * WebKit2.xcodeproj/project.pbxproj:
43304 * WebProcess/WebCoreSupport/mac/WebSystemInterface.h:
43305 * WebProcess/WebCoreSupport/mac/WebSystemInterface.m: Removed.
43306 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: Copied from WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.m.
43309 2010-06-18 Anders Carlsson <andersca@apple.com>
43311 Reviewed by Sam Weinig.
43313 Add platform strategies for WebKit2.
43314 https://bugs.webkit.org/show_bug.cgi?id=40863
43316 * WebKit2.xcodeproj/project.pbxproj:
43317 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added.
43318 (WebKit::WebPlatformStrategies::initialize):
43319 (WebKit::WebPlatformStrategies::WebPlatformStrategies):
43320 (WebKit::WebPlatformStrategies::createPluginStrategy):
43321 (WebKit::WebPlatformStrategies::refreshPlugins):
43322 (WebKit::WebPlatformStrategies::getPluginInfo):
43323 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added.
43324 * WebProcess/WebProcess.cpp:
43325 (WebKit::WebProcess::WebProcess):
43327 2010-06-18 Sam Weinig <weinig@apple.com>
43329 Rolling http://trac.webkit.org/changeset/61297 back in.
43331 * WebKit2.xcodeproj/project.pbxproj:
43332 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Added.
43333 (WKBundlePageSetClient):
43334 (WKBundlePageGetMainFrameURL):
43335 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Added.
43336 * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp: Added.
43337 (WebKit::InjectedBundlePageClient::InjectedBundlePageClient):
43338 (WebKit::InjectedBundlePageClient::initialize):
43339 (WebKit::InjectedBundlePageClient::didClearWindowObjectForFrame):
43340 * WebProcess/InjectedBundle/InjectedBundlePageClient.h: Added.
43341 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
43342 (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
43343 * WebProcess/WebPage/WebPage.cpp:
43344 (WebKit::WebPage::initializeInjectedBundleClient):
43345 (WebKit::WebPage::mainFrameURL):
43346 * WebProcess/WebPage/WebPage.h:
43347 (WebKit::WebPage::injectedBundleClient):
43349 * win/WebKit2.vcproj:
43351 2010-06-17 Anders Carlsson <andersca@apple.com>
43353 Reviewed by Sam Weinig.
43355 Fix a race condition during startup where we would never send the InitializeConnection message to the server.
43357 * Platform/CoreIPC/mac/ConnectionMac.cpp:
43358 (CoreIPC::Connection::open):
43360 2010-06-17 Ada Chan <adachan@apple.com>
43362 Rolling out http://trac.webkit.org/changeset/61297 due to build errors.
43364 * WebKit2.xcodeproj/project.pbxproj:
43365 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Removed.
43366 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Removed.
43367 * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp: Removed.
43368 * WebProcess/InjectedBundle/InjectedBundlePageClient.h: Removed.
43369 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
43370 (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
43371 * WebProcess/WebPage/WebPage.cpp:
43372 * WebProcess/WebPage/WebPage.h:
43374 * win/WebKit2.vcproj:
43376 2010-06-15 Sam Weinig <sam@webkit.org>
43378 Reviewed by Anders Carlsson.
43380 Fix for <rdar://problem/8010805>
43381 Assertion failure ("mainThreadPthread") in isMainThread() mousing over cnn.com in Mini Browser
43383 Don't use WebCore::String::operator NSString*() from the UIProcess, since it uses
43384 StringImpl::createCFString() which expects to be called from WebCore's main thread.
43386 * UIProcess/API/mac/PageClientImpl.h:
43387 * UIProcess/API/mac/PageClientImpl.mm:
43388 (WebKit::nsStringFromWebCoreString):
43389 (WebKit::PageClientImpl::toolTipChanged):
43390 * UIProcess/API/mac/WKView.mm:
43391 (-[WKView view:stringForToolTip:point:userData:]):
43393 2010-06-15 Sam Weinig <sam@webkit.org>
43395 Reviewed by Anders Carlsson.
43397 Fix for https://bugs.webkit.org/show_bug.cgi?id=40630
43398 WebKit2: Add mechanism to inject code into the WebProcess on startup
43400 Add initial InjectedBundle support.
43402 * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
43403 (WebProcessMessage::):
43404 Add new LoadInjectedBundle message kind.
43406 * UIProcess/API/C/WKContext.cpp:
43409 (WKContextCreateWithInjectedBundlePath):
43410 * UIProcess/API/C/WKContext.h:
43411 Rename WKContextCreateWithProcessModel to WKContextCreate and add
43412 WKContextCreateWithInjectedBundlePath for creating a context with
43415 * UIProcess/WebContext.cpp:
43416 (WebKit::WebContext::WebContext):
43417 * UIProcess/WebContext.h:
43418 (WebKit::WebContext::create):
43419 (WebKit::WebContext::processModel):
43420 (WebKit::WebContext::bundlePath):
43421 * UIProcess/WebPageNamespace.cpp:
43422 (WebKit::WebPageNamespace::ensureWebProcess):
43423 (WebKit::WebPageNamespace::reviveIfNecessary):
43424 * UIProcess/WebProcessManager.cpp:
43425 (WebKit::WebProcessManager::getWebProcess):
43426 * UIProcess/WebProcessManager.h:
43427 * UIProcess/WebProcessProxy.cpp:
43428 (WebKit::WebProcessProxy::create):
43429 (WebKit::WebProcessProxy::WebProcessProxy):
43430 * UIProcess/WebProcessProxy.h:
43431 Thread the bundle path through process creation.
43433 * WebProcess/InjectedBundle: Added.
43434 * WebProcess/InjectedBundle/API: Added.
43435 * WebProcess/InjectedBundle/API/c: Added.
43436 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: Added.
43437 (WKBundleSetClient):
43438 * WebProcess/InjectedBundle/API/c/WKBundle.h: Added.
43439 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: Added.
43443 * WebProcess/InjectedBundle/API/c/WKBundleBase.h: Added.
43444 * WebProcess/InjectedBundle/API/c/WKBundleInitialize.h: Added.
43445 * WebProcess/InjectedBundle/InjectedBundle.cpp: Added.
43446 (WebKit::InjectedBundle::InjectedBundle):
43447 (WebKit::InjectedBundle::~InjectedBundle):
43448 (WebKit::InjectedBundle::initializeClient):
43449 (WebKit::InjectedBundle::didCreatePage):
43450 * WebProcess/InjectedBundle/InjectedBundle.h: Added.
43451 (WebKit::InjectedBundle::create):
43452 Add bundle boilerplate.
43454 * WebProcess/InjectedBundle/mac: Added.
43455 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: Added.
43456 (WebKit::InjectedBundle::load):
43457 Load the InjectedBundle using CFBundle.
43459 * WebProcess/InjectedBundle/win: Added.
43460 * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: Added.
43461 (WebKit::pathGetFileName):
43462 (WebKit::directoryName):
43463 (WebKit::InjectedBundle::load):
43464 Load the InjectedBundle using HMODULE.
43466 * WebProcess/WebPage/WebPage.cpp:
43467 (WebKit::WebPage::WebPage):
43468 Add initial bundle callback for page creation. More to come.
43470 * WebProcess/WebProcess.cpp:
43471 (WebKit::WebProcess::loadInjectedBundle):
43472 (WebKit::WebProcess::didReceiveMessage):
43473 * WebProcess/WebProcess.h:
43474 (WebKit::WebProcess::injectedBundle):
43475 Load the InjectedBundle on LoadInjectedBundle message.
43477 * WebKit2.xcodeproj/project.pbxproj:
43479 * win/WebKit2.vcproj:
43480 * win/WebKit2Generated.make:
43483 2010-06-15 Darin Adler <darin@apple.com>
43485 Reviewed by Adam Barth.
43487 Move functions out of Frame class that were marked "move to Chrome"
43488 https://bugs.webkit.org/show_bug.cgi?id=39636
43490 * WebProcess/WebPage/WebPage.cpp:
43491 (WebKit::WebPage::tryClose): Call shouldClose on FrameLoader instead of
43492 going through Frame.
43494 2010-06-14 Steve Falkenburg <sfalken@apple.com>
43497 Reorder build event to fix cygwin path issue.
43499 * win/WebKit2Generated.vcproj:
43501 2010-06-14 Steve Falkenburg <sfalken@apple.com>
43504 Add build failure stopping code.
43506 * win/WebKit2WebProcess.vcproj:
43508 2010-06-14 Steve Falkenburg <sfalken@apple.com>
43511 Add build failure stopping code.
43513 * win/WebKit2Generated.vcproj:
43515 2010-06-14 Ada Chan <adachan@apple.com>
43517 Rubber-stamped by Steve Falkenburg.
43519 - Fix the release configuration to use release.vsprops.
43520 - Add Debug_Internal and Debug_All configurations to the WebKit2WebProcess project.
43521 - Fix launchWebProcess() to get the right path to the WebKit2WebProcess executable.
43523 * UIProcess/Launcher/win/WebProcessLauncher.cpp:
43524 (WebKit::launchWebProcess):
43525 * win/WebKit2WebProcess.vcproj:
43527 2010-06-12 Ada Chan <adachan@apple.com>
43529 Unreviewed fix for a linking error with WebKit2LocalizableStringsBundle for Windows release build.
43531 * WebProcess/win/WebLocalizableStrings.cpp:
43532 (findCachedString):
43534 2010-06-11 Sam Weinig <sam@webkit.org>
43536 Reviewed by Mark Rowe.
43538 Use -Os for optimized builds instead of -02. -02 wasn't giving the
43539 right trade off at this time.
43541 * Configurations/Base.xcconfig:
43543 2010-06-11 Sam Weinig <sam@webkit.org>
43545 Reviewed by Anders Carlsson.
43547 Move WKRetain and WKRelease overloaded functions out of WKRetainPtr
43548 and into the files of the type they overload (eg, WKRetain(WKFrameRef
43549 moves to WKFrame.h)).
43551 * UIProcess/API/C/WKBase.h:
43552 * UIProcess/API/C/WKContext.h:
43553 * UIProcess/API/C/WKFrame.h:
43554 * UIProcess/API/C/WKFramePolicyListener.h:
43555 * UIProcess/API/C/WKNavigationData.h:
43556 * UIProcess/API/C/WKPage.h:
43557 * UIProcess/API/C/WKPageNamespace.h:
43558 * UIProcess/API/C/WKPreferences.h:
43559 * UIProcess/API/C/WKString.h:
43560 * UIProcess/API/C/WKURL.h:
43561 * UIProcess/API/cpp/WKRetainPtr.h:
43562 * UIProcess/API/win/WKView.h:
43564 2010-06-10 John Sullivan <sullivan@apple.com>
43566 Reviewed by Dan Bernstein.
43569 Added another symbol needed by Mac clients.
43571 2010-06-09 Ilya Tikhonovsky <loislo@chromium.org>
43573 Unreviewed build fix.
43575 * WebProcess/WebCoreSupport/WebInspectorClient.h:
43577 2010-06-09 Ilya Tikhonovsky <loislo@chromium.org>
43579 Unreviewed build fix.
43581 WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
43582 data from inspected page to WebInspector as JSON string via http. The native
43583 serialization to JSON string is supported by InspectorValue's classes. This patch
43584 has the implementation of sendMessageToFrontend function. WebKit version of it still
43585 uses ScriptFunctionCall and will be switched to another transport a little bit later.
43586 https://bugs.webkit.org/show_bug.cgi?id=40134
43588 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
43589 (WebKit::WebInspectorClient::sendMessageToFrontend):
43590 * WebProcess/WebCoreSupport/WebInspectorClient.h:
43592 2010-06-08 Anders Carlsson <andersca@apple.com>
43594 Reviewed by John Sullivan.
43596 <rdar://problem/8071268> WebKit2 URLs are displayed as 1-character strings in log statements
43598 Create a CFString from our WebCore string and then create the CFURL from the CFString.
43600 * UIProcess/API/C/cf/WKURLCF.cpp:
43603 2010-06-08 John Sullivan <sullivan@apple.com>
43605 Rubber-stamped by Anders Carlsson.
43608 Added _WKPageGetEstimatedProgress and _WKFrameGetPage
43610 2010-06-08 Anders Carlsson <andersca@apple.com>
43612 Reviewed by John Sullivan.
43614 Would like a way to query WKPageRef for the current progress value
43615 https://bugs.webkit.org/show_bug.cgi?id=40310
43616 <rdar://problem/8071299>
43618 Add WKPageGetEstimatedProgress. Remove the progress parameter from the didChangeProgress
43619 loader client callback function.
43621 * UIProcess/API/C/WKPage.cpp:
43622 (WKPageGetEstimatedProgress):
43623 * UIProcess/API/C/WKPage.h:
43624 * UIProcess/WebLoaderClient.cpp:
43625 (WebKit::WebLoaderClient::didChangeProgress):
43626 * UIProcess/WebLoaderClient.h:
43627 * UIProcess/WebPageProxy.cpp:
43628 (WebKit::WebPageProxy::WebPageProxy):
43629 (WebKit::WebPageProxy::close):
43630 (WebKit::WebPageProxy::didStartProgress):
43631 (WebKit::WebPageProxy::didChangeProgress):
43632 (WebKit::WebPageProxy::didFinishProgress):
43633 (WebKit::WebPageProxy::processDidExit):
43634 * UIProcess/WebPageProxy.h:
43635 (WebKit::WebPageProxy::estimatedProgress):
43637 2010-06-08 Anders Carlsson <andersca@apple.com>
43639 Reviewed by John Sullivan.
43641 Would like a way to tell which WKPageRef a WKFrameRef is part of
43642 https://bugs.webkit.org/show_bug.cgi?id=40308
43643 <rdar://problem/8071251>
43645 Add and implement WKFrameGetPage.
43647 * UIProcess/API/C/WKFrame.cpp:
43649 * UIProcess/API/C/WKFrame.h:
43650 * UIProcess/WebFrameProxy.h:
43651 (WebKit::WebFrameProxy::page):
43653 2010-06-08 John Sullivan <sullivan@apple.com>
43655 Rubber-stamped by Mark Rowe.
43658 Added a few more symbols needed by Mac clients.
43660 2010-06-08 MORITA Hajime <morrita@google.com>
43662 Unreviewed. An attempt to fix test break.
43664 * Configurations/FeatureDefines.xcconfig:
43666 2010-06-06 MORITA Hajime <morrita@google.com>
43668 Unreviewd, follow up to r60820
43670 https://bugs.webkit.org/show_bug.cgi?id=40219
43671 [Mac] ENABLE_METER_TAG should be enabled
43673 * Configurations/FeatureDefines.xcconfig:
43675 2010-06-05 Mark Rowe <mrowe@apple.com>
43677 Rubber-stamped by Dan Bernstein.
43679 <rdar://problem/8063622> Failure to launch WebProcess.app when framework is outside of the build directory
43681 * Configurations/WebProcess.xcconfig:
43683 2010-06-04 John Sullivan <sullivan@apple.com>
43685 Rubber-stamped by Ada Chan.
43687 Added a couple of symbols needed to start using WKFrameRefs in Mac clients.
43690 Added _WKFrameRelease and _WKFrameRetain.
43692 2010-06-04 Ada Chan <adachan@apple.com>
43694 Reviewed by Anders Carlsson.
43696 http://bugs.webkit.org/show_bug.cgi?id=40186
43698 Need to close WebPageProxy when the WebView is destroyed.
43699 Also, WebPageProxy shouldn't hold an OwnPtr to the PageClient, which is the WebView on Windows.
43701 * UIProcess/WebPageProxy.cpp:
43702 (WebKit::WebPageProxy::WebPageProxy):
43703 (WebKit::WebPageProxy::setPageClient):
43704 * UIProcess/WebPageProxy.h:
43705 * UIProcess/win/WebView.cpp:
43706 (WebKit::WebView::close):
43708 2010-06-03 Ada Chan <adachan@apple.com>
43710 Reviewed by Adam Roben.
43712 https://bugs.webkit.org/show_bug.cgi?id=40152
43714 Need to remove the WebView from WindowMessageBroadcaster's listeners list when the WebView is destroyed.
43716 * UIProcess/API/win/WKView.cpp:
43717 (WKViewSetHostWindow): Expose API to change the host window of a WKView.
43718 (WKViewWindowAncestryDidChange): Expose API to allow clients to notify WebKit when a WKView's window ancestry has changed.
43719 * UIProcess/API/win/WKView.h:
43720 * UIProcess/win/WebView.cpp:
43721 (WebKit::WebView::wndProc): Set the WebView's host window to 0 when it's destroyed. setHostWindow() will call
43722 windowAncestryDidChange(), which will remove this WebView from the WindowMessageBroadcaster's listeners list.
43723 (WebKit::WebView::WebView): Initialize m_isBeingDestroyed.
43724 (WebKit::WebView::setHostWindow): Update the window's parent window and call windowAncestryDidChange().
43725 (WebKit::WebView::close): Set the host window to 0.
43726 * UIProcess/win/WebView.h:
43728 2010-06-04 Tony Gentilcore <tonyg@chromium.org>
43730 Reviewed by Adam Barth.
43732 Utilize new takeFirst() method where appropriate.
43733 https://bugs.webkit.org/show_bug.cgi?id=40089
43735 * Platform/CoreIPC/ArgumentDecoder.cpp:
43736 (CoreIPC::ArgumentDecoder::removeAttachment):
43738 2010-06-03 Ada Chan <adachan@apple.com>
43740 Reviewed by Anders Carlsson.
43742 Add UIProcess\API\cpp to the list of additional include directories.
43743 Allow WKViewRef to work with WKRetainPtr on Windows.
43745 * UIProcess/API/cpp/WKRetainPtr.h:
43746 * win/WebKit2.vcproj:
43748 2010-06-01 Alice Liu <alice.liu@apple.com>
43750 Build fix. Not reviewed
43752 * win/WebKit2Generated.make: Added WKRetainPtr.h
43754 2010-06-01 John Sullivan <sullivan@apple.com>
43756 Rubber-stamped by Anders Carlsson.
43758 Added _WKRetainPtr to .exp file, and added .exp file to Xcode project.
43760 * WebKit2.xcodeproj/project.pbxproj:
43761 Added mac/WebKit2.exp.
43764 Added _WKRetainPtr.
43766 2010-06-01 John Sullivan <sullivan@apple.com>
43768 Rubber-stamped by Anders Carlsson.
43770 Fixed typo/wordo that prevented a certain flavor of constructor from compiling.
43772 * UIProcess/API/cpp/WKRetainPtr.h:
43773 (WebKit::WKRetainPtr::WKRetainPtr):
43774 Changed the mysterious "retainWKPtr" to "WKRetain".
43776 2010-05-28 John Sullivan <sullivan@apple.com>
43778 Rubber-stamped by Dan Bernstein.
43780 Add a using declaration for AdoptWK to match the one just added for WKRetainPtr.
43782 * UIProcess/API/cpp/WKRetainPtr.h:
43784 2010-05-28 Sam Weinig <sam@webkit.org>
43786 Reviewed by Anders Carlsson.
43788 Add a using declaration for WKRetainPtr matching what we do for our
43789 other smart pointers and fix the destructor.
43791 * UIProcess/API/cpp/WKRetainPtr.h:
43792 (WebKit::WKRetainPtr::~WKRetainPtr):
43794 2010-05-25 Ada Chan <adachan@apple.com>
43796 Reviewed by Darin Adler.
43798 https://bugs.webkit.org/show_bug.cgi?id=39686
43800 Fix the ProjectGUID of the WebKit2 project so it doesn't conflict with the one in WebKit.
43803 * win/WebKit2.vcproj:
43805 2010-05-24 Ada Chan <adachan@apple.com>
43807 Rubber-stamped by Mark Rowe.
43809 Build fix for 32bit systems.
43813 2010-05-21 Mark Rowe <mrowe@apple.com>
43815 Reviewed by Oliver Hunt.
43817 Teach WebKit2 to build in the Production configuration.
43819 * Configurations/Base.xcconfig: Restrict WebKit2 to Intel, and disable the order file.
43820 * Configurations/BaseTarget.xcconfig: Fix the path to the umbrella framework directory.
43821 This path is used to locate WebCore.framework, so it needs to be relative to WebKit.framework
43822 rather than WebKit2.framework.
43823 * Configurations/WebKit2.xcconfig: Update the install path. Add an exports file.
43824 * Configurations/WebProcess.xcconfig: Update the install path.
43825 * WebKit2.xcodeproj/project.pbxproj: Add a Production configuration.
43826 * mac/WebKit2.exp: Added.
43828 2010-05-21 Steve Block <steveblock@google.com>
43830 Unreviewed build fix for WebKit2
43832 Pass 0 to Page constructor for DeviceOrientationClient.
43833 See http://trac.webkit.org/changeset/59935
43835 * WebProcess/WebPage/WebPage.cpp:
43836 (WebKit::WebPage::WebPage):
43838 2010-05-11 Mark Rowe <mrowe@apple.com>
43842 In r59162 a change was made to WebCore's FeatureDefines.xcconfig that enabled FILE_READER and FILE_WRITER.
43843 The author and reviewer of that patch ignored the carefully-worded warning at the top of that file asking
43844 that changes to the file be kept in sync across JavaScriptCore, WebCore and WebKit, as well as being kept
43845 in sync with build-webkit. This led to WebCore and WebKit having different views of Document's vtable
43846 and results in crashes in Safari shortly after launch when virtual function calls resulted in the wrong
43847 function in WebCore being called.
43849 We fix this by bringing the FeatureDefines.xcconfig files in to sync. Based on the ChangeLog message and
43850 other changes in r59162 it appears that enabling FILE_WRITER was unintentional so that particular change
43853 * Configurations/FeatureDefines.xcconfig:
43855 2010-05-04 Anders Carlsson <andersca@apple.com>
43857 Reviewed by Dan Bernstein.
43859 [WebKit2] The web process doesn't need to paint when the web view is hidden.
43860 https://bugs.webkit.org/show_bug.cgi?id=38549
43862 * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
43863 (DrawingAreaMessage::):
43864 Add SuspendPainting/ResumePainting messages.
43866 * UIProcess/DrawingAreaProxyUpdateChunk.cpp:
43867 (WebKit::DrawingAreaProxyUpdateChunk::setPageIsVisible):
43868 Suspend and resume painting accordingly.
43870 * WebProcess/WebPage/DrawingAreaUpdateChunk.cpp:
43871 (WebKit::DrawingAreaUpdateChunk::DrawingAreaUpdateChunk):
43872 Initialize m_shouldPaint to true.
43874 (WebKit::DrawingAreaUpdateChunk::display):
43875 Return if m_shouldPaint is false.
43877 (WebKit::DrawingAreaUpdateChunk::scheduleDisplay):
43880 (WebKit::DrawingAreaUpdateChunk::setSize):
43881 Assert that we should paint here.
43883 (WebKit::DrawingAreaUpdateChunk::suspendPainting):
43884 Set m_shouldPaint to false and stop the timer.
43886 (WebKit::DrawingAreaUpdateChunk::resumePainting):
43887 Set m_shouldPaint to true and paint if needed.
43889 (WebKit::DrawingAreaUpdateChunk::didReceiveMessage):
43890 handle SuspendPainting/ResumePainting messages.
43892 * WebProcess/WebPage/DrawingAreaUpdateChunk.h:
43894 2010-05-03 Anders Carlsson <andersca@apple.com>
43896 Reviewed by Jon Honeycutt.
43898 [WebKit2] WKView should respond to WM_SHOWWINDOW messages
43899 https://bugs.webkit.org/show_bug.cgi?id=38496
43901 * UIProcess/win/WebView.cpp:
43902 (WebKit::WebView::wndProc):
43903 Add case for WM_SHOWWINDOW.
43905 (WebKit::WebView::onShowWindowEvent):
43906 Update the page visibility accordingly.
43908 * UIProcess/win/WebView.h:
43910 2010-05-03 Anders Carlsson <andersca@apple.com>
43912 Reviewed by Dan Bernstein.
43914 Get rid of PageClient::isPageVisible and pass visibility directly in setPageIsVisible
43915 https://bugs.webkit.org/show_bug.cgi?id=38493
43917 * UIProcess/API/mac/PageClientImpl.h:
43918 * UIProcess/API/mac/PageClientImpl.mm:
43919 Remove isPageVisible.
43921 * UIProcess/API/mac/WKView.mm:
43923 New function (moved here from PageClientImpl).
43925 (-[WKView _updateVisibility]):
43926 Call didChangeVisibility.
43928 (-[WKView viewDidMoveToWindow]):
43929 (-[WKView viewDidHide]):
43930 (-[WKView viewDidUnhide]):
43931 Call _updateVisibility.
43933 * UIProcess/DrawingAreaProxy.h:
43934 Rename didChangeVisibility to setPageIsVisible and add an isVisible parameter.
43936 * UIProcess/DrawingAreaProxyUpdateChunk.cpp:
43937 (WebKit::DrawingAreaProxyUpdateChunk::setPageIsVisible):
43938 Don't call WebPageProxy::isVisible.
43940 * UIProcess/DrawingAreaProxyUpdateChunk.h:
43942 * UIProcess/PageClient.h:
43943 Remove isPageVisible.
43945 * UIProcess/WebPageProxy.cpp:
43946 * UIProcess/WebPageProxy.h:
43949 2010-05-03 Anders Carlsson <andersca@apple.com>
43951 Reviewed by Adam Roben.
43953 Implement PageClient::isPageVisible on Windows.
43954 https://bugs.webkit.org/show_bug.cgi?id=38483
43956 * UIProcess/PageClient.h:
43957 * UIProcess/win/WebView.cpp:
43958 (WebKit::WebView::isPageVisible):
43959 * UIProcess/win/WebView.h:
43961 2010-05-03 Anders Carlsson <andersca@apple.com>
43965 * Platform/CoreIPC/win/ConnectionWin.cpp:
43966 (CoreIPC::Connection::sendOutgoingMessage):
43967 * Shared/win/UpdateChunk.cpp:
43968 (WebKit::UpdateChunk::UpdateChunk):
43969 (WebKit::UpdateChunk::encode):
43970 (WebKit::UpdateChunk::decode):
43971 * Shared/win/UpdateChunk.h:
43972 (WebKit::UpdateChunk::rect):
43973 * UIProcess/DrawingAreaProxy.h:
43974 * UIProcess/DrawingAreaProxyUpdateChunk.h:
43975 * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp:
43976 (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
43977 * WebProcess/WebPage/win/DrawingAreaUpdateChunkWin.cpp:
43978 (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk):
43979 * WebProcess/win/WebProcessMain.cpp:
43981 2010-04-30 Anders Carlsson <andersca@apple.com>
43983 Reviewed by Sam Weinig.
43985 https://bugs.webkit.org/show_bug.cgi?id=38415
43986 Have the WKView notify the DrawingAreaProxy when its visibility changes.
43988 * UIProcess/API/mac/PageClientImpl.h:
43989 * UIProcess/API/mac/PageClientImpl.mm:
43990 (WebKit::PageClientImpl::isPageVisible):
43991 * UIProcess/API/mac/WKView.mm:
43992 (-[WKView viewDidMoveToWindow]):
43993 (-[WKView viewDidHide]):
43994 (-[WKView viewDidUnhide]):
43995 * UIProcess/DrawingAreaProxy.h:
43996 * UIProcess/DrawingAreaProxyUpdateChunk.cpp:
43997 (WebKit::DrawingAreaProxyUpdateChunk::DrawingAreaProxyUpdateChunk):
43998 (WebKit::DrawingAreaProxyUpdateChunk::didChangeVisibility):
43999 * UIProcess/DrawingAreaProxyUpdateChunk.h:
44000 * UIProcess/PageClient.h:
44001 * UIProcess/WebPageProxy.cpp:
44002 (WebKit::WebPageProxy::isVisible):
44003 * UIProcess/WebPageProxy.h:
44005 2010-05-03 Jens Alfke <snej@chromium.org>
44007 Reviewed by Darin Fisher.
44009 [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient
44010 https://bugs.webkit.org/show_bug.cgi?id=38397
44012 No tests (functionality is exposed only through native WebKit API.)
44014 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
44015 (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
44017 2010-05-01 Sam Weinig <sam@webkit.org>
44019 Reviewed by Anders Carlsson.
44021 Fix for https://bugs.webkit.org/show_bug.cgi?id=38471
44022 Add generic callback mechanism
44024 Added GenericCallback class replacing RenderTreeExternalRepresentationCallback
44025 and ScriptReturnValueCallback.
44028 - Standardize C API callbacks to take the context last.
44029 - Standardize C API callbacks to not have the _f suffix (now the block
44030 variants have a _b suffix).
44031 - Re-write toWK and toRef methods as a set of template functions using
44032 the generic API->implementation mapping information.
44034 * UIProcess/API/C/WKAPICast.h:
44035 * UIProcess/API/C/WKPage.cpp:
44036 (WKPageRunJavaScriptInMainFrame):
44037 (callRunJavaScriptBlockAndRelease):
44038 (disposeRunJavaScriptBlock):
44039 (WKPageRunJavaScriptInMainFrame_b):
44040 (WKPageRenderTreeExternalRepresentation):
44041 (WKPageRenderTreeExternalRepresentation_b):
44042 * UIProcess/API/C/WKPage.h:
44043 * UIProcess/API/C/WKPagePrivate.h:
44044 * UIProcess/GenericCallback.h: Added.
44045 (WebKit::GenericCallback::create):
44046 (WebKit::GenericCallback::~GenericCallback):
44047 (WebKit::GenericCallback::performCallbackWithReturnValue):
44048 (WebKit::GenericCallback::invalidate):
44049 (WebKit::GenericCallback::callbackID):
44050 (WebKit::GenericCallback::generateCallbackID):
44051 (WebKit::GenericCallback::GenericCallback):
44052 * UIProcess/RenderTreeExternalRepresentationCallback.cpp: Removed.
44053 * UIProcess/RenderTreeExternalRepresentationCallback.h: Removed.
44054 * UIProcess/ScriptReturnValueCallback.cpp: Removed.
44055 * UIProcess/ScriptReturnValueCallback.h: Removed.
44056 * UIProcess/WebPageProxy.cpp:
44057 (WebKit::WebPageProxy::didRunJavaScriptInMainFrame):
44058 (WebKit::WebPageProxy::didGetRenderTreeExternalRepresentation):
44059 * UIProcess/WebPageProxy.h:
44060 * WebKit2.xcodeproj/project.pbxproj:
44061 * win/WebKit2.vcproj:
44063 2010-04-30 Sam Weinig <sam@webkit.org>
44067 * Platform/CoreIPC/mac/ConnectionMac.cpp: Add missing #include.
44069 2010-04-30 Sam Weinig <sam@webkit.org>
44071 Reviewed by Anders Carlsson.
44073 https://bugs.webkit.org/show_bug.cgi?id=38413
44074 Add callback based API to get the textual representation of the RenderTree.
44076 - Also ensures that any pending callbacks are invalidated if the WebPage
44077 closes (expectedly or unexpectedly).
44078 - A follow up patch will unify the callback mechanism with a common base
44081 * Shared/CoreIPCSupport/WebPageMessageKinds.h:
44082 (WebPageMessage::):
44083 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
44084 (WebPageProxyMessage::):
44085 * UIProcess/API/C/WKPage.cpp:
44086 (WKPageRunJavaScriptInMainFrame_f):
44087 (WKPageRenderTreeExternalRepresentation_f):
44088 (callRenderTreeExternalRepresentationBlockAndDispose):
44089 (disposeRenderTreeExternalRepresentationBlock):
44090 (WKPageRenderTreeExternalRepresentation):
44091 * UIProcess/API/C/WKPagePrivate.h: Added.
44092 * UIProcess/RenderTreeExternalRepresentationCallback.cpp: Added.
44093 (WebKit::generateCallbackID):
44094 (WebKit::RenderTreeExternalRepresentationCallback::RenderTreeExternalRepresentationCallback):
44095 (WebKit::RenderTreeExternalRepresentationCallback::~RenderTreeExternalRepresentationCallback):
44096 (WebKit::RenderTreeExternalRepresentationCallback::performCallbackWithReturnValue):
44097 (WebKit::RenderTreeExternalRepresentationCallback::invalidate):
44098 * UIProcess/RenderTreeExternalRepresentationCallback.h: Added.
44099 (WebKit::RenderTreeExternalRepresentationCallback::create):
44100 (WebKit::RenderTreeExternalRepresentationCallback::callbackID):
44101 * UIProcess/ScriptReturnValueCallback.cpp:
44102 (WebKit::ScriptReturnValueCallback::~ScriptReturnValueCallback):
44103 (WebKit::ScriptReturnValueCallback::performCallbackWithReturnValue):
44104 (WebKit::ScriptReturnValueCallback::invalidate):
44105 * UIProcess/ScriptReturnValueCallback.h:
44106 * UIProcess/WebPageProxy.cpp:
44107 (WebKit::WebPageProxy::close):
44108 (WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
44109 (WebKit::WebPageProxy::didReceiveMessage):
44110 (WebKit::WebPageProxy::didRunJavaScriptInMainFrame):
44111 (WebKit::WebPageProxy::didGetRenderTreeExternalRepresentation):
44112 (WebKit::WebPageProxy::processDidExit):
44113 * UIProcess/WebPageProxy.h:
44114 * WebKit2.xcodeproj/project.pbxproj:
44115 * WebProcess/WebPage/WebPage.cpp:
44116 (WebKit::WebPage::getRenderTreeExternalRepresentation):
44117 (WebKit::WebPage::didReceiveMessage):
44118 * WebProcess/WebPage/WebPage.h:
44119 * win/WebKit2.vcproj:
44121 2010-04-30 Sam Weinig <sam@webkit.org>
44123 Reviewed by Anders Carlsson.
44125 Fix for https://bugs.webkit.org/show_bug.cgi?id=38406
44126 Add support for sending messages with a size greater than 4096 bytes
44128 Adds support by putting message bodies that are larger than 4096 bytes
44131 * Platform/CoreIPC/Connection.cpp:
44132 (CoreIPC::Connection::sendMessage):
44133 (CoreIPC::Connection::waitForMessage):
44134 (CoreIPC::Connection::sendSyncMessage):
44135 (CoreIPC::Connection::dispatchMessages):
44136 * Platform/CoreIPC/Connection.h:
44137 (CoreIPC::Connection::OutgoingMessage::OutgoingMessage):
44138 (CoreIPC::Connection::OutgoingMessage::messageID):
44139 (CoreIPC::Connection::send):
44140 (CoreIPC::Connection::sendSync):
44141 * Platform/CoreIPC/MessageID.h:
44142 (CoreIPC::MessageID::):
44143 (CoreIPC::MessageID::MessageID):
44144 (CoreIPC::MessageID::equalIgnoringFlags):
44145 (CoreIPC::MessageID::copyAddingFlags):
44146 (CoreIPC::MessageID::fromInt):
44147 (CoreIPC::MessageID::toInt):
44148 (CoreIPC::MessageID::isMessageBodyOOL):
44149 * Platform/CoreIPC/mac/ConnectionMac.cpp:
44150 (CoreIPC::Connection::sendOutgoingMessage):
44151 (CoreIPC::createArgumentDecoder):
44153 2010-04-28 Mike Thole <mthole@apple.com>
44155 Build fix, not reviewed.
44157 Fix WebKit2 build by stubbing out WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace().
44159 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
44160 (WebKit::WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
44161 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
44163 2010-04-28 Sam Weinig <sam@webkit.org>
44165 Reviewed by Mark Rowe.
44167 Only build on SnowLeopard and later when using the Makefile.
44171 2010-04-27 Sam Weinig <sam@webkit.org>
44173 Reviewed by Maciej Stachowiak.
44175 Fix for https://bugs.webkit.org/show_bug.cgi?id=38238
44176 Allow both WebKit and WebKit2 to link to the same WebCore.framework
44178 * Configurations/WebKit2.xcconfig: Remove the OTHER_LDFLAGS. We don't
44179 need to set WebCore as a sub_umbrella of WebKit2, since we are not
44180 reexporting any of its symbols.
44182 2010-04-27 Sam Weinig <sam@webkit.org>
44184 Reviewed by Geoffrey Garen.
44186 Add comment about not using StringImpl::createCFString in WKStringCopyCFString.
44188 * UIProcess/API/C/cf/WKStringCF.cpp:
44189 (WKStringCopyCFString):
44191 2010-04-27 Sam Weinig <sam@webkit.org>
44193 Reviewed by Geoffrey Garen.
44195 Remove call to StringImpl::createCFString and instead use CFStringCreateWithCharacters
44196 directly. StringImpl::createCFString only an optimization when called
44197 from the thread that WebCore is running on, which is never the case for
44198 WKStringCopyCFString. We should revisit this later, perhaps adding a
44199 threadspecific allocator. We also now honor the passed in allocator.
44201 * UIProcess/API/C/cf/WKStringCF.cpp:
44202 (WKStringCopyCFString):
44204 2010-04-25 Sam Weinig <sam@webkit.org>
44206 Reviewed by Maciej Stachowiak.
44208 Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
44209 Disentangle initializing the main thread from initializing threading
44211 * UIProcess/Launcher/mac/WebProcessLauncher.mm:
44212 (WebKit::webThreadBody): Add call to initializeMainThread.
44213 * UIProcess/Launcher/win/WebProcessLauncher.cpp:
44214 (WebKit::webThreadBody): Ditto.
44215 * WebProcess/Launching/mac/WebProcessMain.mm:
44217 * WebProcess/win/WebProcessMain.cpp:
44218 (WebKit::WebProcessMain): Ditto.
44220 2010-04-23 Sam Weinig <sam@webkit.org>
44222 Reviewed by Anders Carlsson.
44224 https://bugs.webkit.org/show_bug.cgi?id=38065
44225 Merge mac and win DrawingAreaProxyUpdateChunk implementations.
44227 * UIProcess/API/mac/WKView.mm:
44228 (-[WKView drawRect:]):
44229 * UIProcess/DrawingAreaProxy.cpp: Copied from UIProcess/mac/DrawingAreaProxy.mm.
44230 * UIProcess/DrawingAreaProxy.h: Copied from UIProcess/mac/DrawingAreaProxy.h.
44231 * UIProcess/DrawingAreaProxyUpdateChunk.cpp: Copied from UIProcess/mac/DrawingAreaProxyUpdateChunk.mm.
44232 (WebKit::DrawingAreaProxyUpdateChunk::DrawingAreaProxyUpdateChunk):
44233 (WebKit::DrawingAreaProxyUpdateChunk::paint):
44234 (WebKit::DrawingAreaProxyUpdateChunk::setSize):
44235 (WebKit::DrawingAreaProxyUpdateChunk::didSetSize):
44236 (WebKit::DrawingAreaProxyUpdateChunk::update):
44237 (WebKit::DrawingAreaProxyUpdateChunk::didReceiveMessage):
44238 * UIProcess/DrawingAreaProxyUpdateChunk.h: Copied from UIProcess/mac/DrawingAreaProxyUpdateChunk.h.
44239 * UIProcess/mac/DrawingAreaProxy.h: Removed.
44240 * UIProcess/mac/DrawingAreaProxy.mm: Removed.
44241 * UIProcess/mac/DrawingAreaProxyUpdateChunk.h: Removed.
44242 * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm: Removed.
44243 * UIProcess/mac/DrawingAreaProxyUpdateChunkMac.mm: Copied from UIProcess/mac/DrawingAreaProxyUpdateChunk.mm.
44244 (WebKit::DrawingAreaProxyUpdateChunk::page):
44245 (WebKit::DrawingAreaProxyUpdateChunk::invalidateBackingStore):
44246 (WebKit::DrawingAreaProxyUpdateChunk::platformPaint):
44247 (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
44248 * UIProcess/win/DrawingAreaProxy.cpp: Removed.
44249 * UIProcess/win/DrawingAreaProxy.h: Removed.
44250 * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp: Copied from UIProcess/win/DrawingAreaProxy.cpp.
44251 (WebKit::DrawingAreaProxyUpdateChunk::page):
44252 (WebKit::DrawingAreaProxyUpdateChunk::ensureBackingStore):
44253 (WebKit::DrawingAreaProxyUpdateChunk::invalidateBackingStore):
44254 (WebKit::DrawingAreaProxyUpdateChunk::platformPaint):
44255 (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
44256 * UIProcess/win/WebView.cpp:
44257 (WebKit::WebView::WebView):
44258 (WebKit::WebView::onPaintEvent):
44259 * WebKit2.xcodeproj/project.pbxproj:
44260 * win/WebKit2.vcproj:
44262 2010-04-23 Sam Weinig <sam@webkit.org>
44264 Reviewed by Anders Carlsson.
44266 Fix for https://bugs.webkit.org/show_bug.cgi?id=38059
44267 Merge mac and win DrawingAreaUpdateChunk implementations.
44269 * UIProcess/win/DrawingAreaProxy.cpp:
44270 (WebKit::DrawingAreaProxy::didSetSize):
44271 (WebKit::DrawingAreaProxy::didReceiveMessage):
44272 * UIProcess/win/DrawingAreaProxy.h:
44273 * WebKit2.xcodeproj/project.pbxproj:
44274 * WebProcess/WebPage/DrawingAreaUpdateChunk.cpp: Copied from WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp.
44275 (WebKit::DrawingAreaUpdateChunk::setSize):
44276 * WebProcess/WebPage/DrawingAreaUpdateChunk.h: Copied from WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h.
44277 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp: Removed.
44278 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h: Removed.
44279 * WebProcess/WebPage/mac/DrawingAreaUpdateChunkMac.cpp: Copied from WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp.
44280 * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp: Removed.
44281 * WebProcess/WebPage/win/DrawingAreaUpdateChunk.h: Removed.
44282 * WebProcess/WebPage/win/DrawingAreaUpdateChunkWin.cpp: Copied from WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp.
44283 (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk):
44284 * win/WebKit2.vcproj:
44286 2010-04-23 Anders Carlsson <andersca@apple.com>
44288 Reviewed by Sam Weinig.
44290 Remove an assert. (It's not valid when resizing).
44292 * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp:
44293 (WebKit::DrawingAreaUpdateChunk::didUpdate):
44295 2010-04-23 Anders Carlsson <andersca@apple.com>
44299 * UIProcess/win/DrawingAreaProxy.cpp:
44300 (WebKit::DrawingAreaProxy::paint):
44301 (WebKit::DrawingAreaProxy::setSize):
44302 (WebKit::DrawingAreaProxy::didReceiveMessage):
44303 * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp:
44304 (WebKit::DrawingAreaUpdateChunk::setSize):
44305 (WebKit::DrawingAreaUpdateChunk::didReceiveMessage):
44307 2010-04-22 Anders Carlsson <andersca@apple.com>
44309 Reviewed by Sam Weinig.
44311 Remove an assert. (It's not valid when resizing).
44313 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
44314 (WebKit::DrawingAreaUpdateChunk::didUpdate):
44316 2010-04-22 Sam Weinig <sam@webkit.org>
44318 Reviewed by Anders Carlsson.
44320 Merge the prefix headers.
44322 * Configurations/BaseTarget.xcconfig:
44323 * WebKit2.xcodeproj/project.pbxproj:
44325 * WebKit2_Prefix.pch: Removed.
44327 2010-04-22 Anders Carlsson <andersca@apple.com>
44329 Reviewed by Sam Weinig.
44331 Don't pass the new size when calling didSetSize, it's possible to get
44332 the size from the update chunk.
44334 * UIProcess/mac/DrawingAreaProxyUpdateChunk.h:
44335 * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm:
44336 (WebKit::DrawingAreaProxyUpdateChunk::didSetSize):
44337 (WebKit::DrawingAreaProxyUpdateChunk::didReceiveMessage):
44338 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
44339 (WebKit::DrawingAreaUpdateChunk::setSize):
44341 2010-04-22 Anders Carlsson <andersca@apple.com>
44343 Reviewed by Sam Weinig.
44345 Rename SetFrame and DidSetFrame to SetSize and DidSetSize.
44347 * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
44348 (DrawingAreaMessage::):
44349 * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
44350 (DrawingAreaProxyMessage::):
44351 * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm:
44352 (WebKit::DrawingAreaProxyUpdateChunk::drawRectIntoContext):
44353 (WebKit::DrawingAreaProxyUpdateChunk::setSize):
44354 (WebKit::DrawingAreaProxyUpdateChunk::didReceiveMessage):
44355 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
44356 (WebKit::DrawingAreaUpdateChunk::setSize):
44357 (WebKit::DrawingAreaUpdateChunk::didReceiveMessage):
44359 2010-04-22 Sam Weinig <sam@webkit.org>
44361 Reviewed by Anders Carlsson.
44363 Fix for https://bugs.webkit.org/show_bug.cgi?id=38002
44364 Add rudimentary statistics gathering for WebKit2
44366 * UIProcess/API/C/WKContext.cpp:
44367 (WKContextGetStatistics):
44368 * UIProcess/API/C/WKContextPrivate.h: Copied from WebKit2/UIProcess/API/C/WKContext.h.
44369 * UIProcess/API/C/WKPageNamespace.cpp:
44370 (WKPageNamespaceGetContext):
44371 * UIProcess/API/C/WKPageNamespace.h:
44372 * UIProcess/WebContext.cpp:
44373 (WebKit::WebContext::getStatistics):
44374 * UIProcess/WebContext.h:
44375 * UIProcess/WebPageNamespace.cpp:
44376 (WebKit::WebPageNamespace::getStatistics):
44377 * UIProcess/WebPageNamespace.h:
44378 * UIProcess/WebPageProxy.cpp:
44379 (WebKit::WebPageProxy::getStatistics):
44380 * UIProcess/WebPageProxy.h:
44381 * UIProcess/WebProcessProxy.cpp:
44382 (WebKit::WebProcessProxy::numberOfPages):
44383 * UIProcess/WebProcessProxy.h:
44384 * WebKit2.xcodeproj/project.pbxproj:
44385 * win/WebKit2.vcproj:
44387 2010-04-20 Anders Carlsson <andersca@apple.com>
44389 Reviewed by Sam Weinig.
44391 Don't paint the web page before we've blit the last update chunk to the backing store.
44393 * UIProcess/win/DrawingAreaProxy.cpp:
44394 (WebKit::DrawingAreaProxy::update):
44395 (WebKit::DrawingAreaProxy::didReceiveMessage):
44396 * UIProcess/win/DrawingAreaProxy.h:
44397 * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp:
44398 (WebKit::DrawingAreaUpdateChunk::DrawingAreaUpdateChunk):
44399 (WebKit::DrawingAreaUpdateChunk::display):
44400 (WebKit::DrawingAreaUpdateChunk::scheduleDisplay):
44401 (WebKit::DrawingAreaUpdateChunk::setSize):
44402 (WebKit::DrawingAreaUpdateChunk::didUpdate):
44403 (WebKit::DrawingAreaUpdateChunk::didReceiveMessage):
44404 * WebProcess/WebPage/win/DrawingAreaUpdateChunk.h:
44406 2010-04-20 Anders Carlsson <andersca@apple.com>
44410 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
44411 (WebKit::WebFrameLoaderClient::receivedData):
44413 2010-04-20 Anders Carlsson <andersca@apple.com>
44415 Reviewed by Sam Weinig.
44417 Don't paint the web page before we've blit the last update chunk to the backing store
44418 https://bugs.webkit.org/show_bug.cgi?id=37896
44420 * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
44421 (DrawingAreaMessage::):
44422 * UIProcess/mac/DrawingAreaProxyUpdateChunk.h:
44423 * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm:
44424 (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
44425 (WebKit::DrawingAreaProxyUpdateChunk::update):
44426 (WebKit::DrawingAreaProxyUpdateChunk::didReceiveMessage):
44427 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
44428 (WebKit::DrawingAreaUpdateChunk::DrawingAreaUpdateChunk):
44429 (WebKit::DrawingAreaUpdateChunk::display):
44430 (WebKit::DrawingAreaUpdateChunk::scheduleDisplay):
44431 (WebKit::DrawingAreaUpdateChunk::setSize):
44432 (WebKit::DrawingAreaUpdateChunk::didUpdate):
44433 (WebKit::DrawingAreaUpdateChunk::didReceiveMessage):
44434 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h:
44436 2010-04-20 Anders Carlsson <andersca@apple.com>
44440 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
44441 (WebKit::WebChromeClient::chooseIconForFiles):
44442 * WebProcess/WebCoreSupport/WebChromeClient.h:
44444 2010-04-19 Anders Carlsson <andersca@apple.com>
44448 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
44449 (WebKit::WebFrameLoaderClient::dispatchDidChangeIcons):
44450 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
44452 2010-04-17 Sam Weinig <weinig@apple.com>
44454 Reviewed by Jon "The Belly" Honeycutt.
44456 Remove the need for a .defs file! Define WK_EXPORT.
44458 * UIProcess/API/C/WKBase.h:
44459 * WebProcess/win/WebProcessMain.h:
44460 * win/WebKit2.def: Removed.
44461 * win/WebKit2.vcproj:
44463 2010-04-17 Sam Weinig <weinig@apple.com>
44465 Reviewed by Adam Roben.
44467 Teach windows MiniBrowser how to work with window.open()
44468 and targeted links.
44470 Export WKPageSetPageUIClient.
44474 2010-04-16 Sam Weinig <sam@webkit.org>
44476 Reviewed by Anders Carlsson.
44478 Fix window.open() and targeted links.
44480 * UIProcess/WebPageProxy.cpp:
44481 (WebKit::WebPageProxy::didReceiveSyncMessage): Pass in the new pageID
44484 * WebProcess/WebProcess.cpp:
44485 (WebKit::WebProcess::createWebPage): Allow for the page to have already
44486 been created, as is the case with programmatic window opening from within
44487 WebCore (e.g. window.open() or <a target="_blank">).
44489 2010-04-16 Sam Weinig <sam@webkit.org>
44491 Reviewed by Mark Rowe.
44493 Don't optimize debug builds.
44495 * WebKit2.xcodeproj/project.pbxproj: Define GCC_OPTIMIZATION_LEVEL correctly.
44497 2010-04-16 Anders Carlsson <andersca@apple.com>
44501 * WebProcess/WebPage/WebPage.cpp:
44502 (WebKit::WebPage::runJavaScriptInMainFrame):
44504 2010-04-16 Anders Carlsson <andersca@apple.com>
44506 Reviewed by Sam Weinig.
44510 * Platform/win/RunLoopWin.cpp:
44512 * UIProcess/Launcher/win/WebProcessLauncher.cpp:
44513 (WebKit::webThreadBody):
44514 (WebKit::launchWebProcess):
44515 * WebProcess/win/WebProcessMain.cpp:
44516 (WebKit::WebProcessMain):
44518 2010-04-16 Sam Weinig <weinig@apple.com>
44520 Reviewed by Anders Carlsson.
44522 Make resizing responsive on Windows.
44524 - Use the same waitFor logic as do for the Mac resizing
44525 DrawingAreaUpdateChunk code.
44527 * Shared/win/UpdateChunk.cpp:
44528 (WebKit::UpdateChunk::UpdateChunk):
44529 * Shared/win/UpdateChunk.h:
44530 Add a constructor that only takes an IntRect and allocates
44531 the shared memory mapping for you.
44532 * UIProcess/win/DrawingAreaProxy.cpp:
44533 (WebKit::DrawingAreaProxy::DrawingAreaProxy):
44534 (WebKit::DrawingAreaProxy::ensureBackingStore):
44535 (WebKit::DrawingAreaProxy::paint):
44536 (WebKit::DrawingAreaProxy::drawUpdateChunkIntoBackingStore):
44537 (WebKit::DrawingAreaProxy::setSize):
44538 (WebKit::DrawingAreaProxy::didSetSize):
44539 (WebKit::DrawingAreaProxy::didReceiveMessage):
44540 * UIProcess/win/DrawingAreaProxy.h:
44541 Perform wait in paint as we do on the mac.
44543 * UIProcess/win/WebView.cpp:
44544 (WebKit::WebView::onSizeEvent):
44545 Change to use an IntSize.
44547 * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp:
44548 (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk):
44549 (WebKit::DrawingAreaUpdateChunk::display):
44550 (WebKit::DrawingAreaUpdateChunk::setSize):
44551 * WebProcess/WebPage/win/DrawingAreaUpdateChunk.h:
44552 Specialize setSize() drawing and factor out painting
44553 into a helper function.
44555 2010-04-16 Anders Carlsson <andersca@apple.com>
44557 Reviewed by David Hyatt.
44559 Make run loops be allocated as thread specific data.
44560 https://bugs.webkit.org/show_bug.cgi?id=37723
44562 * Platform/RunLoop.cpp:
44563 (RunLoop::initializeMainRunLoop):
44564 (RunLoop::current):
44566 * Platform/RunLoop.h:
44567 * Platform/mac/RunLoopMac.mm:
44570 * UIProcess/Launcher/mac/WebProcessLauncher.mm:
44571 (WebKit::webThreadBody):
44572 (WebKit::launchWebProcess):
44573 * UIProcess/ResponsivenessTimer.cpp:
44574 (WebKit::ResponsivenessTimer::ResponsivenessTimer):
44575 * WebProcess/Launching/mac/WebProcessMain.mm:
44577 * WebProcess/WebProcess.cpp:
44578 (WebKit::WebProcess::isSeparateProcess):
44580 2010-04-16 Sam Weinig <weinig@apple.com>
44582 Reviewed by Adam Roben.
44584 Use GDI text rendering on Windows by default.
44586 * WebProcess/WebPage/win/WebPageWin.cpp:
44587 (WebKit::WebPage::platformInitialize): Use the AlternateRenderingMode
44590 2010-04-16 Sam Weinig <weinig@apple.com>
44592 Reviewed by Adam Roben.
44594 Fix crash when trying to load an invalid URL.
44596 * WebProcess/WebPage/WebPage.cpp:
44597 (WebKit::WebPage::loadURL): Use constructor for ResourceRequest
44598 that takes a KURL instead of the one that takes a String. The one
44599 that takes a string expects a valid URL.
44601 2010-04-16 Sam Weinig <weinig@apple.com>
44603 Reviewed by Adam Roben.
44605 Make tooltips work. Thanks Adam!
44607 * UIProcess/win/WebView.cpp:
44608 (WebKit::WebView::toolTipChanged): Pass the WebView's HWND, not the tooltip's.
44610 2010-04-15 Anders Carlsson <andersca@apple.com>
44612 Reviewed by Adam Roben.
44614 Fix build dependencies.
44618 2010-04-15 Adam Roben <aroben@apple.com>
44620 Fix Windows WebKit2 build.
44622 * UIProcess/WebPageProxy.cpp:
44623 (WebKit::WebPageProxy::processDidExit):
44624 * win/WebKit2Generated.make:
44626 2010-04-15 Sam Weinig <sam@webkit.org>
44628 Reviewed by Anders Carlsson.
44630 Add WebHistoryClient support.
44631 https://bugs.webkit.org/show_bug.cgi?id=37671
44633 Adds the following callbacks:
44634 didNavigateWithNavigationData
44635 didPerformClientRedirect
44636 didPerformServerRedirect
44637 didUpdateHistoryTitle
44639 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
44640 (WebPageProxyMessage::):
44641 * Shared/WebNavigationDataStore.h: Added.
44642 * UIProcess/API/C/WKAPICast.h:
44643 * UIProcess/API/C/WKBase.h:
44644 * UIProcess/API/C/WKNavigationData.cpp: Added.
44645 * UIProcess/API/C/WKNavigationData.h: Added.
44646 * UIProcess/API/C/WKPage.cpp:
44647 * UIProcess/API/C/WKPage.h:
44648 * UIProcess/API/C/WebKit2.h:
44649 * UIProcess/WebHistoryClient.cpp: Copied from UIProcess/WebUIClient.cpp.
44650 * UIProcess/WebHistoryClient.h: Copied from UIProcess/WebUIClient.h.
44651 * UIProcess/WebNavigationData.cpp: Added.
44652 * UIProcess/WebNavigationData.h: Added.
44653 * UIProcess/WebPageProxy.cpp:
44654 * UIProcess/WebPageProxy.h:
44655 * WebKit2.xcodeproj/project.pbxproj:
44656 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
44657 * win/WebKit2.vcproj:
44659 2010-04-15 Sam Weinig <sam@webkit.org>
44661 Reviewed by Adam Roben.
44663 Remove empty file configurations.
44665 * win/WebKit2.vcproj:
44667 2010-04-15 Sam Weinig <sam@webkit.org>
44669 Reviewed by Anders Carlsson.
44671 Fix WebKit2s build. Don't return temporaries.
44673 * UIProcess/API/C/cf/WKStringCF.cpp:
44674 (WKStringCreateWithCFString):
44675 * UIProcess/API/C/cf/WKURLCF.cpp:
44676 (WKURLCreateWithCFURL):
44679 2010-04-12 Geoffrey Garen <ggaren@apple.com>
44681 Reviewed by Anders Carlsson.
44683 Fixed complexity and performance FIXME created by using KURL in the UI
44684 process -- it turned out that everywhere we were using KURL, we could
44685 have just used String instead. (That's how Windows WebKit works, too.)
44687 I kept WKURLRef and WKStringRef distinct opaque types in the API for now,
44688 though, since there may be profit in changing their backing stores in the
44689 future, and it's nice for the API to encode a difference between generic
44690 strings and strings that are valid, canonical URLs.
44692 * Shared/KURLWrapper.h: Removed. Yay!
44694 * Shared/WebCoreTypeArgumentMarshalling.h: Nixed KURL marshalling functions.
44695 Old callers marshal Strings now, instead. (This is what KURL was doing
44696 under the covers, anyway.)
44698 * UIProcess/API/C/WKAPICast.h:
44699 (toWK): Backed by StringImpl* now.
44700 (toURLRef): Added a disambiguating function for specifying that you want
44701 a WKURLRef, since StringImpl* converts to WKStringRef by default.
44703 * UIProcess/API/C/WKFrame.cpp:
44704 (WKFrameGetProvisionalURL):
44706 * UIProcess/API/C/WKPage.cpp:
44708 * UIProcess/API/C/WKURL.cpp:
44709 * UIProcess/API/C/cf/WKURLCF.cpp:
44710 (WKURLCreateWithCFURL):
44712 * UIProcess/WebFrameProxy.cpp:
44713 (WebKit::WebFrameProxy::didStartProvisionalLoad):
44714 (WebKit::WebFrameProxy::didCommitLoad):
44715 * UIProcess/WebFrameProxy.h:
44716 (WebKit::WebFrameProxy::url):
44717 (WebKit::WebFrameProxy::provisionalURL):
44718 * UIProcess/WebPageProxy.cpp:
44719 (WebKit::WebPageProxy::loadURL):
44720 (WebKit::WebPageProxy::didReceiveMessage):
44721 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
44722 (WebKit::WebPageProxy::decidePolicyForNavigationAction):
44723 (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
44724 (WebKit::WebPageProxy::decidePolicyForMIMEType):
44725 (WebKit::WebPageProxy::processDidExit):
44726 * UIProcess/WebPageProxy.h:
44727 (WebKit::WebPageProxy::urlAtProcessExit):
44728 * UIProcess/WebPolicyClient.cpp:
44729 (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
44730 (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
44731 (WebKit::WebPolicyClient::decidePolicyForMIMEType):
44732 * UIProcess/WebPolicyClient.h:
44733 * WebKit2.xcodeproj/project.pbxproj:
44734 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
44735 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
44736 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
44737 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
44738 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
44739 * WebProcess/WebPage/WebPage.cpp:
44740 (WebKit::WebPage::loadURL):
44741 (WebKit::WebPage::didReceiveMessage):
44742 * WebProcess/WebPage/WebPage.h: Replaced KURL / KURLWrapper with String.
44744 2010-04-14 Anders Carlsson <andersca@apple.com>
44746 Reviewed by Sam Weinig.
44748 Fix horizontal scrollbar repainting
44749 https://bugs.webkit.org/show_bug.cgi?id=37626
44751 Make sure that the update chunk is flipped because that's what WebCore expects.
44753 * Shared/mac/UpdateChunk.cpp:
44754 (WebKit::UpdateChunk::createImage):
44755 * Shared/mac/UpdateChunk.h:
44756 Add new createImage member function that creates a CGImageRef from the update chunk.
44758 * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm:
44759 (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
44760 Pass the right rectangle here; CoreGraphics wants it in non-flipped coordinates.
44762 (WebKit::DrawingAreaProxyUpdateChunk::ensureBackingStore):
44763 Create a flipped backing store.
44765 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
44766 (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk):
44767 Flip the update chunk.
44769 2010-04-14 Sam Weinig <sam@webkit.org>
44771 Reviewed by Anders Carlsson.
44773 Add WKRetainPtr helper class as private header
44774 https://bugs.webkit.org/show_bug.cgi?id=37603
44776 WKRetainPtr is just like RetainPtr, but works for WK types instead of
44779 * UIProcess/API/cpp: Added.
44780 * UIProcess/API/cpp/WKRetainPtr.h: Added.
44781 * WebKit2.xcodeproj/project.pbxproj: Add new file.
44782 * win/WebKit2.vcproj: Ditto.
44784 2010-04-14 Sam Weinig <sam@webkit.org>
44786 Reviewed by Anders Carlsson.
44788 Make the WebProcess a LSUIElement to suppress its icon from the Dock.
44790 * WebKit2.xcodeproj/project.pbxproj:
44791 * WebProcess/Info.plist:
44793 2010-04-14 Anders Carlsson <andersca@apple.com>
44795 Reviewed by Sam Weinig.
44797 Factor code to paint into an update chunk out into a separate function.
44798 https://bugs.webkit.org/show_bug.cgi?id=37594
44800 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
44801 (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk):
44802 (WebKit::DrawingAreaUpdateChunk::display):
44803 (WebKit::DrawingAreaUpdateChunk::setSize):
44804 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h:
44806 2010-04-13 Sam Weinig <sam@webkit.org>
44808 Reviewed by Anders Carlsson.
44810 Fix reported leaks when quitting MiniBrowser with open pages.
44812 * WebProcess/WebPage/WebPage.h: Make close() public.
44813 * WebProcess/WebProcess.cpp:
44814 (WebKit::WebProcess::WebProcess):
44815 (WebKit::WebProcess::removeWebPage):
44816 (WebKit::WebProcess::didClose): If the UIProcess disappears, close
44817 the live pages in an effort to not leak.
44818 * WebProcess/WebProcess.h:
44820 2010-04-13 Sam Weinig <sam@webkit.org>
44822 Reviewed by Anders Carlsson.
44824 Do a JS collection and clear the memory cache to improve leaks output
44825 when exiting. Only do this in debug builds as it is slow.
44827 * UIProcess/API/mac/WKView.h:
44828 * UIProcess/WebProcessProxy.cpp:
44829 * WebProcess/WebPage/WebPage.cpp:
44830 * WebProcess/WebProcess.cpp:
44831 (WebKit::WebProcess::shutdown):
44832 (WebKit::WebProcess::didClose):
44834 2010-04-13 Sam Weinig <sam@webkit.org>
44836 Reviewed by Adele Peterson.
44838 Post a null event after calling [NSApp stop] to flush the run loop
44839 and finish teardown.
44841 * Platform/mac/RunLoopMac.mm:
44844 2010-04-12 Sam Weinig <sam@webkit.org>
44846 Reviewed by Anders Carlsson.
44848 Add #ifdef so that WKView is not included on the mac if not
44849 compiling objective-c.
44851 * UIProcess/API/C/WebKit2.h:
44853 2010-04-12 Anders Carlsson <andersca@apple.com>
44855 Reviewed by Adam Roben.
44857 Add WebKit2 solution file.
44859 * WebKit2.sln: Added.
44861 2010-04-11 Sam Weinig <sam@webkit.org>
44863 Reviewed by Darin Adler.
44865 Fix for https://bugs.webkit.org/show_bug.cgi?id=37417
44866 Move duplicated internal CoreIPC message kinds to a
44869 * Platform/CoreIPC/Connection.cpp:
44870 (CoreIPC::Connection::processIncomingMessage):
44871 * Platform/CoreIPC/CoreIPCMessageKinds.h: Added.
44872 (CoreIPC::CoreIPCMessage::):
44874 * Platform/CoreIPC/mac/ConnectionMac.cpp:
44875 * WebKit2.xcodeproj/project.pbxproj:
44876 * win/WebKit2.vcproj:
44878 2010-04-11 Sam Weinig <sam@webkit.org>
44880 Rubber-stamped by Anders Carlsson.
44882 Disable not-implemented warnings by default for now.
44884 * Shared/NotImplemented.h:
44886 2010-04-10 Sam Weinig <sam@webkit.org>
44888 Reviewed by Anders Carlsson.
44890 Fix for https://bugs.webkit.org/show_bug.cgi?id=37399
44891 Remove use of STL data structures from CoreIPC code
44893 * Platform/CoreIPC/ArgumentDecoder.cpp:
44894 (CoreIPC::ArgumentDecoder::ArgumentDecoder):
44895 (CoreIPC::ArgumentDecoder::decodeBytes):
44896 (CoreIPC::ArgumentDecoder::removeAttachment):
44897 * Platform/CoreIPC/ArgumentDecoder.h:
44898 Use WTF::Deque instead of std::queue and WTF::Vector
44899 instead of std::vector. Replace use of malloc/free with
44900 fastMalloc/fastFree.
44902 * Platform/CoreIPC/ArgumentEncoder.cpp:
44903 (CoreIPC::ArgumentEncoder::addAttachment):
44904 (CoreIPC::ArgumentEncoder::releaseAttachments):
44905 * Platform/CoreIPC/ArgumentEncoder.h:
44906 Use WTF::Vector instead of std::list. Replace use of malloc/free
44907 with fastMalloc/fastFree.
44909 * Platform/CoreIPC/Connection.cpp:
44910 (CoreIPC::Connection::sendMessage):
44911 (CoreIPC::Connection::waitForMessage):
44912 (CoreIPC::Connection::processIncomingMessage):
44913 (CoreIPC::Connection::sendOutgoingMessages):
44914 (CoreIPC::Connection::dispatchMessages):
44915 * Platform/CoreIPC/Connection.h:
44916 * Platform/CoreIPC/mac/ConnectionMac.cpp:
44917 (CoreIPC::Connection::sendOutgoingMessage):
44918 (CoreIPC::createArgumentDecoder):
44919 Use WTF::Vector instead of std::queue.
44921 * Platform/RunLoop.cpp:
44922 (RunLoop::performWork):
44923 (RunLoop::scheduleWork):
44924 * Platform/RunLoop.h:
44927 * Platform/WorkQueue.h:
44928 * Platform/win/WorkQueueWin.cpp:
44929 (WorkQueue::scheduleWork):
44930 (WorkQueue::performWork):
44933 2010-04-10 Mark Rowe <mrowe@apple.com>
44935 Fix an obviously incorrect part of the Xcode configuration cleanup that resulted in debug builds
44936 asserting shortly after launch.
44938 * WebKit2.xcodeproj/project.pbxproj: Fix the setting of DEBUG_DEFINES for the Debug configuration.
44940 2010-04-09 Mark Rowe <mrowe@apple.com>
44942 Reviewed by Sam Weinig.
44944 Bring the WebKit2 Xcode configuration in to sync with recent changes to the WebKit Xcode configuration files.
44946 In particular, this updates the FEATURE_DEFINES to match those used in the other projects, and brings in
44947 the changes to support building WebKit for older Mac OS X versions from the current Mac OS X version.
44949 * Configurations/Base.xcconfig:
44950 * Configurations/DebugRelease.xcconfig:
44951 * Configurations/FeatureDefines.xcconfig:
44952 * Configurations/Version.xcconfig:
44954 2010-04-09 Mark Rowe <mrowe@apple.com>
44956 Reviewed by Sam Weinig.
44958 Clean up the Xcode project configuration.
44960 Common target settings are pulled out in to BaseTarget.xcconfig. The majority of setting overrides are
44961 removed from the Xcode project itself. Info.plist files are updated to match those used in other frameworks.
44963 * Configurations/BaseTarget.xcconfig: Copied from WebKit2/Configurations/WebKit2.xcconfig.
44964 * Configurations/WebKit2.xcconfig:
44965 * Configurations/WebProcess.xcconfig: Copied from WebKit2/Configurations/WebKit2.xcconfig.
44967 * WebKit2.xcodeproj/project.pbxproj:
44968 * WebProcess-Info.plist: Removed.
44969 * WebProcess/Info.plist: Moved from WebProcess-Info.plist.
44971 2010-04-09 Mark Rowe <mrowe@apple.com>
44975 * WebProcess/WebCoreSupport/mac/WebSystemInterface.m:
44976 (InitWebCoreSystemInterface): Update for recent WKSI changes.
44978 2010-04-09 Sam Weinig <sam@webkit.org>
44980 Reviewed by Darin Adler.
44982 Fix for https://bugs.webkit.org/show_bug.cgi?id=37351
44983 Cannot build with build-webkit --webkit2
44985 Add some headers that it seems others are not getting
44988 * Platform/mac/WorkQueueMac.cpp: #inlude <mach/mach_port.h>
44989 * Shared/mac/UpdateChunk.cpp: #inlude <mach/vm_map.h>
44991 2010-04-09 Anders Carlsson <andersca@apple.com>
44995 * WebProcess/win/WebProcessMain.h:
44996 Include windows.h here.
45001 * win/WebKit2.vcproj:
45004 2010-04-09 Sam Weinig <sam@webkit.org>
45006 Reviewed by Anders Carlsson.
45008 Add new WKString.h and WKURL.h headers to top
45011 * UIProcess/API/C/WebKit2.h:
45013 2010-04-09 Anders Carlsson <andersca@apple.com>
45015 More Windows build fixes.
45017 * Shared/NotImplemented.h:
45018 * UIProcess/API/C/cf/WKURLCF.cpp:
45021 (WKURLCreateWithCFURL):
45022 * UIProcess/API/C/cf/WKURLCF.h:
45025 * win/WebKit2Generated.make:
45026 Copy the new CF headers.
45028 2010-04-09 Sam Weinig <sam@webkit.org>
45030 Reviewed by Anders Carlsson.
45032 Two more #include sorting issues.
45034 * Shared/NotImplemented.h:
45035 * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp:
45037 2010-04-09 Sam Weinig <sam@webkit.org>
45039 Reviewed by Anders Carlsson.
45041 Fix minor style nits found by the style-script.
45043 * Platform/CoreIPC/ArgumentDecoder.h:
45044 * Platform/CoreIPC/ArgumentEncoder.cpp:
45045 * Platform/CoreIPC/Attachment.cpp:
45046 * Platform/CoreIPC/Connection.cpp:
45047 * Platform/CoreIPC/Connection.h:
45048 * Platform/CoreIPC/mac/ConnectionMac.cpp:
45049 * Platform/CoreIPC/win/ConnectionWin.cpp:
45050 * Platform/WorkQueue.h:
45051 * Platform/mac/WorkQueueMac.cpp:
45052 * Platform/win/RunLoopWin.cpp:
45053 * Shared/KURLWrapper.h:
45054 * Shared/WebCoreTypeArgumentMarshalling.h:
45055 * Shared/mac/UpdateChunk.cpp:
45056 * UIProcess/API/C/WKPage.cpp:
45057 * UIProcess/API/C/WKURL.cpp:
45058 * UIProcess/Launcher/win/WebProcessLauncher.cpp:
45059 * UIProcess/ResponsivenessTimer.cpp:
45060 * UIProcess/WebLoaderClient.cpp:
45061 * UIProcess/WebPageProxy.h:
45062 * UIProcess/WebPolicyClient.cpp:
45063 * UIProcess/WebUIClient.cpp:
45064 * UIProcess/win/DrawingAreaProxy.cpp:
45065 * UIProcess/win/WebView.cpp:
45066 * WebProcess/Launching/win/WebProcessWinMain.cpp:
45067 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
45068 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
45069 * WebProcess/WebCoreSupport/mac/WebSystemInterface.h:
45070 * WebProcess/WebCoreSupport/win/WebCoreLocalizedStrings.cpp:
45071 * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
45072 * WebProcess/WebPage/WebFrame.h:
45073 * WebProcess/WebPage/WebPage.cpp:
45074 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
45075 * WebProcess/WebProcess.h:
45076 * WebProcess/win/WebLocalizableStrings.cpp:
45077 * WebProcess/win/WebLocalizableStrings.h:
45078 * WebProcess/win/WebProcessMain.cpp:
45080 2010-04-09 Anders Carlsson <andersca@apple.com>
45084 * Shared/NotImplemented.h:
45087 2010-04-09 Sam Weinig <sam@webkit.org>
45089 Reviewed by Anders Carlsson.
45091 Fix for https://bugs.webkit.org/show_bug.cgi?id=37347
45092 Don't use CF types in the new C API
45094 Replace all uses of CF types in the C API.
45095 - Replace CFStringRef with WKStringRef.
45096 - Replace CFURLRef with WKURLRef.
45098 * WebKit2.xcodeproj/project.pbxproj: Add new files.
45100 * Shared/KURLWrapper.h: Added. RefCounted wrapper around KURL.
45101 * UIProcess/API/C/WKAPICast.h: Add new conversions.
45102 * UIProcess/API/C/WKBase.h: Add new types.
45103 * UIProcess/API/C/WKFrame.cpp:
45104 * UIProcess/API/C/WKFrame.h:
45105 * UIProcess/API/C/WKPage.cpp:
45106 * UIProcess/API/C/WKPage.h:
45107 Replace uses of CF types with WK equivalents.
45109 * UIProcess/API/C/WKString.cpp: Added.
45110 * UIProcess/API/C/WKString.h: Added.
45111 Represents a WebCore::StringImpl*.
45113 * UIProcess/API/C/WKURL.cpp: Added.
45114 * UIProcess/API/C/WKURL.h: Added.
45115 Represents a WebKit::KURLWrapper*.
45117 * UIProcess/API/C/cf: Added.
45118 * UIProcess/API/C/cf/WKStringCF.cpp: Added.
45119 * UIProcess/API/C/cf/WKStringCF.h: Added.
45120 * UIProcess/API/C/cf/WKURLCF.cpp: Added.
45121 * UIProcess/API/C/cf/WKURLCF.h: Added.
45122 CoreFoundation conversion files. Allows converting
45123 WKStringRef <-> CFStringRef
45124 WKURLRef <-> CFURLRef
45126 * UIProcess/ScriptReturnValueCallback.cpp:
45127 (WebKit::ScriptReturnValueCallback::performCallbackWithReturnValue):
45128 * UIProcess/ScriptReturnValueCallback.h:
45129 * UIProcess/WebFrameProxy.cpp:
45130 (WebKit::WebFrameProxy::didStartProvisionalLoad):
45131 (WebKit::WebFrameProxy::didCommitLoad):
45132 * UIProcess/WebFrameProxy.h:
45133 (WebKit::WebFrameProxy::url):
45134 (WebKit::WebFrameProxy::provisionalURL):
45135 * UIProcess/WebLoaderClient.cpp:
45136 (WebKit::WebLoaderClient::didReceiveTitleForFrame):
45137 * UIProcess/WebLoaderClient.h:
45138 * UIProcess/WebPageProxy.cpp:
45139 (WebKit::WebPageProxy::close):
45140 (WebKit::WebPageProxy::didReceiveTitleForFrame):
45141 (WebKit::WebPageProxy::decidePolicyForNavigationAction):
45142 (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
45143 (WebKit::WebPageProxy::decidePolicyForMIMEType):
45144 (WebKit::WebPageProxy::runJavaScriptAlert):
45145 (WebKit::WebPageProxy::didRunJavaScriptInMainFrame):
45146 (WebKit::WebPageProxy::processDidExit):
45147 * UIProcess/WebPageProxy.h:
45148 (WebKit::WebPageProxy::pageTitle):
45149 (WebKit::WebPageProxy::urlAtProcessExit):
45150 * UIProcess/WebPolicyClient.cpp:
45151 (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
45152 (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
45153 (WebKit::WebPolicyClient::decidePolicyForMIMEType):
45154 * UIProcess/WebPolicyClient.h:
45155 * UIProcess/WebUIClient.cpp:
45156 (WebKit::WebUIClient::runJavaScriptAlert):
45157 * UIProcess/WebUIClient.h:
45158 Don't use CF types internally at all.
45160 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
45161 (WebKit::WebFrameLoaderClient::frameLoaderDestroyed):
45164 2010-04-08 Sam Weinig <sam@webkit.org>
45166 Reviewed by Anders Carlsson.
45168 Add build support for WebKit2.
45170 * Configurations: Added.
45171 * Configurations/Base.xcconfig: Added.
45172 * Configurations/DebugRelease.xcconfig: Added.
45173 * Configurations/FeatureDefines.xcconfig: Added.
45174 * Configurations/Version.xcconfig: Added.
45175 * Configurations/WebKit2.xcconfig: Added.
45176 * English.lproj: Added.
45177 * English.lproj/InfoPlist.strings: Added.
45178 * Info.plist: Added.
45180 * WebKit2.xcodeproj: Added.
45181 * WebKit2.xcodeproj/project.pbxproj: Added.
45182 * WebKit2Prefix.cpp: Added.
45183 * WebKit2Prefix.h: Added.
45184 * WebKit2_Prefix.pch: Added.
45185 * WebProcess-Info.plist: Added.
45186 * version.plist: Added.
45188 * win/WebKit2.def: Added.
45189 * win/WebKit2.vcproj: Added.
45190 * win/WebKit2Generated.make: Added.
45191 * win/WebKit2Generated.vcproj: Added.
45192 * win/WebKit2WebProcess.vcproj: Added.
45194 2010-04-08 Anders Carlsson <andersca@apple.com>
45196 Reviewed by Sam Weinig.
45198 https://bugs.webkit.org/show_bug.cgi?id=37301
45199 Add WebKit2/UIProcess directory.
45201 * UIProcess: Added.
45202 * UIProcess/API: Added.
45203 * UIProcess/API/C: Added.
45204 * UIProcess/API/C/WKAPICast.h: Added.
45205 * UIProcess/API/C/WKBase.h: Added.
45206 * UIProcess/API/C/WKContext.cpp: Added.
45207 * UIProcess/API/C/WKContext.h: Added.
45208 * UIProcess/API/C/WKFrame.cpp: Added.
45209 * UIProcess/API/C/WKFrame.h: Added.
45210 * UIProcess/API/C/WKFramePolicyListener.cpp: Added.
45211 * UIProcess/API/C/WKFramePolicyListener.h: Added.
45212 * UIProcess/API/C/WKPage.cpp: Added.
45213 * UIProcess/API/C/WKPage.h: Added.
45214 * UIProcess/API/C/WKPageNamespace.cpp: Added.
45215 * UIProcess/API/C/WKPageNamespace.h: Added.
45216 * UIProcess/API/C/WKPreferences.cpp: Added.
45217 * UIProcess/API/C/WKPreferences.h: Added.
45218 * UIProcess/API/C/WebKit2.h: Added.
45219 * UIProcess/API/mac: Added.
45220 * UIProcess/API/mac/PageClientImpl.h: Added.
45221 * UIProcess/API/mac/PageClientImpl.mm: Added.
45222 * UIProcess/API/mac/WKView.h: Added.
45223 * UIProcess/API/mac/WKView.mm: Added.
45224 * UIProcess/API/mac/WKViewInternal.h: Added.
45225 * UIProcess/API/win: Added.
45226 * UIProcess/API/win/WKAPICastWin.h: Added.
45227 * UIProcess/API/win/WKBaseWin.h: Added.
45228 * UIProcess/API/win/WKView.cpp: Added.
45229 * UIProcess/API/win/WKView.h: Added.
45230 * UIProcess/Launcher: Added.
45231 * UIProcess/Launcher/WebProcessLauncher.h: Added.
45232 * UIProcess/Launcher/mac: Added.
45233 * UIProcess/Launcher/mac/WebProcessLauncher.mm: Added.
45234 * UIProcess/Launcher/win: Added.
45235 * UIProcess/Launcher/win/WebProcessLauncher.cpp: Added.
45236 * UIProcess/PageClient.h: Added.
45237 * UIProcess/ProcessModel.h: Added.
45238 * UIProcess/ResponsivenessTimer.cpp: Added.
45239 * UIProcess/ResponsivenessTimer.h: Added.
45240 * UIProcess/ScriptReturnValueCallback.cpp: Added.
45241 * UIProcess/ScriptReturnValueCallback.h: Added.
45242 * UIProcess/WebContext.cpp: Added.
45243 * UIProcess/WebContext.h: Added.
45244 * UIProcess/WebFramePolicyListenerProxy.cpp: Added.
45245 * UIProcess/WebFramePolicyListenerProxy.h: Added.
45246 * UIProcess/WebFrameProxy.cpp: Added.
45247 * UIProcess/WebFrameProxy.h: Added.
45248 * UIProcess/WebLoaderClient.cpp: Added.
45249 * UIProcess/WebLoaderClient.h: Added.
45250 * UIProcess/WebPageNamespace.cpp: Added.
45251 * UIProcess/WebPageNamespace.h: Added.
45252 * UIProcess/WebPageProxy.cpp: Added.
45253 * UIProcess/WebPageProxy.h: Added.
45254 * UIProcess/WebPolicyClient.cpp: Added.
45255 * UIProcess/WebPolicyClient.h: Added.
45256 * UIProcess/WebPreferences.cpp: Added.
45257 * UIProcess/WebPreferences.h: Added.
45258 * UIProcess/WebProcessManager.cpp: Added.
45259 * UIProcess/WebProcessManager.h: Added.
45260 * UIProcess/WebProcessProxy.cpp: Added.
45261 * UIProcess/WebProcessProxy.h: Added.
45262 * UIProcess/WebUIClient.cpp: Added.
45263 * UIProcess/WebUIClient.h: Added.
45264 * UIProcess/mac: Added.
45265 * UIProcess/mac/DrawingAreaProxy.h: Added.
45266 * UIProcess/mac/DrawingAreaProxy.mm: Added.
45267 * UIProcess/mac/DrawingAreaProxyUpdateChunk.h: Added.
45268 * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm: Added.
45269 * UIProcess/win: Added.
45270 * UIProcess/win/DrawingAreaProxy.cpp: Added.
45271 * UIProcess/win/DrawingAreaProxy.h: Added.
45272 * UIProcess/win/WebView.cpp: Added.
45273 * UIProcess/win/WebView.h: Added.
45275 2010-04-08 Anders Carlsson <andersca@apple.com>
45277 Reviewed by Sam Weinig and Oliver Hunt.
45279 https://bugs.webkit.org/show_bug.cgi?id=37300
45280 Add WebKit2/WebProcess directory.
45282 * WebProcess: Added.
45283 * WebProcess/Launching: Added.
45284 * WebProcess/Launching/mac: Added.
45285 * WebProcess/Launching/mac/WebProcessMain.mm: Added.
45286 * WebProcess/Launching/win: Added.
45287 * WebProcess/Launching/win/WebProcessWinMain.cpp: Added.
45288 * WebProcess/WebCoreSupport: Added.
45289 * WebProcess/WebCoreSupport/WebChromeClient.cpp: Added.
45290 * WebProcess/WebCoreSupport/WebChromeClient.h: Added.
45291 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: Added.
45292 * WebProcess/WebCoreSupport/WebContextMenuClient.h: Added.
45293 * WebProcess/WebCoreSupport/WebDragClient.cpp: Added.
45294 * WebProcess/WebCoreSupport/WebDragClient.h: Added.
45295 * WebProcess/WebCoreSupport/WebEditorClient.cpp: Added.
45296 * WebProcess/WebCoreSupport/WebEditorClient.h: Added.
45297 * WebProcess/WebCoreSupport/WebErrors.h: Added.
45298 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Added.
45299 * WebProcess/WebCoreSupport/WebInspectorClient.h: Added.
45300 * WebProcess/WebCoreSupport/mac: Added.
45301 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm: Added.
45302 * WebProcess/WebCoreSupport/mac/WebSystemInterface.h: Added.
45303 * WebProcess/WebCoreSupport/mac/WebSystemInterface.m: Added.
45304 * WebProcess/WebCoreSupport/win: Added.
45305 * WebProcess/WebCoreSupport/win/WebCoreLocalizedStrings.cpp: Added.
45306 * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp: Added.
45307 * WebProcess/WebPage: Added.
45308 * WebProcess/WebPage/DrawingArea.cpp: Added.
45309 * WebProcess/WebPage/DrawingArea.h: Added.
45310 * WebProcess/WebPage/WebFrame.cpp: Added.
45311 * WebProcess/WebPage/WebFrame.h: Added.
45312 * WebProcess/WebPage/WebPage.cpp: Added.
45313 * WebProcess/WebPage/WebPage.h: Added.
45314 * WebProcess/WebPage/mac: Added.
45315 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp: Added.
45316 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h: Added.
45317 * WebProcess/WebPage/mac/WebPageMac.mm: Added.
45318 * WebProcess/WebPage/win: Added.
45319 * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp: Added.
45320 * WebProcess/WebPage/win/DrawingAreaUpdateChunk.h: Added.
45321 * WebProcess/WebPage/win/WebPageWin.cpp: Added.
45322 * WebProcess/WebProcess.cpp: Added.
45323 * WebProcess/WebProcess.h: Added.
45324 * WebProcess/win: Added.
45325 * WebProcess/win/DllMain.cpp: Added.
45326 * WebProcess/win/WebLocalizableStrings.cpp: Added.
45327 * WebProcess/win/WebLocalizableStrings.h: Added.
45328 * WebProcess/win/WebProcessMain.cpp: Added.
45329 * WebProcess/win/WebProcessMain.h: Added.
45331 2010-04-08 Sam Weinig <sam@webkit.org>
45333 Reviewed by Anders Carlsson.
45335 https://bugs.webkit.org/show_bug.cgi?id=37295
45336 Add WebKit2/Shared directory.
45339 * Shared/CoreIPCSupport: Added.
45340 * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h: Added.
45341 * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: Added.
45342 * Shared/CoreIPCSupport/WebPageMessageKinds.h: Added.
45343 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Added.
45344 * Shared/CoreIPCSupport/WebProcessMessageKinds.h: Added.
45345 * Shared/NotImplemented.h: Added.
45346 * Shared/WebCoreTypeArgumentMarshalling.h: Added.
45347 * Shared/WebEvent.h: Added.
45348 * Shared/WebEventConversion.cpp: Added.
45349 * Shared/WebEventConversion.h: Added.
45350 * Shared/WebPreferencesStore.cpp: Added.
45351 * Shared/WebPreferencesStore.h: Added.
45352 * Shared/mac: Added.
45353 * Shared/mac/UpdateChunk.cpp: Added.
45354 * Shared/mac/UpdateChunk.h: Added.
45355 * Shared/mac/WebEventFactory.h: Added.
45356 * Shared/mac/WebEventFactory.mm: Added.
45357 * Shared/win: Added.
45358 * Shared/win/UpdateChunk.cpp: Added.
45359 * Shared/win/UpdateChunk.h: Added.
45360 * Shared/win/WebEventFactory.cpp: Added.
45361 * Shared/win/WebEventFactory.h: Added.
45363 2010-04-08 Sam Weinig <sam@webkit.org>
45365 Reviewed by Anders Carlsson.
45367 https://bugs.webkit.org/show_bug.cgi?id=37293
45368 Add WebKit2/Platform directory.
45371 * Platform/CoreIPC: Added.
45372 * Platform/CoreIPC/ArgumentDecoder.cpp: Added.
45373 * Platform/CoreIPC/ArgumentDecoder.h: Added.
45374 * Platform/CoreIPC/ArgumentEncoder.cpp: Added.
45375 * Platform/CoreIPC/ArgumentEncoder.h: Added.
45376 * Platform/CoreIPC/Arguments.h: Added.
45377 * Platform/CoreIPC/Attachment.cpp: Added.
45378 * Platform/CoreIPC/Attachment.h: Added.
45379 * Platform/CoreIPC/Connection.cpp: Added.
45380 * Platform/CoreIPC/Connection.h: Added.
45381 * Platform/CoreIPC/MessageID.h: Added.
45382 * Platform/CoreIPC/mac: Added.
45383 * Platform/CoreIPC/mac/ConnectionMac.cpp: Added.
45384 * Platform/CoreIPC/mac/MachPort.h: Added.
45385 * Platform/CoreIPC/win: Added.
45386 * Platform/CoreIPC/win/ConnectionWin.cpp: Added.
45387 * Platform/PlatformProcessIdentifier.h: Added.
45388 * Platform/RunLoop.cpp: Added.
45389 * Platform/RunLoop.h: Added.
45390 * Platform/WorkItem.h: Added.
45391 * Platform/WorkQueue.cpp: Added.
45392 * Platform/WorkQueue.h: Added.
45393 * Platform/mac: Added.
45394 * Platform/mac/RunLoopMac.mm: Added.
45395 * Platform/mac/WorkQueueMac.cpp: Added.
45396 * Platform/win: Added.
45397 * Platform/win/RunLoopWin.cpp: Added.
45399 2010-04-08 Sam Weinig <sam@webkit.org>
45401 Rubber-stamped by Mark Rowe.
45403 Add WebKit2 directory.