2011-05-16 Maciej Stachowiak <mjs@apple.com>
[WebKit.git] / Source / WebKit2 / ChangeLog
1 2011-05-16  Maciej Stachowiak  <mjs@apple.com>
2
3         Reviewed by Sam Weinig.
4
5         Sandbox denies Kerberos authentication
6         https://bugs.webkit.org/show_bug.cgi?id=60921
7         <rdar://problem/9133872>
8         
9         * WebProcess/com.apple.WebProcess.sb:
10
11 2011-05-16  David Kilzer  <ddkilzer@apple.com>
12
13         <http://webkit.org/b/60913> C++ exceptions should not be enabled when building with llvm-gcc-4.2
14         <rdar://problem/9446430>
15
16         Reviewed by Mark Rowe.
17
18         * Configurations/Base.xcconfig: Fixed typo.
19
20 2011-05-16  Anders Carlsson  <andersca@apple.com>
21
22         Reviewed by Dan Bernstein.
23
24         If the root compositing layer changes while we're about to exit compositing mode, make sure to enter compositing mode
25         https://bugs.webkit.org/show_bug.cgi?id=60905
26         <rdar://problem/9365574>
27
28         * WebProcess/WebPage/DrawingAreaImpl.cpp:
29         (WebKit::DrawingAreaImpl::setRootCompositingLayer):
30         If we have a layer tree host, but haven't yet sent a EnterAcceleratedCompositingMode message (this can happen
31         when quickly going in and out of compositing mode), make sure to schedule a notification when the layer tree host
32         does it next flush. This will end up sending the EnterAcceleratedCompositingMode message.
33
34 2011-05-13  Jer Noble  <jer.noble@apple.com>
35
36         Reviewed by Simon Fraser.
37
38         Video is blank, controller is misplaced on trailers.apple.com movie in fullscreen (with two screens)
39         https://bugs.webkit.org/show_bug.cgi?id=60826
40
41         Emit a notification when moving a CALayer from the WebProcess's main
42         layer host to a new context.  This allows listeners to invalidate their
43         layers which may not support moving between different CAContexts (as is
44         the case with QTMovieLayer).  In order to allow listeners to determine if they
45         are affected, the notification will pass the root CALayer in a userInfo
46         dictionary.
47
48         In WebFullScreenManagerMac, move from storing a pointer to a non-refcounted
49         class (GraphicsLayer) to a retainable class (PlatformLayer).
50
51         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
52         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
53         (WebKit::WebFullScreenManagerMac::WebFullScreenManagerMac): No need to initialize
54             m_fullScreenRootLayer now that it is a RetainPtr<>.
55         (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): Emit a notification
56             after either creating or destroying the full screen layer host.
57         (WebKit::WebFullScreenManagerMac::beginEnterFullScreenAnimation):
58         (WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation):
59
60 2011-05-16  Siddharth Mathur  <siddharth.mathur@nokia.com>
61
62         Rubber-stamped by Csaba Osztrogonác.
63
64         [Qt][Wk2][Symbian] Fix build after r86560
65         https://bugs.webkit.org/show_bug.cgi?id=60887
66
67         Temporarily fix Symbian build by re-enabling compilation
68         of Qt/Gtk common code (as was the case for Symbian before r55875).
69         This is a stop gap until the pure Symbian Core IPC and process launching bits land in Bug 55875
70         As of this revision, only the native SharedMemory implementation is in trunk.
71
72         * Platform/CoreIPC/Attachment.h: Compile Qt/Gtk common code for Qt-Symbian too
73         * Platform/CoreIPC/Connection.h: ditto
74         * Platform/SharedMemory.h:       ditto
75         * Platform/qt/SharedMemorySymbian.cpp: stub implementations of attachment handling
76         (WebKit::SharedMemory::Handle::releaseToAttachment):
77         (WebKit::SharedMemory::Handle::adoptFromAttachment):
78
79 2011-05-16  Jon Lee  <jonlee@apple.com>
80
81         Reviewed by Simon Fraser.
82
83         Can't horizontally scroll iframes and overflow because wheel events are always accepted
84         https://bugs.webkit.org/show_bug.cgi?id=60779
85
86         We keep track of the number of horizontal scrollbars and mouse wheel event handlers in the
87         UI process as a means of determining whether horizontal scroll events will be handled
88         by the web process.
89
90         * UIProcess/WebPageProxy.cpp:
91         (WebKit::WebPageProxy::willHandleHorizontalScrollEvents): Return true if there is at least
92         one wheel event handler
93         * UIProcess/WebPageProxy.h: Add new variable to cache the count
94         (WebKit::WebPageProxy::numWheelEventHandlersChanged): Sets the count
95
96         The rest just provides all the connections.
97         * UIProcess/API/C/WKPage.cpp:
98         (WKPageWillHandleHorizontalScrollEvents):
99         * UIProcess/API/C/WKPage.h:
100         * UIProcess/WebPageProxy.messages.in:
101         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
102         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
103         (WebKit::InjectedBundlePageUIClient::shouldRubberBandInDirection):
104         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
105         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
106         (WebKit::WebChromeClient::shouldRubberBandInDirection): Forward to injected bundle UI client
107         (WebKit::WebChromeClient::updateCountWheelEventHandlers): Updates the web page proxy
108         * WebProcess/WebCoreSupport/WebChromeClient.h:
109
110 2011-05-16  Anders Carlsson  <andersca@apple.com>
111
112         Reviewed by Oliver Hunt.
113
114         Silverlight: Selection via keyboard selects the entire plugin instead of the contents of a TextBox
115         https://bugs.webkit.org/show_bug.cgi?id=60898
116         <rdar://problem/9309903>
117
118         Special-case Command-A and always return true, indicating that the plug-in handled the event.
119         This matches WebKit1.
120
121         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
122         (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
123
124 2011-05-16  Anders Carlsson  <andersca@apple.com>
125
126         Reviewed by Oliver Hunt.
127
128         Short-circuit NPRuntime calls made by Flash during plug-in instantiation
129         https://bugs.webkit.org/show_bug.cgi?id=60894
130         <rdar://problem/8804681>
131
132         During plug-in instantiation, Flash makes a couple of NPRuntime calls to get the
133         URL of the current document as well as the URL of the toplevel document. This leads to
134         a bunch of IPC traffic that slows down instantiation.
135
136         Since we know what calls Flash is making and what results are expected, we can handle the
137         NPRuntime calls directly in the plug-in process and avoid extra IPC overhead.
138
139         * PluginProcess/PluginControllerProxy.cpp:
140         (WebKit::PluginControllerProxy::PluginControllerProxy):
141         Initialize m_pluginCreationParameters.
142
143         (WebKit::PluginControllerProxy::initialize):
144         Set m_pluginCreationParameters to point to the creation parameters right before
145         calling Plugin::initialize and restore it back afterwards.
146
147         (WebKit::PluginControllerProxy::tryToShortCircuitInvoke):
148         If the plug-in calling NPN_Invoke has the CanShortCircuitSomeNPRuntimeCallsDuringInitialization
149         quirk, and we're being initialized, check for the __flash_getWindowLocation and
150         __flash_getTopLocation function calls and return the correct values.
151
152         (WebKit::PluginControllerProxy::tryToShortCircuitEvaluate):
153         Check if the script string has the definitions of __flash_getWindowLocation or __flash_getTopLocation
154         and just ignore them. Note that ignoring them has the effect of not adding them to the window object,
155         which could in theory be a backwards compatibility problem if web pages were to assume that these
156         functions existed on a page with plug-ins. In practice this is probably not a problem, especially since
157         these functions are only used on Mac WebKit.
158
159         * PluginProcess/PluginControllerProxy.h:
160         (WebKit::PluginControllerProxy::inInitialize):
161         Add helper function.
162
163         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
164         (WebKit::NetscapePluginModule::determineQuirks):
165         Add the CanShortCircuitSomeNPRuntimeCallsDuringInitialization quirk for Flash on Mac.
166
167         * Shared/Plugins/PluginQuirks.h:
168         Add Mac specific CanShortCircuitSomeNPRuntimeCallsDuringInitialization quirk.
169
170 2011-05-16  Anders Carlsson  <andersca@apple.com>
171
172         Reviewed by Adam Roben.
173
174         Add a returnValue parameter to tryToShortCircuitInvoke
175         https://bugs.webkit.org/show_bug.cgi?id=60891
176
177         tryToShortCircuitInvoke needs to be able to indicate that an invoke
178         call failed. Add a returnValue parameter and have the real return value
179         indicate whether tryToShortCircuitInvoke did short-circuit the invoke or not.
180
181         * PluginProcess/PluginControllerProxy.cpp:
182         (WebKit::PluginControllerProxy::tryToShortCircuitInvoke):
183         * PluginProcess/PluginControllerProxy.h:
184         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
185         (WebKit::NPN_Invoke):
186         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
187         (WebKit::NetscapePlugin::tryToShortCircuitInvoke):
188         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
189         * WebProcess/Plugins/PluginController.h:
190         * WebProcess/Plugins/PluginView.cpp:
191         (WebKit::PluginView::tryToShortCircuitInvoke):
192         * WebProcess/Plugins/PluginView.h:
193
194 2011-05-16  Siddharth Mathur  <siddharth.mathur@nokia.com>
195
196         Reviewed by Csaba Osztrogonác.
197
198         [Qt][Wk2][Symbian] Fix build after r86560
199         https://bugs.webkit.org/show_bug.cgi?id=60887
200
201         * Platform/CoreIPC/ArgumentDecoder.cpp:
202         (CoreIPC::ArgumentDecoder::~ArgumentDecoder): guard Unix and Gtk code with USE(UNIX_DOMAIN_SOCKETS)
203         * Platform/CoreIPC/ArgumentEncoder.cpp:
204         (CoreIPC::ArgumentEncoder::~ArgumentEncoder): ditto
205
206 2011-05-16  Anders Carlsson  <andersca@apple.com>
207
208         Reviewed by Adam Roben.
209
210         Add the ability for a plug-in controller to short-circuit calls to NPN_Invoke
211         https://bugs.webkit.org/show_bug.cgi?id=60886
212
213         Make it possible for a plug-in controller to intercept calls to NPN_Invoke, which
214         will be useful for avoiding sync IPC messages during instantiation.
215
216         * PluginProcess/PluginControllerProxy.cpp:
217         (WebKit::PluginControllerProxy::evaluate):
218         Call tryToShortCircuitEvaluate. If it returns true, we don't need to call back to
219         the web process to ask it to evaluate the script string.
220
221         (WebKit::PluginControllerProxy::tryToShortCircuitInvoke):
222         (WebKit::PluginControllerProxy::tryToShortCircuitEvaluate):
223         Always return false for now.
224
225         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
226         (WebKit::NPN_Invoke):
227         Get the plug-in and call tryToShortCircuitInvoke.
228
229         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
230         (WebKit::NetscapePlugin::tryToShortCircuitInvoke):
231         Call the plug-in controller.
232
233         * WebProcess/Plugins/PluginView.cpp:
234         (WebKit::PluginView::tryToShortCircuitInvoke):
235         Always return false here, since there's no need to short-circuit calls
236         for plug-ins that live in the web process.
237
238 2011-05-16  Siddharth Mathur  <siddharth.mathur@nokia.com>
239
240         Reviewed by Laszlo Gombos.
241
242         [Qt][WK2][Symbian] Shared memory implementation for Symbian
243         https://bugs.webkit.org/show_bug.cgi?id=55875
244
245         Use global chunks for sharing data between processes.
246         This is an initial implementation. An outstanding issue
247         is the correct way to close() the chunk in the SharedMemory d'tor
248         without triggering a delete by the kernel when the ref-count
249         temporarily goes to zero.
250
251         * Platform/SharedMemory.h: platform specific handle and chunk name
252         * Platform/qt/SharedMemorySymbian.cpp: Added. Native Symbian OS implementation
253         using RChunk.CreateGlobal() for named chunks. The chunk name is serialized
254         and sent over the IPC channel and opened by the remote process using
255         RChunk.OpenGlobal().
256
257         (WebKit::SharedMemory::Handle::Handle):
258         (WebKit::SharedMemory::Handle::~Handle):
259         (WebKit::SharedMemory::Handle::isNull):
260         (WebKit::SharedMemory::Handle::encode):
261         (WebKit::SharedMemory::Handle::decode):
262         (WebKit::SharedMemory::create):
263         (WebKit::SharedMemory::~SharedMemory):
264         (WebKit::SharedMemory::createHandle):
265         (WebKit::SharedMemory::systemPageSize):
266         * Platform/unix/SharedMemoryUnix.cpp: Exclude Qt-Symbian using HAVE(UNIX_DOMAIN_SOCKETS)
267         * WebKit2.pro: Add SharedMemorySymbian.cpp
268
269 2011-05-16  Carlos Garcia Campos  <cgarcia@igalia.com>
270
271         Unreviewed. Fix WebKit2 GTK build after r86489.
272
273         * GNUmakefile.am: Add PluginProcess/PluginCreationParameters.cpp
274         and PluginProcess/PluginCreationParameters.h to compilation.
275
276 2011-05-16  Carlos Garcia Campos  <cgarcia@igalia.com>
277
278         Reviewed by Martin Robinson.
279
280         [GTK] Enable building GTK port with ENABLE_PLUGIN_PROCESS=1
281         https://bugs.webkit.org/show_bug.cgi?id=58223
282
283         * GNUmakefile.am: Add new files to compilation.
284         * PluginProcess/gtk/PluginControllerProxyGtk.cpp: Added.
285         (WebKit::PluginControllerProxy::platformInitialize):
286         (WebKit::PluginControllerProxy::platformDestroy):
287         (WebKit::PluginControllerProxy::platformGeometryDidChange):
288         * PluginProcess/gtk/PluginProcessGtk.cpp: Added.
289         (WebKit::PluginProcess::platformInitialize):
290         * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp: Added.
291         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
292         * WebProcess/Plugins/Netscape/gtk/PluginProxyGtk.cpp: Added.
293         (WebKit::PluginProxy::needsBackingStore):
294
295 2011-05-16  Adam Barth  <abarth@webkit.org>
296
297         Attempt to fix the Qt build.  (Strict PassOwnPtr fix.)
298
299         * Shared/qt/ShareableBitmapQt.cpp:
300         (WebKit::ShareableBitmap::createGraphicsContext):
301
302 2011-05-15  Michael Saboff  <msaboff@apple.com>
303
304         Reviewed by Geoffrey Garen.
305
306         Suboptimal lifetime of BackingStore objects in DrawingAreaProxyImpl
307         https://bugs.webkit.org/show_bug.cgi?id=60864
308
309         Implemented reuse of BackingStore's in 
310         DrawingAreaProxyImpl::didUpdateBackingStoreState when the size needed
311         matches the size of the existing BackingStore.
312         Also reduced the discardBackingStoreTimer from 5 to 2 seconds.
313         These changes reduces memory usage up to 10MB on memory tests.
314
315         * UIProcess/DrawingAreaProxyImpl.cpp:
316         (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
317         (WebKit::DrawingAreaProxyImpl::discardBackingStoreSoon):
318
319 2011-05-15  Anders Carlsson  <andersca@apple.com>
320
321         Reviewed by Maciej Stachowiak.
322
323         Pass the window NPObject identifier in the plug-in creation parameters
324         https://bugs.webkit.org/show_bug.cgi?id=60865
325
326         This avoids a synchronous call when the plug-in wants to get the NPObject that
327         corresponds to the window.
328
329         * PluginProcess/PluginControllerProxy.cpp:
330         (WebKit::PluginControllerProxy::initialize):
331         Change this to take the PluginCreationParameters. Initialize the window NPObject.
332
333         (WebKit::PluginControllerProxy::windowScriptNPObject):
334         Just return the window NPObject; it's already been initialized.
335
336         * PluginProcess/PluginControllerProxy.h:
337         * PluginProcess/PluginCreationParameters.cpp:
338         (WebKit::PluginCreationParameters::PluginCreationParameters):
339         (WebKit::PluginCreationParameters::encode):
340         (WebKit::PluginCreationParameters::decode):
341         * PluginProcess/PluginCreationParameters.h:
342         Add the window NPObject ID.
343
344         * PluginProcess/WebProcessConnection.cpp:
345         (WebKit::WebProcessConnection::createPlugin):
346         Pass the creation parameters to PluginControllerProxy::initialize.
347
348         * WebProcess/Plugins/PluginProxy.cpp:
349         (WebKit::PluginProxy::initialize):
350         Initialize the window NPObject ID.
351
352         * WebProcess/Plugins/PluginProxy.messages.in:
353         Remove the GetWindowScriptNPObject message.
354
355 2011-05-15  Anders Carlsson  <andersca@apple.com>
356
357         Reviewed by Geoffrey Garen.
358
359         Pass the document URL and toplevel document URL when creating a plug-in
360         https://bugs.webkit.org/show_bug.cgi?id=60863
361
362         This is the first of a series of patches intended to reduce the IPC traffic
363         during plug-in instantiation.
364
365         * WebProcess/Plugins/Plugin.cpp:
366         (WebKit::Plugin::Parameters::encode):
367         Encode the URLs.
368
369         (WebKit::Plugin::Parameters::decode):
370         Decode the URLs.
371
372         * WebProcess/Plugins/Plugin.h:
373         Add the document and toplevel document URLs.
374
375         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
376         (WebKit::WebFrameLoaderClient::createPlugin):
377         Initialize the document and toplevel document URLs.
378
379 2011-05-13  Oliver Hunt  <oliver@apple.com>
380
381         Reviewed by Geoffrey Garen.
382
383         Make GC validation more aggressive
384         https://bugs.webkit.org/show_bug.cgi?id=60802
385
386         Add GC_VALIDATION calls to all the JSNPObject methods.
387
388         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
389         (WebKit::JSNPObject::invalidate):
390         (WebKit::JSNPObject::callMethod):
391         (WebKit::JSNPObject::callObject):
392         (WebKit::JSNPObject::callConstructor):
393         (WebKit::JSNPObject::getCallData):
394         (WebKit::JSNPObject::getConstructData):
395         (WebKit::JSNPObject::getOwnPropertySlot):
396         (WebKit::JSNPObject::getOwnPropertyDescriptor):
397         (WebKit::JSNPObject::put):
398         (WebKit::JSNPObject::getOwnPropertyNames):
399         (WebKit::JSNPObject::propertyGetter):
400         (WebKit::JSNPObject::methodGetter):
401
402 2011-05-13  Oliver Hunt  <oliver@apple.com>
403
404         Reviewed by Geoffrey Garen.
405
406         Make GC validation more aggressive
407         https://bugs.webkit.org/show_bug.cgi?id=60802
408
409         Add GC_VALIDATION calls to all the JSNPObject methods.
410
411         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
412         (WebKit::JSNPObject::invalidate):
413         (WebKit::JSNPObject::callMethod):
414         (WebKit::JSNPObject::callObject):
415         (WebKit::JSNPObject::callConstructor):
416         (WebKit::JSNPObject::getCallData):
417         (WebKit::JSNPObject::getConstructData):
418         (WebKit::JSNPObject::getOwnPropertySlot):
419         (WebKit::JSNPObject::getOwnPropertyDescriptor):
420         (WebKit::JSNPObject::put):
421         (WebKit::JSNPObject::getOwnPropertyNames):
422         (WebKit::JSNPObject::propertyGetter):
423         (WebKit::JSNPObject::methodGetter):
424
425 2011-05-14  Alexey Proskuryakov  <ap@apple.com>
426
427         Reviewed by Sam Weinig.
428
429         WebKit2: Smart cut&paste is broken
430         https://bugs.webkit.org/show_bug.cgi?id=60840
431         <rdar://problem/9439927>
432
433         * UIProcess/mac/TextCheckerMac.mm: (WebKit::TextChecker::isSmartInsertDeleteEnabled):
434         Match WK1 - this default defaults to YES if not present.
435
436 2011-05-14  Dan Bernstein  <mitz@apple.com>
437
438         Reviewed by Alice Liu.
439
440         WKView does not draw after forced repaint before the first update
441         https://bugs.webkit.org/show_bug.cgi?id=60845
442
443         * UIProcess/DrawingAreaProxy.h:
444         (WebKit::DrawingAreaProxy::waitForBackingStoreUpdateOnNextPaint): Added.
445         * UIProcess/DrawingAreaProxyImpl.cpp:
446         (WebKit::DrawingAreaProxyImpl::waitForBackingStoreUpdateOnNextPaint): Set m_hasReceivedFirstUpdate
447         to true, ensuring that paint() will wait for an update if needed.
448         * UIProcess/DrawingAreaProxyImpl.h:
449         * UIProcess/WebPageProxy.cpp:
450         (WebKit::WebPageProxy::forceRepaint): Call DrawingAreaProxy::waitForBackingStoreUpdateOnNextPaint().
451
452 2011-05-14  Anders Carlsson  <andersca@apple.com>
453
454         Reviewed by Sam Weinig.
455
456         Document the WantsMozillaUserAgent quirk and make it Windows specific
457         https://bugs.webkit.org/show_bug.cgi?id=60843
458
459         * Shared/Plugins/PluginQuirks.h:
460         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
461         (WebKit::NetscapePlugin::userAgent):
462
463 2011-05-14  Anders Carlsson  <andersca@apple.com>
464
465         Reviewed by Sam Weinig.
466
467         Consolidate plug-in creation parameters to a single struct
468         https://bugs.webkit.org/show_bug.cgi?id=60839
469
470         * PluginProcess/PluginControllerProxy.cpp:
471         (WebKit::PluginControllerProxy::create):
472         (WebKit::PluginControllerProxy::PluginControllerProxy):
473         * PluginProcess/PluginControllerProxy.h:
474         * PluginProcess/PluginCreationParameters.cpp: Added.
475         (WebKit::PluginCreationParameters::PluginCreationParameters):
476         (WebKit::PluginCreationParameters::encode):
477         (WebKit::PluginCreationParameters::decode):
478         * PluginProcess/PluginCreationParameters.h: Added.
479         * PluginProcess/WebProcessConnection.cpp:
480         (WebKit::WebProcessConnection::createPlugin):
481         * PluginProcess/WebProcessConnection.h:
482         * PluginProcess/WebProcessConnection.messages.in:
483         * Scripts/webkit2/messages.py:
484         * WebKit2.xcodeproj/project.pbxproj:
485         * WebProcess/Plugins/PluginProxy.cpp:
486         (WebKit::PluginProxy::initialize):
487
488 2011-05-14  Anders Carlsson  <andersca@apple.com>
489
490         Reviewed by Kevin Decker.
491
492         NPP_URLNotify is not called if a URL passed to NPN_GetURLNotify fails to load
493         https://bugs.webkit.org/show_bug.cgi?id=60823
494         <rdar://problem/9430386>
495
496         If a plug-in stream fails to load before it's been started, we won't destroy the stream.
497
498         * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
499         (WebKit::NetscapePluginStream::stop):
500         Call notifyAndDestroyStream which will call NPP_URLNotify if necessary, and also destroy the stream.
501
502         (WebKit::NetscapePluginStream::notifyAndDestroyStream):
503         Pass the request URL to NPP_URLNotify, matching other browsers.
504
505 2011-05-14  Jer Noble  <jer.noble@apple.com>
506
507         Reviewed by Simon Fraser.
508
509         Flashing window frame and graphical glitches after exiting full screen mode.
510         https://bugs.webkit.org/show_bug.cgi?id=60825
511
512         A layer-backed WebView throws an exception when moved from a layer-backed parent view
513         to a non-layer-backed one, so make the WebView a child of the content view, instead of
514         the animation view.  There is an unrelated fix in beganExitFullScreen, which was calling
515         finishedExitFullScreenAnimation: instead of finishedEnterFullScreenAnimation: when 
516         notifications come out of order.
517
518         * UIProcess/mac/WKFullScreenWindowController.mm:
519         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Add the _webView
520             to the full screen window's content view, instead of the _animationView.
521         (-[WKFullScreenWindowController beganExitFullScreenAnimation]): Call 
522             finishedEnterFullScreenAnimation: instead of finishedExitFullScreenAnimation:.
523         (-[WKFullScreenWindowController enterAcceleratedCompositingMode:WebKit::]): Add the
524             _layerHostingView to the contentView, instead of the animationView.
525
526 2011-05-14  Csaba Osztrogonác  <ossy@webkit.org>
527
528         Unreviewed, rolling out r86469 and r86471, because they made hundreds tests crash on Qt.
529
530         Make GC validation more aggressive
531         https://bugs.webkit.org/show_bug.cgi?id=60802
532
533         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
534         (WebKit::JSNPObject::invalidate):
535         (WebKit::JSNPObject::callMethod):
536         (WebKit::JSNPObject::callObject):
537         (WebKit::JSNPObject::callConstructor):
538         (WebKit::JSNPObject::getCallData):
539         (WebKit::JSNPObject::getConstructData):
540         (WebKit::JSNPObject::getOwnPropertySlot):
541         (WebKit::JSNPObject::getOwnPropertyDescriptor):
542         (WebKit::JSNPObject::put):
543         (WebKit::JSNPObject::getOwnPropertyNames):
544         (WebKit::JSNPObject::propertyGetter):
545         (WebKit::JSNPObject::methodGetter):
546
547 2011-05-14  Sheriff Bot  <webkit.review.bot@gmail.com>
548
549         Unreviewed, rolling out r86476.
550         http://trac.webkit.org/changeset/86476
551         https://bugs.webkit.org/show_bug.cgi?id=60832
552
553         It made plugins/get-url-notify-with-url-that-fails-to-
554         load.html crash on GTK (Requested by Ossy on #webkit).
555
556         * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
557         (WebKit::NetscapePluginStream::stop):
558         (WebKit::NetscapePluginStream::notifyAndDestroyStream):
559
560 2011-05-13  Enrica Casucci  <enrica@apple.com>
561
562         Reviewed by Darin Adler and Brian Weinstein.
563
564         REGRESSION (WK2): Can't drag and drop a link or image from Safari to Desktop
565         https://bugs.webkit.org/show_bug.cgi?id=60819
566         <rdar://problem/9370689>
567
568         To support drag-and-drop to the desktop and other windows applications,
569         we need to support the fileDescriptor and fileContentZero clipboard formats.
570         This patch adds the support for serializing these types across the process boundary.
571
572         * Platform/CoreIPC/Arguments.h: Added support for messages with 10 arguments.
573         (CoreIPC::Arguments10::Arguments10):
574         (CoreIPC::Arguments10::encode):
575         (CoreIPC::Arguments10::decode):
576         (CoreIPC::In):
577         (CoreIPC::Out):
578         * Platform/CoreIPC/HandleMessage.h:
579         (CoreIPC::callMemberFunction): Added support for memebers with 10 arguments.
580         * UIProcess/WebPageProxy.cpp:
581         (WebKit::WebPageProxy::startDragDrop):
582         * UIProcess/WebPageProxy.h:
583         * UIProcess/WebPageProxy.messages.in:
584         * WebProcess/WebCoreSupport/win/WebDragClientWin.cpp:
585         (WebKit::WebDragClient::startDrag):
586
587 2011-05-13  Anders Carlsson  <andersca@apple.com>
588
589         Reviewed by Sam Weinig.
590
591         NPP_URLNotify is not called if a URL passed to NPN_GetURLNotify fails to load
592         https://bugs.webkit.org/show_bug.cgi?id=60823
593         <rdar://problem/9430386>
594
595         If a plug-in stream fails to load before it's been started, we won't destroy the stream.
596
597         * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
598         (WebKit::NetscapePluginStream::stop):
599         Call notifyAndDestroyStream which will call NPP_URLNotify if necessary, and also destroy the stream.
600
601         (WebKit::NetscapePluginStream::notifyAndDestroyStream):
602         Pass the request URL to NPP_URLNotify, matching other browsers.
603
604 2011-05-13  Michael Saboff  <msaboff@apple.com>
605
606         Reviewed by Geoffrey Garen.
607
608         Backing store may not get discarded due to stopped timer
609         https://bugs.webkit.org/show_bug.cgi?id=60816
610
611         Changed the backing store timer to restart if it has been stopped.
612         The evaluation is done when the view's state is changed.
613         This change appears to be worth ~3MB (one backing store worth)
614         during memory tests.
615
616         * UIProcess/DrawingAreaProxyImpl.cpp:
617         (WebKit::DrawingAreaProxyImpl::discardBackingStoreSoon):
618         * UIProcess/WebPageProxy.cpp:
619         (WebKit::WebPageProxy::viewStateDidChange):
620
621 2011-05-13  Oliver Hunt  <oliver@apple.com>
622
623         Reviewed by Geoffrey Garen.
624
625         Make GC validation more aggressive
626         https://bugs.webkit.org/show_bug.cgi?id=60802
627
628         Add GC_VALIDATION calls to all the JSNPObject methods.
629
630         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
631         (WebKit::JSNPObject::invalidate):
632         (WebKit::JSNPObject::callMethod):
633         (WebKit::JSNPObject::callObject):
634         (WebKit::JSNPObject::callConstructor):
635         (WebKit::JSNPObject::getCallData):
636         (WebKit::JSNPObject::getConstructData):
637         (WebKit::JSNPObject::getOwnPropertySlot):
638         (WebKit::JSNPObject::getOwnPropertyDescriptor):
639         (WebKit::JSNPObject::put):
640         (WebKit::JSNPObject::getOwnPropertyNames):
641         (WebKit::JSNPObject::propertyGetter):
642         (WebKit::JSNPObject::methodGetter):
643
644 2011-05-13  Anders Carlsson  <andersca@apple.com>
645
646         Reviewed by Sam Weinig.
647
648         NPN_GetURL with a javascript: URL doesn't send back the result in the stream
649         https://bugs.webkit.org/show_bug.cgi?id=60810
650
651         In NetscapePluginStream::sendJavaScriptStream, we were incorrectly passing the result URL
652         to the stream, instead of the result. Also, store the request URL in the NetscapePluginStream object
653         to avoid sending it over the wire.
654
655         * PluginProcess/PluginControllerProxy.cpp:
656         (WebKit::PluginControllerProxy::didEvaluateJavaScript):
657         * PluginProcess/PluginControllerProxy.h:
658         * PluginProcess/PluginControllerProxy.messages.in:
659         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
660         (WebKit::NetscapePlugin::loadURL):
661         (WebKit::NetscapePlugin::didEvaluateJavaScript):
662         (WebKit::NetscapePlugin::manualStreamDidReceiveResponse):
663         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
664         * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
665         (WebKit::NetscapePluginStream::NetscapePluginStream):
666         (WebKit::NetscapePluginStream::sendJavaScriptStream):
667         * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
668         (WebKit::NetscapePluginStream::create):
669         * WebProcess/Plugins/Plugin.h:
670         * WebProcess/Plugins/PluginProxy.cpp:
671         (WebKit::PluginProxy::didEvaluateJavaScript):
672         * WebProcess/Plugins/PluginProxy.h:
673         * WebProcess/Plugins/PluginView.cpp:
674         (WebKit::PluginView::performJavaScriptURLRequest):
675
676 2011-05-13  Jeff Miller  <jeffm@apple.com>
677
678         Reviewed by Darin Adler.
679
680         Make some page() member functions const
681         https://bugs.webkit.org/show_bug.cgi?id=60794
682
683         * UIProcess/ChunkedUpdateDrawingAreaProxy.h: Make page() const.
684         * UIProcess/WebFrameProxy.h:
685         (WebKit::WebFrameProxy::page): Make page() const.
686         * UIProcess/WebInspectorProxy.h:
687         (WebKit::WebInspectorProxy::page): Make page() const.
688         * UIProcess/gtk/ChunkedUpdateDrawingAreaProxyGtk.cpp:
689         (WebKit::ChunkedUpdateDrawingAreaProxy::page): Make page() const.
690         * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
691         (WebKit::ChunkedUpdateDrawingAreaProxy::page): Make page() const.
692         * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
693         (WebKit::ChunkedUpdateDrawingAreaProxy::page): Make page() const.
694         * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp:
695         (WebKit::ChunkedUpdateDrawingAreaProxy::page): Make page() const.
696
697 2011-05-13  Adam Roben  <aroben@apple.com>
698
699         Load plugins in the order they're found
700
701         Fixes <http://webkit.org/b/60788> <rdar://problem/9435787> REGRESSION (r69790): WebKit2
702         doesn't prefer plugins in the additional plugins directory
703
704         Reviewed by Anders Carlsson.
705
706         * UIProcess/Plugins/PluginInfoStore.cpp:
707         (WebKit::addFromVector):
708         Changed to use a ListHashSet instead of a HashSet to store the plugin paths.
709
710 2011-05-13  Sam Weinig  <sam@webkit.org>
711
712         Reviewed by Anders Carlsson.
713
714         Prune #includes from FrameView.h (Part 2)
715         https://bugs.webkit.org/show_bug.cgi?id=60748
716
717         - Update files that were depending on FrameView.h #including Frame.h or
718           Page.h.
719
720         * WebProcess/Plugins/PluginView.cpp:
721         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
722         * WebProcess/WebPage/WebContextMenu.cpp:
723         * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm:
724
725 2011-05-13  Martin Robinson  <mrobinson@igalia.com>
726
727         Reviewed by Eric Seidel.
728
729         [GTK] Share the GTK+ key binding code between WebKit1 and WebKit2
730         https://bugs.webkit.org/show_bug.cgi?id=59765
731
732         Use the new KeyBindingTranslator class from WebCore/platform/gtk. With this utility
733         class we can now share the code with WebKit2.
734
735         * UIProcess/API/gtk/PageClientImpl.cpp:
736         (WebKit::PageClientImpl::PageClientImpl): No longer need to initialize keybinding code.
737         (WebKit::PageClientImpl::getEditorCommandsForKeyEvent): Use the new utility class.
738         * UIProcess/API/gtk/PageClientImpl.h: Remove unnecessary members. Add utility class member.
739
740 2011-05-12  Pratik Solanki  <psolanki@apple.com>
741
742         Reviewed by Antti Koivisto.
743
744         Part of WebCore should use CFNetwork-based loader on Mac
745         https://bugs.webkit.org/show_bug.cgi?id=51836
746
747         Use CFRunLoop when using CFNetwork.
748
749         * WebProcess/WebPage/mac/WebPageMac.mm:
750         (WebKit::WebPage::platformInitialize):
751
752 2011-05-12  Sam Weinig  <sam@webkit.org>
753
754         Reviewed by Gavin Barraclough.
755
756         WebProcess sandbox denies file:/// accesses after you navigate to a nonexistent file
757         <rdar://problem/9427752>
758         https://bugs.webkit.org/show_bug.cgi?id=60745
759
760         * WebProcess/WebPage/WebPage.cpp:
761         (WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad):
762         Don't attempt to re-use a non-existent committed sandbox extension. This can
763         happen when the previous load was file: url, but did not require an extension,
764         such as an error page.
765
766 2011-05-12  Jia Pu  <jpu@apple.com>
767
768         Reviewed by Darin Adler.
769
770         Regression caused by changeset 86281
771         https://bugs.webkit.org/show_bug.cgi?id=60712
772         <rdar://problem/9427970>
773
774         Removed the condition variable. [NSSpellChecker dismissCorrectionIndicatorForView:] is blocking.
775         So handleAcceptedReplacement() triggered by dismissInternal() will return before dismissInternal()
776         returns. So we don't need to use the condition to coordinate between these two function. In fact,
777         all callbacks are delivered on main thread. We don't really need any locking here.
778
779         Since now we don't have distinction between dismiss() and dismissSoon(). dismissSoon() has
780         been removed.
781
782         * UIProcess/API/mac/PageClientImpl.mm:
783         (WebKit::PageClientImpl::dismissCorrectionPanelSoon):
784         * UIProcess/mac/CorrectionPanel.h:
785         * UIProcess/mac/CorrectionPanel.mm:
786         (WebKit::CorrectionPanel::CorrectionPanel):
787         (WebKit::CorrectionPanel::show):
788         (WebKit::CorrectionPanel::dismiss):
789         (WebKit::CorrectionPanel::dismissInternal):
790         (WebKit::CorrectionPanel::handleAcceptedReplacement):
791
792 2011-05-12  Brian Weinstein  <bweinstein@apple.com>
793
794         Reviewed by Adam Roben.
795
796         WebKit2: Implement plugin quirk for Mozilla user agent for older Flash
797         https://bugs.webkit.org/show_bug.cgi?id=60726
798         <rdar://problem/8470824>
799         
800         Implement the quirk for versions of Flash before v10 that only request windowless plugins
801         if we use a Mozilla user agent.
802
803         * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
804         (WebKit::NetscapePluginModule::determineQuirks): If we have a plugin that handles the
805             "application/x-shockwave-flash" MIME type with a version less than 10, tell it to use
806             the Mozilla user agent.
807         * Shared/Plugins/PluginQuirks.h:
808         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
809         (WebKit::NetscapePlugin::userAgent): Add an early return if the plugin uses the Mozilla user
810             agent.
811         * win/WebKit2.vcproj: Add PluginQuirks.h.
812
813 2011-05-12  Anders Carlsson  <andersca@apple.com>
814
815         Reviewed by Simon Fraser.
816
817         PluginView::invalidateRect doesn't work for transformed plug-ins
818         https://bugs.webkit.org/show_bug.cgi?id=60727
819         <rdar://problem/9331244>
820
821         Ask the RenderObject to repaint the plug-in instead of using invalidateContentsAndWindow.
822         This matches what we do in WebKit1.
823
824         * WebProcess/Plugins/PluginView.cpp:
825         (WebKit::PluginView::invalidateRect):
826
827 2011-05-12  Jessie Berlin  <jberlin@apple.com>
828
829         Reviewed by Darin Adler.
830
831         [Windows WebKit2] Use cookies set in WebKit1
832         https://bugs.webkit.org/show_bug.cgi?id=60274
833
834         Properly handle the case where there is no serialized default storage session by not trying
835         to encode or decode 0, while still making sure to decode any valid storage session.
836
837         * Shared/WebProcessCreationParameters.cpp:
838         (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
839         (WebKit::WebProcessCreationParameters::encode):
840         Only encode the storage session if there is one to encode.
841         (WebKit::WebProcessCreationParameters::decode):
842         Only decode the storage session there is one to decode.
843         * Shared/WebProcessCreationParameters.h:
844
845 2011-05-11  Brian Weinstein  <bweinstein@apple.com>
846
847         Reviewed by Anders Carlsson.
848
849         After relaunching an unresponsive web process, web page stops responding to mouse movement
850         https://bugs.webkit.org/show_bug.cgi?id=60669
851         <rdar://problem/9409934>
852
853         * UIProcess/WebPageProxy.cpp:
854         (WebKit::WebPageProxy::processDidCrash): Set m_processingMouseMoveEvent to false when the WebProcess
855             crashes.
856
857 2011-05-10  Tony Gentilcore  <tonyg@chromium.org>
858
859         Reviewed by Darin Adler.
860
861         Perform some forward declarations suggested by include-what-you-use
862         https://bugs.webkit.org/show_bug.cgi?id=60545
863
864         * WebProcess/WebPage/mac/WebPageMac.mm:
865
866 2011-05-12  Carlos Garcia Campos  <cgarcia@igalia.com>
867
868         Reviewed by Martin Robinson.
869
870         Fix the build with ENABLE_PLUGIN_PROCESS
871         https://bugs.webkit.org/show_bug.cgi?id=60628
872
873         * WebProcess/Plugins/PluginProxy.cpp:
874         (WebKit::PluginProxy::initialize): Move the call to
875         pluginController->isAcceleratedCompositingEnabled() to a #ifdef block.
876         * WebProcess/Plugins/PluginProxy.h: Add include for <WebCore/IntRect.h>.
877
878 2011-05-11  Damian Kaleta  <dkaleta@apple.com>
879
880         Reviewed by Brady Eidson.
881
882         Need a new API that will try to restore the scrollbars' position, when navigating in the back/forward history
883         https://bugs.webkit.org/show_bug.cgi?id=60674
884
885         * UIProcess/API/C/WKPage.cpp:
886         (WKPageTryRestoreScrollPosition):
887         * UIProcess/API/C/WKPage.h:
888         * UIProcess/WebPageProxy.cpp:
889         (WebKit::WebPageProxy::tryRestoreScrollPosition):
890         * UIProcess/WebPageProxy.h:
891         * WebProcess/WebPage/WebPage.cpp:
892         (WebKit::WebPage::tryRestoreScrollPosition):
893         * WebProcess/WebPage/WebPage.h:
894         * WebProcess/WebPage/WebPage.messages.in:
895
896 2011-05-11  Sam Weinig  <sam@webkit.org>
897
898         Reviewed by Gavin Barraclough.
899
900         WebKit2 doesn't build on Mac with strict PassOwnPtr
901         https://bugs.webkit.org/show_bug.cgi?id=60655
902
903         * Platform/CoreIPC/HandleMessage.h:
904         (CoreIPC::handleMessageDelayed):
905         Add explicit adoptPtr to indicate that the constructor is taking ownership.
906
907 2011-05-11  Jessie Berlin  <jberlin@apple.com>
908
909         Reviewed by Steve Falkenburg.
910
911         [Windows WebKit2] Use cookies set in WebKit1
912         https://bugs.webkit.org/show_bug.cgi?id=60274
913
914         Share the default storage session between the UI and Web Processes.
915
916         * Shared/WebProcessCreationParameters.cpp:
917         (WebKit::WebProcessCreationParameters::encode):
918         Only encode the session parameter if it is valid.
919         (WebKit::WebProcessCreationParameters::decode):
920         Don't try to decode a null session data. 
921         * Shared/WebProcessCreationParameters.h:
922         Add a parameter for a serialized default storage session, used only on Windows.
923
924         * Shared/win/WebCoreArgumentCodersWin.cpp:
925         (CoreIPC::decodeResourceRequest):
926         Make sure to set the current storage session on any requests used by the Web
927         Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
928         doing anything with the Web Process's default storage session.
929
930         * UIProcess/win/WebContextWin.cpp:
931         (WebKit::WebContext::platformInitializeWebProcess):
932         Serialize the default storage session in the UI Process and add it to the
933         WebProcessCreationParameters.
934
935         * WebProcess/WebPage/win/WebPageWin.cpp:
936         (WebKit::cachedResponseForURL):
937         Use the cache associated with the current storage session and make sure the request has the
938         current storage session set on it before doing anything with it.
939
940         * WebProcess/win/WebProcessWin.cpp:
941         (WebKit::WebProcess::platformSetCacheModel):
942         Use the default storage session.
943         (WebKit::WebProcess::platformClearResourceCaches):
944         Ditto.
945         (WebKit::WebProcess::platformInitializeWebProcess):
946         Deserialize the default storage session passed in by the UI Process and hand it to the
947         ResourceHandle.
948
949 2011-05-11  Jia Pu  <jpu@apple.com>
950
951         Reviewed by Darin Adler.
952
953         CorrectionPanel sometimes hangs in dismissSoon().
954         https://bugs.webkit.org/show_bug.cgi?id=60599
955         <rdar://problem/9313628>
956
957         Make sure dismissSoon() won't wait indefinitely if handleAcceptedReplacement() sets m_resultForSynchronousDismissal
958         to nil. Added a designated variable m_isDismissing, instead of piggy-backing m_resultForSynchronousDismissal,
959         for condition checking.
960
961         * UIProcess/mac/CorrectionPanel.h:
962         * UIProcess/mac/CorrectionPanel.mm:
963         (WebKit::CorrectionPanel::CorrectionPanel):
964         (WebKit::CorrectionPanel::show):
965         (WebKit::CorrectionPanel::dismissSoon):
966         (WebKit::CorrectionPanel::dismissInternal):
967         (WebKit::CorrectionPanel::handleAcceptedReplacement):
968
969 2011-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>
970
971         Unreviewed, rolling out r86255.
972         http://trac.webkit.org/changeset/86255
973         https://bugs.webkit.org/show_bug.cgi?id=60660
974
975         REGRESSION (r86255): Lots of tests crashing in
976         CFWriteStreamCreateWithAllocatedBuffers on Windows 7 Release
977         (WebKit2 Tests) (Requested by aroben on #webkit).
978
979         * Shared/WebProcessCreationParameters.cpp:
980         (WebKit::WebProcessCreationParameters::encode):
981         (WebKit::WebProcessCreationParameters::decode):
982         * Shared/WebProcessCreationParameters.h:
983         * Shared/win/WebCoreArgumentCodersWin.cpp:
984         (CoreIPC::decodeResourceRequest):
985         * UIProcess/win/WebContextWin.cpp:
986         (WebKit::WebContext::platformInitializeWebProcess):
987         * WebProcess/WebPage/win/WebPageWin.cpp:
988         (WebKit::cachedResponseForURL):
989         * WebProcess/win/WebProcessWin.cpp:
990         (WebKit::WebProcess::platformSetCacheModel):
991         (WebKit::WebProcess::platformClearResourceCaches):
992         (WebKit::WebProcess::platformInitializeWebProcess):
993
994 2011-05-11  Adam Roben  <aroben@apple.com>
995
996         Don't notify the plugin when a targeted javascript: URL request completes
997
998         This matches Mozilla and WebKit1.
999
1000         Fixes <http://webkit.org/b/60568> <rdar://problem/8610657> REGRESSION (WebKit2): Flash
1001         plugin doesn't appear on a hanes.com page
1002
1003         Test: plugins/get-targeted-javascript-url.html
1004
1005         Reviewed by Anders Carlsson.
1006
1007         * WebProcess/Plugins/PluginView.cpp:
1008         (WebKit::PluginView::performJavaScriptURLRequest): Don't call back to the plugin if the
1009         request had a target.
1010
1011 2011-05-11  Jessie Berlin  <jberlin@apple.com>
1012
1013         Reviewed by Steve Falkenburg.
1014
1015         [Windows WebKit2] Use cookies set in WebKit1
1016         https://bugs.webkit.org/show_bug.cgi?id=60274
1017
1018         Share the default storage session between the UI and Web Processes.
1019
1020         * Shared/WebProcessCreationParameters.cpp:
1021         (WebKit::WebProcessCreationParameters::encode):
1022         (WebKit::WebProcessCreationParameters::decode):
1023         * Shared/WebProcessCreationParameters.h:
1024         Add a parameter for a serialized default storage session, used only on Windows.
1025
1026         * Shared/win/WebCoreArgumentCodersWin.cpp:
1027         (CoreIPC::decodeResourceRequest):
1028         Make sure to set the current storage session on any requests used by the Web
1029         Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
1030         doing anything with the Web Process's default storage session.
1031
1032         * UIProcess/win/WebContextWin.cpp:
1033         (WebKit::WebContext::platformInitializeWebProcess):
1034         Serialize the default storage session in the UI Process and add it to the
1035         WebProcessCreationParameters.
1036
1037         * WebProcess/WebPage/win/WebPageWin.cpp:
1038         (WebKit::cachedResponseForURL):
1039         Use the cache associated with the current storage session and make sure the request has the
1040         current storage session set on it before doing anything with it.
1041
1042         * WebProcess/win/WebProcessWin.cpp:
1043         (WebKit::WebProcess::platformSetCacheModel):
1044         Use the default storage session.
1045         (WebKit::WebProcess::platformClearResourceCaches):
1046         Ditto.
1047         (WebKit::WebProcess::platformInitializeWebProcess):
1048         Deserialize the default storage session passed in by the UI Process and hand it to the
1049         ResourceHandle.
1050
1051 2011-05-11  Sam Weinig  <sam@webkit.org>
1052
1053         Reviewed by Adam Roben.
1054
1055         WebKit2 should tell app that is unresponsive in more cases
1056         <rdar://problem/9110151>
1057         https://bugs.webkit.org/show_bug.cgi?id=60608
1058
1059         * UIProcess/DrawingAreaProxyImpl.cpp:
1060         (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
1061         (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState):
1062         Invoke the responsiveness time when forcing a backing store update
1063         to catch the cases of activating tabs, resizing the window, etc.
1064
1065 2011-05-11  Martin Robinson  <mrobinson@igalia.com>
1066
1067         Try to fix the WinCairo build.
1068
1069         * Shared/ShareableBitmap.h: Correctly include RefPtrCairo here and
1070         guard it with USE(CAIRO) instead of PLATFORM(CAIRO).
1071
1072 2011-05-11  John Sullivan  <sullivan@apple.com>
1073
1074         Reviewed by Darin Adler.
1075
1076         <https://bugs.webkit.org/show_bug.cgi?id=60631>
1077         <rdar://problem/9420520>
1078         
1079         WebKit2 doesn't clear the pendingAPIRequestURL on in-page anchor navigation [60631]
1080
1081         * UIProcess/WebPageProxy.cpp:
1082         (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
1083         Call clearPendingAPIRequestURL().
1084
1085 2011-05-11  Adam Roben  <aroben@apple.com>
1086
1087         Turn on strict PassOwnPtr on Windows
1088
1089         Fixes <http://webkit.org/b/60632> Windows should build with strict PassOwnPtr enabled
1090
1091         Reviewed by Adam Barth.
1092
1093         * WebProcess/FullScreen/win/WebFullScreenManagerWin.cpp:
1094         (WebKit::WebFullScreenManagerWin::setRootFullScreenLayer): Use nullptr instead of 0.
1095
1096 2011-05-11  Jessie Berlin  <jberlin@apple.com>
1097
1098         Reviewed by Darin Adler.
1099
1100         [WebKit2] exceededDatabaseQuota function on WKPageUIClient needs to provide information
1101         about the usage for both the origin overall and the database in question.
1102         https://bugs.webkit.org/show_bug.cgi?id=60573
1103
1104         Add the currentOriginUsage parameter.
1105
1106         * Platform/CoreIPC/HandleMessage.h:
1107         (CoreIPC::callMemberFunction):
1108         * UIProcess/API/C/WKPage.h:
1109         * UIProcess/WebPageProxy.cpp:
1110         (WebKit::WebPageProxy::exceededDatabaseQuota):
1111         * UIProcess/WebPageProxy.h:
1112         * UIProcess/WebPageProxy.messages.in:
1113         * UIProcess/WebUIClient.cpp:
1114         (WebKit::WebUIClient::exceededDatabaseQuota):
1115         * UIProcess/WebUIClient.h:
1116         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1117         (WebKit::WebChromeClient::exceededDatabaseQuota):
1118
1119 2011-05-10  Oliver Hunt  <oliver@apple.com>
1120
1121         Reviewed by Geoffrey Garen.
1122
1123         Assertion failure in JSC::Structure::typeInfo when reloading weather.com video page
1124         https://bugs.webkit.org/show_bug.cgi?id=60580
1125
1126         The plugin object map was incorrect trying to implement a weak map itself using
1127         destructors.  Switch to a WeakGCMap and the problem is fixed.
1128
1129         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1130         (WebKit::JSNPObject::~JSNPObject):
1131         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1132         (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
1133         (WebKit::NPRuntimeObjectMap::invalidate):
1134         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
1135
1136 2011-05-10  Sam Weinig  <sam@webkit.org>
1137
1138         Reviewed by Dan Bernstein.
1139
1140         Yet more quarantine related sandbox denial when downloading files
1141         <rdar://problem/9397494>
1142
1143         * WebProcess/com.apple.WebProcess.sb:
1144
1145 2011-05-10  Sam Weinig  <sam@webkit.org>
1146
1147         Reviewed by Anders Carlsson.
1148
1149         WebKit2: Coalesced wheel events should be saved to hand back to the client on unhandled return
1150         https://bugs.webkit.org/show_bug.cgi?id=60584
1151
1152         * UIProcess/WebPageProxy.cpp:
1153         (WebKit::WebPageProxy::handleWheelEvent):
1154         (WebKit::canCoalesce):
1155         (WebKit::coalesce):
1156         (WebKit::coalescedWheelEvent):
1157         (WebKit::WebPageProxy::didReceiveEvent):
1158         (WebKit::WebPageProxy::processDidCrash):
1159         Reworks coalescing/merging code to happen on didReceiveEvent rather than in
1160         handleWheelEvent. This means we now store the pending events in a queue, and
1161         pull them out when we can.
1162
1163         * UIProcess/WebPageProxy.h:
1164         Change single event containers to contain all pending/merged/coalesced events
1165         and remove unused flag.
1166
1167 2011-05-09  Jeremy Noble  <jer.noble@apple.com>
1168
1169         Reviewed by Darin Adler.
1170
1171         WebKit2: Cancelling full screen before animation completes leads to full screen window staying up.
1172         https://bugs.webkit.org/show_bug.cgi?id=60531
1173
1174         Remove the (unused) _isAnimating ivar and replace it with two ivars: _isEnteringFullScreen and 
1175         _isExitingFullScreen.  These will ensure each is only called once per full screen request, and
1176         that if one exit/enter request interrupts another, that the required functions are called in 
1177         order.
1178
1179         * UIProcess/mac/WKFullScreenWindowController.h:
1180         * UIProcess/mac/WKFullScreenWindowController.mm:
1181         (-[WKFullScreenWindowController enterFullScreen:]): Removed _isAnimating.
1182         (-[WKFullScreenWindowController exitFullScreen]): Ditto.
1183         (-[WKFullScreenWindowController beganEnterFullScreenAnimation]): Gate on _isEnteringFullScreen. Check _isExitingFullScreen
1184             and call [self finishedExitFullScreenAnimation:] if necessary.
1185         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Gate on _isEnteringFullScreen.
1186         (-[WKFullScreenWindowController beganExitFullScreenAnimation]): Gate on _isExitingFullScreen. Check _isEnteringFullScreen
1187             and call [self finishedEnterFullScreenAnimation:] if necessary.
1188         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Gate on _isExitingFullScreen.
1189
1190 2011-05-10  Beth Dakin  <bdakin@apple.com>
1191
1192         Reviewed by Darin Adler.
1193
1194         https://bugs.webkit.org/show_bug.cgi?id=60582
1195         Crash switching overlay/non-overlay scrollbar preference still possible
1196         -and corresponding-
1197         <rdar://problem/9323983>
1198
1199         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1200         (InitWebCoreSystemInterface):
1201
1202 2011-05-10  Jeff Miller  <jeffm@apple.com>
1203
1204         Reviewed by Anders Carlsson.
1205
1206         WebKit2: Windows clients need to know if the page overlay is installed
1207         https://bugs.webkit.org/show_bug.cgi?id=60562
1208         <rdar://problem/8940164>
1209         
1210         Until we move all the UI for find on page into WebKit on Windows (specifically, drawing the find bouncy),
1211         WebKit clients need to know whether WebKit is drawing the page overlay or not.  Keep track of this in
1212         the WebPageProxy in the UI process and provide a WebKit2 API to retrieve this information.
1213
1214         * UIProcess/API/C/win/WKView.cpp:
1215         (WKViewIsPageOverlayInstalled): Added.
1216         * UIProcess/API/C/win/WKView.h: Added WKViewIsPageOverlayInstalled().
1217         
1218         * UIProcess/PageClient.h: Added didInstallOrUninstallPageOverlay().
1219         * UIProcess/WebPageProxy.h: Added didInstallOrUninstallPageOverlay().
1220         * UIProcess/WebPageProxy.messages.in: Added DidInstallOrUninstallPageOverlay.
1221         * UIProcess/win/WebPageProxyWin.cpp:
1222         (WebKit::WebPageProxy::didInstallOrUninstallPageOverlay): Added.
1223         
1224         * UIProcess/win/WebView.cpp:
1225         (WebKit::WebView::WebView): Initialize m_pageOverlayInstalled.
1226         (WebKit::WebView::didInstallOrUninstallPageOverlay): Added.
1227         * UIProcess/win/WebView.h: Added didInstallOrUninstallPageOverlay() and m_pageOverlayInstalled.
1228         (WebKit::WebView::pageOverlayInstalled): Added.
1229         
1230         * WebProcess/WebPage/WebPage.cpp:
1231         (WebKit::WebPage::installPageOverlay): Send message to UI process to tell it the page overlay is installed.
1232         (WebKit::WebPage::uninstallPageOverlay): Send message to UI process to tell it the page overlay is uninstalled.
1233
1234 2011-05-10  Anders Carlsson  <andersca@apple.com>
1235
1236         Reviewed by Adam Roben.
1237
1238         Remove incorrect ASSERTs from CoreIPC::Connection::processIncomingSyncReply
1239         https://bugs.webkit.org/show_bug.cgi?id=60567
1240         <rdar://problem/9377845>
1241
1242         It is possible to receive an incoming sync reply that is for a request we don't know about.
1243         This could happen if the sync message send timed out for example.
1244
1245         * Platform/CoreIPC/Connection.cpp:
1246         (CoreIPC::Connection::processIncomingSyncReply):
1247
1248 2011-05-05  Brent Fulgham  <bfulgham@webkit.org> and Martin Robinson  <mrobinson@igalia.com>
1249
1250         Reviewed by Anders Carlsson.
1251
1252         [Cairo][WebKit2] Add an implementation of ShareableBitmap for Cairo
1253         https://bugs.webkit.org/show_bug.cgi?id=60293
1254
1255         * GNUmakefile.am: Remove ShareableBitmapGtk in favor of ShareableBitmapCairo.
1256         * Shared/ShareableBitmap.h: Added a couple Cairo-specific declarations.
1257         * Shared/cairo/ShareableBitmapCairo.cpp:
1258         (WebKit::ShareableBitmap::createGraphicsContext): Added.
1259         (WebKit::ShareableBitmap::paint): Added.
1260         (WebKit::ShareableBitmap::createCairoSurface): Added.
1261         (WebKit::ShareableBitmap::releaseSurfaceData): Added.
1262
1263 2011-05-10  Anders Carlsson  <andersca@apple.com>
1264
1265         Reviewed by Sam Weinig.
1266
1267         Extra sign in required to view video on MobileMe Gallery album
1268         https://bugs.webkit.org/show_bug.cgi?id=60560
1269
1270         Implement NPN_GetAuthenticationInfo.
1271
1272         * PluginProcess/PluginControllerProxy.cpp:
1273         (WebKit::PluginControllerProxy::getAuthenticationInfo):
1274         Send a GetAuthenticationInfo message to the web process.
1275
1276         * PluginProcess/PluginControllerProxy.h:
1277         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1278         (WebKit::initializeProtectionSpace):
1279         Initialize a WebCore::ProtectionSpace object from NPAPI parameters.
1280
1281         (WebKit::NPN_GetAuthenticationInfo):
1282         Make a ProtectionSpace object and then call NetscapePlugin::getAuthenticationInfo. 
1283         Finally, copy the username/password and pass them back to the plug-in.
1284
1285         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1286         (WebKit::NetscapePlugin::getAuthenticationInfo):
1287         Call the plug-in controller.
1288
1289         * WebProcess/Plugins/PluginController.h:
1290         Add getAuthenticationInfo pure virtual member function.
1291
1292         * WebProcess/Plugins/PluginProxy.cpp:
1293         (WebKit::PluginProxy::getAuthenticationInfo):
1294         Call the real plug-in controller's getAuthenticationInfo member function.
1295
1296         * WebProcess/Plugins/PluginProxy.messages.in:
1297         Add GetAuthenticationInfo message.
1298
1299         * WebProcess/Plugins/PluginView.cpp:
1300         (WebKit::PluginView::getAuthenticationInfo):
1301         Try to get the authentication info from the credential storage. Failing that,
1302         get it from the persistent credential storage.
1303
1304 2011-05-10  Adam Roben  <aroben@apple.com>
1305
1306         Use FontSmoothingLevelWindows by default on Windows
1307
1308         Fixes <http://webkit.org/b/60557> REGRESSION (r86077): Web Inspector uses CG font rendering
1309         in WebKit2 on Windows
1310
1311         Reviewed by Darin Adler.
1312
1313         * Shared/WebPreferencesStore.h: Added and deployed a new DEFAULT_WEBKIT_FONT_SMOOTHING_LEVEL
1314         macro to let Windows have a different default font smoothing level from other platforms.
1315
1316         * UIProcess/API/C/WKPreferencesPrivate.h: Updated the comment about the default font
1317         smoothing level.
1318
1319 2011-05-06  Tony Gentilcore  <tonyg@chromium.org>
1320
1321         Reviewed by Darin Adler.
1322
1323         Fix some unnecessary includes in headers
1324         https://bugs.webkit.org/show_bug.cgi?id=60388
1325
1326         * WebProcess/FullScreen/WebFullScreenManager.cpp:
1327
1328 2011-05-09  Jeremy Noble  <jer.noble@apple.com>
1329
1330         Reviewed by Darin Adler.
1331
1332         Command-~/Exposé to another window while <video> is in full screen, breaks Safari, eventually leading to crash
1333         https://bugs.webkit.org/show_bug.cgi?id=60496
1334
1335         When animating into and out of full screen, order out and back in the original webView window,
1336         disabling animations when necessary. The beganExitFullScreenAnimation method was targeting the wrong window,
1337         as the webView is hosted in the full screen window when we ask for it's parent window.
1338
1339         * UIProcess/mac/WKFullScreenWindowController.mm:
1340         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
1341         (-[WKFullScreenWindowController beganExitFullScreenAnimation]):
1342
1343 2011-05-09  Dan Bernstein  <mitz@apple.com>
1344
1345         Reviewed by Darin Adler.
1346
1347         A WKView with plug-ins paints white when first moved into a window
1348         https://bugs.webkit.org/show_bug.cgi?id=60511
1349
1350         The UI process’s wait for DidUpdateBackingStoreState would always time out because the Web process
1351         was blocked on a synchronous message the UI process trying to get the connections for plug-ins in
1352         the view. This is avoided by deferring the call to Page::setCanStartMedia().
1353
1354         * WebProcess/WebPage/WebPage.cpp:
1355         (WebKit::WebPage::WebPage): Initialize the new m_setCanStartMediaTimer.
1356         (WebKit::WebPage::setCanStartMediaTimerFired): Added. Calls setCanStartMedia(true) when the timer
1357         fires.
1358         (WebKit::WebPage::setIsInWindow): When going out of a window, stop the timer. When going into a
1359         window, start it.
1360         * WebProcess/WebPage/WebPage.h:
1361
1362 2011-05-09  Anders Carlsson  <andersca@apple.com>
1363
1364         Reviewed by Dan Bernstein.
1365
1366         Crash when sending a sync message to a crashed web process
1367         https://bugs.webkit.org/show_bug.cgi?id=60514
1368         <rdar://problem/9281270>
1369
1370         Change WebProcessProxy::sendSync to return false if there's no connection.
1371
1372         Audit all WebProcessProxy::sendSync call sites to initialize reply parameters.
1373
1374         * UIProcess/WebPageProxy.cpp:
1375         (WebKit::WebPageProxy::firstRectForCharacterInSelectedRange):
1376         (WebKit::WebPageProxy::getSelectedText):
1377         (WebKit::WebPageProxy::gestureWillBegin):
1378         * UIProcess/WebProcessProxy.h:
1379         (WebKit::WebProcessProxy::sendSync):
1380         * UIProcess/mac/WebPageProxyMac.mm:
1381         (WebKit::WebPageProxy::insertText):
1382         (WebKit::WebPageProxy::getMarkedRange):
1383         (WebKit::WebPageProxy::getSelectedRange):
1384         (WebKit::WebPageProxy::characterIndexForPoint):
1385         (WebKit::WebPageProxy::executeKeypressCommands):
1386         (WebKit::WebPageProxy::writeSelectionToPasteboard):
1387         (WebKit::WebPageProxy::readSelectionFromPasteboard):
1388
1389 2011-05-09  Anders Carlsson  <andersca@apple.com>
1390
1391         Reviewed by Sam Weinig.
1392
1393         Create a plug-in's MIME types preferences plist if it doesn't exist.
1394         https://bugs.webkit.org/show_bug.cgi?id=57204
1395         <rdar://problem/9195048>
1396
1397         Spawn a plug-in process and let it create the plist. For now, we'll do this on the
1398         main thread since it's a rare one-time computation and we have an API function,
1399         WKFrameCanShowMIMEType, which would have to block anyway.
1400
1401         * PluginProcess/mac/PluginProcessMainMac.mm:
1402         (WebKit::PluginProcessMain):
1403         If -createPluginMIMETypesPreferences is one of the command line argument keys,
1404         the plug-in path will be the argument value. Call NetscapePluginModule::createPluginMIMETypesPreferences
1405         to create the preferences file and then exit.
1406
1407         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
1408         (WebKit::contentsOfPropertyListAtURL):
1409         Move code to read a property list out into a helper function.
1410
1411         (WebKit::getMIMETypesFromPluginBundle):
1412         If there's no property list file, try to create one.
1413
1414         (WebKit::NetscapePluginModule::createPluginMIMETypesPreferences):
1415         Load the plug-in, find the BP_CreatePluginMIMETypesPreferences and call it.
1416
1417         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1418         (WebKit::PluginProcessProxy::createPropertyListFile):
1419         Spawn a plug-in process and pass the -createPluginMIMETypesPreferences flag to it and then wait
1420         for it to exit.
1421
1422 2011-05-09  Anders Carlsson  <andersca@apple.com>
1423
1424         Reviewed by Sam Weinig.
1425
1426         Move EnvironmentVariables out into its own .cpp file
1427         https://bugs.webkit.org/show_bug.cgi?id=60507
1428
1429         * UIProcess/Launcher/mac/EnvironmentVariables.cpp: Added.
1430         (WebKit::EnvironmentVariables::EnvironmentVariables):
1431         (WebKit::EnvironmentVariables::~EnvironmentVariables):
1432         (WebKit::EnvironmentVariables::set):
1433         (WebKit::EnvironmentVariables::get):
1434         (WebKit::EnvironmentVariables::appendValue):
1435         (WebKit::EnvironmentVariables::valueIfVariableHasName):
1436         (WebKit::EnvironmentVariables::createStringForVariable):
1437         (WebKit::EnvironmentVariables::copyEnvironmentVariables):
1438         * UIProcess/Launcher/mac/EnvironmentVariables.h: Added.
1439         (WebKit::EnvironmentVariables::environmentPointer):
1440         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1441         * WebKit2.xcodeproj/project.pbxproj:
1442
1443 2011-05-09  Adam Roben  <aroben@apple.com>
1444
1445         Always set the font rendering mode based on preference values
1446
1447         WebPage::platformInitialize and WebPage::platformPreferencesDidChange were fighting over the
1448         font rendering mode. The platformInitialize code predates preference-based font rendering
1449         mode support, and is now redundant and incorrect.
1450
1451         Fixes <http://webkit.org/b/60494> WebKit2 uses GDI text instead of CG text when
1452         FontSmoothing preference is set to kWKFontSmoothingLevelNoSubpixelAntiAliasing in a .plist
1453         on disk
1454
1455         Reviewed by Sam Weinig.
1456
1457         * WebProcess/WebPage/win/WebPageWin.cpp:
1458         (WebKit::WebPage::platformInitialize): Removed code to set the font rendering mode.
1459         platformPreferencesDidChange will take care of this for us.
1460
1461 2011-05-09  Anders Carlsson  <andersca@apple.com>
1462
1463         Reviewed by John Sullivan.
1464
1465         Clean up NetscapePluginModule::getPluginInfo
1466         https://bugs.webkit.org/show_bug.cgi?id=60486
1467
1468         Make all 'get' functions take a PluginInfoStore::Plugin reference, since getPluginInfoFromPropertyLists
1469         is going to need it to know the path and plug-in architecture.
1470
1471         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
1472         (WebKit::getPluginArchitecture):
1473         (WebKit::getPluginInfoFromPropertyLists):
1474         (WebKit::getPluginInfoFromCarbonResources):
1475         (WebKit::NetscapePluginModule::getPluginInfo):
1476
1477 2011-05-09  Dan Bernstein  <mitz@apple.com>
1478
1479         Reviewed by Darin Adler.
1480
1481         <rdar://problem/9005982> REGRESSION (r85780): Flash of white when a WKView with composited content moves on-screen
1482         https://bugs.webkit.org/show_bug.cgi?id=60488
1483
1484         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1485         (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): Update m_compositingAccordingToProxyMessages,
1486         since the DidUpdateBackingStoreState message also changes the compositing state in the proxy.
1487
1488 2011-05-09  Benjamin Poulain  <benjamin.poulain@nokia.com>
1489
1490         Reviewed by Andreas Kling.
1491
1492         Build fix for WebKit 2 on Qt
1493
1494         Qt treats warnings as errors so it does not build with unused variables. This patch removed two unused variable in WebKit 2.
1495
1496         * UIProcess/TiledDrawingAreaProxy.cpp:
1497         (WebKit::TiledDrawingAreaProxy::createTiles):
1498         * WebProcess/Plugins/PluginView.cpp:
1499         (WebKit::PluginView::~PluginView):
1500
1501 2011-05-07  Dan Bernstein  <mitz@apple.com>
1502
1503         Reviewed by Timothy Hatcher.
1504
1505         <rdar://problem/9365358> REGRESSION (WebKit2): When clicking in the page, Find overlay fades out instead of disappearing immediately
1506
1507         * WebProcess/WebPage/FindController.cpp:
1508         (WebKit::FindController::hideFindUI): Do not fade out the overlay.
1509
1510 2011-05-07  Dan Bernstein  <mitz@apple.com>
1511
1512         Avoid copying a header file into the WebKit2 framework wrapper.
1513
1514         * WebKit2.xcodeproj/project.pbxproj: Corrected the target membership of HTTPCookieAcceptPolicy.h.
1515
1516 2011-05-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1517
1518         Unreviewed, rolling out r86016.
1519         http://trac.webkit.org/changeset/86016
1520         https://bugs.webkit.org/show_bug.cgi?id=60445
1521
1522         caused crashes on the WK2 Windows bots (Requested by
1523         jessieberlin on #webkit).
1524
1525         * Shared/WebProcessCreationParameters.cpp:
1526         (WebKit::WebProcessCreationParameters::encode):
1527         (WebKit::WebProcessCreationParameters::decode):
1528         * Shared/WebProcessCreationParameters.h:
1529         * Shared/win/WebCoreArgumentCodersWin.cpp:
1530         (CoreIPC::decodeResourceRequest):
1531         * UIProcess/win/WebContextWin.cpp:
1532         (WebKit::WebContext::platformInitializeWebProcess):
1533         * WebProcess/WebPage/win/WebPageWin.cpp:
1534         (WebKit::cachedResponseForURL):
1535         * WebProcess/win/WebProcessWin.cpp:
1536         (WebKit::WebProcess::platformSetCacheModel):
1537         (WebKit::WebProcess::platformClearResourceCaches):
1538         (WebKit::WebProcess::platformInitializeWebProcess):
1539
1540 2011-05-07  Jessie Berlin  <jberlin@apple.com>
1541
1542         Reviewed by Steve Falkenburg.
1543
1544         [Windows WebKit2] Use cookies set in WebKit1
1545         https://bugs.webkit.org/show_bug.cgi?id=60274
1546
1547         Share the default storage session between the UI and Web Processes.
1548
1549         * Shared/WebProcessCreationParameters.cpp:
1550         (WebKit::WebProcessCreationParameters::encode):
1551         (WebKit::WebProcessCreationParameters::decode):
1552         * Shared/WebProcessCreationParameters.h:
1553         Add a parameter for a serialized default storage session, used only on Windows.
1554
1555         * Shared/win/WebCoreArgumentCodersWin.cpp:
1556         (CoreIPC::decodeResourceRequest):
1557         Make sure to set the current storage session on any requests used by the Web
1558         Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
1559         doing anything with the Web Process's default storage session.
1560
1561         * UIProcess/win/WebContextWin.cpp:
1562         (WebKit::WebContext::platformInitializeWebProcess):
1563         Serialize the default storage session in the UI Process and add it to the
1564         WebProcessCreationParameters.
1565
1566         * WebProcess/WebPage/win/WebPageWin.cpp:
1567         (WebKit::cachedResponseForURL):
1568         Use the cache associated with the current storage session and make sure the request has the
1569         current storage session set on it before doing anything with it.
1570
1571         * WebProcess/win/WebProcessWin.cpp:
1572         (WebKit::WebProcess::platformSetCacheModel):
1573         Use the default storage session.
1574         (WebKit::WebProcess::platformClearResourceCaches):
1575         Ditto.
1576         (WebKit::WebProcess::platformInitializeWebProcess):
1577         Deserialize the default storage session passed in by the UI Process and hand it to the
1578         ResourceHandle.
1579
1580 2011-05-07  Keith Kyzivat  <keith.kyzivat@nokia.com>
1581
1582         Reviewed by Adam Roben.
1583
1584         [Qt] Webkit2 PLUGIN_ARCHITECTURE(UNSUPPORTED) configuration broken by r85961
1585         https://bugs.webkit.org/show_bug.cgi?id=60420
1586
1587         * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
1588         (WebKit::NetscapePlugin::platformVisibilityDidChange):
1589
1590 2011-05-06  Martin Robinson  <mrobinson@igalia.com>
1591
1592         Reviewed by Xan Lopez.
1593
1594         [GTK] [WebKit2] WebView::windowToScreen needs an implementation
1595         https://bugs.webkit.org/show_bug.cgi?id=55960
1596
1597         Add an implementation of PageClient::windowToScreen for GTK+ WebKit2 using
1598         the newly abstracted widget to screen coordinate translation code in WebCore.
1599
1600         * UIProcess/API/gtk/PageClientImpl.cpp:
1601         (WebKit::PageClientImpl::windowToScreen): Added implementation.
1602
1603 2011-05-06  Anders Carlsson  <andersca@apple.com>
1604
1605         Reviewed by Dan Bernstein.
1606
1607         Simplify the PluginInfoStore interface
1608         https://bugs.webkit.org/show_bug.cgi?id=60406
1609
1610         Just expose a single API for getting a list of plug-ins from the info store,
1611         PluginInfoStore::plugins and remove PluginInfoStore::getPlugins and PluginInfoStore::getPluginPaths.
1612
1613         Also, change the WebContext::pluginInfoStore() getter to return a reference.
1614
1615         * UIProcess/Plugins/PluginInfoStore.cpp:
1616         (WebKit::PluginInfoStore::plugins):
1617         * UIProcess/Plugins/PluginInfoStore.h:
1618         * UIProcess/Plugins/PluginProcessManager.cpp:
1619         (WebKit::PluginProcessManager::getPluginProcessConnection):
1620         * UIProcess/Plugins/PluginProcessManager.h:
1621         * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
1622         (WebKit::WebPluginSiteDataManager::GetSitesWithDataState::GetSitesWithDataState):
1623         (WebKit::WebPluginSiteDataManager::ClearSiteDataState::ClearSiteDataState):
1624         (WebKit::WebPluginSiteDataManager::getSitesWithData):
1625         (WebKit::WebPluginSiteDataManager::clearSiteData):
1626         * UIProcess/WebContext.cpp:
1627         (WebKit::WebContext::getPlugins):
1628         (WebKit::WebContext::getPluginPath):
1629         * UIProcess/WebContext.h:
1630         (WebKit::WebContext::pluginInfoStore):
1631         * UIProcess/WebPageProxy.cpp:
1632         (WebKit::WebPageProxy::canShowMIMEType):
1633
1634 2011-05-06  Anders Carlsson  <andersca@apple.com>
1635
1636         Windows build fix.
1637
1638         * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
1639         (WebKit::PluginInfoStore::shouldUsePlugin):
1640
1641 2011-05-06  Anders Carlsson  <andersca@apple.com>
1642
1643         Reviewed by Dan Bernstein.
1644
1645         Make more PluginInfoStore member functions static
1646         https://bugs.webkit.org/show_bug.cgi?id=60401
1647
1648         This is a first step towards making PluginInfoStore thread safe.
1649
1650         * UIProcess/Plugins/PluginInfoStore.cpp:
1651         (WebKit::PluginInfoStore::loadPluginsIfNecessary):
1652         (WebKit::PluginInfoStore::loadPlugin):
1653         * UIProcess/Plugins/PluginInfoStore.h:
1654         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
1655         (WebKit::PluginInfoStore::shouldUsePlugin):
1656         * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
1657         (WebKit::PluginInfoStore::shouldUsePlugin):
1658         * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
1659         (WebKit::PluginInfoStore::shouldUsePlugin):
1660
1661 2011-05-06  Adam Roben  <aroben@apple.com>
1662
1663         Mac build fix
1664
1665         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: Added a
1666         missing #import.
1667
1668 2011-05-06  Adam Roben  <aroben@apple.com>
1669
1670         Show/hide windowed plugins according to the plugin element's visibility CSS property
1671
1672         Fixes <http://webkit.org/b/60285> <rdar://problem/9152400> REGRESSION (WebKit2): A white
1673         rectangle covers up important UI elements when composing a new message at mail.yahoo.com
1674         with BrowserPlus! plug-in installed
1675
1676         Reviewed by Anders Carlsson.
1677
1678         * PluginProcess/PluginControllerProxy.cpp:
1679         (WebKit::PluginControllerProxy::isPluginVisible):
1680         * PluginProcess/PluginControllerProxy.h:
1681         Stubbed out.
1682
1683         * Shared/win/WindowGeometry.cpp:
1684         (WebKit::WindowGeometry::WindowGeometry):
1685         (WebKit::WindowGeometry::encode):
1686         (WebKit::WindowGeometry::decode):
1687         * Shared/win/WindowGeometry.h:
1688         Added visible member.
1689
1690         * UIProcess/win/WebView.cpp:
1691         (WebKit::WebView::updateChildWindowGeometries): Show or hide the window as specified in the
1692         geometry.
1693
1694         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1695         (WebKit::NetscapePlugin::visibilityDidChange):
1696         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1697         Added. Calls through to platform-specific code.
1698
1699         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1700         (WebKit::NetscapePlugin::platformVisibilityDidChange):
1701         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
1702         (WebKit::NetscapePlugin::platformVisibilityDidChange):
1703         Stubbed out.
1704
1705         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
1706         (WebKit::NetscapePlugin::platformGeometryDidChange): Moved most logic from here to
1707         scheduleWindowedGeometryUpdate.
1708         (WebKit::NetscapePlugin::platformVisibilityDidChange): Added. Calls through to
1709         scheduleWindowedGeometryUpdate.
1710         (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate): Added. Code came from
1711         platformGeometryDidChange. Now also records whether the plugin element is visible.
1712
1713         * WebProcess/Plugins/Plugin.h: Added visibilityDidChange.
1714
1715         * WebProcess/Plugins/PluginController.h: Added isPluginVisible.
1716
1717         * WebProcess/Plugins/PluginProxy.cpp:
1718         (WebKit::PluginProxy::visibilityDidChange):
1719         * WebProcess/Plugins/PluginProxy.h:
1720         Stubbed out.
1721
1722         * WebProcess/Plugins/PluginView.cpp:
1723         (WebKit::PluginView::show):
1724         (WebKit::PluginView::hide):
1725         Added. These Widget overrides were based on WebCore's PluginView class.
1726
1727         (WebKit::PluginView::viewVisibilityDidChange): Added. Similar to viewGeometryDidChange.
1728         Calls down to the plugin if it's been initialized.
1729         (WebKit::PluginView::isPluginVisible): Added. Just calls up to the Widget base class.
1730
1731         * WebProcess/Plugins/PluginView.h: Updated for PluginController changes.
1732
1733 2011-05-06  Adam Roben  <aroben@apple.com>
1734
1735         Add a WindowGeometry struct for use in the ScheduleChildWindowGeometryUpdate message
1736
1737         This will make it easier to add more info to this message in the future (like whether the
1738         window is visible).
1739
1740         Fixes <http://webkit.org/b/60374> Adding parameters to ScheduleChildWindowGeometryUpdate
1741         message is tedious
1742
1743         Reviewed by Anders Carlsson.
1744
1745         * Scripts/webkit2/messages.py:
1746         (struct_or_class): Added WindowGeometry to the list of structs.
1747
1748         * Shared/win/WindowGeometry.cpp: Added.
1749         * Shared/win/WindowGeometry.h: Added.
1750
1751         * win/WebKit2.vcproj: Added new files.
1752
1753         * UIProcess/PageClient.h:
1754         * UIProcess/WebPageProxy.h:
1755         * UIProcess/WebPageProxy.messages.in:
1756         * UIProcess/win/WebPageProxyWin.cpp:
1757         (WebKit::WebPageProxy::scheduleChildWindowGeometryUpdate):
1758         * UIProcess/win/WebView.cpp:
1759         (WebKit::WebView::scheduleChildWindowGeometryUpdate):
1760         (WebKit::WebView::updateChildWindowGeometries):
1761         * UIProcess/win/WebView.h:
1762         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
1763         (WebKit::NetscapePlugin::platformGeometryDidChange):
1764         * WebProcess/Plugins/PluginController.h:
1765         * WebProcess/Plugins/PluginView.cpp:
1766         (WebKit::PluginView::scheduleWindowedPluginGeometryUpdate):
1767         * WebProcess/Plugins/PluginView.h:
1768         * WebProcess/WebPage/WebPage.h:
1769         * WebProcess/WebPage/win/WebPageWin.cpp:
1770         (WebKit::WebPage::scheduleChildWindowGeometryUpdate):
1771         Changed to use WindowGeometry.
1772
1773 2011-05-06  David Kilzer  <ddkilzer@apple.com>
1774
1775         Remove unused GCC_ENABLE_FIX_AND_CONTINUE and ZERO_LINK settings
1776
1777         Reviewed by Jon Honeycutt.
1778
1779         This fixes an Xcode 4 warning about using obsolete settings.
1780
1781         * WebKit2.xcodeproj/project.pbxproj: Removed
1782         GCC_ENABLE_FIX_AND_CONTINUE and ZERO_LINK settings.
1783
1784 2011-05-06  Carlos Garcia Campos  <cgarcia@igalia.com>
1785
1786         Reviewed by Martin Robinson.
1787
1788         [GTK] Implement NetscapePlugin::platformPaint for GTK platform
1789         https://bugs.webkit.org/show_bug.cgi?id=60368
1790
1791         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
1792         (WebKit::NetscapePlugin::platformPaint):
1793
1794 2011-05-06  Carlos Garcia Campos  <cgarcia@igalia.com>
1795
1796         Reviewed by Martin Robinson.
1797
1798         Share PluginInfoStore implementation between Qt and GTK ports
1799         https://bugs.webkit.org/show_bug.cgi?id=60366
1800
1801         * GNUmakefile.am:
1802         * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp: Removed.
1803         * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: Renamed from Source/WebKit2/UIProcess/Plugins/qt/PluginInfoStoreQt.cpp.
1804         (WebKit::PluginInfoStore::pluginsDirectories):
1805         (WebKit::PluginInfoStore::pluginPathsInDirectory):
1806         (WebKit::PluginInfoStore::individualPluginPaths):
1807         (WebKit::PluginInfoStore::getPluginInfo):
1808         (WebKit::PluginInfoStore::shouldUsePlugin):
1809         * WebKit2.pro:
1810
1811 2011-05-06  Carlos Garcia Campos  <cgarcia@igalia.com>
1812
1813         Unreviewed. Fix WebKit2 GTK build after r85860.
1814
1815         * UIProcess/API/gtk/PageClientImpl.h: Fix typo.
1816
1817 2011-05-05  Philippe Normand  <pnormand@igalia.com>
1818
1819         Reviewed by Dimitri Glazkov.
1820
1821         Implement LayoutTestController::pseudoShadowId()
1822         https://bugs.webkit.org/show_bug.cgi?id=60034
1823
1824         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
1825         (WKBundleNodeHandleShadowPseudoId):
1826         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
1827         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1828         (WebKit::InjectedBundleNodeHandle::elementRemoveShadowRoot):
1829         (WebKit::InjectedBundleNodeHandle::elementShadowPseudoId):
1830         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
1831
1832 2011-05-05  Sam Weinig  <sam@webkit.org>
1833
1834         Reviewed by Anders Carlsson.
1835
1836         REGRESSION (r85689): Unresponsive timer firing when closing background tabs
1837         <rdar://problem/9385988>
1838         https://bugs.webkit.org/show_bug.cgi?id=60325
1839
1840         When calling WKPageTryClose(), if the page close succeeded, the notification to stop
1841         the responsiveness timer would be dropped because the page was closed by the time it
1842         got to the UIProcess.
1843
1844         * UIProcess/WebPageProxy.cpp:
1845         (WebKit::WebPageProxy::closePage):
1846         * UIProcess/WebPageProxy.h:
1847         * UIProcess/WebPageProxy.messages.in:
1848         Add parameter to closePage stipulating whether or not to stop the responsiveness timer.
1849
1850         * WebProcess/WebPage/WebPage.cpp:
1851         (WebKit::WebPage::tryClose):
1852         (WebKit::WebPage::sendClose):
1853         Instead of sending a StopResponsivenessTimer message after sending the ClosePage message,
1854         add a bit to the ClosePage message.
1855
1856 2011-05-05  Dan Bernstein  <mitz@apple.com>
1857
1858         Reviewed by Simon Fraser.
1859
1860         WebKit2 part of <rdar://problem/9155590> Broken animation in iAd producer
1861
1862         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1863         (InitWebCoreSystemInterface): Initialize wkExecutableWasLinkedOnOrBeforeSnowLeopard.
1864
1865 2011-05-05  Keith Kyzivat  <keith.kyzivat@nokia.com>
1866
1867         Reviewed by Laszlo Gombos.
1868
1869         [Qt] [WK2] Add method to disable plugins under WK2
1870         https://bugs.webkit.org/show_bug.cgi?id=57796
1871
1872         * config.h: Allow PLUGIN_ARCHITECTURE_UNSUPPORTED to be defined on build command line
1873
1874 2011-05-05  Anders Carlsson  <andersca@apple.com>
1875
1876         Reviewed by Sam Weinig.
1877
1878         When an underlay surface is active, paint normal web contents in a transparency layer
1879         https://bugs.webkit.org/show_bug.cgi?id=60296
1880
1881         In order for the page contents to correctly blend with the underlay, the page contents
1882         needs to be painted in a transparency layer.
1883
1884         * WebProcess/WebPage/WebPage.cpp:
1885         (WebKit::WebPage::drawRect):
1886
1887 2011-05-05  Brian Weinstein  <bweinstein@apple.com>
1888
1889         Reviewed by Timothy Hatcher.
1890
1891         WebKit2: Docking Web Inspector doesn't respect maximum inspector size
1892         https://bugs.webkit.org/show_bug.cgi?id=60294
1893         <rdar://problem/9388518>
1894         
1895         Before we place the inspector and the inspected views, make sure that we have constrained the height
1896         of the docked inspector. Putting the code here covers both when the inspector is initially attached 
1897         and when a window with the docked inspector is resized.
1898
1899         * UIProcess/mac/WebInspectorProxyMac.mm:
1900         (WebKit::WebInspectorProxy::inspectedViewFrameDidChange): Constrain the height before laying out the views.
1901         * UIProcess/win/WebInspectorProxyWin.cpp:
1902         (WebKit::WebInspectorProxy::onWebViewWindowPosChangingEvent): Ditto.
1903
1904 2011-05-05  Chang Shu  <cshu@webkit.org>
1905
1906         Reviewed by Andreas Kling.
1907
1908         [Qt][WK2] Support PageGroup in QGraphicsWKView/QWKPage constructors
1909         https://bugs.webkit.org/show_bug.cgi?id=59638
1910
1911         Added private constructors for class QGraphicsWKView and QWKPage to support
1912         WKPageGroupRef.
1913
1914         * UIProcess/API/qt/qgraphicswkview.cpp:
1915         (QGraphicsWKView::QGraphicsWKView):
1916         (QGraphicsWKView::~QGraphicsWKView):
1917         (QGraphicsWKView::init):
1918         * UIProcess/API/qt/qgraphicswkview.h:
1919         * UIProcess/API/qt/qwkpage.cpp:
1920         (QWKPagePrivate::QWKPagePrivate):
1921         (QWKPage::QWKPage):
1922         (QWKPage::~QWKPage):
1923         (QWKPage::init):
1924         * UIProcess/API/qt/qwkpage.h:
1925         * UIProcess/API/qt/qwkpage_p.h:
1926
1927 2011-05-05  Brent Fulgham  <bfulgham@webkit.org>
1928
1929         [WinCairo] Unreviewed build fix.
1930
1931         * WebProcess/WebPage/win/WebPageWin.cpp:
1932         (WebKit::WebPage::cachedResponseDataForURL): Stub out
1933         implementation for cURL networking case.
1934
1935 2011-05-05  Jeff Miller  <jeffm@apple.com>
1936
1937         Reviewed by Darin Adler.
1938
1939         Add didNotHandleWheelEvent callback to WKPageUIClient
1940         https://bugs.webkit.org/show_bug.cgi?id=60203
1941         
1942         Remove Windows-specific WebPageProxy::wheelEventNotHandled() member function and use
1943         didNotHandleWheelEvent callback in WKPageUIClient instead.  It turns out that just
1944         resending the wheel event to the parent window doesn't provide the client with enough context
1945         to know that WebKit has already attempted to handle the event.
1946
1947         * UIProcess/API/C/WKPage.h: Added WKPageDidNotHandleWheelEventCallback typedef and didNotHandleWheelEvent to WKPageUIClient.
1948
1949         * UIProcess/API/gtk/PageClientImpl.cpp:
1950         (WebKit::PageClientImpl::didNotHandleWheelEvent): Added, but not implemented.
1951         * UIProcess/API/gtk/PageClientImpl.h: Added didNotHandleWheelEvent().
1952         * UIProcess/API/qt/qwkpage.cpp:
1953         (QWKPage::QWKPage):Stubbed out didNotHandleWheelEvent callback.
1954
1955         * UIProcess/WebPageProxy.cpp:
1956         (WebKit::WebPageProxy::didReceiveEvent): Call didNotHandleWheelEvent in WKPageUIClient if wheel event is not handled.
1957         * UIProcess/WebPageProxy.h: Removed wheelEventNotHandled().
1958         
1959         * UIProcess/WebUIClient.cpp:
1960         (WebKit::WebUIClient::implementsDidNotHandleWheelEvent): Added.
1961         (WebKit::WebUIClient::didNotHandleWheelEvent): Added.
1962         * UIProcess/WebUIClient.h: Added implementsDidNotHandleWheelEvent() and didNotHandleWheelEvent().
1963
1964         * UIProcess/win/WebPageProxyWin.cpp: Removed wheelEventNotHandled().
1965
1966 2011-05-05  Carlos Garcia Campos  <cgarcia@igalia.com>
1967
1968         Reviewed by Martin Robinson.
1969
1970         [GTK] Return correct GTK version for NPNVToolkit
1971         https://bugs.webkit.org/show_bug.cgi?id=60275
1972
1973         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1974         (WebKit::NPN_GetValue): Return always 2 for NPNVToolkit in GTK
1975         platform.
1976
1977 2011-05-05  Carlos Garcia Campos  <cgarcia@igalia.com>
1978
1979         Reviewed by Martin Robinson.
1980
1981         [GTK] Make native events code more consistent
1982         https://bugs.webkit.org/show_bug.cgi?id=60258
1983
1984         Make all other native events code follow the current keyboard
1985         events approach: use a GOwnPtr for the native event, and use
1986         const GdkEvent* in the API. We need to implement the copy
1987         constructors for native events to copy the gdk events with
1988         gdk_event_copy().
1989
1990         * Shared/NativeWebMouseEvent.h:
1991         (WebKit::NativeWebMouseEvent::nativeEvent):
1992         * Shared/NativeWebWheelEvent.h:
1993         (WebKit::NativeWebWheelEvent::nativeEvent):
1994         * Shared/gtk/NativeWebKeyboardEventGtk.cpp:
1995         (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
1996         * Shared/gtk/NativeWebMouseEventGtk.cpp:
1997         (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
1998         * Shared/gtk/NativeWebWheelEventGtk.cpp:
1999         (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
2000         * Shared/gtk/WebEventFactory.cpp:
2001         (WebKit::buttonForEvent):
2002         (WebKit::WebEventFactory::createWebMouseEvent):
2003         (WebKit::WebEventFactory::createWebWheelEvent):
2004         (WebKit::WebEventFactory::createWebKeyboardEvent):
2005         * Shared/gtk/WebEventFactory.h:
2006         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2007         (webkitWebViewBaseScrollEvent):
2008
2009 2011-05-05  Carlos Garcia Campos  <cgarcia@igalia.com>
2010
2011         Reviewed by Martin Robinson.
2012
2013         [GTK] Module::load() should return true when g_module_open() returns a valid pointer
2014         https://bugs.webkit.org/show_bug.cgi?id=60261
2015
2016         * Platform/gtk/ModuleGtk.cpp:
2017         (WebKit::Module::load):
2018
2019 2011-05-05  Carlos Garcia Campos  <cgarcia@igalia.com>
2020
2021         Unreviewed. Fix WebKit2 GTK build after r85808.
2022
2023         * Shared/NativeWebWheelEvent.h:
2024         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2025         (webkitWebViewBaseScrollEvent):
2026
2027 2011-05-04  Cris Neckar  <cdn@chromium.org>
2028
2029         Reviewed by Adam Barth.
2030
2031         Expose WebView directly through ChromeClient.
2032         https://bugs.webkit.org/show_bug.cgi?id=49902
2033
2034         * WebProcess/WebCoreSupport/WebChromeClient.h:
2035         (WebKit::WebChromeClient::webView):
2036
2037 2011-05-04  Jeff Miller  <jeffm@apple.com>
2038
2039         Reviewed by Darin Adler.
2040
2041         Send unhandled wheel events to parent window on Windows
2042         https://bugs.webkit.org/show_bug.cgi?id=60220
2043
2044         Keep track of wheel events using NativeWebWheelEvent instead of WebWheelEvent in WebPageProxy
2045         so we can send the native event to the parent window if WebKit doesn't handle it.
2046
2047         * UIProcess/API/mac/WKView.mm: Use NativeWebWheelEvent instead of WebWheelEvent.
2048
2049         * UIProcess/API/qt/qwkpage.cpp:
2050         (QWKPagePrivate::wheelEvent): Use NativeWebWheelEvent instead of WebWheelEvent.
2051
2052         * UIProcess/WebPageProxy.cpp:
2053         (WebKit::WebPageProxy::WebPageProxy): Removed initialization of obsolete m_processingWheelEvent member variable.
2054         (WebKit::coalesceWheelEvents): Use NativeWebWheelEvent instead of WebWheelEvent and add a note that this won't work if we ever enable MERGE_WHEEL_EVENTS. 
2055         (WebKit::WebPageProxy::handleWheelEvent): Use NativeWebWheelEvent instead of WebWheelEvent, keep track of the current event in m_currentlyProcessedWheelEvent.
2056         (WebKit::WebPageProxy::didReceiveEvent): Call wheelEventNotHandled() on Windows if wheel event is not handled.
2057         (WebKit::WebPageProxy::processDidCrash): Clear out m_currentlyProcessedWheelEvent.
2058         * UIProcess/WebPageProxy.h: Change handleWheelEvent() to take a NativeWebWheelEvent, added wheelEventNotHandled() on Windows, remove m_processingWheelEvent, add m_currentlyProcessedWheelEvent.
2059
2060         * UIProcess/win/WebPageProxyWin.cpp:
2061         (WebKit::WebPageProxy::wheelEventNotHandled): Added.
2062         
2063         * UIProcess/win/WebView.cpp:
2064         (WebKit::WebView::onWheelEvent): Use NativeWebWheelEvent instead of WebWheelEvent.
2065
2066 2011-05-04  Anders Carlsson  <andersca@apple.com>
2067
2068         Reviewed by Darin Adler.
2069
2070         Add bundle API for making a page paint as the background of another page
2071         https://bugs.webkit.org/show_bug.cgi?id=60227
2072
2073         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2074         (WKBundlePageSetUnderlayPage):
2075         Call WebPage::setUnderlayPage.
2076
2077         * WebProcess/WebPage/WebPage.cpp:
2078         (WebKit::WebPage::close):
2079         Null out the underlay page.
2080
2081         (WebKit::WebPage::layoutIfNeeded):
2082         Layout the underlay page if necessary.
2083
2084         (WebKit::WebPage::drawRect):
2085         Draw the underlay page.
2086
2087 2011-05-04  Siddharth Mathur  <siddharth.mathur@nokia.com>
2088
2089         Reviewed by Laszlo Gombos.
2090
2091         [Qt][Wk2][Symbian] Capabilities for Qt MiniBrowser and QtWebProcess on Symbian
2092         https://bugs.webkit.org/show_bug.cgi?id=59462
2093
2094         * WebProcess.pro: Add Symbian OS capabilities to web process executable. Also enable
2095         data paging flag and prevent application's icon from showing up in the application grid. 
2096
2097 2011-05-04  Adam Roben  <aroben@apple.com>
2098
2099         Clip and reposition windowed plugins when the UI process paints
2100
2101         This ensures that their geometry updates in sync with the rest of the page.
2102
2103         Most of this patch is just plumbing the scheduleWindowedPluginGeometryUpdate and
2104         scheduleChildWindowGeometryUpdate calls through from NetscapePlugin all the way over to
2105         WebView. I've tried to call out the other parts below.
2106
2107         Fixes <http://webkit.org/b/60210> <rdar://problem/8483441> REGRESSION (WebKit2): Windowed
2108         plugins don't scroll at the same speed as the rest of the page
2109
2110         Reviewed by Darin Adler and Anders Carlsson.
2111
2112         * UIProcess/PageClient.h:
2113         * UIProcess/WebPageProxy.h:
2114         * UIProcess/WebPageProxy.messages.in:
2115         * UIProcess/win/WebPageProxyWin.cpp:
2116         (WebKit::WebPageProxy::scheduleChildWindowGeometryUpdate):
2117         Added plumbing.
2118
2119         * UIProcess/win/WebView.cpp:
2120         (WebKit::WebView::onPaintEvent): Update child windows before painting so that they will stay
2121         in sync with the rest of the page.
2122         (WebKit::WebView::scheduleChildWindowGeometryUpdate): Add this update information to the
2123         set of geometries to update on the next paint.
2124         (WebKit::setWindowRegion): Moved this helper function here from NetscapePluginWin.cpp.
2125         (WebKit::WebView::updateChildWindowGeometries): Update the size, position, and clip rects of
2126         all the child windows with scheduled geometry updates.
2127
2128         * UIProcess/win/WebView.h: Added new members to track and update child window geometries.
2129
2130         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
2131         (WebKit::NetscapePlugin::platformPostInitialize): Don't show the window immediately. Let the
2132         UI process take care of it.
2133         (WebKit::NetscapePlugin::platformGeometryDidChange): Don't update the window's position or
2134         clip rect. Let the UI process take care of it.
2135
2136         * WebProcess/Plugins/PluginController.h:
2137         * WebProcess/Plugins/PluginView.cpp:
2138         (WebKit::PluginView::scheduleWindowedPluginGeometryUpdate):
2139         * WebProcess/Plugins/PluginView.h:
2140         * WebProcess/WebPage/WebPage.h:
2141         * WebProcess/WebPage/win/WebPageWin.cpp:
2142         (WebKit::WebPage::scheduleChildWindowGeometryUpdate):
2143         Added plumbing.
2144
2145 2011-05-04  Anders Carlsson  <andersca@apple.com>
2146
2147         Reviewed by Adam Roben.
2148
2149         WKView on Windows has no equivalent of Mac's -[WKView setDraws[Transparent]Background:]
2150         https://bugs.webkit.org/show_bug.cgi?id=52009
2151         <rdar://problem/8829746>
2152
2153         Add and implement WKViewSetDrawsTransparentBackground on windows.
2154
2155         * UIProcess/API/C/win/WKView.cpp:
2156         (WKViewSetDrawsTransparentBackground):
2157         (WKViewDrawsTransparentBackground):
2158         Call through to the WebPageProxy object.
2159
2160         * UIProcess/API/C/win/WKView.h:
2161         * UIProcess/win/WebView.cpp:
2162         (WebKit::drawPageBackground):
2163         Don't fill the rect with white if WebPageProxy::drawsBackground() or 
2164         WebPageProxy::drawsTransparentBackground() returns false. Because of limitations in Win32,
2165         both drawsBackground and drawsTransparentBackground are pretty much equivalent.
2166
2167         (WebKit::WebView::paint):
2168         Pass the WebPageProxy object to drawPageBackground.
2169
2170 2011-05-04  Tao Bai  <michaelbai@chromium.org>
2171
2172         Reviewed by David Kilzer.
2173
2174         Populate touch-icon url to FrameLoaderClient
2175         https://bugs.webkit.org/show_bug.cgi?id=59143
2176
2177         Respected the change of FrameLoaderClient.
2178         Added WebIconURL and WebIconType responding the new IconURL and IconType.
2179         Supported to get the multiple icon urls.
2180
2181         * Configurations/FeatureDefines.xcconfig:
2182         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2183         (WebKit::WebFrameLoaderClient::dispatchDidChangeIcons):
2184         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2185
2186 2011-05-04  Anders Carlsson  <andersca@apple.com>
2187
2188         Reviewed by Dan Bernstein.
2189
2190         Can't save a link from "Save Linked File to Download" popup menu
2191         https://bugs.webkit.org/show_bug.cgi?id=60190
2192         <rdar://problem/9367927>
2193
2194         Make sure that suggestedFilenameForResourceWithURL and resourceDataForFrame both look
2195         in the cache if the resource can't be found in the current web page. This matches WebKit1.
2196
2197         * WebProcess/WebPage/WebFrame.cpp:
2198         (WebKit::WebFrame::suggestedFilenameForResourceWithURL):
2199         Call WebPage::cachedSuggestedFilenameForURL if we can't find a resource in the page.
2200
2201         * WebProcess/WebPage/WebPage.cpp:
2202         (WebKit::resourceDataForFrame):
2203         Move code out from getResourceDataFromFrame.
2204
2205         (WebKit::WebPage::getResourceDataFromFrame):
2206         Call resourceDataForFrame first and then cachedResponseDataForURL.
2207
2208         * WebProcess/WebPage/WebPage.h:
2209         * WebProcess/WebPage/gtk/WebPageGtk.cpp:
2210         (WebKit::WebPage::platformHasLocalDataForURL):
2211         (WebKit::WebPage::cachedResponseMIMETypeForURL):
2212         (WebKit::WebPage::platformCanHandleRequest):
2213         (WebKit::WebPage::cachedSuggestedFilenameForURL):
2214         (WebKit::WebPage::cachedResponseDataForURL):
2215         Add stubs.
2216
2217         * WebProcess/WebPage/mac/WebPageMac.mm:
2218         (WebKit::cachedResponseForURL):
2219         Add helper function.
2220
2221         (WebKit::WebPage::cachedSuggestedFilenameForURL):
2222         (WebKit::WebPage::cachedResponseMIMETypeForURL):
2223         (WebKit::WebPage::cachedResponseDataForURL):
2224         Call helper function.
2225
2226         * WebProcess/WebPage/qt/WebPageQt.cpp:
2227         (WebKit::WebPage::platformHasLocalDataForURL):
2228         (WebKit::WebPage::cachedResponseMIMETypeForURL):
2229         (WebKit::WebPage::platformCanHandleRequest):
2230         (WebKit::WebPage::cachedSuggestedFilenameForURL):
2231         (WebKit::WebPage::cachedResponseDataForURL):
2232         Add stubs.
2233         
2234         * WebProcess/WebPage/win/WebPageWin.cpp:
2235         (WebKit::cachedResponseForURL):
2236         Add helper function.
2237
2238         (WebKit::WebPage::platformHasLocalDataForURL):
2239         (WebKit::WebPage::cachedResponseMIMETypeForURL):
2240         (WebKit::WebPage::cachedSuggestedFilenameForURL):
2241         (WebKit::WebPage::cachedResponseDataForURL):
2242         Call helper function.
2243
2244 2011-05-04  Simon Fraser  <simon.fraser@apple.com>
2245
2246         Reviewed by Anders Carlsson.
2247
2248         WebKit2 flashes if entering and exiting compositing rapidly
2249         https://bugs.webkit.org/show_bug.cgi?id=60198
2250         
2251         If a page enters then immediately leaves compositing mode, the
2252         DrawingAreaImpl would send a message to the UI process that it
2253         had entered compositing even after all the layers had been torn
2254         down. Fix this by never sending the 'enter' message if we're
2255         waiting for the 'exit' timer to fire.
2256         
2257         Also fix an assertion in the UI process caused by sending mismatched
2258         'enter' and 'leave' messages by keeping track of which messages
2259         we've sent.
2260
2261         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2262         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
2263         (WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
2264         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
2265         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingModeSoon):
2266         * WebProcess/WebPage/DrawingAreaImpl.h:
2267         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingModePending):
2268
2269 2011-05-04  Jeff Miller  <jeffm@apple.com>
2270
2271         Fix typo in svn property in r85756.
2272
2273         * Shared/mac/NativeWebWheelEventMac.mm: Added property svn:eol-style. Removed property snv:eol-style.
2274
2275 2011-05-04  Jeff Miller  <jeffm@apple.com>
2276
2277         Reviewed by Darin Adler.
2278
2279         Add NativeWebWheelEvent class
2280         https://bugs.webkit.org/show_bug.cgi?id=60182
2281         
2282         This will be needed soon when we start notifying the UI process that a mouse wheel event wasn't handled by WebKit.
2283
2284         * GNUmakefile.am: Added NativeWebWheelEventGtk.cpp and NativeWebWheelEvent.h.
2285         * Shared/NativeWebWheelEvent.h: Added.
2286         (WebKit::NativeWebWheelEvent::nativeEvent): Added.
2287         * Shared/gtk/NativeWebWheelEventGtk.cpp: Added.
2288         (WebKit::NativeWebWheelEvent::NativeWebWheelEvent): Added.
2289         * Shared/mac/NativeWebWheelEventMac.mm: Added.
2290         (WebKit::NativeWebWheelEvent::NativeWebWheelEvent): Added.
2291         * Shared/qt/NativeWebWheelEventQt.cpp: Added.
2292         (WebKit::NativeWebWheelEvent::NativeWebWheelEvent): Added.
2293         * Shared/win/NativeWebWheelEventWin.cpp: Added.
2294         (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):Added.
2295         * WebKit2.pro: Added NativeWebWheelEventQt.cpp and NativeWebWheelEvent.h.
2296         * WebKit2.xcodeproj/project.pbxproj: Added NativeWebWheelEventMac.mm and NativeWebWheelEvent.h.
2297         * win/WebKit2.vcproj: Added NativeWebWheelEventWin.cpp and NativeWebWheelEvent.h.
2298
2299 2011-05-04  Siddharth Mathur  <siddharth.mathur@nokia.com>
2300
2301         Reviewed by Anders Carlsson.
2302
2303         ArgumentDecoder should use aligned memory for its internal copy of data
2304         https://bugs.webkit.org/show_bug.cgi?id=59960 
2305
2306         Since we check for memory alignment when unpacking primitive types from the buffer,
2307         insure alignment of the base address.
2308         As uint64_t is the largest type we use in Argument encoder/decoder, use 8 byte alignment. 
2309
2310         * Platform/CoreIPC/ArgumentDecoder.cpp:
2311         (CoreIPC::ArgumentDecoder::~ArgumentDecoder): free m_alignedBase
2312         (CoreIPC::roundUpToAlignment): move this up in the source file
2313         (CoreIPC::ArgumentDecoder::initialize): m_buffer is now guaranteed sizeof(uint64_t) aligned
2314         * Platform/CoreIPC/ArgumentDecoder.h: add m_alignedBase member which needs to be freed in d'tor
2315
2316 2011-05-04  Adam Roben  <aroben@apple.com>
2317
2318         Make ShareableBitmap::makeCGImageCopy use a copy-on-write copy on Windows when possible
2319
2320         Fixes <http://webkit.org/b/57269> <rdar://problem/9198788> REGRESSION (r82151): Every WKView
2321         paint now makes an extra copy of the painted bits
2322
2323         Reviewed by Anders Carlsson.
2324
2325         * Platform/SharedMemory.h:
2326         * Platform/win/SharedMemoryWin.cpp:
2327         (WebKit::SharedMemory::createCopyOnWriteCopy):
2328         Added this new function. Creates a copy-on-write copy of the first |size| bytes of the
2329         original SharedMemory.
2330
2331         * Shared/ShareableBitmap.h: Added createCGImage helper function.
2332
2333         * Shared/cg/ShareableBitmapCG.cpp:
2334         (WebKit::ShareableBitmap::makeCGImageCopy): Don't compile this version of this function on
2335         Windows; we'll provide our own implementation since CGBitmapContextCreateImage isn't smart
2336         enough to make a copy-on-write copy on Windows.
2337         (WebKit::ShareableBitmap::makeCGImage): Moved some code from here...
2338         (WebKit::ShareableBitmap::createCGImage): ...to this new function.
2339
2340         * Shared/cg/win/ShareableBitmapCGWin.cpp: Added.
2341         (WebKit::derefSharedMemory): This function is called when the CGDataProvider is finalized.
2342         All we have to do is deref the SharedMemory that was backing the CGDataProvider.
2343         (WebKit::ShareableBitmap::makeCGImageCopy): Create a copy-on-write copy of the image data
2344         when possible. We use the copy-on-write copy to back this ShareableBitmap from here on out,
2345         and use the original SharedMemory to back the CGImage. This should prevent future
2346         modifications to the ShareableBitmap from affecting the CGImage. If we can't make a
2347         copy-on-write copy, we fall back to just copying the data normally.
2348
2349         * win/WebKit2.vcproj: Added ShareableBitmapCGWin.cpp.
2350
2351 2011-05-04  Adam Roben  <aroben@apple.com>
2352
2353         Let transparent windowless plugins draw into a graphics context with an alpha channel
2354
2355         Fixes <http://webkit.org/b/57647> <rdar://problem/9168462> Flash plugins with
2356         wmode=transparent have black (instead of transparent) background in WebKit2 on Windows
2357
2358         I had trouble writing a test case for this, so I split that task out into
2359         <http://webkit.org/b/60169>.
2360
2361         Reviewed by Sam Weinig.
2362
2363         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
2364         (WebKit::NetscapePlugin::platformPaint): Give the graphics context an alpha channel if this
2365         is a transparent windowless plugin.
2366
2367 2011-05-03  Adam Roben  <aroben@apple.com>
2368
2369         Remove WebPageProxy::setDrawingArea
2370
2371         It is unused. It also does a useless equality comparison between OwnPtrs; if they are equal,
2372         we've already lost.
2373
2374         Reviewed by Anders Carlsson and Antti Koivisto.
2375
2376         * UIProcess/WebPageProxy.cpp:
2377         * UIProcess/WebPageProxy.h:
2378         Removed setDrawingArea.
2379
2380         (WebKit::WebPageProxy::drawingArea):
2381         (WebKit::WebPageProxy::backForwardList):
2382         Made these functions const while I was at it.
2383
2384 2011-05-03  Pratik Solanki  <psolanki@apple.com>
2385
2386         Reviewed by Antti Koivisto.
2387
2388         Part of WebCore should use CFNetwork-based loader on Mac
2389         https://bugs.webkit.org/show_bug.cgi?id=51836
2390
2391         Merge the conflicting definitions of WebCore::privateBrowsingCookieStorage() into one.
2392
2393         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
2394         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
2395
2396 2011-05-02  Jer Noble  <jer.noble@apple.com>
2397
2398         Reviewed by Adam Roben.
2399
2400         Implement FULLSCREEN_API on Windows, Part 3: WebKit2
2401         https://bugs.webkit.org/show_bug.cgi?id=59845
2402
2403         Implement a similar full screen mode to WebKit; Re-use the same
2404         full screen window class used in WebKit in the new WebFullScreenController.
2405         No animations (yet), so many of the stubs remain unimplemented.
2406
2407         * UIProcess/win/WebView.cpp:
2408         (WebKit::WebView::onKeyEvent): Handle VK_ESCAPE and cancel full screen
2409             mode if caught.
2410         (WebKit::WebView::fullScreenController): Lazily instantiate m_fullScreenController.
2411         (WebKit::WebView::fullScreenClientWindow): Added accessor.
2412         (WebKit::WebView::fullScreenClientParentWindow): Ditto.
2413         (WebKit::WebView::fullScreenClientSetParentWindow): Ditto.
2414         (WebKit::WebView::fullScreenClientWillEnterFullScreen): Pass through to WebFullScreenManagerProxy.
2415         (WebKit::WebView::fullScreenClientDidEnterFullScreen): Ditto.
2416         (WebKit::WebView::fullScreenClientWillExitFullScreen): Ditto.
2417         (WebKit::WebView::fullScreenClientDidExitFullScreen): Ditto.
2418         * UIProcess/win/WebView.h:
2419         * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
2420         (WebKit::WebFullScreenManagerProxy::enterFullScreen): Pass through to 
2421             WebFullScreenController.
2422         (WebKit::WebFullScreenManagerProxy::exitFullScreen): Ditto.
2423         * UIProcess/win/WebView.cpp:
2424         (WebKit::WebView::WebView):
2425         (WebKit::WebView::onKeyEvent): Handle the escape key and exit
2426            full screen mode when detected.
2427         (WebKit::WebView::fullScreenWindowController): Added.
2428         * UIProcess/win/WebView.h:
2429         * WebProcess/FullScreen/win/WebFullScreenManagerWin.cpp:
2430         (WebKit::WebFullScreenManagerWin::~WebFullScreenManagerWin):
2431         (WebKit::WebFullScreenManagerWin::setRootFullScreenLayer): Host the root
2432             full screen layer if it gets detached.
2433         * WebProcess/FullScreen/win/WebFullScreenManagerWin.h:
2434         * win/WebKit2.vcproj:
2435
2436 2011-05-03  Brady Eidson  <beidson@apple.com>
2437
2438         Reviewed by Sam Weinig.
2439
2440         https://bugs.webkit.org/show_bug.cgi?id=60087 and <rdar://problem/9373182>
2441         WK2 Icon Database should provide access to all image representations in the icon.
2442
2443         Expose a CFArrayRef of CGImageRefs as API for CG platforms:
2444         * UIProcess/API/C/cg/WKIconDatabaseCG.cpp:
2445         (WKIconDatabaseTryCopyCGImageArrayForURL):
2446         * UIProcess/API/C/cg/WKIconDatabaseCG.h:
2447
2448 2011-05-03  Sam Weinig  <sam@webkit.org>
2449
2450         Reviewed by Dan Bernstein.
2451
2452         WebKit2 should treat API calls that start/stop loads as user gestures for responsiveness timer
2453         https://bugs.webkit.org/show_bug.cgi?id=60083
2454
2455         * UIProcess/WebPageProxy.cpp:
2456         (WebKit::WebPageProxy::reattachToWebProcessWithItem):
2457         (WebKit::WebPageProxy::tryClose):
2458         (WebKit::WebPageProxy::loadURL):
2459         (WebKit::WebPageProxy::loadURLRequest):
2460         (WebKit::WebPageProxy::loadHTMLString):
2461         (WebKit::WebPageProxy::loadAlternateHTMLString):
2462         (WebKit::WebPageProxy::loadPlainTextString):
2463         (WebKit::WebPageProxy::stopLoading):
2464         (WebKit::WebPageProxy::reload):
2465         (WebKit::WebPageProxy::goForward):
2466         (WebKit::WebPageProxy::goBack):
2467         (WebKit::WebPageProxy::goToBackForwardItem):
2468         Start responsiveness timer for load start/stop and close.
2469
2470         * WebProcess/WebPage/WebPage.cpp:
2471         (WebKit::SendStopResponsivenessTimer::SendStopResponsivenessTimer):
2472         (WebKit::SendStopResponsivenessTimer::~SendStopResponsivenessTimer):
2473         Add simple RAII class to ensure the StopResponsivenessTimer is called.
2474
2475         (WebKit::WebPage::tryClose):
2476         (WebKit::WebPage::loadURLRequest):
2477         (WebKit::WebPage::loadData):
2478         (WebKit::WebPage::stopLoading):
2479         (WebKit::WebPage::reload):
2480         (WebKit::WebPage::goForward):
2481         (WebKit::WebPage::goBack):
2482         (WebKit::WebPage::goToBackForwardItem):
2483         Sends a message back to the UIProcess to indicate the WebProcess
2484         is still responsive.
2485
2486 2011-05-03  Darin Adler  <darin@apple.com>
2487
2488         Reviewed by Sam Weinig.
2489
2490         <rdar://problem/9250444> Enter key doesn't work in a web text field (but Return key does)
2491
2492         No test at this time because the WebKit2 eventSender doesn't use this code path.
2493
2494         * Shared/mac/WebEventFactory.mm:
2495         (WebKit::WebEventFactory::createWebKeyboardEvent): Copied the code to special-case certain
2496         keys from the corresponding Mac WebKit1 code path.
2497
2498 2011-05-03  Jeff Miller  <jeffm@apple.com>
2499
2500         Reviewed by Darin Adler.
2501
2502         Unreachable URL is lost when canceling load of a new page
2503         https://bugs.webkit.org/show_bug.cgi?id=60057
2504         <rdar://problem/9049135>
2505         
2506         When setting the unreachable URL in the WebFrameProxy, keep track of any previous unreachable URL
2507         so we can restore it if the page load fails.
2508
2509         * UIProcess/WebFrameProxy.cpp:
2510         (WebKit::WebFrameProxy::didFailProvisionalLoad): Restore m_unreachableURL to previous value.
2511         (WebKit::WebFrameProxy::setUnreachableURL): Keep track of previous unreachable URL in m_lastUnreachableURL.
2512         * UIProcess/WebFrameProxy.h: Moved setUnreachableURL() implementation to .cpp file, added m_lastUnreachableURL.
2513
2514 2011-05-03  Adam Roben  <aroben@apple.com>
2515
2516         Fix most strict PassOwnPtr violations on Windows
2517
2518         Fixes <http://webkit.org/b/60025> Windows should (almost) build with strict PassOwnPtr
2519         enabled
2520
2521         Reviewed by Anders Carlsson.
2522
2523         * Platform/CoreIPC/win/ConnectionWin.cpp:
2524         (CoreIPC::Connection::writeEventHandler): Use nullptr.
2525
2526 2011-05-03  Julien Chaffraix  <jchaffraix@codeaurora.org>
2527
2528         Reviewed by Dimitri Glazkov.
2529
2530         Element:shadowRoot & Element::ensureShadowRoot should return ShadowRoot*
2531         https://bugs.webkit.org/show_bug.cgi?id=58703
2532
2533         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: Added #include for ShadowRoot.h.
2534
2535 2011-05-03  Sam Weinig  <sam@webkit.org>
2536
2537         Reviewed by Anders Carlsson.
2538
2539         More quarantine related sandbox denial when downloading files
2540         <rdar://problem/9362626>
2541
2542         * WebProcess/com.apple.WebProcess.sb:
2543
2544 2011-05-02  Adam Roben  <aroben@apple.com>
2545
2546         Take advantage of implicit conversion from nullptr_t to PassOwnPtr
2547
2548         Fixes <http://webkit.org/b/59964> Implicit conversion from std::nullptr_t to PassOwnPtr
2549         doesn't work, but should
2550
2551         Reviewed by Adam Barth.
2552
2553         * Platform/CoreIPC/Connection.cpp:
2554         * UIProcess/qt/WebContextMenuProxyQt.cpp:
2555         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2556         * WebProcess/WebPage/DrawingArea.cpp:
2557
2558 2011-05-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2559
2560         Reviewed by Eric Seidel.
2561
2562         [GTK] Build webkit1 even when webkit2 is enabled
2563         https://bugs.webkit.org/show_bug.cgi?id=59695
2564
2565         * GNUmakefile.am:
2566
2567 2011-05-02  Yael Aharon  <yael.aharon@nokia.com>
2568
2569         Reviewed by Andreas Kling.
2570
2571         [Qt] White screen displays when using MiniBrowser with DrawingAreaImpl
2572         https://bugs.webkit.org/show_bug.cgi?id=60003
2573
2574         When using DrawingAreaImpl, we need to properly pass the viewSize to the WebPage.
2575         Otherwise, the dirty rect will always be empty and we will not draw.
2576
2577         * UIProcess/API/qt/qwkpage.cpp:
2578         (QWKPagePrivate::viewSize):
2579
2580 2011-05-02  Anders Carlsson  <andersca@apple.com>
2581
2582         Fix crash that was introduced in r85515.
2583
2584         * Platform/CoreIPC/Connection.cpp:
2585         (CoreIPC::Connection::dispatchSyncMessage):
2586         If didReceiveSyncMessage returns ManualReply, the client took ownership of the reply
2587         encoder so we must leak it to avoid a double-free.
2588
2589 2011-05-02  Anders Carlsson  <andersca@apple.com>
2590
2591         Reviewed by Sam Weinig.
2592
2593         The web process locks up when the plug-in process crashes
2594         https://bugs.webkit.org/show_bug.cgi?id=59999
2595         <rdar://problem/8889303>
2596
2597         Add a hash map from plug-in paths to CoreIPC connections to PluginProcessConnectionManager.
2598         Add PluginProcessConnectionManager::pluginProcessCrashed and make it look up the corresponding
2599         CoreIPC connection and call postConnectionDidCloseOnConnectionWorkQueue on it.
2600
2601         * Platform/CoreIPC/Connection.cpp:
2602         (CoreIPC::Connection::postConnectionDidCloseOnConnectionWorkQueue):
2603         * Platform/CoreIPC/Connection.h:
2604         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2605         (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
2606         (WebKit::PluginProcessConnectionManager::removePluginProcessConnection):
2607         (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
2608         * WebProcess/Plugins/PluginProcessConnectionManager.h:
2609         * WebProcess/WebProcess.cpp:
2610         (WebKit::WebProcess::pluginProcessCrashed):
2611
2612 2011-05-02  Anders Carlsson  <andersca@apple.com>
2613
2614         Try to fix Windows build.
2615
2616         * Scripts/webkit2/messages.py:
2617         * Scripts/webkit2/messages_unittest.py:
2618
2619 2011-05-02  Anders Carlsson  <andersca@apple.com>
2620
2621         Reviewed by Oliver Hunt.
2622
2623         Dispatch the PluginProcessCrashed on the connection work queue
2624         https://bugs.webkit.org/show_bug.cgi?id=59996
2625
2626         * WebProcess/WebProcess.cpp:
2627         (WebKit::WebProcess::initialize):
2628         Add the web process as a queue client.
2629
2630         (WebKit::WebProcess::terminate):
2631         Remove the web process as a queue client.
2632
2633         (WebKit::WebProcess::willProcessMessageOnClientRunLoop):
2634         Try calling willProcessWebProcessMessageOnClientRunLoop.
2635
2636         * WebProcess/WebProcess.messages.in:
2637         Add the DispatchOnConnectionQueue attribute to PluginProcessCrashed.
2638
2639 2011-05-02  Anders Carlsson  <andersca@apple.com>
2640
2641         Reviewed by Sam Weinig.
2642
2643         Send a PluginProcessCrashed message to all web processes when a plug-in crashes
2644         https://bugs.webkit.org/show_bug.cgi?id=59994
2645
2646         * UIProcess/Plugins/PluginProcessProxy.cpp:
2647         (WebKit::PluginProcessProxy::didClose):
2648         Iterate over all contexts and send PluginProcessCrashed to all web processes in each context.
2649
2650         (WebKit::PluginProcessProxy::didFinishLaunching):
2651         Call setShouldCloseConnectionOnMachExceptions on the CoreIPC connection.
2652
2653         * WebProcess/WebProcess.cpp:
2654         (WebKit::WebProcess::pluginProcessCrashed):
2655         Add empty stub.
2656
2657         * WebProcess/WebProcess.messages.in:
2658         Add message.
2659
2660 2011-05-02  Anders Carlsson  <andersca@apple.com>
2661
2662         Reviewed by Simon Fraser.
2663
2664         Plug-in not completely repainted after a crash
2665         https://bugs.webkit.org/show_bug.cgi?id=59991
2666
2667         Call Widget::invalidate().
2668
2669         * WebProcess/Plugins/PluginView.cpp:
2670         (WebKit::PluginView::pluginProcessCrashed):
2671
2672 2011-05-02  Anders Carlsson  <andersca@apple.com>
2673
2674         Reviewed by Dan Bernstein.
2675
2676         Make PluginProcessConnectionManager a member of WebProcess
2677         https://bugs.webkit.org/show_bug.cgi?id=59989
2678
2679         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2680         * WebProcess/Plugins/PluginProcessConnectionManager.h:
2681         * WebProcess/Plugins/PluginProxy.cpp:
2682         (WebKit::PluginProxy::initialize):
2683         * WebProcess/WebProcess.h:
2684         (WebKit::WebProcess::pluginProcessConnectionManager):
2685
2686 2011-05-02  Mark Rowe  <mrowe@apple.com>
2687
2688         Reviewed by Brady Eidson.
2689
2690         <rdar://problem/9371289> WebKit2 can persist an invalid current back/forward item index when URLs are filtered from back/forward list
2691
2692         * UIProcess/cf/WebBackForwardListCF.cpp:
2693         (WebKit::WebBackForwardList::createCFDictionaryRepresentation): We need to update the current index to account for filtered items
2694         for all items before the current item in the array.
2695
2696 2011-05-02  Anders Carlsson  <andersca@apple.com>
2697
2698         Reviewed by Adam Roben.
2699
2700         Handle DispatchOnConnectionQueue for asynchronous messages
2701         https://bugs.webkit.org/show_bug.cgi?id=59959
2702
2703         If any asynchronous messages have the DispatchOnConnectionQueue attribute, 
2704         create a new willProcess{Receiver}MessageOnClientRunLoop.
2705
2706         * Scripts/webkit2/messages.py:
2707         - Fix a regex bug where we would only parse attributes on synchronous messages.
2708         - Collect messages with the dispatch_on_connection_queue flag set. We only handle
2709           asynchronous messages currently; sync message support will be added when/if the
2710           need arises.
2711
2712         * Scripts/webkit2/messages_unittest.py:
2713         Update test.
2714
2715 2011-05-02  Adam Barth  <abarth@webkit.org>
2716
2717         Reviewed by David Levin.
2718
2719         PLATFORM(MAC) should (almost!) build with strict PassOwnPtr
2720         https://bugs.webkit.org/show_bug.cgi?id=59924
2721
2722         * Platform/CoreIPC/Connection.cpp:
2723         (CoreIPC::Connection::sendSyncMessage):
2724         (CoreIPC::Connection::waitForSyncReply):
2725         (CoreIPC::Connection::dispatchSyncMessage):
2726         * Platform/CoreIPC/Connection.h:
2727         (CoreIPC::Connection::Message::releaseArguments):
2728             - The memory management for this class is very strange.  I wrote a
2729               large comment.  Hopefully a kind soul will come by and fix it.
2730         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
2731         (WebKit::NetscapePluginModule::unload):
2732         * UIProcess/API/mac/WKView.mm:
2733         (-[WKView _setFindIndicator:fadeOut:]):
2734         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
2735         (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
2736         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2737         (WebKit::toStringVector):
2738         * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
2739         (WebKit::NetscapePluginStream::stop):
2740         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
2741         (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient):
2742         * WebProcess/WebPage/DrawingArea.cpp:
2743         (WebKit::DrawingArea::create):
2744
2745 2011-04-29  Chris Marrin  <cmarrin@apple.com>
2746
2747         Reviewed by Simon Fraser.
2748
2749         Pages with accelerated compositing do not redraw unless scrolled
2750         https://bugs.webkit.org/show_bug.cgi?id=59851
2751
2752         Added a setNeedDisplay on the non-composited content layer after
2753         the size is changed so it paints the full size of the layer. Called
2754         only for the areas newly exposed, if any.
2755
2756         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
2757         (WebKit::LayerTreeHostCA::sizeDidChange):
2758
2759 2011-05-02  Anders Carlsson  <andersca@apple.com>
2760
2761         Reviewed by Adam Roben.
2762
2763         Need a way to handle CoreIPC messages on the connection work queue
2764         https://bugs.webkit.org/show_bug.cgi?id=59954
2765
2766         Add a Connection::QueueClient abstract class. This class has a single pure virtual
2767         member function, willProcessMessageOnClientRunLoop which should return true if the message 
2768         should be forwarded to the next Connection::QueueClient in the list or Connection::Client's 
2769         run loop for processing and false otherwise. Users of Connection can use addQueueClient to
2770         add clients and all messages will be dispatched  to the queue clients first.
2771
2772         * Platform/CoreIPC/Connection.cpp:
2773         (CoreIPC::Connection::addQueueClient):
2774         (CoreIPC::Connection::removeQueueClient):
2775         (CoreIPC::Connection::processIncomingMessage):
2776         * Platform/CoreIPC/Connection.h:
2777         (CoreIPC::Connection::QueueClient::~QueueClient):
2778
2779 2011-05-02  Jeff Miller  <jeffm@apple.com>
2780
2781         Reviewed by Adam Roben.
2782
2783         WebKit2 thinks the web process is unresponsive when a plugin displays a context menu
2784         https://bugs.webkit.org/show_bug.cgi?id=59124
2785         <rdar://problem/9318600>
2786         
2787         This is the Windows version of <https://bugs.webkit.org/show_bug.cgi?id=58943>.
2788
2789         Since we have no control over how long a plugin will take to handle an event, we need
2790         to tell the UI process to stop its responsive timer when we're about to send an event
2791         to the plugin. The downside of doing this is that if the plugin does become unresponsive,
2792         the user won't know this immediately until they click on the web page again.  At that point,
2793         if the web process is unresponsive because of a hung plugin, the responsiveness timer will fire.
2794         
2795         We're only doing this on Windows currently when running plugins in the web process (Anders fixed
2796         bug 58943 in a different way when running plugins in a separate plugin process on the Mac).
2797
2798         * PluginProcess/PluginControllerProxy.cpp:
2799         (WebKit::PluginControllerProxy::willSendEventToPlugin): Added, not used when running plugins in a separate process.
2800         * PluginProcess/PluginControllerProxy.h: Added willSendEventToPlugin().
2801
2802         * UIProcess/WebPageProxy.cpp:
2803         (WebKit::WebPageProxy::stopResponsivenessTimer): Added.
2804         * UIProcess/WebPageProxy.h: Added stopResponsivenessTimer().
2805         * UIProcess/WebPageProxy.messages.in: Added StopResponsivenessTimer message.
2806
2807         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
2808         (WebKit::NetscapePlugin::platformPaint): Tell our controller when we're about to send an event to the plugin.
2809         (WebKit::NetscapePlugin::platformHandleMouseEvent): Ditto.
2810         (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): Ditto.
2811         (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): Ditto.
2812
2813         * WebProcess/Plugins/PluginController.h: Added willSendEventToPlugin().
2814         * WebProcess/Plugins/PluginView.cpp:
2815         (WebKit::PluginView::willSendEventToPlugin): Added, tell the UI process to stop its responsiveness timer.
2816         * WebProcess/Plugins/PluginView.h: Added willSendEventToPlugin().
2817
2818 2011-04-29  Steve Falkenburg  <sfalken@apple.com>
2819
2820         Reviewed by Maciej Stachowiak.
2821
2822         Plug-in failed to initialize message should be called when Java fails to initialize
2823         https://bugs.webkit.org/show_bug.cgi?id=59856
2824         
2825         To match the WebKit1 behavior, WebKit2 should dispatch the plug-in failed
2826         to initialize message when we can't instantiate the Java plug-in.
2827
2828         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2829         (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
2830
2831 2011-05-02  Sam Weinig  <sam@webkit.org>
2832
2833         Reviewed by Adam Barth.
2834
2835         Prune some #includes from DOMWindow.h
2836         https://bugs.webkit.org/show_bug.cgi?id=59907
2837
2838         * WebProcess/WebPage/WebFrame.cpp:
2839         Add now missing SecurityOrigin.h #include.
2840
2841 2011-04-29  Brian Weinstein  <bweinstein@apple.com>
2842
2843         Reviewed by Dan Bernstein.
2844
2845         WebKit2: Crash closing tab with docked Web Inspector
2846         https://bugs.webkit.org/show_bug.cgi?id=59914
2847         <rdar://problem/9359672>
2848         
2849         When a tab is closed with a docked inspector, invalidate called platformClose, which
2850         didn't do the tear down that is needed, but is called when we close the web inspector explcitly.
2851         One part of tear down we weren't doing is removing ourselves as a WindowMessageBrodcaster listener
2852         on the inspected web view, and this can cause crashes.
2853         
2854         This patch also renames platformClose to platformDidClose, to be clearer about when the function
2855         is called.
2856
2857         * UIProcess/WebInspectorProxy.cpp:
2858         (WebKit::WebInspectorProxy::invalidate): Call didClose instead of platformClose.
2859         (WebKit::WebInspectorProxy::didClose): Call platformDidClose instead of platformClose.
2860         * UIProcess/WebInspectorProxy.h:
2861         * UIProcess/mac/WebInspectorProxyMac.mm:
2862         (WebKit::WebInspectorProxy::platformDidClose): Renamed from platformClose.
2863         * UIProcess/win/WebInspectorProxyWin.cpp:
2864         (WebKit::WebInspectorProxy::platformDidClose): Ditto.
2865         * UIProcess/gtk/WebInspectorGtk.cpp:
2866         (WebKit::WebInspectorProxy::platformDidClose): Ditto.
2867         * UIProcess/qt/WebInspectorProxyQt.cpp:
2868         (WebKit::WebInspectorProxy::platformDidClose): Ditto.
2869
2870 2011-05-01  Sam Weinig  <sam@webkit.org>
2871
2872         Reviewed by Anders Carlsson.
2873
2874         Prune some unnecessary #includes
2875         https://bugs.webkit.org/show_bug.cgi?id=59895
2876
2877         Start getting rid of unnecessary #includes and forward declares.
2878
2879         * WebProcess/Plugins/PluginView.cpp:
2880         * WebProcess/WebPage/WebPage.cpp:
2881
2882 2011-05-01  Patrick Gansterer  <paroga@webkit.org>
2883
2884         [WIN] Unreviewed buildfix after r85434.
2885
2886         * UIProcess/WebPageProxy.cpp:
2887         (WebKit::WebPageProxy::startDragDrop):
2888         * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp:
2889         (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
2890         (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
2891         * WebProcess/WebCoreSupport/win/WebDragClientWin.cpp:
2892         (WebKit::WebDragClient::startDrag):
2893         * WebProcess/WebPage/win/ChunkedUpdateDrawingAreaWin.cpp:
2894         (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
2895
2896 2011-05-01  Anders Carlsson  <andersca@apple.com>
2897
2898         Reviewed by Sam Weinig.
2899
2900         Can't open document from skydrive.com in Microsoft Word
2901         https://bugs.webkit.org/show_bug.cgi?id=59891
2902         <rdar://problem/9354285>
2903
2904         Add the AllowHalfBakedQuickDrawSupport quirk for the SharePoint plug-in.
2905
2906         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
2907         (WebKit::NetscapePluginModule::determineQuirks):
2908
2909 2011-05-01  Anders Carlsson  <andersca@apple.com>
2910
2911         Reviewed by Sam Weinig.
2912
2913         Don't try to create a backing store for a 0x0 plug-in
2914         https://bugs.webkit.org/show_bug.cgi?id=59887
2915
2916         * WebProcess/Plugins/PluginProxy.cpp:
2917         (WebKit::PluginProxy::geometryDidChange):
2918
2919 2011-05-01  Anders Carlsson  <andersca@apple.com>
2920
2921         Reviewed by Kevin Decker.
2922
2923         Sandbox violation by WebProcess for DownloadAssessment.plist
2924         https://bugs.webkit.org/show_bug.cgi?id=59879
2925         <rdar://problem/9326041>
2926
2927         * WebProcess/com.apple.WebProcess.sb:
2928         Allow reading ~/Library/Preferences/com.apple.DownloadAssessment.plist
2929
2930 2011-05-01  Ivan Krstić  <ike@apple.com>
2931
2932         Reviewed by Maciej Stachowiak.
2933
2934         Remove unnecessary keychain and CoreAudio debris from WebProcess sandbox
2935         https://bugs.webkit.org/show_bug.cgi?id=59873
2936
2937         These rules have been obsoleted by <rdar://problem/9301520> and
2938         <rdar://problem/9181468>.
2939
2940         * WebProcess/com.apple.WebProcess.sb:
2941
2942 2011-05-01  Ivan Krstić  <ike@apple.com>
2943
2944         Reviewed by Maciej Stachowiak.
2945
2946         Simplify WebProcess sandbox with homedir-relative path filters.
2947         https://bugs.webkit.org/show_bug.cgi?id=59872
2948
2949         * WebProcess/com.apple.WebProcess.sb:
2950
2951 2011-05-01  Ivan Krstić  <ike@apple.com>
2952
2953         Reviewed by Maciej Stachowiak.
2954
2955         On-demand VPN support for sandboxed WebProcess.
2956         <rdar://problem/8994181>
2957
2958         * WebProcess/com.apple.WebProcess.sb:
2959
2960 2011-04-30  Ivan Krstić  <ike@apple.com>
2961
2962         Reviewed by Sam Weinig.
2963
2964         Reindent WebProcess sandbox to standard scheme style
2965         https://bugs.webkit.org/show_bug.cgi?id=59870
2966
2967         * WebProcess/com.apple.WebProcess.sb:
2968
2969 2011-04-28  Jer Noble  <jer.noble@apple.com>
2970
2971         Reviewed by Jon Honeycutt.
2972
2973         Implement FULLSCREEN_API on Windows, Part 1: Stubs
2974         https://bugs.webkit.org/show_bug.cgi?id=59778
2975
2976         Add Windows specific stubs for WebKit2 full screen APIs.
2977
2978         * UIProcess/win/WebFullScreenManagerProxyWin.cpp: Added.
2979         (WebKit::WebFullScreenManagerProxy::enterFullScreen): Added stub.
2980         (WebKit::WebFullScreenManagerProxy::exitFullScreen): Added stub.
2981         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreenAnimation): Added stub.
2982         (WebKit::WebFullScreenManagerProxy::finishedEnterFullScreenAnimation): Added stub.
2983         (WebKit::WebFullScreenManagerProxy::beganExitFullScreenAnimation): Added stub.
2984         (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation): Added stub.
2985         (WebKit::WebFullScreenManagerProxy::enterAcceleratedCompositingMode): Added stub.
2986         (WebKit::WebFullScreenManagerProxy::exitAcceleratedCompositingMode): Added stub.
2987         (WebKit::WebFullScreenManagerProxy::getFullScreenRect): Added stub.
2988         * WebProcess/FullScreen/win/WebFullScreenManagerWin.cpp: Added.
2989         (WebKit::WebFullScreenManager::create): Added. Returns a WebFullScreenManagerWin.
2990         (WebKit::WebFullScreenManagerWin::create): Added.
2991         (WebKit::WebFullScreenManagerWin::WebFullScreenManagerWin): Added.
2992         (WebKit::WebFullScreenManagerWin::~WebFullScreenManagerWin): Added.
2993         (WebKit::WebFullScreenManagerWin::setRootFullScreenLayer): Added stub.
2994         (WebKit::WebFullScreenManagerWin::beginEnterFullScreenAnimation): Added stub.
2995         (WebKit::WebFullScreenManagerWin::beginExitFullScreenAnimation): Added stub.
2996         * WebProcess/FullScreen/win/WebFullScreenManagerWin.h: Added.
2997         * win/WebKit2.vcproj: Added new classes.
2998
2999 2011-04-29  Alexey Proskuryakov  <ap@apple.com>
3000
3001         Reviewed by Simon Fraser and Dan Bernstein.
3002
3003         WebKit2: WebPluginTypeEnabled key is ignored when enumerating plug-ins
3004         https://bugs.webkit.org/show_bug.cgi?id=59852
3005         <rdar://problem/9314011>
3006
3007         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
3008         (WebKit::getPluginInfoFromPropertyLists): Do what WebKit1 does (but in CF dialect). And yes,
3009         I've seen plists with both numbers and booleans used .
3010
3011 2011-04-29  Beth Dakin  <bdakin@apple.com>
3012
3013         Reviewed by Simon Fraser.
3014
3015         https://bugs.webkit.org/show_bug.cgi?id=59846
3016         Scrolling causes rounded bottom window corners to become square
3017         <rdar://problem/9234239>
3018
3019         Keep track of the m_windowBottomCornerIntersectionRect in WKView. 
3020         Invalidate the rect before scrolling. And if the rect is non-zero during a 
3021         display, mask the corners, then set the rect to zero so that only displays that 
3022         happen right after a scroll bother to do this.
3023         * UIProcess/API/mac/PageClientImpl.mm:
3024         (WebKit::PageClientImpl::scrollView):
3025         * UIProcess/API/mac/WKView.mm:
3026         (-[WKView displayIfNeeded]):
3027         (-[WKView _cacheWindowBottomCornerRect]):
3028         * UIProcess/API/mac/WKViewInternal.h:
3029
3030 2011-04-29  Jia Pu  <jpu@apple.com>
3031
3032         Reviewed by Sam Weinig.
3033
3034         [Mac] Scrolling WK2 window should dismiss autocorrection panel.
3035         https://bugs.webkit.org/show_bug.cgi?id=59809
3036         <rdar://problem/9317410>
3037
3038         * UIProcess/WebPageProxy.cpp:
3039         (WebKit::WebPageProxy::pageDidScroll): Dimiss autocorrection panel in this function.
3040
3041 2011-04-29  Alexey Proskuryakov  <ap@apple.com>
3042
3043         Reviewed by Dan Bernstein.
3044
3045         WebKit2: Typing with Input methods still enters Roman characters in Safari search field frequently
3046         https://bugs.webkit.org/show_bug.cgi?id=59829
3047         <rdar://problem/9336907>
3048
3049         This patch regresses behavior somewhat in that inline input isn't discarded when something
3050         happens in an inactive window. This doesn't work well in shipping Safari either.
3051
3052         * UIProcess/API/mac/WKView.mm:
3053         (-[WKView _notifyInputContextAboutDiscardedComposition]): Added a method that calls
3054         -discardMarkedText with a safety check.
3055         (-[WKView setMarkedText:selectedRange:replacementRange:]): Use it.
3056         (-[WKView _updateTextInputStateIncludingSecureInputState:]): Use it.
3057         (-[WKView _resetTextInputState]): Use it.
3058
3059 2011-04-29  Chris Fleizach  <cfleizach@apple.com>
3060
3061         Reviewed by Beth Dakin.
3062
3063         AX: Remote accessibility should build on snow leopard
3064         https://bugs.webkit.org/show_bug.cgi?id=59767
3065
3066         * UIProcess/API/mac/WKView.mm:
3067         (-[WKView _updateRemoteAccessibilityRegistration:]):
3068         (-[WKView viewDidMoveToWindow]):
3069         (-[WKView _setAccessibilityWebProcessToken:]):
3070         * WebProcess/WebPage/mac/WebPageMac.mm:
3071         (WebKit::WebPage::platformInitialize):
3072         (WebKit::WebPage::registerUIProcessAccessibilityTokens):
3073         * WebProcess/mac/WebProcessMainMac.mm:
3074         (WebKit::WebProcessMain):
3075
3076 2011-04-29  Sam Weinig  <sam@webkit.org>
3077
3078         Reviewed by Dan Bernstein.
3079
3080         Add protection for shared memory failing to allocate
3081         <rdar://problem/9125287>
3082         https://bugs.webkit.org/show_bug.cgi?id=59842
3083
3084         * Platform/mac/SharedMemoryMac.cpp:
3085         (WebKit::SharedMemory::create):
3086         Add logging in shared memory failure cases.
3087
3088         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3089         (WebKit::DrawingAreaImpl::display):
3090         Guard against ShareableBitmap failing to create a shared memory
3091         backing.
3092
3093 2011-04-28  Stephanie Lewis  <slewis@apple.com>
3094
3095         Reviewed by Darin Adler.
3096
3097         https://bugs.webkit.org/show_bug.cgi?id=59776
3098         <rdar://problem/9287113> REGRESSION: Safari cold/warm launch time 15% to 2x regression
3099         On the first draw the WebProcess is just going to send us blank bits anyway so don't 
3100         pause waiting for the update.  Continue drawing a blank window until the WebProcess
3101         sends us the update.
3102
3103         * UIProcess/DrawingAreaProxyImpl.cpp:
3104         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
3105         (WebKit::DrawingAreaProxyImpl::paint):
3106         (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
3107         (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState):
3108         * UIProcess/DrawingAreaProxyImpl.h:
3109
3110 2011-04-29  Jon Lee  <jonlee@apple.com>
3111
3112         Reviewed by mitzpettel.
3113
3114         REGRESSION (WebKit2): (Mac) Selection is gone after switching tabs (59721)
3115         <rdar://problem/9327332>
3116         https://bugs.webkit.org/show_bug.cgi?id=59721
3117
3118         When resigning first responder status, check to see if we need to maintain an inactive
3119         selection in the web view. If we don't, we clear the selection.
3120
3121         This also reverts the change made in 83814, since that was a different attempt to solve this same issue.
3122
3123         * UIProcess/API/C/WKPage.cpp:
3124         (WKPageSetMaintainsInactiveSelection): Export setMaintainsInactiveSelection()
3125         * UIProcess/API/C/WKPage.h:
3126         * UIProcess/API/mac/WKView.mm:
3127         (-[WKView resignFirstResponder]): Check and see if we need to maintain the selection in the view prior to resigning.
3128         If not, we clear the selection
3129         * UIProcess/WebPageProxy.cpp:
3130         (WebKit::WebPageProxy::clearSelection): Send message across process boundary
3131         (WebKit::WebPageProxy::setMaintainsInactiveSelection): Sets variable
3132         * UIProcess/WebPageProxy.h: New member variable to keep track of whether we need to maintain the current selection
3133         (WebKit::WebPageProxy::maintainsInactiveSelection): Returns variable
3134         * WebProcess/WebPage/WebPage.cpp:
3135         (WebKit::WebPage::setFocused): Reverting code to just set the focused bit instead of also clearing the selection
3136         (WebKit::WebPage::clearSelection):
3137         * WebProcess/WebPage/WebPage.h:
3138         * WebProcess/WebPage/WebPage.messages.in: add new ClearSelection() message
3139
3140 2011-04-29  Anders Carlsson  <andersca@apple.com>
3141
3142         Reviewed by Darin Adler.
3143
3144         Application cache doesn't work due to a sandbox violation
3145         https://bugs.webkit.org/show_bug.cgi?id=59818
3146         <rdar://problem/9346971>
3147
3148         Add a sandbox extension for the application cache directory.
3149
3150         * Shared/WebProcessCreationParameters.cpp:
3151         (WebKit::WebProcessCreationParameters::encode):
3152         (WebKit::WebProcessCreationParameters::decode):
3153         Encode and decode the sandbox extension handle.
3154
3155         * Shared/WebProcessCreationParameters.h:
3156         Add a applicationCacheDirectoryExtensionHandle member.
3157
3158         * UIProcess/WebContext.cpp:
3159         (WebKit::WebContext::ensureWebProcess):
3160         If we have a non-empty application cache directory, create a sandbox extension
3161         and pass it to the creation parameters.
3162
3163         * WebProcess/WebProcess.cpp:
3164         (WebKit::WebProcess::initializeWebProcess):
3165         Create and consume a sandbox extension.
3166
3167         * WebProcess/WebProcess.h:
3168         Add an m_applicationCachePathExtension member variable.
3169
3170 2011-04-29  Dean Jackson  <dino@apple.com>
3171
3172         Reviewed by Simon Fraser.
3173
3174         Add ENABLE macro for WebKitAnimation
3175         https://bugs.webkit.org/show_bug.cgi?id=59729
3176
3177         Add new feature to toggle WebKit Animation API.
3178
3179         * Configurations/FeatureDefines.xcconfig:
3180
3181 2011-04-29  Anders Carlsson  <andersca@apple.com>
3182
3183         Reviewed by Brian Weinstein.
3184
3185         Crash when closing a tab that is unresponsive
3186         https://bugs.webkit.org/show_bug.cgi?id=59810
3187         <rdar://problem/9329133>
3188
3189         Back out r84643 - there was no rationale for this change, and it's causing crashes.
3190
3191         * UIProcess/WebPageProxy.cpp:
3192         (WebKit::WebPageProxy::close):
3193         (WebKit::WebPageProxy::processDidCrash):
3194
3195 2011-04-29  Carlos Garcia Campos  <cgarcia@igalia.com>
3196
3197         Reviewed by Martin Robinson.
3198
3199         [GTK] Rename page as pageProxy in WebKitWebViewBase
3200         https://bugs.webkit.org/show_bug.cgi?id=59790
3201
3202         To avoid consufion between page client and page proxy. Also rename
3203         some methods to webkitWebViewBase* for consistency.
3204
3205         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3206         (webkitWebViewBaseFinalize):
3207         (webkitWebViewBaseExpose):
3208         (webkitWebViewBaseDraw):
3209         (webkitWebViewBaseSizeAllocate):
3210         (webkitWebViewBaseFocusInEvent):
3211         (webkitWebViewBaseFocusOutEvent):
3212         (webkitWebViewBaseKeyPressEvent):
3213         (webkitWebViewBaseKeyReleaseEvent):
3214         (webkitWebViewBaseButtonPressEvent):
3215         (webkitWebViewBaseButtonReleaseEvent):
3216         (webkitWebViewBaseScrollEvent):
3217         (webkitWebViewBaseMotionNotifyEvent):
3218         (webkit_web_view_base_class_init):
3219         (webkitWebViewBaseCreate):
3220         (webkitWebViewBaseGetPage):
3221
3222 2011-04-29  Carlos Garcia Campos  <cgarcia@igalia.com>
3223
3224         Unreviewed. Fix a crash after r85214.
3225
3226         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3227         (webkit_web_view_base_init): Add line to create the page client
3228         instance, removed by mistake in r85214.
3229
3230 2011-04-28  David Levin  <levin@chromium.org>
3231
3232         Reviewed by Adam Barth.
3233
3234         Remove IMAGE_RESIZER related code.
3235         https://bugs.webkit.org/show_bug.cgi?id=59735
3236
3237         * Configurations/FeatureDefines.xcconfig:
3238
3239 2011-04-28  Sam Weinig  <sam@webkit.org>
3240
3241         Reviewed by Gavin Barraclough.
3242
3243         Original patch by Austin Jennings.
3244
3245         <rdar://problem/9350288>
3246         Update sandbox profile for extension changes
3247
3248         * WebProcess/com.apple.WebProcess.sb:
3249
3250 2011-04-28  Anders Carlsson  <andersca@apple.com>
3251
3252         Reviewed by Darin Adler.
3253
3254         Right-clicking on a Flash movie in an iframe shows the browser context menu
3255         https://bugs.webkit.org/show_bug.cgi?id=59760
3256         <rdar://problem/9340541>
3257
3258         Move context menu event handling out into a separate function. Make sure to call
3259         EventHandler::sendContextMenuEvent on the event handler belonging to the frame of the
3260         node that was clicked, and not the main frame.
3261
3262         * WebProcess/WebPage/WebPage.cpp:
3263         (WebKit::handleContextMenuEvent):
3264         (WebKit::handleMouseEvent):
3265
3266 2011-04-28  Adam Barth  <abarth@webkit.org>
3267
3268         Reviewed by Eric Seidel.
3269
3270         Remove WML
3271         https://bugs.webkit.org/show_bug.cgi?id=59678
3272
3273         Remove WML-related code in WebKit2.
3274
3275         * Configurations/FeatureDefines.xcconfig:
3276         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
3277         * WebProcess/WebPage/WebBackForwardListProxy.h:
3278
3279 2011-04-28  Alexey Proskuryakov  <ap@apple.com>
3280
3281         Reviewed by Anders Carlsson.
3282
3283         WebKit2: Frequent crashes in acceptsFirstMouse
3284         https://bugs.webkit.org/show_bug.cgi?id=59746
3285         <rdar://problem/9281270>
3286
3287         The crash occurred when connection was null (and it can become null at any time).
3288
3289         Added checks for the proxy being valid in all sync calls that lacked such.
3290         WebPageProxy::isValid() is not the same as WebProcessProxy::isValid(), but existing checks
3291         looked at the former, so I used that.
3292
3293         * UIProcess/WebPageProxy.cpp:
3294         (WebKit::WebPageProxy::firstRectForCharacterInSelectedRange):
3295         (WebKit::WebPageProxy::getSelectedText):
3296         (WebKit::WebPageProxy::gestureWillBegin):
3297         (WebKit::WebPageProxy::createSnapshotOfVisibleContent):
3298         * UIProcess/mac/WebPageProxyMac.mm:
3299         (WebKit::WebPageProxy::setComposition):
3300         (WebKit::WebPageProxy::confirmComposition):
3301         (WebKit::WebPageProxy::confirmCompositionWithoutDisturbingSelection):
3302         (WebKit::WebPageProxy::insertText):
3303         (WebKit::WebPageProxy::getMarkedRange):
3304         (WebKit::WebPageProxy::getSelectedRange):
3305         (WebKit::WebPageProxy::getAttributedSubstringFromRange):
3306         (WebKit::WebPageProxy::characterIndexForPoint):
3307         (WebKit::WebPageProxy::firstRectForCharacterRange):
3308         (WebKit::WebPageProxy::executeKeypressCommands):
3309         (WebKit::WebPageProxy::writeSelectionToPasteboard):
3310         (WebKit::WebPageProxy::readSelectionFromPasteboard):
3311         (WebKit::WebPageProxy::shouldDelayWindowOrderingForEvent):
3312         (WebKit::WebPageProxy::acceptsFirstMouse):
3313
3314 2011-04-27  Brian Weinstein  <bweinstein@apple.com>
3315
3316         Reviewed by Timothy Hatcher.
3317
3318         Mac side of: WebKit2: Support docked mode for Web Inspector
3319         https://bugs.webkit.org/show_bug.cgi?id=59134
3320         <rdar://problem/8739005>
3321
3322         Implement docking of the Web Inspector on Mac. This matches the Windows (WK1 and WK2) closely,
3323         where the inspector and the inspected view are siblings.
3324
3325         * UIProcess/API/C/mac: Added.
3326         * UIProcess/API/C/mac/WKInspectorMac.h: Added.
3327         * UIProcess/API/mac/PageClientImpl.h:
3328         (WebKit::PageClientImpl::wkView): Returns the WKView.
3329         * UIProcess/PageClient.h:
3330         * UIProcess/WebInspectorProxy.h: The inspected view is now a WebInspectorWKView, so we can override tag.
3331         * UIProcess/WebPageProxy.h: Added a getter for the WKView.
3332
3333         * UIProcess/mac/WebInspectorProxyMac.mm:
3334         (-[WebInspectorProxyObjCAdapter inspectedViewFrameDidChange:]): Calls through to WebInspectorProxy::inspectedViewFrameDidChange.
3335         (-[WebInspectorWKView tag]): Returns a constant defined in WKInspectorMac.h.
3336         (WebKit::WebInspectorProxy::platformCreateInspectorPage): Create a WebInspectorWKView instead of a WKView.
3337         (WebKit::WebInspectorProxy::platformClose): Removed a FIXME that isn't needed anymore (we always detach before closing).
3338         (WebKit::WebInspectorProxy::inspectedViewFrameDidChange): Place our inspector and the inspected view next to each other, assuming the
3339             bottom of the inspector is at the Y origin.
3340         (WebKit::WebInspectorProxy::platformAttach): Listen for changes to the inspected view's frame, and move the inspectorView from the
3341             detached inspector window to the superview of the inspected view (to make the inspector and inspected view siblings).
3342         (WebKit::WebInspectorProxy::platformDetach): Stop listening for changes to the inspected view's frame, and move the inspectorView
3343             back to the detached inspector window. We also resize the inspected view to take up the space the inspector took up before
3344             (assuming the bottom of the inspector was at the Y origin).
3345         (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): Resize the inspector's view, and call inspectedViewFrameDidChange (which
3346             syncs the inspector and the inspected view), and call setNeedsDisplay on both views.
3347         * UIProcess/mac/WebPageProxyMac.mm:
3348         (WebKit::WebPageProxy::wkView):
3349         
3350         * WebKit2.xcodeproj/project.pbxproj: Add a new file.
3351
3352 2011-04-28  Jessie Berlin  <jberlin@apple.com>
3353
3354         Reviewed by Darin Adler.
3355
3356         Crash under WKPageCreateSnapshotOfVisibleContent if there is no response from the Web Process
3357         in the allotted time.
3358         https://bugs.webkit.org/show_bug.cgi?id=59738
3359
3360         If the handle is null, don't try to create a ShareableBitmap and then a WebImage out of it.
3361
3362         * UIProcess/WebPageProxy.cpp:
3363         (WebKit::WebPageProxy::createSnapshotOfVisibleContent):
3364
3365 2011-04-28  Xan Lopez  <xlopez@igalia.com>
3366
3367         Reviewed by Martin Robinson.
3368
3369         [Gtk] Split JSC and WebCore builds
3370         https://bugs.webkit.org/show_bug.cgi?id=19428
3371
3372         Build JavaScriptCore as a libtool shared library instead of a
3373         private convenience library.
3374
3375         * GNUmakefile.am: adapt to new name for javascriptcore target.
3376
3377 2011-04-28  Brady Eidson  <beidson@apple.com>
3378
3379         Reviewed by Sam Weinig.
3380
3381         <rdar://problem/8773946> and https://bugs.webkit.org/show_bug.cgi?id=59614
3382         Client certificate authentication in WebKit2
3383
3384         Project-file stuff:
3385         * WebKit2.xcodeproj/project.pbxproj:
3386
3387         Allow WKCredentials to store certificates:
3388         * UIProcess/Authentication/WebCredential.cpp:
3389         (WebKit::WebCredential::WebCredential):
3390         (WebKit::WebCredential::certificateInfo):
3391         * UIProcess/Authentication/WebCredential.h:
3392         (WebKit::WebCredential::create):
3393         * UIProcess/API/C/WKCredential.cpp:
3394         (WKCredentialCreateWithCertificateInfo):
3395         * UIProcess/API/C/WKCredential.h:
3396
3397         Pass the certificate info over the wire to the WebProcess:
3398         * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
3399         (WebKit::AuthenticationChallengeProxy::useCredential): 
3400
3401         Change the WebProcess to prefer certificate info over basic credentials when responding to a challenge:
3402         * WebProcess/Authentication/AuthenticationManager.cpp:
3403         (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge): Stub for platforms other than Mac,
3404           as only Mac can currently respond to challenges with certificates.
3405         (WebKit::AuthenticationManager::useCredentialForChallenge):
3406         * WebProcess/Authentication/AuthenticationManager.h:
3407         * WebProcess/Authentication/AuthenticationManager.messages.in:
3408         * WebProcess/Authentication/mac: Added.
3409         * WebProcess/Authentication/mac/AuthenticationManager.mac.mm: Added.
3410         (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge): Recreate the identity and certificate
3411           chain and respond to the challenge with it.
3412
3413         Add a newly required #include:
3414         * UIProcess/API/C/WKAuthenticationChallenge.cpp:
3415         * UIProcess/Authentication/AuthenticationDecisionListener.cpp:
3416
3417 2011-04-28  Martin Robinson  <mrobinson@igalia.com>
3418
3419         Reviewed by Xan Lopez.
3420
3421         [GTK] Click counting logic should be shared between WebKit1 and WebKit2
3422         https://bugs.webkit.org/show_bug.cgi?id=59715
3423
3424         Use the GtkClickCounter instead of doing click counting manually. This means that
3425         the code will now be shared between WebKit1 and WebKit2.
3426
3427         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3428         (webkit_web_view_base_init): Remove private member initialization.
3429         (webViewButtonPressEvent): Call into GtkClickCounter.
3430
3431 2011-04-28  Martin Robinson  <mrobinson@igalia.com>
3432
3433         Build fix after r85197.
3434
3435         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3436         (webViewExpose): Use cr.get() here.
3437         (webViewDraw): Small clean up.
3438
3439 2011-04-28  Carlos Garcia Campos  <cgarcia@igalia.com>
3440
3441         Reviewed by Sam Weinig.
3442
3443         [GTK] Remove WKURLCreateWithURL()
3444         https://bugs.webkit.org/show_bug.cgi?id=59691
3445
3446         The name is a bit confusing and there's already
3447         WKURLCreateWithUTF8CString() in the C API.
3448
3449         * UIProcess/API/C/gtk/WKView.cpp:
3450         * UIProcess/API/C/gtk/WKView.h:
3451
3452 2011-04-28  Carlos Garcia Campos  <cgarcia@igalia.com>
3453
3454         Reviewed by Martin Robinson.
3455
3456         [GTK] Make WebKitWebViewBase public in the API
3457         https://bugs.webkit.org/show_bug.cgi?id=59689
3458
3459         Add WebKitWebViewBasePrivate.h and move WebKitWebViewBase inernal
3460         methods to it. Rename get_type() method, since it's part of the
3461         public API and should follow gtk coding style.
3462
3463         * GNUmakefile.am: Add WebKitWebViewBasePrivate.h.
3464         * UIProcess/API/C/gtk/WKView.cpp: Use WebKitWebViewBasePrivate.h.
3465         * UIProcess/API/gtk/PageClientImpl.cpp: Ditto.
3466         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3467         (webkitWebViewBaseFinalize):
3468         (webkit_web_view_base_init):
3469         (webViewSizeAllocate):
3470         (webViewFocusInEvent):
3471         (webViewFocusOutEvent):
3472         (webViewKeyPressEvent):
3473         (webViewKeyReleaseEvent):
3474         (webkit_web_view_base_class_init):
3475         * UIProcess/API/gtk/WebKitWebViewBase.h:
3476         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Copied from Source/WebKit2/UIProcess/API/C/gtk/WKView.cpp.
3477         * UIProcess/gtk/ChunkedUpdateDrawingAreaProxyGtk.cpp: Use WebKitWebViewBasePrivate.h.
3478
3479 2011-04-28  Carlos Garcia Campos  <cgarcia@igalia.com>
3480
3481         Reviewed by Martin Robinson.
3482
3483         [GTK] Move WebView to UIProcess/API/gtk
3484         https://bugs.webkit.org/show_bug.cgi?id=59686
3485
3486         And rename it as PageClientImpl, since it's a page client
3487         implementation, not a web view.
3488
3489         * GNUmakefile.am:
3490         * UIProcess/API/C/gtk/WKView.cpp:
3491         * UIProcess/API/gtk/PageClientImpl.cpp: Renamed from Source/WebKit2/UIProcess/gtk/WebView.cpp.
3492         (WebKit::backspaceCallback):
3493         (WebKit::selectAllCallback):
3494         (WebKit::cutClipboardCallback):
3495         (WebKit::copyClipboardCallback):
3496         (WebKit::pasteClipboardCallback):
3497         (WebKit::toggleOverwriteCallback):
3498         (WebKit::popupMenuCallback):
3499         (WebKit::showHelpCallback):
3500         (WebKit::deleteFromCursorCallback):
3501         (WebKit::moveCursorCallback):
3502         (WebKit::PageClientImpl::PageClientImpl):
3503         (WebKit::PageClientImpl::~PageClientImpl):
3504         (WebKit::PageClientImpl::getEditorCommandsForKeyEvent):
3505         (WebKit::PageClientImpl::createDrawingAreaProxy):
3506         (WebKit::PageClientImpl::setViewNeedsDisplay):
3507         (WebKit::PageClientImpl::displayView):
3508         (WebKit::PageClientImpl::scrollView):
3509         (WebKit::PageClientImpl::viewSize):
3510         (WebKit::PageClientImpl::isViewWindowActive):
3511         (WebKit::PageClientImpl::isViewFocused):
3512         (WebKit::PageClientImpl::isViewVisible):
3513         (WebKit::PageClientImpl::isViewInWindow):
3514         (WebKit::PageClientImpl::PageClientImpl::processDidCrash):
3515         (WebKit::PageClientImpl::didRelaunchProcess):
3516         (WebKit::PageClientImpl::takeFocus):
3517         (WebKit::PageClientImpl::toolTipChanged):
3518         (WebKit::PageClientImpl::setCursor):
3519         (WebKit::PageClientImpl::setViewportArguments):
3520         (WebKit::PageClientImpl::registerEditCommand):
3521         (WebKit::PageClientImpl::clearAllEditCommands):
3522         (WebKit::PageClientImpl::canUndoRedo):
3523         (WebKit::PageClientImpl::executeUndoRedo):
3524         (WebKit::PageClientImpl::convertToDeviceSpace):
3525         (WebKit::PageClientImpl::convertToUserSpace):
3526         (WebKit::PageClientImpl::windowToScreen):
3527         (WebKit::PageClientImpl::doneWithKeyEvent):
3528         (WebKit::PageClientImpl::didNotHandleKeyEvent):
3529         (WebKit::PageClientImpl::createPopupMenuProxy):
3530         (WebKit::PageClientImpl::createContextMenuProxy):
3531         (WebKit::PageClientImpl::setFindIndicator):
3532         (WebKit::PageClientImpl::pageDidEnterAcceleratedCompositing):
3533         (WebKit::PageClientImpl::pageDidLeaveAcceleratedCompositing):
3534         (WebKit::PageClientImpl::didCommitLoadForMainFrame):
3535         (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
3536         (WebKit::PageClientImpl::customRepresentationZoomFactor):
3537         (WebKit::PageClientImpl::setCustomRepresentationZoomFactor):
3538         (WebKit::PageClientImpl::pageClosed):
3539         (WebKit::PageClientImpl::didChangeScrollbarsForMainFrame):
3540         (WebKit::PageClientImpl::flashBackingStoreUpdates):
3541         (WebKit::PageClientImpl::findStringInCustomRepresentation):
3542         (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation):
3543         * UIProcess/API/gtk/PageClientImpl.h: Renamed from Source/WebKit2/UIProcess/gtk/WebView.h.
3544         (WebKit::PageClientImpl::create):
3545         (WebKit::PageClientImpl::addPendingEditorCommand):
3546         (WebKit::PageClientImpl::userSpaceScaleFactor):
3547         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3548         (webkitWebViewBaseInit):
3549         (webkitWebViewBaseCreate):
3550         * UIProcess/API/gtk/WebKitWebViewBase.h:
3551         * UIProcess/gtk/ChunkedUpdateDrawingAreaProxyGtk.cpp:
3552
3553 2011-04-28  Carlos Garcia Campos  <cgarcia@igalia.com>
3554
3555         Reviewed by Martin Robinson.
3556
3557         [GTK] Use the WebPage object in WebKitWebViewBase
3558         https://bugs.webkit.org/show_bug.cgi?id=59683
3559
3560         It simplifies the implementation of the event callbacks. Remove
3561         also all the methods from the page client that are no longer
3562         needed.
3563
3564         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3565         (webkitWebViewBaseInit):
3566         (webViewExpose):
3567         (webViewDraw):
3568         (webViewSizeAllocate):
3569         (webViewFocusInEvent):
3570         (webViewFocusOutEvent):
3571         (webViewKeyPressEvent):
3572         (webViewKeyReleaseEvent):