dc82c754a54d7e56dec90461f3b08ce0da8949f1
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2011-09-30  Zeno Albisser  <zeno.albisser@nokia.com>
2
3         [Qt][WK2] Event delivery in QDesktopWebView is broken after merge of Qt5 refactor
4         https://bugs.webkit.org/show_bug.cgi?id=69105
5
6         This changes QDesktopWebView and QDesktopWebPageProxy to use QMouseEvent instead
7         of QGraphicsSceneMouseEvent.
8         Further it removes an endless loop introduced by the QSGItem::event() function
9         delivering inputMethodEvents but no other events.
10
11         Reviewed by Andreas Kling.
12
13         * Shared/NativeWebMouseEvent.h:
14         (WebKit::NativeWebMouseEvent::nativeEvent):
15         * Shared/NativeWebWheelEvent.h:
16         (WebKit::NativeWebWheelEvent::nativeEvent):
17         * Shared/qt/NativeWebMouseEventQt.cpp:
18         (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
19         * Shared/qt/NativeWebWheelEventQt.cpp:
20         (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
21         * Shared/qt/WebEventFactoryQt.cpp:
22         (WebKit::mouseButtonForEvent):
23         (WebKit::webEventTypeForEvent):
24         (WebKit::WebEventFactory::createWebMouseEvent):
25         (WebKit::WebEventFactory::createWebWheelEvent):
26         * Shared/qt/WebEventFactoryQt.h:
27         * UIProcess/API/qt/qdesktopwebview.cpp:
28         (QDesktopWebView::mousePressEvent):
29         (QDesktopWebView::mouseMoveEvent):
30         (QDesktopWebView::mouseReleaseEvent):
31         (QDesktopWebView::mouseDoubleClickEvent):
32         (QDesktopWebView::wheelEvent):
33         (QDesktopWebView::event):
34         * UIProcess/API/qt/qdesktopwebview.h:
35         * UIProcess/qt/qdesktopwebpageproxy.cpp:
36         (QDesktopWebPageProxy::handleEvent):
37         (QDesktopWebPageProxy::handleMouseMoveEvent):
38         (QDesktopWebPageProxy::handleMousePressEvent):
39         (QDesktopWebPageProxy::handleMouseReleaseEvent):
40         (QDesktopWebPageProxy::handleMouseDoubleClickEvent):
41         (QDesktopWebPageProxy::handleWheelEvent):
42         (QDesktopWebPageProxy::handleHoverMoveEvent):
43         * UIProcess/qt/qdesktopwebpageproxy.h:
44
45 2011-09-29  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
46
47         Initial implementation of WebInspector for WebKit2 GTK port.
48         https://bugs.webkit.org/show_bug.cgi?id=68235
49
50         Reviewed by Martin Robinson.
51
52         * UIProcess/WebInspectorProxy.cpp:
53         (WebKit::WebInspectorProxy::WebInspectorProxy): Initialize the native window handles of GTK.
54         * UIProcess/WebInspectorProxy.h: Add native window handle for inspector window.
55         * UIProcess/gtk/WebInspectorGtk.cpp:
56         (WebKit::inspectorFilesBasePath): Base folder for inspector resources.
57         (WebKit::inspectorWindowDestroyed): Invoked when inspector window is closed by user.
58         (WebKit::WebInspectorProxy::windowDestroyed): Resets the native handles to 0 when user closes the window.
59         (WebKit::WebInspectorProxy::platformCreateInspectorPage): Create the WebView for inspector.
60         (WebKit::WebInspectorProxy::platformOpen): Create the window for inspector.
61         (WebKit::WebInspectorProxy::platformDidClose): Close both WebView & window of inspector.
62         (WebKit::WebInspectorProxy::platformInspectedURLChanged): Update the title of inspector window.
63         (WebKit::WebInspectorProxy::inspectorPageURL): Return the absolute URL of inspector.html.
64         (WebKit::WebInspectorProxy::inspectorBaseURL): Return the location where inspector resources are present.
65         WebProcess is given read access to this folder only for loading file URLs by sandboxed extension.
66
67 2011-09-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
68
69         [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
70
71         QWidget and friends now live in the QtWidgets library. We update
72         includes in implementation files and private headers to us the
73         non-module-prefixed path, and leave the lookup for the include
74         path. For public headers we have to ifdef the includes as the
75         user might now have the modules we need in his QT config.
76
77         Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
78         have to update our code and use windowHandle() for setting the
79         parent relationships.
80
81         https://bugs.webkit.org/show_bug.cgi?id=68687
82
83         Reviewed by Andreas Kling.
84
85         * UIProcess/API/qt/qdesktopwebview.cpp:
86         * UIProcess/API/qt/qdesktopwebview.h:
87         * UIProcess/API/qt/tests/tests.pro:
88         * UIProcess/qt/ViewInterface.h:
89         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
90
91 2011-09-29  Carlos Garcia Campos  <cgarcia@igalia.com>
92
93         [GTK] Force single header include in WebKit2 GTK+ API
94         https://bugs.webkit.org/show_bug.cgi?id=69084
95
96         Reviewed by Martin Robinson.
97
98         Only <webkit2/webkit2.h> will be allowed for API users.
99
100         * GNUmakefile.am:
101         * UIProcess/API/gtk/WebKitError.h:
102         * UIProcess/API/gtk/WebKitWebContext.h:
103         * UIProcess/API/gtk/WebKitWebLoaderClient.h:
104         * UIProcess/API/gtk/WebKitWebView.h:
105         * UIProcess/API/gtk/WebKitWebViewBase.h:
106         * UIProcess/API/gtk/webkit2.h:
107
108 2011-09-29  Carlos Garcia Campos  <cgarcia@igalia.com>
109
110         [GTK] Explicitly call destructors for objects initialized with placement new syntax
111         https://bugs.webkit.org/show_bug.cgi?id=69079
112
113         Reviewed by Xan Lopez.
114
115         * UIProcess/API/gtk/WebKitWebContext.cpp:
116         (webkitWebContextFinalize): Call ~WebKitWebContextPrivate().
117         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
118         (webkitWebLoaderClientFinalize): Call ~WebKitWebLoaderClient().
119         (webkit_web_loader_client_class_init):
120         * UIProcess/API/gtk/WebKitWebView.cpp:
121         (webkitWebViewFinalize): Call ~WebKitWebViewPrivate().
122         (webkit_web_view_class_init):
123
124 2011-09-28  Martin Robinson  <mrobinson@igalia.com>
125
126         Fix the WebGL build on WebKit2 GTK+.
127
128         * GNUmakefile.am: Add OPENGL_LIBS to WebKit2 targets.
129
130 2011-09-28  Brent Fulgham  <bfulgham@webkit.org>
131
132         WinCairo build fix.
133
134         * WebProcess/WebPage/WebFrame.h: Add include of <wtc/RetainPtr.h>
135
136 2011-09-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
137
138         One more shot at fixing GTK+, this seems to make the dependencies
139         work.
140
141         * GNUmakefile.am:
142
143 2011-09-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
144
145         GTK+ build fix 3 - the return of the marshal.
146
147         * GNUmakefile.am:
148
149 2011-09-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
150
151         Second try at fixing the GTK+ build.
152
153         * GNUmakefile.am:
154
155 2011-09-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
156
157         Try to fix GTK+ build.
158
159         * GNUmakefile.am:
160
161 2011-09-28  Carlos Garcia Campos  <cgarcia@igalia.com>
162
163         [GTK] Fix webkit2 unit tests in debug builds
164         https://bugs.webkit.org/show_bug.cgi?id=69006
165
166         Reviewed by Martin Robinson.
167
168         We are currently using the WorQueue name as thread name which in
169         this moment can be com.apple.WebKit.ProcessLauncher or
170         com.apple.CoreIPC.ReceiveQueue. Both names are longer than 31
171         characters which is the limit of Visual Studio for thread
172         names. When log is enabled createThread() will assert instead of
173         truncate the name, so we need to make sure we don't use a name
174         longer than 31 characters.
175
176         * Platform/gtk/WorkQueueGtk.cpp:
177         (WorkQueue::platformInitialize):
178
179 2011-09-28  Carlos Garcia Campos  <cgarcia@igalia.com>
180
181         [GTK] Loader client implementation for WebKit2 GTK+ API
182         https://bugs.webkit.org/show_bug.cgi?id=68085
183
184         Reviewed by Martin Robinson.
185
186         Adds a new object, WebKitWebLoaderClient, that emits signals for
187         every page loader callback.
188
189         * GNUmakefile.am: Add new files to compilation.
190         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: Added.
191         (didStartProvisionalLoadForFrame):
192         (didReceiveServerRedirectForProvisionalLoadForFrame):
193         (didFailProvisionalLoadWithErrorForFrame):
194         (didCommitLoadForFrame):
195         (didFinishLoadForFrame):
196         (didFailLoadWithErrorForFrame):
197         (webkitWebLoaderClientConstructed):
198         (webkitWebLoaderClientSetProperty):
199         (webkitWebLoaderClientGetProperty):
200         (webkit_web_loader_client_init):
201         (webkit_web_loader_client_class_init):
202         * UIProcess/API/gtk/WebKitWebLoaderClient.h: Added.
203         * UIProcess/API/gtk/WebKitWebView.cpp:
204         (webkitWebViewConstructed): Create the loader client for the view.
205         (webkit_web_view_init):
206         (webkit_web_view_get_loader_client): Get the current loader client.
207         (webkit_web_view_set_loader_client): Set a new loader client.
208         * UIProcess/API/gtk/WebKitWebView.h:
209         * UIProcess/API/gtk/tests/testloading.c: Added.
210         (serverCallback):
211         (webLoadingFixtureSetup):
212         (webLoadingFixtureTeardown):
213         (getURIForPath):
214         (loadStatusProvisionalLoadStarted):
215         (loadStatusProvisionalLoadReceivedServerRedirect):
216         (loadStatusProvisionalLoadFailed):
217         (loadStatusLoadCommitted):
218         (loadStatusLoadFinished):
219         (loadStatusLoadFailed):
220         (testLoadingStatus):
221         (loadErrorProvisionalLoadStarted):
222         (loadErrorProvisionalLoadFailed):
223         (loadErrorLoadFinished):
224         (testLoadingError):
225         (main):
226         * UIProcess/API/gtk/webkit2marshal.list: Added.
227
228 2011-09-28  Carlos Garcia Campos  <cgarcia@igalia.com>
229
230         [GTK] Add WebKitError to GTK+ WebKit2 API
231         https://bugs.webkit.org/show_bug.cgi?id=68508
232
233         Reviewed by Martin Robinson.
234
235         Add WebKitNetworkError enum to define network errors.
236
237         * GNUmakefile.am: Add new files to compilation.
238         * UIProcess/API/gtk/WebKitError.cpp: Added.
239         (webkit_network_error_quark):
240         * UIProcess/API/gtk/WebKitError.h:
241         * UIProcess/API/gtk/WebKitPrivate.h: Add
242         COMPILE_ASSERT_MATCHING_ENUM macro.
243         * UIProcess/API/gtk/webkit2.h: Add WebKitError.h and
244         WebKitEnumTypes.h
245
246 2011-09-28  Carlos Garcia Campos  <cgarcia@igalia.com>
247
248         [GTK] Fix Programs/unittests/webkit2/testwebview
249         https://bugs.webkit.org/show_bug.cgi?id=68993
250
251         Reviewed by Philippe Normand.
252
253         * GNUmakefile.am: Add -DWEBKIT_EXEC_PATH.
254         * UIProcess/API/gtk/tests/testwebview.c:
255         (main): Get WebProcess path from WEBKIT_EXEC_PATH environment
256         variable.
257
258 2011-09-27  Mark Hahnenberg  <mhahnenberg@apple.com>
259
260         Add static version of JSCell::getCallData
261         https://bugs.webkit.org/show_bug.cgi?id=68741
262
263         Reviewed by Darin Adler.
264
265         In this patch we just extract the bodies of the virtual getCallData methods
266         throughout the JSCell inheritance hierarchy out into static methods, which are 
267         now called from the virtual methods.  This is an intermediate step in trying to 
268         move the virtual-ness of getCallData into our own method table stored in 
269         ClassInfo.  We need to convert the methods to static methods because static methods 
270         can be represented as function pointers rather than pointers to member functions, and
271         function pointers are smaller and faster to call than pointers to member functions.
272
273         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
274         (WebKit::JSNPMethod::getCallDataVirtual):
275         (WebKit::JSNPMethod::getCallData):
276         * WebProcess/Plugins/Netscape/JSNPMethod.h:
277         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
278         (WebKit::JSNPObject::getCallDataVirtual):
279         (WebKit::JSNPObject::getCallData):
280         * WebProcess/Plugins/Netscape/JSNPObject.h:
281
282 2011-09-27  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
283
284         [Qt] QDesktopWebView load zero size view test missing
285         https://bugs.webkit.org/show_bug.cgi?id=68655
286
287         Reviewed by Chang Shu.
288
289         Added test case to check load behavior with zero size view.
290
291         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadZeroSizeView.qml: Added.
292         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
293
294 2011-09-27  Carlos Garcia Campos  <cgarcia@igalia.com>
295
296         [GTK] Use WebKitWebContext in WebKitWebView
297         https://bugs.webkit.org/show_bug.cgi?id=67990
298
299         Reviewed by Martin Robinson.
300
301         Use webkit_web_context_get_default() instead of
302         WKContextGetSharedProcessContext() and add API to create a view
303         with a given web context and to return the current context
304         associated to the view.
305
306         * GNUmakefile.am: Add new files to compilation.
307         * UIProcess/API/gtk/WebKitPrivate.h: Added.
308         * UIProcess/API/gtk/WebKitWebContext.cpp:
309         (webkitWebContextGetWKContext): Private API to get the WKContext
310         wrapped by the WebKitWebContext.
311         * UIProcess/API/gtk/WebKitWebContextPrivate.h: Added.
312         * UIProcess/API/gtk/WebKitWebView.cpp:
313         (webkitWebViewConstructed): Create the webpage using the web
314         context of the view.
315         (webkitWebViewSetProperty):
316         (webkitWebViewGetProperty):
317         (webkit_web_view_init):
318         (webkit_web_view_class_init):
319         (webkit_web_view_new): Create a new view with the default context.
320         (webkit_web_view_new_with_context): Create a new view with the
321         given context.
322         (webkit_web_view_get_context): Return the context.
323         * UIProcess/API/gtk/WebKitWebView.h:
324         * UIProcess/API/gtk/tests/testwebview.c: Added.
325         (testWebViewDefaultContext):
326         (main):
327
328 2011-09-27  Carlos Garcia Campos  <cgarcia@igalia.com>
329
330
331         [GTK] Add WebKitWebContext to GTK API
332         https://bugs.webkit.org/show_bug.cgi?id=67931
333
334         Reviewed by Philippe Normand.
335
336         Initial implementation of WebKitWebContext for WebKit2 GTK API.
337
338         * GNUmakefile.am: Add new files to compilation.
339         * UIProcess/API/gtk/WebKitWebContext.cpp: Added.
340         (webkitWebContextFinalize):
341         (webkit_web_context_init):
342         (webkit_web_context_class_init):
343         (createDefaultWebContext):
344         (webkit_web_context_get_default):
345         * UIProcess/API/gtk/WebKitWebContext.h: Added.
346         * UIProcess/API/gtk/tests/testwebcontext.c:
347         (testWebContextDefault):
348         (main):
349         * UIProcess/API/gtk/webkit2.h: Add <webkit2/WebKitWebContext.h>.
350
351 2011-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>
352
353         Unreviewed, rolling out r96108, r96111, r96113, and r96116.
354         http://trac.webkit.org/changeset/96108
355         http://trac.webkit.org/changeset/96111
356         http://trac.webkit.org/changeset/96113
357         http://trac.webkit.org/changeset/96116
358         https://bugs.webkit.org/show_bug.cgi?id=68913
359
360         Wait for working Qt5 (Requested by ossy on #webkit).
361
362         * UIProcess/API/qt/qdesktopwebview.cpp:
363         (QDesktopWebViewPrivate::startDrag):
364         (QDesktopWebViewPrivate::didChangeToolTip):
365         (QDesktopWebViewPrivate::didChangeCursor):
366         (QDesktopWebViewPrivate::showContextMenu):
367         (QDesktopWebViewPrivate::chooseFiles):
368         * UIProcess/API/qt/qdesktopwebview.h:
369         * UIProcess/API/qt/tests/tests.pri:
370         * UIProcess/API/qt/tests/tests.pro:
371         * UIProcess/qt/ViewInterface.h:
372         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
373         (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop):
374
375 2011-09-27  Carlos Garcia Campos  <cgarcia@igalia.com>
376
377         [GTK] Rename WebKit2 GTK+ API main header as webkit2.h
378         https://bugs.webkit.org/show_bug.cgi?id=65178
379
380         Reviewed by Martin Robinson.
381
382         * GNUmakefile.am: Add webkit2.h.
383         * UIProcess/API/gtk/WebKitWebView.h:
384         * UIProcess/API/gtk/webkit2.h: Renamed from Source/WebKit2/UIProcess/API/gtk/webkit/webkit.h.
385         * webkit2gtk.pc.in: Use webkitgtk-<api-version> as include dir.
386
387 2011-09-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
388
389         [Qt] Fix build of WebKit2 unit-tests after r96108
390
391         Reviewed by Andreas Kling.
392
393         * UIProcess/API/qt/tests/tests.pri:
394
395 2011-09-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
396
397         [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
398
399         QWidget and friends now live in the QtWidgets library. We update
400         includes in implementation files and private headers to us the
401         non-module-prefixed path, and leave the lookup for the include
402         path. For public headers we have to ifdef the includes as the
403         user might now have the modules we need in his QT config.
404
405         Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
406         have to update our code and use windowHandle() for setting the
407         parent relationships.
408
409         https://bugs.webkit.org/show_bug.cgi?id=68687
410
411         Reviewed by Andreas Kling.
412
413         * UIProcess/API/qt/qdesktopwebview.cpp:
414         * UIProcess/API/qt/qdesktopwebview.h:
415         * UIProcess/API/qt/tests/tests.pro:
416         * UIProcess/qt/ViewInterface.h:
417         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
418
419 2011-09-26  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
420
421         [Qt][WK2] Add support for hover API in Qt WebKit2
422         https://bugs.webkit.org/show_bug.cgi?id=68369
423
424         Reviewed by Andreas Kling.
425
426         Based on the patch from Igor Oliveira in the same bug.
427
428         Expose a linkHovered() signal in QDesktopWebView, that passes the QUrl and the
429         QString corresponding to the link title. I left textContent out because was
430         unsure of its use case.
431
432         In QDesktopWebView we store the last URL and title emitted to make sure we send
433         the signal only if either value changes. Tests were added to the QML element to
434         check: if values are correctly emitted and if we don't emit more signals than
435         necessary.
436
437         * UIProcess/API/qt/qdesktopwebview.cpp:
438         (QDesktopWebViewPrivate::didMouseMoveOverElement):
439         * UIProcess/API/qt/qdesktopwebview.h:
440         * UIProcess/API/qt/qdesktopwebview_p.h:
441         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml: Added.
442         * UIProcess/API/qt/tests/qmltests/common/test2.html:
443         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
444         * UIProcess/qt/ClientImpl.cpp:
445         (qt_wk_mouseDidMoveOverElement):
446         * UIProcess/qt/ClientImpl.h:
447         * UIProcess/qt/QtWebPageProxy.cpp:
448         (QtWebPageProxy::init):
449         * UIProcess/qt/TouchViewInterface.h:
450         (WebKit::TouchViewInterface::didMouseMoveOverElement):
451         * UIProcess/qt/ViewInterface.h:
452
453 2011-09-27  Alexis Menard  <alexis.menard@openbossa.org>
454
455         [Qt][WK2] API fixes for QML, the signal parameters needs to be named.
456         https://bugs.webkit.org/show_bug.cgi?id=68889
457
458         Reviewed by Andreas Kling.
459
460         Signal parameters needs to be explicitly named in QML to be accessible.
461         This patch fix this problem.
462
463         * UIProcess/API/qt/qdesktopwebview.h:
464         * UIProcess/API/qt/qtouchwebpage.h:
465
466 2011-09-27  Alexis Menard  <alexis.menard@openbossa.org>
467
468         [Qt][WK2] Mark FINAL properties which can't be overridden by a subclass.
469         https://bugs.webkit.org/show_bug.cgi?id=68848
470
471         Reviewed by Andreas Kling.
472
473         The presence of the FINAL attribute indicates that the property will not be 
474         overridden by a derived class. This can be used for performance optimizations
475         by QML.
476
477         * UIProcess/API/qt/qdesktopwebview.h:
478         * UIProcess/API/qt/qtouchwebpage.h:
479         * UIProcess/API/qt/qtouchwebview.h:
480         * UIProcess/API/qt/qwebnavigationcontroller.h:
481
482 2011-09-26  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
483
484         [Qt] Fix WK2 build after r96014
485         https://bugs.webkit.org/show_bug.cgi?id=68856
486
487         Reviewed by Gustavo Noronha Silva.
488
489         Commit r96014 added inspectorBaseURL for Qt but removed
490         inspectorPageURL, adding it back.
491
492         * UIProcess/qt/WebInspectorProxyQt.cpp:
493         (WebKit::WebInspectorProxy::inspectorPageURL):
494
495 2011-09-26  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
496
497         [Qt] [WK2] Fix build after r95982
498         https://bugs.webkit.org/show_bug.cgi?id=68842
499
500         Reviewed by Anders Carlsson.
501
502         The patch in r95982 removed the paint() function, because it was doing
503         nothing (in both implementations). This patch remove the call we had
504         for it to fix the build.
505
506         * UIProcess/qt/qtouchwebpageproxy.cpp:
507         (QTouchWebPageProxy::paintContent):
508
509 2011-09-26  Alexey Proskuryakov  <ap@apple.com>
510
511         REGRESSION (r95747): Activating the web inspector causes the web process to be killed
512         https://bugs.webkit.org/show_bug.cgi?id=68762
513
514         Reviewed by Anders Carlsson.
515
516         * UIProcess/WebInspectorProxy.cpp: (WebKit::WebInspectorProxy::createInspectorPage):
517         Tell Web process that loading resources from WebCore resources directory is OK.
518
519         * UIProcess/WebPageProxy.cpp:
520         (WebKit::WebPageProxy::loadHTMLString):
521         (WebKit::WebPageProxy::loadAlternateHTMLString):
522         * UIProcess/WebProcessProxy.cpp:
523         (WebKit::WebProcessProxy::assumeReadAccessToBaseURL):
524         * UIProcess/WebProcessProxy.h:
525         Renamed willLoadHTMLStringWithBaseURL to more generic assumeReadAccessToBaseURL.
526
527         * UIProcess/WebInspectorProxy.h:
528         * UIProcess/efl/WebInspectorEfl.cpp:
529         (WebKit::WebInspectorProxy::inspectorBaseURL):
530         * UIProcess/gtk/WebInspectorGtk.cpp:
531         (WebKit::WebInspectorProxy::inspectorBaseURL):
532         * UIProcess/mac/WebInspectorProxyMac.mm:
533         (WebKit::WebInspectorProxy::inspectorBaseURL):
534         * UIProcess/qt/WebInspectorProxyQt.cpp:
535         (WebKit::WebInspectorProxy::inspectorBaseURL):
536         * UIProcess/win/WebInspectorProxyWin.cpp:
537         (WebKit::WebInspectorProxy::inspectorBaseURL):
538         Report what base directory Inspector has access to.
539
540 2011-09-26  Nayan Kumar K  <nayankk@motorola.com>
541
542         Added WKHitTestResult API's.
543
544         WKHitTestResult API's are added. These API's can be used to
545         get the hover'ed link/image/media URL as well as link lable and
546         title.
547         https://bugs.webkit.org/show_bug.cgi?id=68426
548
549         Reviewed by Anders Carlsson.
550
551         * CMakeLists.txt:
552         * GNUmakefile.am:
553         * UIProcess/API/C/WKHitTestResult.cpp: Added.
554         (WKHitTestResultGetTypeID):
555         (WKHitTestResultCopyAbsoluteImageURL):
556         (WKHitTestResultCopyAbsoluteLinkURL):
557         (WKHitTestResultCopyAbsoluteMediaURL):
558         (WKHitTestResultCopyLinkLabel):
559         (WKHitTestResultCopyLinkTitle):
560         * UIProcess/API/C/WKHitTestResult.h: Added.
561         * UIProcess/API/C/WebKit2.h:
562         * WebKit2.xcodeproj/project.pbxproj:
563         * WebKit2API.pri:
564         * win/WebKit2.vcproj:
565         * win/WebKit2Generated.make:
566
567 2011-09-26  Csaba Osztrogonác  <ossy@webkit.org>
568
569         [Qt][WK2]Unreviewed speculative buildfix after r95968.
570
571         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
572         (WebKit::WebChromeClient::contentsSizeChanged):
573
574 2011-09-26  Anders Carlsson  <andersca@apple.com>
575
576         Remove an old DrawingAreaProxy::paint member function
577         https://bugs.webkit.org/show_bug.cgi?id=68825
578
579         Reviewed by Dan Bernstein.
580
581         * UIProcess/DrawingAreaProxy.h:
582         * UIProcess/DrawingAreaProxyImpl.cpp:
583         * UIProcess/DrawingAreaProxyImpl.h:
584         * UIProcess/TiledDrawingAreaProxy.cpp:
585         * UIProcess/TiledDrawingAreaProxy.h:
586
587 2011-09-26  Jer Noble  <jer.noble@apple.com>
588
589         White flash when entering full-screen using element.webkitRequestFullScreen()
590         https://bugs.webkit.org/show_bug.cgi?id=68481
591
592         Reviewed by Simon Fraser.
593
594         Do not re-enable screen updates after exiting compositing mode until a repaint has completed.
595
596         * UIProcess/mac/WKFullScreenWindowController.mm:
597         (-[WKFullScreenWindowController exitAcceleratedCompositingMode]):
598         (continueExitCompositingModeAfterRepaintCallback):
599         (-[WKFullScreenWindowController _continueExitCompositingModeAfterRepaint]):
600
601 2011-09-23  Simon Fraser  <simon.fraser@apple.com>
602
603         Repaint tests don't work in WebKit2
604         https://bugs.webkit.org/show_bug.cgi?id=68453
605
606         Reviewed by Sam Weinig.
607         
608         Expose WKBundlePage methods to turn on repaint rect tracking
609         in WebKit2, for WebKitTestRunner.
610         
611         As part of the change, expose utility methods on WebPage
612         to get the main Frame and FrameView, which required renaming
613         the exisiting method that returns a WebFrame. Fix callers
614         of that method to handle null when necessary.
615
616         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
617         (WKBundlePageGetMainFrame):
618         (WKBundlePageSetTracksRepaints):
619         (WKBundlePageIsTrackingRepaints):
620         (WKBundlePageResetTrackedRepaints):
621         (WKBundlePageCopyTrackedRepaintRects):
622         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
623         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
624         (WebKit::findLargestFrameInFrameSet):
625         (WebKit::WebChromeClient::closeWindowSoon):
626         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
627         (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
628         (WebKit::WebFrameLoaderClient::dispatchDidLayout):
629         (WebKit::WebFrameLoaderClient::frameLoadCompleted):
630         (WebKit::WebFrameLoaderClient::restoreViewState):
631         (WebKit::WebFrameLoaderClient::provisionalLoadStarted):
632         (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
633         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
634         (WebKit::WebFrameLoaderClient::createPlugin):
635         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
636         (WebKit::WebEditorClient::documentFragmentFromAttributedString):
637         * WebProcess/WebPage/WebFrame.cpp:
638         (WebKit::WebFrame::isMainFrame):
639         * WebProcess/WebPage/WebPage.cpp:
640         (WebKit::WebPage::setTracksRepaints):
641         (WebKit::WebPage::isTrackingRepaints):
642         (WebKit::WebPage::resetTrackedRepaints):
643         (WebKit::WebPage::trackedRepaintRects):
644         (WebKit::WebPage::clearMainFrameName):
645         (WebKit::WebPage::layoutIfNeeded):
646         (WebKit::WebPage::mainFrameHasCustomRepresentation):
647         (WebKit::WebPage::mainFrame):
648         (WebKit::WebPage::mainFrameView):
649         * WebProcess/WebPage/WebPage.h:
650         (WebKit::WebPage::mainWebFrame):
651         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
652         (-[WKAccessibilityWebPageObject accessibilityHitTest:]):
653
654 2011-09-25  Mark Hahnenberg  <mhahnenberg@apple.com>
655
656         Add custom vtable struct to ClassInfo struct
657         https://bugs.webkit.org/show_bug.cgi?id=68567
658
659         Reviewed by Oliver Hunt.
660
661         Added CREATE_METHOD_TABLE macro to generate the custom vtable for the 
662         specified class in its ClassInfo.  Also added to it the first function to use 
663         this macro, visitChildren.  This is part of the process of getting rid of all 
664         C++ virtual methods in JSCell.  Eventually all virtual functions in JSCell 
665         that can't easily be converted to non-virtual functions will be put into 
666         this custom vtable structure.
667
668         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
669         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
670
671 2011-09-25  Adam Barth  <abarth@webkit.org>
672
673         Finish removing PLATFORM(BREWMP) by removing associated code
674         https://bugs.webkit.org/show_bug.cgi?id=68779
675
676         Reviewed by Sam Weinig.
677
678         * Scripts/generate-forwarding-headers.pl:
679
680 2011-09-25  Adam Barth  <abarth@webkit.org>
681
682         Remove PLATFORM(HAIKU) and associated code
683         https://bugs.webkit.org/show_bug.cgi?id=68774
684
685         Reviewed by Sam Weinig.
686
687         * Scripts/generate-forwarding-headers.pl:
688
689 2011-09-24  Adam Barth  <abarth@webkit.org>
690
691         Always enable ENABLE(OFFLINE_WEB_APPLICATIONS)
692         https://bugs.webkit.org/show_bug.cgi?id=68767
693
694         Reviewed by Eric Seidel.
695
696         * Configurations/FeatureDefines.xcconfig:
697         * UIProcess/qt/WebContextQt.cpp:
698         (WebKit::WebContext::applicationCacheDirectory):
699         * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
700         (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
701         (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
702         (WebKit::WebApplicationCacheManager::deleteAllEntries):
703         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
704         (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
705         * WebProcess/WebCoreSupport/WebChromeClient.h:
706         * WebProcess/WebProcess.cpp:
707         (WebKit::WebProcess::initializeWebProcess):
708         (WebKit::WebProcess::clearApplicationCache):
709         * WebProcess/WebProcess.h:
710
711 2011-09-23  Adam Klein  <adamk@chromium.org>
712
713         Add ENABLE_MUTATION_OBSERVERS feature flag
714         https://bugs.webkit.org/show_bug.cgi?id=68732
715
716         Reviewed by Ojan Vafai.
717
718         This flag will guard an implementation of the "Mutation Observers" proposed in
719         http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html
720
721         * Configurations/FeatureDefines.xcconfig:
722
723 2011-09-23  Varun Jain  <varunjain@google.com>
724
725         Refactor WebViewImpl::scrollFocusedNodeIntoRect to a better place and add tests 
726         https://bugs.webkit.org/show_bug.cgi?id=68198
727
728         Reviewed by Dimitri Glazkov.
729
730         * win/WebKit2.def:
731         * win/WebKit2CFLite.def:
732
733 2011-09-23  Chang Shu  <cshu@webkit.org>
734
735         [WK2] [Qt] Implement MouseDown/MouseUp/MouseMoveTo functions for WebKit2 EventSender
736         https://bugs.webkit.org/show_bug.cgi?id=68556
737
738         Implement the MouseDown/MouseUp/MouseMoveTo functions on Qt platform.
739
740         Reviewed by Darin Adler.
741
742         * Shared/API/c/WKGeometry.h:
743         (operator==):
744         * WebProcess/WebPage/WebPage.cpp:
745         (WebKit::WebPage::mouseEventSyncForTesting): initialize "handled"
746
747 2011-09-23  Anders Carlsson  <andersca@apple.com>
748
749         Move WebHitTestResult files to Shared/ in the Xcode project
750         https://bugs.webkit.org/show_bug.cgi?id=68718
751
752         Reviewed by Sam Weinig.
753
754         * WebKit2.xcodeproj/project.pbxproj:
755
756 2011-09-23  Anders Carlsson  <andersca@apple.com>
757
758         Add OVERRIDE to overrides of virtual member functions in client classes
759         https://bugs.webkit.org/show_bug.cgi?id=68702
760
761         Reviewed by Darin Adler.
762
763         Disable the warning in Xcode and VS2005 for using override and final when compiling as C++98,
764         and remove WebEditorClient::isEditable, WebChromeClient::formDidFocus,
765         WebChromeClient::formDidBlur and WebFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest since
766         they have been removed from their respective base classes.
767         
768         * Configurations/Base.xcconfig:
769         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
770         * WebProcess/WebCoreSupport/WebChromeClient.h:
771         * WebProcess/WebCoreSupport/WebContextMenuClient.h:
772         * WebProcess/WebCoreSupport/WebDatabaseManager.h:
773         * WebProcess/WebCoreSupport/WebDragClient.h:
774         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
775         * WebProcess/WebCoreSupport/WebEditorClient.h:
776         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
777         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
778         * WebProcess/WebCoreSupport/WebGeolocationClient.h:
779         * WebProcess/WebCoreSupport/WebInspectorClient.h:
780         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
781         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
782         * WebProcess/WebCoreSupport/WebPopupMenu.h:
783         * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
784         * win/WebKit2Common.vsprops:
785
786 2011-09-23  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
787
788         [Qt][WK2] QtFileDownloader ctor shouldn't call QtFileDownloader::onReadyRead()
789         https://bugs.webkit.org/show_bug.cgi?id=68696
790
791         Reviewed by Andreas Kling.
792
793         Instead of connecting signals and calling QtFileDownloader::onReadyRead()
794         on its constructor, QtFileDownloader will now handle this in start().
795
796         * WebProcess/Downloads/qt/DownloadQt.cpp:
797         (WebKit::Download::start):
798         * WebProcess/Downloads/qt/QtFileDownloader.cpp:
799         (WebKit::QtFileDownloader::QtFileDownloader):
800         (WebKit::QtFileDownloader::start):
801         * WebProcess/Downloads/qt/QtFileDownloader.h:
802
803 2011-09-22  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
804
805         [Qt] TouchWebView load test not running
806         https://bugs.webkit.org/show_bug.cgi?id=68620
807
808         Reviewed by Chang Shu.
809
810         Load test was not executed since it was missing in pro file. Added tst_load.qml to qmltests.pro
811
812         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
813
814 2011-09-22  Dean Jackson  <dino@apple.com>
815
816         Add ENABLE_CSS_FILTERS
817         https://bugs.webkit.org/show_bug.cgi?id=68652
818
819         Reviewed by Simon Fraser.
820
821         * Configurations/FeatureDefines.xcconfig:
822
823 2011-09-22  Simon Fraser  <simon.fraser@apple.com>
824
825         Add APIObjects for Size, Point, Rect
826         https://bugs.webkit.org/show_bug.cgi?id=68644
827
828         Reviewed by Sam Weinig.
829         
830         Make APIObjects for size, point and rect so that they can be
831         used in WKArrayRefs.
832         
833         Make some inline helper methods to create WKSize, WKPoint and WKRect
834         types.
835
836         * GNUmakefile.am:
837         * Shared/API/c/WKBase.h:
838         * Shared/API/c/WKGeometry.cpp: Copied from Source/WebKit2/Shared/API/c/WKGeometry.h.
839         (WKSizeGetTypeID):
840         (WKPointGetTypeID):
841         (WKRectGetTypeID):
842         (WKPointCreate):
843         (WKSizeCreate):
844         (WKRectCreate):
845         (WKSizeGetValue):
846         (WKPointGetValue):
847         (WKRectGetValue):
848         * Shared/API/c/WKGeometry.h:
849         (WKPoint::WKPointMake):
850         (WKPoint::WKSizeMake):
851         (WKPoint::WKRectMake):
852         * Shared/API/c/WKSharedAPICast.h:
853         * Shared/APIObject.h:
854         * Shared/UserMessageCoders.h:
855         (WebKit::UserMessageEncoder::baseEncode):
856         (WebKit::UserMessageDecoder::baseDecode):
857         * Shared/WebGeometry.h: Added.
858         (WebKit::WebSize::create):
859         (WebKit::WebSize::size):
860         (WebKit::WebSize::WebSize):
861         (WebKit::WebSize::type):
862         (WebKit::WebPoint::create):
863         (WebKit::WebPoint::point):
864         (WebKit::WebPoint::WebPoint):
865         (WebKit::WebPoint::type):
866         (WebKit::WebRect::create):
867         (WebKit::WebRect::rect):
868         (WebKit::WebRect::WebRect):
869         (WebKit::WebRect::type):
870         * WebKit2.pro:
871         * WebKit2.xcodeproj/project.pbxproj:
872         * WebKit2API.pri:
873         * win/WebKit2.vcproj:
874
875 2011-09-22  Alexey Proskuryakov  <ap@apple.com>
876
877         [WK2] UIProcess should check that WebProcess isn't sending unexpected file: URLs to it
878         https://bugs.webkit.org/show_bug.cgi?id=68573
879
880         Reviewed by Anders Carlsson.
881
882         Re-landing with a slightly less aggressive check.
883
884         * UIProcess/API/mac/WKView.mm:
885         (maybeCreateSandboxExtensionFromPasteboard): Return a boolean, telling the caller whether
886         an extension actually needed to be created
887         (-[WKView performDragOperation:]): Tell process proxy when the process is going to get
888         universal file read sandbox extension.
889
890         * UIProcess/WebContext.cpp:
891         (WebKit::WebContext::didPerformClientRedirect): Check the URLs.
892         (WebKit::WebContext::didPerformServerRedirect): Ditto.
893         (WebKit::WebContext::didUpdateHistoryTitle): Ditto.
894         (WebKit::WebContext::getPluginPath): Ditto. Also, properly parse the URL - we can never
895         assume that a string coming from WebProcess is a ParsedURLString.
896
897         * UIProcess/WebPageProxy.cpp:
898         (WebKit::WebPageProxy::reattachToWebProcessWithItem): Tell process proxy when the process
899         is going to get universal file read sandbox extension.
900         (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle): Changed to return a boolean,
901         telling the caller whether an extension actually needed to be created.
902         (WebKit::WebPageProxy::loadURL): Tell process proxy about extension.
903         (WebKit::WebPageProxy::loadURLRequest): Ditto.
904         (WebKit::WebPageProxy::loadHTMLString): Tell process proxy if a file URL was used as a base
905         one for a string. In this case, WebKit2 assumes that WebProcess has access to a subdirectory,
906         (typically, one where error page resources live), and can load from it.
907         (WebKit::WebPageProxy::loadAlternateHTMLString): Ditto.
908         (WebKit::WebPageProxy::goForward): Tell process proxy about extension.
909         (WebKit::WebPageProxy::goBack): Tell process proxy about extension.
910         (WebKit::WebPageProxy::goToBackForwardItem): Tell process proxy about extension.
911         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Check the URL.
912         (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
913         (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): Ditto.
914         (WebKit::WebPageProxy::decidePolicyForNavigationAction): Ditto.
915         (WebKit::WebPageProxy::decidePolicyForNewWindowAction): Ditto.
916         (WebKit::WebPageProxy::decidePolicyForResponse): Ditto.
917         (WebKit::WebPageProxy::didInitiateLoadForResource): Ditto.
918         (WebKit::WebPageProxy::didSendRequestForResource): Ditto.
919         (WebKit::WebPageProxy::didReceiveResponseForResource): Ditto.
920         (WebKit::WebPageProxy::missingPluginButtonClicked): Ditto.
921
922         * UIProcess/WebPageProxy.h: Changed initializeSandboxExtensionHandle() to return a bool,
923         and renamed to maybeInitializeSandboxExtensionHandle (matching WKView counterpart).
924
925         * UIProcess/WebProcessProxy.cpp:
926         (WebKit::WebProcessProxy::WebProcessProxy): Initialize m_mayHaveUniversalFileReadSandboxExtension.
927         It's going to be true if we ever granted an extension for "/".
928         (WebKit::WebProcessProxy::willLoadHTMLStringWithBaseURL): Remember the path, we should expect
929         that WebProcess will load subresources from it.
930         (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): Check that it's reasonable to expect
931         WebProcess send us a URL like this.
932         (WebKit::WebProcessProxy::addBackForwardItem): Check the URLs.
933
934         * UIProcess/WebProcessProxy.h: Added data members remembering what to expect from this process.
935
936         * UIProcess/cf/WebPageProxyCF.cpp: (WebKit::WebPageProxy::restoreFromSessionStateData):
937         Tell process proxy when the process is going to get universal file read sandbox extension.
938
939 2011-09-22  Alpha Lam  <hclam@chromium.org>
940
941         https://bugs.webkit.org/show_bug.cgi?id=68081
942         Fix scroll in page scaling mode.
943
944         Reviewed by Simon Fraser.
945
946         * WebProcess/Plugins/PluginView.cpp: Rename pageScaleFactor to frameScaleFactor.
947         (WebKit::PluginView::handleEvent):
948         (WebKit::PluginView::viewGeometryDidChange):
949         (WebKit::PluginView::clipRectInWindowCoordinates):
950
951 2011-09-22  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
952
953         [Qt] Redirection overflow errors have wrong error domain
954         https://bugs.webkit.org/show_bug.cgi?id=68612
955
956         Reviewed by Andreas Kling.
957
958         Redirection overflow currently puts the URL hostname in the errorDomain field
959         and therefore are treated as a QWebError::EngineError. From now on they
960         will be treated as QWebError::HttpError, since their error domain was modified
961         to "HTTP" in QNetworkReplyHandler::redirect().
962
963         * UIProcess/API/qt/qweberror.cpp:
964         (QWebError::type):
965
966 2011-09-22  Csaba Osztrogonác  <ossy@webkit.org>
967
968         REGRESSION(r95679): It broke everything.
969         https://bugs.webkit.org/show_bug.cgi?id=68611
970
971         Unreviewed rolling out r95679 and r95690, because it broke everything.
972
973         * UIProcess/API/mac/WKView.mm:
974         (maybeCreateSandboxExtensionFromPasteboard):
975         (-[WKView performDragOperation:]):
976         * UIProcess/WebContext.cpp:
977         (WebKit::WebContext::didPerformClientRedirect):
978         (WebKit::WebContext::didPerformServerRedirect):
979         (WebKit::WebContext::didUpdateHistoryTitle):
980         (WebKit::WebContext::getPluginPath):
981         * UIProcess/WebPageProxy.cpp:
982         (WebKit::WebPageProxy::reattachToWebProcessWithItem):
983         (WebKit::WebPageProxy::initializeSandboxExtensionHandle):
984         (WebKit::WebPageProxy::loadURL):
985         (WebKit::WebPageProxy::loadURLRequest):
986         (WebKit::WebPageProxy::loadHTMLString):
987         (WebKit::WebPageProxy::loadAlternateHTMLString):
988         (WebKit::WebPageProxy::goForward):
989         (WebKit::WebPageProxy::goBack):
990         (WebKit::WebPageProxy::goToBackForwardItem):
991         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
992         (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
993         (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
994         (WebKit::WebPageProxy::decidePolicyForNavigationAction):
995         (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
996         (WebKit::WebPageProxy::decidePolicyForResponse):
997         (WebKit::WebPageProxy::didInitiateLoadForResource):
998         (WebKit::WebPageProxy::didSendRequestForResource):
999         (WebKit::WebPageProxy::didReceiveResponseForResource):
1000         (WebKit::WebPageProxy::missingPluginButtonClicked):
1001         * UIProcess/WebPageProxy.h:
1002         * UIProcess/WebProcessProxy.cpp:
1003         (WebKit::WebProcessProxy::WebProcessProxy):
1004         (WebKit::WebProcessProxy::addBackForwardItem):
1005         * UIProcess/WebProcessProxy.h:
1006         * UIProcess/cf/WebPageProxyCF.cpp:
1007         (WebKit::WebPageProxy::restoreFromSessionStateData):
1008
1009 2011-09-21  Alexey Proskuryakov  <ap@apple.com>
1010
1011         [WK2] UIProcess should check that WebProcess isn't sending unexpected file: URLs to it
1012         https://bugs.webkit.org/show_bug.cgi?id=68573
1013
1014         Unreviewed follow-up fix.
1015
1016         * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
1017         Just like we allow null URLs, also allow empty strings.
1018
1019 2011-09-21  Julien Chaffraix  <jchaffraix@webkit.org>
1020
1021         Crash in RenderBox::paintMaskImages when GraphicsContext's painting is disabled
1022         https://bugs.webkit.org/show_bug.cgi?id=68133
1023
1024         Reviewed by Darin Adler.
1025
1026         * win/WebKit2.def:
1027         * win/WebKit2CFLite.def:
1028         Exported the new FrameView::paintControlTints function.
1029
1030 2011-09-21  Alexey Proskuryakov  <ap@apple.com>
1031
1032         [WK2] UIProcess should check that WebProcess isn't sending unexpected file: URLs to it
1033         https://bugs.webkit.org/show_bug.cgi?id=68573
1034
1035         Reviewed by Anders Carlsson.
1036
1037         * UIProcess/API/mac/WKView.mm:
1038         (maybeCreateSandboxExtensionFromPasteboard): Return a boolean, telling the caller whether
1039         an extension actually needed to be created
1040         (-[WKView performDragOperation:]): Tell process proxy when the process is going to get
1041         universal file read sandbox extension.
1042
1043         * UIProcess/WebContext.cpp:
1044         (WebKit::WebContext::didPerformClientRedirect): Check the URLs.
1045         (WebKit::WebContext::didPerformServerRedirect): Ditto.
1046         (WebKit::WebContext::didUpdateHistoryTitle): Ditto.
1047         (WebKit::WebContext::getPluginPath): Ditto. Also, properly parse the URL - we can never
1048         assume that a string coming from WebProcess is a ParsedURLString.
1049
1050         * UIProcess/WebPageProxy.cpp:
1051         (WebKit::WebPageProxy::reattachToWebProcessWithItem): Tell process proxy when the process
1052         is going to get universal file read sandbox extension.
1053         (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle): Changed to return a boolean,
1054         telling the caller whether an extension actually needed to be created.
1055         (WebKit::WebPageProxy::loadURL): Tell process proxy about extension.
1056         (WebKit::WebPageProxy::loadURLRequest): Ditto.
1057         (WebKit::WebPageProxy::loadHTMLString): Tell process proxy if a file URL was used as a base
1058         one for a string. In this case, WebKit2 assumes that WebProcess has access to a subdirectory,
1059         (typically, one where error page resources live), and can load from it.
1060         (WebKit::WebPageProxy::loadAlternateHTMLString): Ditto.
1061         (WebKit::WebPageProxy::goForward): Tell process proxy about extension.
1062         (WebKit::WebPageProxy::goBack): Tell process proxy about extension.
1063         (WebKit::WebPageProxy::goToBackForwardItem): Tell process proxy about extension.
1064         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Check the URL.
1065         (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
1066         (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): Ditto.
1067         (WebKit::WebPageProxy::decidePolicyForNavigationAction): Ditto.
1068         (WebKit::WebPageProxy::decidePolicyForNewWindowAction): Ditto.
1069         (WebKit::WebPageProxy::decidePolicyForResponse): Ditto.
1070         (WebKit::WebPageProxy::didInitiateLoadForResource): Ditto.
1071         (WebKit::WebPageProxy::didSendRequestForResource): Ditto.
1072         (WebKit::WebPageProxy::didReceiveResponseForResource): Ditto.
1073         (WebKit::WebPageProxy::missingPluginButtonClicked): Ditto.
1074
1075         * UIProcess/WebPageProxy.h: Changed initializeSandboxExtensionHandle() to return a bool,
1076         and renamed to maybeInitializeSandboxExtensionHandle (matching WKView counterpart).
1077
1078         * UIProcess/WebProcessProxy.cpp:
1079         (WebKit::WebProcessProxy::WebProcessProxy): Initialize m_mayHaveUniversalFileReadSandboxExtension.
1080         It's going to be true if we ever granted an extension for "/".
1081         (WebKit::WebProcessProxy::willLoadHTMLStringWithBaseURL): Remember the path, we should expect
1082         that WebProcess will load subresources from it.
1083         (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): Check that it's reasonable to expect
1084         WebProcess send us a URL like this.
1085         (WebKit::WebProcessProxy::addBackForwardItem): Check the URLs.
1086
1087         * UIProcess/WebProcessProxy.h: Added data members remembering what to expect from this process.
1088
1089         * UIProcess/cf/WebPageProxyCF.cpp: (WebKit::WebPageProxy::restoreFromSessionStateData):
1090         Tell process proxy when the process is going to get universal file read sandbox extension.
1091
1092 2011-09-19  Jer Noble  <jer.noble@apple.com>
1093
1094         Add settings to control the availability of the Web Audio API to WebKit and WebKit2.
1095         https://bugs.webkit.org/show_bug.cgi?id=68382
1096
1097         Add support for the webAudioEnabled preference in WebKit2.
1098
1099         Reviewed by Darin Adler.
1100
1101         * Shared/WebPreferencesStore.h: Add WebAudioEnabled getter and setter macro.
1102         * UIProcess/API/C/WKPreferences.cpp:
1103         (WKPreferencesSetWebAudioEnabled): Added.
1104         (WKPreferencesGetWebAudioEnabled): Added.
1105         * UIProcess/API/C/WKPreferences.h:
1106         * WebProcess/WebPage/WebPage.cpp:
1107         (WebKit::WebPage::updatePreferences): Update the webAudioEnabled preference.
1108
1109 2011-09-21  Dan Bernstein  <mitz@apple.com>
1110
1111         Use the prefix "WK" instead of "Web" for Objective-C classes defined in WebKit2.
1112
1113         Reviewed by Anders Carlsson.
1114
1115         Renamed WebInspectorProxyObjCAdapter to WKWebInspectorProxyObjCAdapter.
1116         Renamed WebInspectorWKView to WKWebInspectorWKView.
1117         Renamed WebFindIndicatorWindowAnimation to WKFindIndicatorWindowAnimation.
1118         Renamed WebFindIndicatorView to WKFindIndicatorView.
1119         Renamed WebUserDataWrapper to WKUserDataWrapper.
1120
1121         Updated the build phase checking for inappropriate Objective-C class names to disallow the prefix
1122         "Web" and only allow "WK".
1123
1124         * UIProcess/API/mac/FindIndicatorWindow.h:
1125         * UIProcess/API/mac/FindIndicatorWindow.mm:
1126         (WebKit::FindIndicatorWindow::setFindIndicator):
1127         (WebKit::FindIndicatorWindow::startFadeOutTimerFired):
1128         * UIProcess/WebInspectorProxy.h:
1129         * UIProcess/mac/WebContextMenuProxyMac.mm:
1130         (-[WKMenuTarget forwardContextMenuAction:]):
1131         (WebKit::nsMenuItemVector):
1132         * UIProcess/mac/WebInspectorProxyMac.mm:
1133         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
1134         (WebKit::WebInspectorProxy::platformOpen):
1135         * WebKit2.xcodeproj/project.pbxproj:
1136         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
1137         (WebKit::WebFullScreenManagerMac::WebFullScreenManagerMac):
1138
1139 2011-09-21  Chang Shu  <cshu@webkit.org>
1140
1141         [WK2] [Mac] Implement a more-complete MouseDown/MouseUp/MouseMoveTo functions for WebKit2 EventSender
1142         https://bugs.webkit.org/show_bug.cgi?id=68108
1143
1144         This patch implements the event sender mouse events through WebKit2 UIProcess which is
1145         closer to the real simulation than a WebProcess-only approach. The patch only supports Mac
1146         platform as the first step so the existing code is still kept for other platforms.
1147
1148         Reviewed by Darin Adler.
1149
1150         * UIProcess/API/C/WKPage.cpp:
1151         (WKPageSetShouldSendEventsSynchronously):
1152         * UIProcess/API/C/WKPagePrivate.h:
1153         * UIProcess/WebPageProxy.cpp:
1154         (WebKit::WebPageProxy::WebPageProxy):
1155         (WebKit::WebPageProxy::handleMouseEvent):
1156         (WebKit::WebPageProxy::handleKeyboardEvent):
1157         * UIProcess/WebPageProxy.h:
1158         (WebKit::WebPageProxy::setShouldSendEventsSynchronously):
1159         * WebProcess/WebPage/WebPage.cpp:
1160         (WebKit::WebPage::mouseEventSyncForTesting):
1161         * WebProcess/WebPage/WebPage.h:
1162         * WebProcess/WebPage/WebPage.messages.in:
1163
1164 2011-09-21  Dan Bernstein  <mitz@apple.com>
1165
1166         WebKit2 part of: Prevent the WebKit frameworks from defining inappropriately-named Objective-C classes
1167         https://bugs.webkit.org/show_bug.cgi?id=68451
1168
1169         Reviewed by Darin Adler.
1170
1171         * WebKit2.xcodeproj/project.pbxproj: Added a script build phase that invokes
1172         check-for-inappropriate-objc-class-names, allowing only class names prefixed with "WK" or "Web".
1173
1174 2011-09-21  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1175
1176         [Qt][WK2] Implement Download support in WebProcess
1177         https://bugs.webkit.org/show_bug.cgi?id=68153
1178
1179         Reviewed by Andreas Kling.
1180
1181         We implement the necessary functions of Download.h, and our QtFileDownloader
1182         to handle all network communication and call the necessary functions of Download.
1183
1184         We use the download policy for any MIME type not supported by WebKit. This
1185         behaves like Qt non-WebKit2 except that we don't force download when
1186         we encounter Content-Disposition: attachment. We still use the "filename="
1187         field for file name suggestion though.
1188
1189         Based on original patches by: Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>,
1190         Jocelyn Turcotte <jocelyn.turcotte@nokia.com>, Simon Hausmann <simon.hausmann@nokia.com>
1191         and Zalan Bujtas <zalan.bujtas@nokia.com>.
1192
1193         * UIProcess/API/qt/qweberror.cpp: Adding DownloadError
1194         (QWebError::type):
1195         * UIProcess/API/qt/qweberror.h: Adding DownloadError
1196         * WebKit2.pro:
1197         * WebProcess/Downloads/Download.cpp: Adding QtFileDownloader, Qt platform specific
1198         (WebKit::Download::Download):
1199         * WebProcess/Downloads/Download.h: Adding QtFileDownloader, Qt platform specific
1200         * WebProcess/Downloads/qt/DownloadQt.cpp:
1201         (WebKit::Download::start):
1202         (WebKit::Download::startWithHandle):
1203         (WebKit::Download::cancel):
1204         (WebKit::Download::platformInvalidate):
1205         (WebKit::Download::didDecideDestination):
1206         * WebProcess/Downloads/qt/QtFileDownloader.cpp: Added.
1207         (WebKit::QtFileDownloader::QtFileDownloader):
1208         (WebKit::QtFileDownloader::~QtFileDownloader):
1209         (WebKit::QtFileDownloader::determineFilename):
1210         (WebKit::QtFileDownloader::decidedDestination):
1211         (WebKit::QtFileDownloader::abortDownloadWritingAndEmitError):
1212         (WebKit::QtFileDownloader::onReadyRead):
1213         (WebKit::QtFileDownloader::onFinished):
1214         (WebKit::QtFileDownloader::onError):
1215         (WebKit::QtFileDownloader::cancel):
1216         * WebProcess/Downloads/qt/QtFileDownloader.h: Added.
1217
1218 2011-09-21  Mark Rowe  <mrowe@apple.com>
1219
1220         <rdar://problem/9890932> "Open PDF in Preview" on two PDFs of the same name does nothing the second time
1221
1222         The logic in PDFViewController::pathToPDFOnDisk that deals with constructing a unique
1223         file name if a file of the suggested name already exists was incorrect. It was appending
1224         the template used by mkstemps to the directory name component of the path rather than
1225         using it as a prefix on the filename portion of the path. This resulted in a template path
1226         like WebKitPDFs-ABCDEFXXXXXX-/foo.pdf where WebKitPDFs-ABCDEF/XXXXXX-foo.pdf was expected.
1227
1228         Reviewed by Jon Honeycutt.
1229
1230         * UIProcess/API/mac/PDFViewController.mm:
1231         (WebKit::PDFViewController::pathToPDFOnDisk): Append the template as a new path component,
1232         then append the suggested file name to that component.
1233
1234 2011-09-21  Andras Becsi  <andras.becsi@nokia.com>
1235
1236         [Qt] Remove Qt specific code from css/SelectorChecker.cpp
1237         https://bugs.webkit.org/show_bug.cgi?id=67702
1238
1239         Reviewed by Csaba Osztrogonác.
1240
1241         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Modify to match new prototype.
1242         (WebKit::WebPlatformStrategies::isLinkVisited):
1243         (WebKit::WebPlatformStrategies::addVisitedLink):
1244         * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto.
1245
1246 2011-09-20  Anders Carlsson  <andersca@apple.com>
1247
1248         Get rid of PluginView::setBoundsSize from WebKit2
1249         https://bugs.webkit.org/show_bug.cgi?id=68489
1250
1251         Reviewed by Dan Bernstein.
1252
1253         Remove m_boundsSize and the setter since they aren't used anywhere.
1254
1255         * WebProcess/Plugins/PluginView.cpp:
1256         * WebProcess/Plugins/PluginView.h:
1257
1258 2011-09-20  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
1259
1260         [Qt] QTouchWebView missing signal tests for loadProgress
1261         https://bugs.webkit.org/show_bug.cgi?id=68442
1262
1263         Reviewed by Chang Shu.
1264
1265         Added test case to check load progress signal for QTouchWebView
1266
1267         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml: Added.
1268         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
1269
1270 2011-09-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1271
1272         Unreviewed, rolling out r95565.
1273         http://trac.webkit.org/changeset/95565
1274         https://bugs.webkit.org/show_bug.cgi?id=68470
1275
1276         Broke builds (Requested by andersca on #webkit).
1277
1278         * GNUmakefile.am:
1279         * Shared/API/c/WKHitTestResult.cpp: Removed.
1280         * Shared/API/c/WKHitTestResult.h: Removed.
1281         * UIProcess/API/C/WebKit2.h:
1282
1283 2011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
1284
1285         [Qt] [WK2] Implement a persistent cookie storage.
1286         https://bugs.webkit.org/show_bug.cgi?id=65309
1287
1288         Reviewed by Chang Shu.
1289
1290         Add parameter to the WebProcess creation to specify where cookies should be saved.
1291         It also use the new cookie storage implementation and set it to our network stack
1292         so cookies are used when using it.
1293
1294         * Shared/WebProcessCreationParameters.cpp:
1295         (WebKit::WebProcessCreationParameters::encode):
1296         (WebKit::WebProcessCreationParameters::decode):
1297         * Shared/WebProcessCreationParameters.h:
1298         * UIProcess/qt/WebContextQt.cpp:
1299         (WebKit::WebContext::platformInitializeWebProcess):
1300         * WebProcess/qt/WebProcessQt.cpp:
1301         (WebKit::WebProcess::platformInitializeWebProcess):
1302         (WebKit::WebProcess::platformTerminate):
1303
1304 2011-09-20  Nayan Kumar K  <nayankk@motorola.com>
1305
1306         Added WKHitTestResult API's.
1307
1308         WKHitTestResult API's are added. These API's can be used to
1309         get the hover'ed link/image/media URL as well as link lable and
1310         title.
1311         https://bugs.webkit.org/show_bug.cgi?id=68426
1312
1313         Reviewed by Anders Carlsson.
1314
1315         * GNUmakefile.am:
1316         * Shared/API/c/WKHitTestResult.cpp: Copied from Source/WebKit2/UIProcess/API/C/WebKit2.h.
1317         (WKHitTestResultGetTypeID):
1318         (WKHitTestResultCopyAbsoluteImageURL):
1319         (WKHitTestResultCopyAbsoluteLinkURL):
1320         (WKHitTestResultCopyAbsoluteMediaURL):
1321         (WKHitTestResultCopyLinkLabel):
1322         (WKHitTestResultCopyLinkTitle):
1323         * Shared/API/c/WKHitTestResult.h: Copied from Source/WebKit2/UIProcess/API/C/WebKit2.h.
1324         * UIProcess/API/C/WebKit2.h:
1325
1326 2011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
1327
1328         [Qt][WK2] Add stubs for FULLSCREEN_API on Qt.
1329         https://bugs.webkit.org/show_bug.cgi?id=68444
1330
1331         Reviewed by Andreas Kling.
1332
1333         Create all the stubs necessary for enabling FULLSCREEN_API on the Qt port.
1334
1335         * UIProcess/qt/WebFullScreenManagerProxyQt.cpp: Added.
1336         (WebKit::WebFullScreenManagerProxy::invalidate):
1337         (WebKit::WebFullScreenManagerProxy::enterFullScreen):
1338         (WebKit::WebFullScreenManagerProxy::exitFullScreen):
1339         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreenAnimation):
1340         (WebKit::WebFullScreenManagerProxy::finishedEnterFullScreenAnimation):
1341         (WebKit::WebFullScreenManagerProxy::beganExitFullScreenAnimation):
1342         (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation):
1343         (WebKit::WebFullScreenManagerProxy::enterAcceleratedCompositingMode):
1344         (WebKit::WebFullScreenManagerProxy::exitAcceleratedCompositingMode):
1345         (WebKit::WebFullScreenManagerProxy::getFullScreenRect):
1346         * WebKit2.pro:
1347         * WebProcess/FullScreen/qt: Added.
1348         * WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp: Added.
1349         (WebKit::WebFullScreenManagerQt::WebFullScreenManagerQt):
1350         (WebKit::WebFullScreenManager::create):
1351         (WebKit::WebFullScreenManagerQt::setRootFullScreenLayer):
1352         (WebKit::WebFullScreenManagerQt::beginEnterFullScreenAnimation):
1353         (WebKit::WebFullScreenManagerQt::beginExitFullScreenAnimation):
1354         * WebProcess/FullScreen/qt/WebFullScreenManagerQt.h: Added.
1355
1356 2011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
1357
1358         [Qt][WK2] Export QNetworkReply in the QtWebKit QML module.
1359         https://bugs.webkit.org/show_bug.cgi?id=68401
1360
1361         Reviewed by Simon Hausmann.
1362
1363         Add QNetworkReply in the QtWebKit module. We use the enum QNetworkReply::NetworkError
1364         as the error code when the load fails. It is not used in the QtQuick module therefore
1365         the QML team thinks it should belong here. Also added some auto-tests to cover the
1366         loading errors.
1367
1368         * UIProcess/API/qt/qmlplugin/plugin.cpp:
1369         (WebKit2QmlPlugin::registerTypes):
1370         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml: Added.
1371         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml: Added.
1372
1373 2011-09-20  Csaba Osztrogonác  <ossy@webkit.org>
1374
1375         [Qt][Mac] Buildfix after r95513.
1376
1377         Rubber-stamped by Andras Becsi.
1378
1379         * Scripts/generate-forwarding-headers.pl: Add mm file supporting.
1380
1381 2011-09-20  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
1382
1383         [Qt] QDesktopWebView missing loadProgress tests
1384         https://bugs.webkit.org/show_bug.cgi?id=68280
1385
1386         Reviewed by Andreas Kling.
1387
1388         Added test case to check load progress property and signal for QDesktopWebView
1389
1390         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml: Added.
1391         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml: Added.
1392         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
1393
1394 2011-09-20  Carlos Garcia Campos  <cgarcia@igalia.com>
1395
1396         [GTK] WebProcess shouldn't use the GTK+ API
1397         https://bugs.webkit.org/show_bug.cgi?id=68062
1398
1399         Reviewed by Martin Robinson.
1400
1401         Use WebCore API to create errors in WebProcess.
1402
1403         * GNUmakefile.am: Don't use webkit/webkierror.h.
1404         * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
1405         (WebKit::cancelledError):
1406         (WebKit::blockedError):
1407         (WebKit::cannotShowURLError):
1408         (WebKit::interruptedForPolicyChangeError):
1409         (WebKit::cannotShowMIMETypeError):
1410         (WebKit::fileDoesNotExistError):
1411         (WebKit::pluginWillHandleLoadError):
1412
1413 2011-09-19  Mark Rowe  <mrowe@apple.com>
1414
1415         <http://webkit.org/b/68421> Stop calling UpdateSystemActivity in places where we hold power assertions that achieve the same effect
1416
1417         On SnowLeopard and newer it's not necessary to call UpdateSystemActivity to prevent the screensaver from kicking
1418         in as the NoDisplaySleep assertion now has that effect. It's also not necessary to hold both a NoDisplaySleep and
1419         a NoIdleSleep assertion as the latter is implied by the former.
1420
1421         Adopt the DisplaySleepDisabler class that was added to WebCore and remove all of duplicated logic from WKFullScreenWindowController.
1422
1423         Reviewed by Dan Bernstein.
1424
1425         * UIProcess/mac/WKFullScreenWindowController.h:
1426         * UIProcess/mac/WKFullScreenWindowController.mm:
1427         (-[WKFullScreenWindowController _updatePowerAssertions]): Create a DisplaySleepDisabler instance when transitioning from permitting
1428         display sleep to disabling display sleep. Clear out our reference when sleep should be permitted, destroying any
1429         disabler that we own. Also adds a FIXME about an error that was noticed while working in this code.
1430
1431 2011-09-19  Adam Barth  <abarth@webkit.org>
1432
1433         Always enable ENABLE(EVENTSOURCE)
1434         https://bugs.webkit.org/show_bug.cgi?id=68414
1435
1436         Reviewed by Eric Seidel.
1437
1438         * Configurations/FeatureDefines.xcconfig:
1439
1440 2011-09-19  Alexis Menard  <alexis.menard@openbossa.org>
1441
1442         [Qt] Unreviewed coding style fix.
1443
1444         * UIProcess/API/qt/qdesktopwebview.h:
1445         * UIProcess/API/qt/qtouchwebpage.h:
1446         * UIProcess/API/qt/qweberror.h:
1447
1448 2011-09-19  Alexis Menard  <alexis.menard@openbossa.org>
1449
1450         [Qt][WK2] Make loading errors API easier to use.
1451         https://bugs.webkit.org/show_bug.cgi?id=68357
1452
1453         Reviewed by Tor Arne Vestbø.
1454
1455         Make the API to get loading errors easier to use. 95197 introduced
1456         a QJSValue API that is a bit opaque for the client code. Rather than
1457         using a dedicated object, we can just pass the needed information as
1458         parameters of the slot.
1459
1460         * UIProcess/API/qt/qdesktopwebview.cpp:
1461         (QDesktopWebViewPrivate::loadDidFail):
1462         * UIProcess/API/qt/qdesktopwebview.h:
1463         * UIProcess/API/qt/qdesktopwebview_p.h:
1464         * UIProcess/API/qt/qtouchwebpage.h:
1465         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
1466         (tst_CommonViewTests::loadNonexistentFileUrl):
1467         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
1468         (WebViewAbstraction::WebViewAbstraction):
1469         (WebViewAbstraction::touchViewLoadFailed):
1470         (WebViewAbstraction::desktopViewLoadFailed):
1471         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
1472         * UIProcess/qt/QtWebPageProxy.cpp:
1473         (QtWebPageProxy::loadDidFail):
1474         * UIProcess/qt/TouchViewInterface.cpp:
1475         (WebKit::TouchViewInterface::loadDidFail):
1476         * UIProcess/qt/TouchViewInterface.h:
1477         * UIProcess/qt/ViewInterface.h:
1478
1479 2011-09-19  Dan Bernstein  <mitz@apple.com>
1480
1481         WebKit2 part of [mac] WebKit contains Objective-C classes that are not prefixed with its standard prefixes
1482         https://bugs.webkit.org/show_bug.cgi?id=68323
1483
1484         Reviewed by Sam Weinig.
1485
1486         Renamed FullKeyboardAccessWatcher to WKFullKeyboardAccessWatcher.
1487         Renamed AccessibilityWebPageObject to WKAccessibilityWebPageObject.
1488
1489         * WebKit2.xcodeproj/project.pbxproj:
1490         * WebProcess/WebPage/WebPage.h:
1491         * WebProcess/WebPage/mac/AccessibilityWebPageObject.h: Removed.
1492         * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm: Removed.
1493         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.h: Copied from Source/WebKit2/WebProcess/WebPage/mac/AccessibilityWebPageObject.h.
1494         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: Copied from Source/WebKit2/WebProcess/WebPage/mac/AccessibilityWebPageObject.mm.
1495         * WebProcess/WebPage/mac/WebPageMac.mm:
1496         (WebKit::WebPage::platformInitialize):
1497         (WebKit::WebPage::accessibilityRemoteObject):
1498         * WebProcess/mac/FullKeyboardAccessWatcher.h: Removed.
1499         * WebProcess/mac/FullKeyboardAccessWatcher.mm: Removed.
1500         * WebProcess/mac/WKFullKeyboardAccessWatcher.h: Copied from Source/WebKit2/WebProcess/mac/FullKeyboardAccessWatcher.h.
1501         * WebProcess/mac/WKFullKeyboardAccessWatcher.mm: Copied from Source/WebKit2/WebProcess/mac/FullKeyboardAccessWatcher.mm.
1502         (+[WKFullKeyboardAccessWatcher fullKeyboardAccessEnabled]):
1503         * WebProcess/mac/WebProcessMac.mm:
1504         (WebKit::WebProcess::fullKeyboardAccessEnabled):
1505
1506 2011-09-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1507
1508         [Qt] [WK2] Implement popup menus in QDesktopWebView using QComboBox
1509         https://bugs.webkit.org/show_bug.cgi?id=67938
1510
1511         Reviewed by Andreas Kling.
1512
1513         Implement a WebPopupMenuProxy that uses QtWebComboBox (a QComboBox subclass we
1514         have for WK1). Then use this WebPopupMenuProxy in QDesktopWebView. The implementation
1515         explicitly avoids running a nested mainloop.
1516
1517         * UIProcess/WebPageProxy.cpp:
1518         (WebKit::WebPageProxy::showPopupMenu):
1519         Since we don't run a nested mainloop, we need to keep the client pointer to call
1520         valueChangedForPopupMenu().
1521
1522         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp: Added.
1523         (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop):
1524         (WebKit::WebPopupMenuProxyQtDesktop::~WebPopupMenuProxyQtDesktop):
1525         (WebKit::WebPopupMenuProxyQtDesktop::showPopupMenu):
1526         (WebKit::WebPopupMenuProxyQtDesktop::hidePopupMenu):
1527         (WebKit::WebPopupMenuProxyQtDesktop::setSelectedIndex):
1528         (WebKit::WebPopupMenuProxyQtDesktop::onPopupMenuHidden):
1529         (WebKit::WebPopupMenuProxyQtDesktop::populate):
1530         * UIProcess/qt/WebPopupMenuProxyQtDesktop.h: Added.
1531         (WebKit::WebPopupMenuProxyQtDesktop::create):
1532         * UIProcess/qt/qdesktopwebpageproxy.cpp:
1533         (QDesktopWebPageProxy::createPopupMenuProxy):
1534         * UIProcess/qt/qdesktopwebpageproxy.h:
1535         * WebKit2.pro:
1536
1537 2011-09-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1538
1539         [GTK] Fix distcheck build
1540         https://bugs.webkit.org/show_bug.cgi?id=68241
1541
1542         Reviewed by Martin Robinson.
1543
1544         * GNUmakefile.am:
1545
1546 2011-09-17  Mihai Parparita  <mihaip@chromium.org>
1547
1548         FrameLoaderClient BackForwardList-related methods are unsued
1549         https://bugs.webkit.org/show_bug.cgi?id=68293
1550
1551         Reviewed by Darin Adler.
1552
1553         Remove FrameLoaderClient methods that were added by r51629, since only        
1554         the old (since-deleted) Android port needed them.
1555
1556         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1557         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
1558
1559 2011-09-16  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
1560         [Qt] QTouchWebView missing loadProgress tests
1561         https://bugs.webkit.org/show_bug.cgi?id=68183
1562
1563         Reviewed by Chang Shu.
1564
1565         Added test case to check load progress for QTouchWebView
1566
1567         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml: Added.
1568         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
1569
1570 2011-09-16  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
1571
1572         Removed unwanted NotImplemented.h inclusion in WebKit2 GTK port & platform independent files
1573         https://bugs.webkit.org/show_bug.cgi?id=68249
1574
1575         Reviewed by Martin Robinson.
1576
1577         * Shared/Plugins/NPIdentifierData.cpp: Removed NotImplemented.h inclusion.
1578         * Shared/Plugins/NPRemoteObjectMap.cpp: Removed NotImplemented.h inclusion.
1579         * Shared/Plugins/NPVariantData.cpp: Removed NotImplemented.h inclusion.
1580         * UIProcess/gtk/WebContextGtk.cpp: Removed NotImplemented.h inclusion.
1581         * WebProcess/Cookies/WebCookieManager.cpp: Removed NotImplemented.h inclusion.
1582         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp: Removed NotImplemented.h inclusion.
1583         * WebProcess/Plugins/Netscape/JSNPMethod.cpp: Removed NotImplemented.h inclusion.
1584         * WebProcess/Plugins/Netscape/NPJSObject.cpp: Removed NotImplemented.h inclusion.
1585         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: Removed NotImplemented.h inclusion.
1586         * WebProcess/WebCoreSupport/WebInspectorClient.cpp: Removed NotImplemented.h inclusion.
1587
1588 2011-09-16  Simon Fraser  <simon.fraser@apple.com>
1589
1590         Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
1591         https://bugs.webkit.org/show_bug.cgi?id=68134
1592
1593         Reviewed by Sam Weinig.
1594
1595         Hook up a private preference that enables the mock scrollbar theme.
1596
1597         * Shared/WebPreferencesStore.h:
1598         * UIProcess/API/C/WKPreferences.cpp:
1599         (WKPreferencesSetMockScrollbarsEnabled):
1600         (WKPreferencesGetMockScrollbarsEnabled):
1601         * UIProcess/API/C/WKPreferencesPrivate.h:
1602         * WebProcess/WebPage/WebPage.cpp:
1603         (WebKit::WebPage::updatePreferences):
1604
1605 2011-09-16  Mark Rowe  <mrowe@apple.com>
1606
1607         Stop installing source and header files in to WebKit2.framework after r95303.
1608
1609         * WebKit2.xcodeproj/project.pbxproj:
1610
1611 2011-09-16  Anders Carlsson  <andersca@apple.com>
1612
1613         Add back the WKHitTestResultRef parameter to mouseDidMoveOverElement in an ABI preserving way
1614         https://bugs.webkit.org/show_bug.cgi?id=68269
1615
1616         Reviewed by Geoffrey Garen.
1617
1618         Add back WKPageMouseDidMoveOverElementCallback last and deprecate the current callback.
1619
1620         * UIProcess/API/C/WKPage.h:
1621         * UIProcess/WebUIClient.cpp:
1622         (WebKit::WebUIClient::mouseDidMoveOverElement):
1623
1624 2011-09-16  Alexey Proskuryakov  <ap@apple.com>
1625
1626         Give local builds of WebProcess different icon to distinguish them from built-in Safari’s WebProcess
1627         https://bugs.webkit.org/show_bug.cgi?id=68268
1628
1629         Reviewed by Darin Adler.
1630
1631         * Configurations/WebProcess.xcconfig: Add an icon in Debug and Release builds.  The empty
1632         value for production resulted in WebKit not adding the key to plist at all, which is what
1633         we want (but I don't know if it's a supported feature).
1634         Also, don't copy the icon file to built framework in production builds.
1635
1636         * WebKit2.xcodeproj/project.pbxproj: Added WebKit.icns.
1637
1638         * WebProcess/Info.plist: Added a key for the icon.
1639
1640         * WebProcess/mac/WebKit.icns: Copied from Websites/webkit.org/images/surfin-safari.icns.
1641
1642 2011-09-16  Anders Carlsson  <andersca@apple.com>
1643
1644         Temporarily remove the WKHitTestResultRef parameter to avoid breaking the WK2 ABI/API
1645         https://bugs.webkit.org/show_bug.cgi?id=68266
1646
1647         Reviewed by John Sullivan.
1648
1649         * UIProcess/API/C/WKPage.h:
1650         * UIProcess/WebUIClient.cpp:
1651         (WebKit::WebUIClient::mouseDidMoveOverElement):
1652
1653 2011-09-16  Filip Pizlo  <fpizlo@apple.com>
1654
1655         DFG JIT should inline Math.abs
1656         https://bugs.webkit.org/show_bug.cgi?id=68227
1657
1658         Reviewed by Oliver Hunt.
1659
1660         Added JavaScriptCore/dfg to include path path.
1661
1662         * CMakeLists.txt:
1663
1664 2011-09-16  Igor Oliveira  <igor.oliveira@openbossa.org>
1665
1666         [WK2] mouseDidMoveOverElement needs to send more information about hovered element to UiProcess.
1667         https://bugs.webkit.org/show_bug.cgi?id=68125
1668
1669         This patch implements support for the UiProcess to know what is the link url of a hovered element.
1670
1671         Reviewed by Anders Carlsson.
1672
1673         * CMakeLists.txt:
1674         * GNUmakefile.am:
1675         * Shared/API/c/WKBase.h:
1676         * Shared/APIObject.h:
1677         * Shared/WebHitTestResult.cpp: Added.
1678
1679         WebHitTestResult has hovered element information.
1680
1681         (WebKit::WebHitTestResult::create):
1682         (WebKit::WebHitTestResult::Data::encode):
1683         (WebKit::WebHitTestResult::Data::decode):
1684         * Shared/WebHitTestResult.h: Added.
1685         (WebKit::WebHitTestResult::absoluteImageURL):
1686         (WebKit::WebHitTestResult::absoluteLinkURL):
1687         (WebKit::WebHitTestResult::absoluteMediaURL):
1688         (WebKit::WebHitTestResult::linkLabel):
1689         (WebKit::WebHitTestResult::linkTitle):
1690         (WebKit::WebHitTestResult::WebHitTestResult):
1691         (WebKit::WebHitTestResult::type):
1692         * UIProcess/API/C/WKAPICast.h:
1693         * UIProcess/API/C/WKPage.h:
1694         * UIProcess/WebPageProxy.cpp:
1695         (WebKit::WebPageProxy::mouseDidMoveOverElement):
1696         * UIProcess/WebPageProxy.h:
1697         * UIProcess/WebPageProxy.messages.in:
1698         * UIProcess/WebUIClient.cpp:
1699         (WebKit::WebUIClient::mouseDidMoveOverElement):
1700         * UIProcess/WebUIClient.h:
1701         * WebKit2.pro:
1702         * WebKit2.xcodeproj/project.pbxproj:
1703         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1704         (WebKit::WebChromeClient::mouseDidMoveOverElement):
1705         * win/WebKit2.vcproj:
1706
1707 2011-09-15  Adam Roben  <aroben@apple.com>
1708
1709         Add support for attributes on message parameters
1710
1711         Parameter attributes are specified as a space-separated list inside square brackets before
1712         the parameter's type. WebKit2 doesn't use this, but other projects that use these scripts
1713         would like to.
1714
1715         Fixes <http://webkit.org/b/68219> Would like a way to specify attributes on message
1716         parameters
1717
1718         Reviewed by Sam Weinig.
1719
1720         * Scripts/webkit2/messages_unittest.py: Added tests for parameter attributes.
1721
1722         * Scripts/webkit2/model.py:
1723         (Parameter.__init__): Added a new attributes parameter, which is stored in the self.attributes
1724         property.
1725         (Parameter.has_attribute): Added. Returns true if this parameter has the given attribute.
1726
1727         * Scripts/webkit2/parser.py:
1728         (parse): Moved attributes-parsing code from here...
1729         (parse_attributes_string): ...to here.
1730         (parse_parameters_string): Renamed from parse_parameter_string. Now also parses parameter
1731         attributes.
1732
1733 2011-09-15  Adam Roben  <aroben@apple.com>
1734
1735         Make WebKit2's message-generation model and parser scripts accessible to other projects
1736
1737         We copy them into the build products directory so other projects can find them.
1738
1739         Fixes <http://webkit.org/b/68169> Would like to be able to use WebKit2's message-generation
1740         scripts in other projects
1741
1742         Reviewed by Darin Adler.
1743
1744         * WebKit2.xcodeproj/project.pbxproj: Copy the scripts to PrivateHeaders.
1745
1746         * win/WebKit2.make: Copy the scripts from obj/WebKit2/scripts to
1747         tools/scripts, like WebCore does.
1748
1749         * win/WebKit2Generated.make: Copy the scripts to obj/WebKit2/scripts, which is similar to what
1750         WebCore does for its bindings scripts.
1751
1752 2011-09-15  Adam Roben  <aroben@apple.com>
1753
1754         Split some of the message-generation code into separate modules
1755
1756         This is in preparation for making these modules scripts usable by other projects.
1757
1758         Fixes <http://webkit.org/b/68217> Model and parsing functionality for WebKit2's
1759         message-generation scripts is trapped inside a much larger module
1760
1761         Reviewed by Darin Adler.
1762
1763         * DerivedSources.make:
1764         * DerivedSources.pro:
1765         * GNUmakefile.am:
1766         * WebKit2.xcodeproj/project.pbxproj:
1767         * win/WebKit2.vcproj:
1768         * win/WebKit2Generated.vcproj:
1769         Added new files.
1770
1771         * Scripts/webkit2/messages.py: Moved some code from here...
1772
1773         * Scripts/webkit2/model.py: Added.
1774         * Scripts/webkit2/parser.py: Added.
1775         ...to here. MessageReceiver.parse was split out into a function in the new parser module.
1776
1777         * Scripts/webkit2/messages_unittest.py: Updated for renames.
1778
1779 2011-09-16  Martin Robinson  <mrobinson@igalia.com>
1780
1781         [GTK] Disable WebKit2 by default in configure.ac, but enable it with build-webkit
1782         https://bugs.webkit.org/show_bug.cgi?id=68178
1783
1784         Reviewed by Xan Lopez.
1785
1786         * GNUmakefile.am: Do not build WebKit2 by default. Re-add pkgconfig support
1787         for WebKit2.
1788
1789 2011-09-15  Adam Barth  <abarth@webkit.org>
1790
1791         Rename ENABLE(DATABASE) to ENABLE(SQL_DATABASE)
1792         https://bugs.webkit.org/show_bug.cgi?id=68205
1793
1794         Reviewed by Eric Seidel.
1795
1796         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1797         * WebProcess/WebCoreSupport/WebChromeClient.h:
1798         * WebProcess/WebPage/WebPage.cpp:
1799         (WebKit::WebPage::updatePreferences):
1800         * WebProcess/WebProcess.cpp:
1801         (WebKit::WebProcess::initializeWebProcess):
1802
1803 2011-09-15  Eric Seidel  <eric@webkit.org>
1804
1805         Remove ENABLE(SVG_AS_IMAGE) since all major ports have it on by default
1806         https://bugs.webkit.org/show_bug.cgi?id=68182
1807
1808         Reviewed by Adam Barth.
1809
1810         * Configurations/FeatureDefines.xcconfig:
1811
1812 2011-09-15  Eric Seidel  <eric@webkit.org>
1813
1814         Remove ENABLE_SVG_ANIMATION as all major ports have it on by default
1815         https://bugs.webkit.org/show_bug.cgi?id=68022
1816
1817         Reviewed by Ryosuke Niwa.
1818
1819         * Configurations/FeatureDefines.xcconfig:
1820
1821 2011-09-15  Alexis Menard  <alexis.menard@openbossa.org>
1822
1823         [Qt][WK2] Make QWebError more friendly to QML.
1824         https://bugs.webkit.org/show_bug.cgi?id=67785
1825
1826         Reviewed by Simon Hausmann.
1827
1828         Make sure that we can use the loading errors in QML. We send it via a QJSValue which
1829         has the properties needed to get the error code, the url and the type of error.
1830
1831         * UIProcess/API/qt/qdesktopwebview.cpp:
1832         (QDesktopWebViewPrivate::loadDidFail):
1833         (QDesktopWebViewPrivate::engine):
1834         * UIProcess/API/qt/qdesktopwebview.h:
1835         * UIProcess/API/qt/qdesktopwebview_p.h:
1836         * UIProcess/API/qt/qtouchwebpage.h:
1837         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
1838         (tst_CommonViewTests::loadNonexistentFileUrl):
1839         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
1840         (WebViewAbstraction::WebViewAbstraction):
1841         (WebViewAbstraction::touchViewLoadFailed):
1842         (WebViewAbstraction::desktopViewLoadFailed):
1843         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
1844         * UIProcess/API/qt/tests/testwindow.h:
1845         * UIProcess/qt/QtWebPageProxy.cpp:
1846         (QtWebPageProxy::loadDidFail):
1847         * UIProcess/qt/QtWebPageProxy.h:
1848         * UIProcess/qt/TouchViewInterface.cpp:
1849         (WebKit::TouchViewInterface::loadDidFail):
1850         (WebKit::TouchViewInterface::engine):
1851         * UIProcess/qt/TouchViewInterface.h:
1852         * UIProcess/qt/ViewInterface.h:
1853
1854 2011-09-15  Adam Roben  <aroben@apple.com>
1855
1856         Remove WebKit2-specific knowledge from the Message class
1857
1858         This is in preparation for making some of our message-generations scripts usable by other
1859         projects.
1860
1861         Fixes <http://webkit.org/b/68170> Model classes in WebKit2's message-generation scripts know
1862         too much about WebKit2 details
1863
1864         Reviewed by Anders Carlsson.
1865
1866         * Scripts/webkit2/messages.py: Added constants for the message attributes we support.
1867         (MessageReceiver.parse): Instead of recognizing individual attributes, just stick the
1868         attributes into a set and pass it to the Message constructor.
1869         (Message.__init__): Changed to take a generic set of attributes instead of individual
1870         attributes.
1871         (Message.has_attribute): Added. Returns true if the message has an attribute.
1872         (message_is_variadic): Renamed from parameter_type_is_variadic. Code came from
1873         Message.__init__, which set the old message.is_variadic property.
1874
1875         (decode_type):
1876         (message_to_struct_declaration):
1877         (forward_declarations_and_headers):
1878         (async_case_statement):
1879         (sync_case_statement):
1880         (generate_message_handler):
1881         Updated to use Message.has_attribute and message_is_variadic.
1882
1883 2011-09-14  Wajahat Siddiqui  <mdwajahatali.siddiqui@motorola.com>
1884
1885         Eliminate WebKit2 compilation warnings.
1886         https://bugs.webkit.org/show_bug.cgi?id=65025
1887
1888         Warnings found with gcc on linux.
1889
1890         Reviewed by Sam Weinig.
1891
1892         * Platform/CoreIPC/ArgumentEncoder.cpp:
1893         (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
1894         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1895         (WebKit::WebFrameLoaderClient::createPlugin):
1896
1897 2011-09-14  Ada Chan  <adachan@apple.com>
1898
1899         Implement WKBundleFrameCopyWebArchive().
1900         http://bugs.webkit.org/show_bug.cgi?id=67857
1901
1902         Reviewed by Anders Carlsson.
1903
1904         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1905         (WKBundleFrameCopyWebArchive): Call WebFrame::webArchiveData() and create a WKDataRef from the returned CFDataRef.
1906         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
1907         * WebProcess/WebPage/WebFrame.cpp:
1908         (WebKit::WebFrame::webArchiveData): Add WebFrame::webArchiveData().
1909         * WebProcess/WebPage/WebFrame.h:
1910         * WebProcess/WebPage/WebPage.cpp:
1911         (WebKit::WebPage::getWebArchiveOfFrame): Move the logic to WebFrame::webArchiveData() and call that method here.
1912
1913 2011-09-14  Alexey Proskuryakov  <ap@apple.com>
1914
1915         Web Process doesn't need a permission to look up WebProcess service any more
1916         https://bugs.webkit.org/show_bug.cgi?id=68101
1917
1918         Reviewed by Anders Carlsson.
1919
1920         * WebProcess/com.apple.WebProcess.sb:
1921
1922 2011-09-14  Mark Hahnenberg  <mhahnenberg@apple.com>
1923
1924         Unzip initialization lists and constructors in JSCell hierarchy (6/7)
1925         https://bugs.webkit.org/show_bug.cgi?id=67692
1926
1927         Reviewed by Geoffrey Garen.
1928
1929         Completed the sixth level of the refactoring to add finishCreation() 
1930         methods to all classes within the JSCell hierarchy with non-trivial 
1931         constructor bodies.
1932
1933         This primarily consists of pushing the calls to finishCreation() down 
1934         into the constructors of the subclasses of the fifth level of the hierarchy 
1935         as well as pulling the finishCreation() calls out into the class's corresponding
1936         create() method if it has one.  Doing both simultaneously allows us to 
1937         maintain the invariant that the finishCreation() method chain is called exactly 
1938         once during the creation of an object, since calling it any other number of 
1939         times (0, 2, or more) will cause an assertion failure.
1940
1941         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1942         (WebKit::JSNPMethod::JSNPMethod):
1943         * WebProcess/Plugins/Netscape/JSNPMethod.h:
1944         (WebKit::JSNPMethod::create):
1945
1946 2011-09-13  Eric Seidel  <eric@webkit.org>
1947
1948         Remove ENABLE_SVG_USE as <use> is required by HTML5
1949         https://bugs.webkit.org/show_bug.cgi?id=68019
1950
1951         Reviewed by Ryosuke Niwa.
1952
1953         * Configurations/FeatureDefines.xcconfig:
1954
1955 2011-09-13  Anders Carlsson  <andersca@apple.com>
1956
1957         Disable C++ exceptions when building with clang
1958         https://bugs.webkit.org/show_bug.cgi?id=68031
1959         <rdar://problem/9556880>
1960
1961         Reviewed by Mark Rowe.
1962
1963         * Configurations/Base.xcconfig:
1964
1965 2011-09-13  Eric Seidel  <eric@webkit.org>
1966
1967         Remove ENABLE_SVG_FOREIGN_OBJECT as it is a required part of HTML5
1968         https://bugs.webkit.org/show_bug.cgi?id=68018
1969
1970         Reviewed by Ryosuke Niwa.
1971
1972         * Configurations/FeatureDefines.xcconfig:
1973
1974 2011-09-13  Chang Shu  <cshu@webkit.org>
1975
1976         [WK2] [Mac] Implement KeyDown function for WebKit2 EventSender.
1977         https://bugs.webkit.org/show_bug.cgi?id=57515
1978
1979         The code change in WebKit2 allows key events being sent to WebProcess from UIProcess synchronously.
1980
1981         Reviewed by Darin Adler.
1982
1983         * UIProcess/API/C/WKPage.cpp:
1984         (WKPageSetShouldSendKeyboardEventSynchronously):
1985         * UIProcess/API/C/WKPagePrivate.h:
1986         * UIProcess/WebPageProxy.cpp:
1987         (WebKit::WebPageProxy::WebPageProxy):
1988         (WebKit::WebPageProxy::handleKeyboardEvent):
1989         * UIProcess/WebPageProxy.h:
1990         (WebKit::WebPageProxy::setShouldSendKeyboardEventSynchronously):
1991         * WebProcess/WebPage/WebPage.cpp:
1992         (WebKit::WebPage::keyEventSyncForTesting):
1993         * WebProcess/WebPage/WebPage.h:
1994         * WebProcess/WebPage/WebPage.messages.in:
1995
1996 2011-09-12  Ryuan Choi  <ryuan.choi@samsung.com>
1997
1998         Reviewed by Eric Seidel.
1999
2000         [CMAKE][WK2] include cmakeconfig.h in WebKit2/config.h
2001         https://bugs.webkit.org/show_bug.cgi?id=62692
2002
2003         * CMakeLists.txt: define WTF_USE_JSC=1.
2004         * config.h: add cmakeconfig.h and define necessary macros for CMake build.
2005
2006 2011-09-12  Igor Oliveira  <igor.oliveira@openbossa.org>
2007
2008         [Qt] [WK2] implement support to upload files in Qt WebKit2
2009         https://bugs.webkit.org/show_bug.cgi?id=67228
2010
2011         This patch implements support to upload files in the Desktop Qt WebKit2 implementation.
2012
2013         Reviewed by Andreas Kling.
2014
2015         * Shared/WebOpenPanelParameters.h:
2016         (WebKit::WebOpenPanelParameters::selectedFileNames):
2017         * UIProcess/API/qt/qdesktopwebview.cpp:
2018         (QDesktopWebViewPrivate::chooseFiles):
2019         (QDesktopWebViewPrivate::onOpenPanelFilesSelected):
2020         (QDesktopWebViewPrivate::onOpenPanelFinished):
2021         * UIProcess/API/qt/qdesktopwebview_p.h:
2022         * UIProcess/qt/ClientImpl.cpp:
2023
2024         qt_wk_runOpenPanel supports single and multiple files selection.
2025
2026         (qt_wk_runOpenPanel):
2027         * UIProcess/qt/ClientImpl.h:
2028         * UIProcess/qt/QtWebPageProxy.cpp:
2029         (QtWebPageProxy::init):
2030         * UIProcess/qt/TouchViewInterface.h:
2031         (WebKit::TouchViewInterface::chooseFiles):
2032         * UIProcess/qt/ViewInterface.h:
2033
2034 2011-09-12  Alexis Menard  <alexis.menard@openbossa.org>
2035
2036         [Qt]Style error fix.
2037
2038         Reviewed by Andreas Kling.
2039
2040         * UIProcess/qt/QtWebPageProxy.cpp:
2041
2042 2011-09-11  Mark Rowe  <mrowe@apple.com>
2043
2044         <rdar://problem/9878268> Pressing caps lock after closing a showModalDialog window results in WebProcess exiting
2045
2046         It's incorrect to try and use -[NSApplication run] to run nested runloops as it is not possible to
2047         interrupt a nested invocation of -run without also causing outer invocations to exit after processing
2048         their next event. We can avoid this issue by using -[NSApplication run] for the outermost invocation
2049         of the main runloop, while using CFRunLoopRun for any nested invocations.
2050
2051         Reviewed by Anders Carlsson.
2052
2053         * Platform/RunLoop.h:
2054         * Platform/mac/RunLoopMac.mm:
2055         (RunLoop::RunLoop): Initialize the nesting level to 0.
2056         (RunLoop::run): Bump the nesting level, and only use -[NSApplication run] for the outermost invocation of the
2057         runloop. We also switch from -[NSRunloop run] to CFRunLoopRun as the former will only exit when it has no sources
2058         left to process, while CFRunLoopRun will return immediately after CFRunLoopStop is called on it.
2059         (RunLoop::stop): Only go down the NSApp path for the outermost invocation of the runloop.
2060
2061 2011-09-11  Balazs Kelemen  <kbalazs@webkit.org>
2062
2063         [Qt][WK2] Qt layer should be hardened against C API versioning in the sense of build failures
2064         https://bugs.webkit.org/show_bug.cgi?id=67094
2065
2066         Reviewed by Andreas Kling.
2067
2068         * UIProcess/qt/QtWebPageProxy.cpp:
2069         (QtWebPageProxy::init):
2070
2071 2011-09-09  Oliver Hunt  <oliver@apple.com>
2072
2073         Remove support for anonymous storage from jsobjects
2074         https://bugs.webkit.org/show_bug.cgi?id=67881
2075
2076         Reviewed by Sam Weinig.
2077
2078         Remove the use of AnonymousSlotCount.
2079
2080         * WebProcess/Plugins/Netscape/JSNPMethod.h:
2081         (WebKit::JSNPMethod::createStructure):
2082         * WebProcess/Plugins/Netscape/JSNPObject.h:
2083         (WebKit::JSNPObject::createStructure):
2084
2085 2011-09-09  Chris Marrin  <cmarrin@apple.com>
2086
2087         requestAnimationFrame doesn't throttle on Mac
2088         https://bugs.webkit.org/show_bug.cgi?id=67171
2089
2090         Reviewed by Simon Fraser.
2091
2092         Removed runLoopObserver for requestAnimationFrame. It's now
2093         done by a Timer in ScriptedAnimationController in WebCore.
2094
2095         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2096         * WebProcess/WebCoreSupport/WebChromeClient.h:
2097         * WebProcess/WebPage/WebPage.cpp:
2098         (WebKit::WebPage::~WebPage):
2099         * WebProcess/WebPage/WebPage.h:
2100         * WebProcess/WebPage/mac/WebPageMac.mm:
2101
2102 2011-09-09  Fady Samuel  <fsamuel@chromium.org>
2103
2104         Move pageScaleFactor code from Frame.{h|cpp} to Page.{h|cpp}
2105         https://bugs.webkit.org/show_bug.cgi?id=67250
2106
2107         Reviewed by Simon Fraser.
2108
2109         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2110         (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
2111         * WebProcess/WebPage/WebPage.cpp:
2112         (WebKit::WebPage::scalePage):
2113         (WebKit::WebPage::pageScaleFactor):
2114
2115 2011-09-09  Mark Hahnenberg  <mhahnenberg@apple.com>
2116
2117         Unzip initialization lists and constructors in JSCell hierarchy (5/7)
2118         https://bugs.webkit.org/show_bug.cgi?id=67420
2119
2120         Reviewed by Geoffrey Garen.
2121
2122         Completed the fifth level of the refactoring to add finishCreation() 
2123         methods to all classes within the JSCell hierarchy with non-trivial 
2124         constructor bodies.
2125
2126         This primarily consists of pushing the calls to finishCreation() down 
2127         into the constructors of the subclasses of the second level of the hierarchy 
2128         as well as pulling the finishCreation() calls out into the class's corresponding
2129         create() method if it has one.  Doing both simultaneously allows us to 
2130         maintain the invariant that the finishCreation() method chain is called exactly 
2131         once during the creation of an object, since calling it any other number of 
2132         times (0, 2, or more) will cause an assertion failure.
2133
2134         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
2135         (WebKit::JSNPMethod::JSNPMethod):
2136         (WebKit::JSNPMethod::finishCreation):
2137         * WebProcess/Plugins/Netscape/JSNPMethod.h:
2138         (WebKit::JSNPMethod::create):
2139         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2140         (WebKit::JSNPObject::JSNPObject):
2141         * WebProcess/Plugins/Netscape/JSNPObject.h:
2142         (WebKit::JSNPObject::create):
2143
2144 2011-09-08  Mark Rowe  <mrowe@apple.com>
2145
2146         <rdar://problem/9742393> Spell checking a text area causes the page to reload
2147
2148         Ensure that m_pendingLearnOrIgnoreWordMessageCount is incremented when we use
2149         executeEditCommand to ignore a word. This will ensure that WebPageProxy::ignoreWord
2150         is expecting to be called, and will not turn around and terminate the web process.
2151
2152         Reviewed by Anders Carlsson.
2153
2154         * UIProcess/WebPageProxy.cpp:
2155         (WebKit::WebPageProxy::executeEditCommand):
2156
2157 2011-09-08  Sam Weinig  <sam@webkit.org>
2158
2159         Remove accidentally committed typo.
2160
2161         * Platform/CoreIPC/Connection.cpp:
2162         (CoreIPC::Connection::waitForSyncReply):
2163
2164 2011-09-08  Brian Weinstein  <bweinstein@apple.com>
2165
2166         WebKit2: Assertion when calling didPerform*Redirect on null source/destination URL string
2167         https://bugs.webkit.org/show_bug.cgi?id=67794
2168         <rdar://problem/9892024>
2169         
2170         Don't call didPerformClientRedirect or didPerformServerRedirect when source or destination URL string
2171         is empty or null.
2172         
2173         If we call didPerformClientRedirect or didPerformServerRedirect when the source or destination is null,
2174         it causes an assert in WKURLCF::WKURLCopyCFURL when we try to convert the WKURLRef into a CFURLRef.
2175
2176         Reviewed by Brady Eidson.
2177
2178         * UIProcess/WebContext.cpp:
2179         (WebKit::WebContext::didPerformClientRedirect): Return early if the source or destination URL string is empty or null.
2180         (WebKit::WebContext::didPerformServerRedirect): Ditto.
2181
2182 2011-09-08  Sam Weinig  <sam@webkit.org>
2183
2184         Remove the Completion object from JSC, I have never liked it
2185         https://bugs.webkit.org/show_bug.cgi?id=67755
2186
2187         Reviewed by Gavin Barraclough.
2188
2189         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
2190         (WebKit::NPRuntimeObjectMap::evaluate):
2191
2192 2011-09-08  Anders Carlsson  <andersca@apple.com>
2193
2194         Don't release the modal placeholder window if it's closed
2195         https://bugs.webkit.org/show_bug.cgi?id=67801
2196         <rdar://problem/10088059>
2197
2198         Reviewed by Adam Roben.
2199
2200         This is a speculative fix - nothing should really be able to close the modal placeholder window.
2201
2202         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2203         (WebKit::PluginProcessProxy::beginModal):
2204
2205 2011-09-07  Alexei Svitkine  <asvitkine@chromium.org>
2206
2207         Add test infrastructure to test rubber-banding overhang drawing along with layout tests for existing Chromium Mac overhang drawing in the non-gpu path.
2208         https://bugs.webkit.org/show_bug.cgi?id=67511
2209
2210         Reviewed by Dimitri Glazkov.
2211
2212         * win/WebKit2.def:
2213         * win/WebKit2CFLite.def:
2214
2215 2011-09-06  Oliver Hunt  <oliver@apple.com>
2216
2217         Remove JSObjectWithGlobalObject
2218         https://bugs.webkit.org/show_bug.cgi?id=67689
2219
2220         Reviewed by Geoff Garen.
2221
2222         Remove JSObjectWithGlobalObject usage.
2223
2224         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2225         (WebKit::JSNPObject::JSNPObject):
2226         (WebKit::JSNPObject::finishCreation):
2227         * WebProcess/Plugins/Netscape/JSNPObject.h:
2228
2229 2011-09-05  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2230
2231         [Qt][WK2] Make TiledDrawingArea request tiles only in the direction the viewport is panned to.
2232         https://bugs.webkit.org/show_bug.cgi?id=67606
2233
2234         TiledBackingStore previously used different values for horizontal and vertial multiplication
2235         to calculate the cover area. 
2236         This patch replaces this mechanism, used to give a bigger panning range to vertical panning,
2237         with the possibility to use the motion vector of the viewport to request tiles ahead instead.
2238         This allows economies on rendering resources as tiles won't be rendered beside the trajectory
2239         of the viewport.
2240
2241         * UIProcess/API/qt/qtouchwebview.cpp:
2242         (QTouchWebViewPrivate::QTouchWebViewPrivate):
2243         (QTouchWebViewPrivate::_q_viewportMotionVectorChanged):
2244         * UIProcess/API/qt/qtouchwebview.h:
2245         * UIProcess/API/qt/qtouchwebview_p.h:
2246         * UIProcess/TiledDrawingAreaProxy.cpp:
2247         (WebKit::TiledDrawingAreaProxy::setVisibleContentRectMotionVector):
2248         * UIProcess/TiledDrawingAreaProxy.h:
2249         * UIProcess/qt/ViewportInteractionEngine.cpp:
2250         (WebKit::ViewportInteractionEngine::panGestureRequestUpdate):
2251         (WebKit::ViewportInteractionEngine::panGestureEnded):
2252         (WebKit::ViewportInteractionEngine::pinchGestureStarted):
2253         * UIProcess/qt/ViewportInteractionEngine.h:
2254         * UIProcess/qt/qtouchwebpageproxy.cpp:
2255         (QTouchWebPageProxy::setVisibleContentRectMotionVector):
2256         * UIProcess/qt/qtouchwebpageproxy.h:
2257         * WebProcess/WebPage/DrawingArea.h:
2258         (WebKit::DrawingArea::setVisibleContentRectMotionVector):
2259         * WebProcess/WebPage/DrawingArea.messages.in:
2260         * WebProcess/WebPage/TiledDrawingArea.cpp:
2261         (WebKit::TiledDrawingArea::setVisibleContentRectMotionVector):
2262         * WebProcess/WebPage/TiledDrawingArea.h:
2263
2264 2011-09-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2265
2266         [Qt] TiledBackingStore: Import the resizeEdgeTiles logic from TiledDrawindAreaProxy.
2267         https://bugs.webkit.org/show_bug.cgi?id=67416
2268
2269         Reviewed by Kenneth Rohde Christiansen.
2270
2271         Original code by Antti Koivisto.
2272         With the current code, when the page is layouted during load, edge tiles will
2273         get removed instead of continuing to show their front buffer while the tile
2274         is being rendered for the new size.
2275
2276         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
2277         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
2278         (WebKit::TiledBackingStoreRemoteTile::resize):
2279         * WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
2280
2281 2011-09-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2282
2283         TiledDrawingArea: Fix issues where the tiles of the previous scale would be removed too early.
2284         https://bugs.webkit.org/show_bug.cgi?id=67390
2285
2286         Reviewed by Tor Arne Vestbø.
2287
2288         The two issues addresssed are:
2289         - The previous instance of the tile backing store would be destroyed in createTile which
2290           would send removeTile messages for all its tiles before the DidRenderFrame message is sent for the new tiles.
2291         - When quickly changing the scale a second time after a scale change, the previous tile set would
2292           be replaced by the current incomplete tile set which may contain no tiles at all.
2293         * WebProcess/WebPage/TiledDrawingArea.cpp:
2294         (WebKit::TiledDrawingArea::setVisibleContentRectAndScale):
2295         (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd):
2296         (WebKit::TiledDrawingArea::createTile):
2297
2298 2011-08-30  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2299
2300         [Qt][WK2] The scene graph is rendered continuously even when the page is idle.
2301         https://bugs.webkit.org/show_bug.cgi?id=67195
2302
2303         Reviewed by Tor Arne Vestbø.
2304
2305         Since tiledBackingStorePaintEnd is called even when no tile is dirty, the TiledDrawingArea
2306         and its proxy are looping over DidRenderFrame and RenderNextFrame messages.
2307         This causes QSGItem::update() to be called and consumes a lot of useless CPU cycles on the UI process.
2308
2309         Introduce a bool to send DidRenderFrame only when dirty content was rendered.
2310
2311         * WebProcess/WebPage/TiledDrawingArea.cpp:
2312         (WebKit::TiledDrawingArea::TiledDrawingArea):
2313         (WebKit::TiledDrawingArea::tiledBackingStorePaint):
2314         (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd):
2315         * WebProcess/WebPage/TiledDrawingArea.h:
2316
2317 2011-08-30  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2318
2319         [Qt][WK2] Make sure that the visible content rect and the content scale get to the web process in one single message.
2320         https://bugs.webkit.org/show_bug.cgi?id=67189
2321
2322         Reviewed by Kenneth Rohde Christiansen.
2323
2324         The TiledBackingStore needs to know the screen size of the viewport to know how many tiles to
2325         create, and since the visible content rect is given in page coordinates, the contents scale is
2326         necessary to calculate the viewport size.
2327         Both the rect and the scale then need to arrive to the web process at the same time to prevent
2328         picking the new visible rect with the old scale or vice-versa which can produce a huge viewport size
2329         and create/render an insane amount of tiles.
2330
2331         Things this patch does:
2332         - Merge the visible contents rect and content scale handling together.
2333         - Make QTouchWebView responsible for telling those viewport values to the web process instead of QTouchWebPage.
2334         - Prevent updating the viewport in ViewportInteractionEngine while a pinch is in progress and update the viewport at the end.
2335
2336         * UIProcess/API/qt/qtouchwebpage.cpp:
2337         * UIProcess/API/qt/qtouchwebpage.h:
2338         * UIProcess/API/qt/qtouchwebpage_p.h:
2339         * UIProcess/API/qt/qtouchwebview.cpp:
2340         (QTouchWebViewPrivate::QTouchWebViewPrivate):
2341         (QTouchWebViewPrivate::_q_viewportUpdated):
2342         (QTouchWebView::geometryChanged):
2343         * UIProcess/API/qt/qtouchwebview.h:
2344         * UIProcess/API/qt/qtouchwebview_p.h:
2345         * UIProcess/TiledDrawingAreaProxy.cpp:
2346         (WebKit::TiledDrawingAreaProxy::setVisibleContentRectAndScale):
2347         * UIProcess/TiledDrawingAreaProxy.h:
2348         * UIProcess/qt/ViewportInteractionEngine.cpp:
2349         (WebKit::ViewportInteractionEngine::ViewportInteractionEngine):
2350         (WebKit::ViewportInteractionEngine::~ViewportInteractionEngine): Allows OwnPtr with the forward declaration of ViewportUpdateGuard.
2351         (WebKit::ViewportInteractionEngine::setConstraints):
2352         (WebKit::ViewportInteractionEngine::pinchGestureStarted):
2353         (WebKit::ViewportInteractionEngine::pinchGestureEnded):
2354         (WebKit::ViewportInteractionEngine::contentViewportChanged):
2355         * UIProcess/qt/ViewportInteractionEngine.h:
2356         * UIProcess/qt/qtouchwebpageproxy.cpp:
2357         (QTouchWebPageProxy::setVisibleContentRectAndScale):
2358         * UIProcess/qt/qtouchwebpageproxy.h:
2359         * WebProcess/WebPage/DrawingArea.h:
2360         (WebKit::DrawingArea::setVisibleContentRectAndScale):
2361         * WebProcess/WebPage/DrawingArea.messages.in:
2362         * WebProcess/WebPage/TiledDrawingArea.cpp:
2363         (WebKit::TiledDrawingArea::setVisibleContentRectAndScale):
2364         * WebProcess/WebPage/TiledDrawingArea.h:
2365
2366 2011-08-29  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2367
2368         [Qt][WK2] Rename SGAgent to SGUpdateQueue to sharpen it's responsability.
2369         https://bugs.webkit.org/show_bug.cgi?id=67122
2370
2371         Reviewed by Tor Arne Vestbø.
2372
2373         * UIProcess/API/qt/qtouchwebpage.cpp:
2374         (QTouchWebPage::updatePaintNode):
2375         (QTouchWebPagePrivate::QTouchWebPagePrivate):
2376         * UIProcess/API/qt/qtouchwebpage_p.h:
2377         * UIProcess/qt/SGUpdateQueue.cpp: Renamed from Source/WebKit2/UIProcess/qt/SGAgent.cpp.
2378         (WebKit::NodeUpdateCreateTile::NodeUpdateCreateTile):
2379         (WebKit::NodeUpdateRemoveTile::NodeUpdateRemoveTile):
2380         (WebKit::NodeUpdateSetBackBuffer::NodeUpdateSetBackBuffer):
2381         (WebKit::NodeUpdateSwapTileBuffers::NodeUpdateSwapTileBuffers):
2382         (WebKit::SGUpdateQueue::SGUpdateQueue):
2383         (WebKit::SGUpdateQueue::createTileNode):
2384         (WebKit::SGUpdateQueue::removeTileNode):
2385         (WebKit::SGUpdateQueue::setNodeBackBuffer):
2386         (WebKit::SGUpdateQueue::swapTileBuffers):
2387         (WebKit::SGUpdateQueue::applyUpdates):
2388         (WebKit::SGUpdateQueue::getScaleNode):
2389         * UIProcess/qt/SGUpdateQueue.h: Renamed from Source/WebKit2/UIProcess/qt/SGAgent.h.
2390         (WebKit::SGUpdateQueue::isSwapPending):
2391         (WebKit::NodeUpdate::NodeUpdate):
2392         (WebKit::NodeUpdate::~NodeUpdate):
2393         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
2394         (WebKit::TiledDrawingAreaProxy::updateWebView):
2395         (WebKit::TiledDrawingAreaProxy::createTile):
2396         (WebKit::TiledDrawingAreaProxy::updateTile):
2397         (WebKit::TiledDrawingAreaProxy::didRenderFrame):
2398         (WebKit::TiledDrawingAreaProxy::removeTile):
2399         * UIProcess/qt/TouchViewInterface.cpp:
2400         (WebKit::TouchViewInterface::sceneGraphUpdateQueue):
2401         * UIProcess/qt/TouchViewInterface.h:
2402         * WebKit2.pro:
2403
2404 2011-09-07  Alexis Menard  <alexis.menard@openbossa.org>
2405
2406         [Qt] Unreviewed suppression of an unnecessary debug output. 
2407
2408         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
2409
2410 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2411
2412         Unreviewed, rolling out r94627 and r94632.
2413         http://trac.webkit.org/changeset/94627
2414         http://trac.webkit.org/changeset/94632
2415         https://bugs.webkit.org/show_bug.cgi?id=67698
2416
2417         It broke tests on GTK and Qt (Requested by Ossy on #webkit).
2418
2419         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
2420         (WebKit::JSNPMethod::JSNPMethod):
2421         (WebKit::JSNPMethod::create):
2422         * WebProcess/Plugins/Netscape/JSNPMethod.h:
2423         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2424         (WebKit::JSNPObject::JSNPObject):
2425         (WebKit::JSNPObject::create):
2426         * WebProcess/Plugins/Netscape/JSNPObject.h:
2427
2428 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
2429
2430         fast/forms/suggested-value-crash.html crashes on Windows
2431         https://bugs.webkit.org/show_bug.cgi?id=67688
2432
2433         Reviewed by Adam Barth.
2434
2435         Removed sybmols for inputTag and textareaTag. Added the symbol for StringImpl::equal.
2436
2437         * win/WebKit2.def:
2438         * win/WebKit2CFLite.def:
2439
2440 2011-09-06  Mark Hahnenberg  <mhahnenberg@apple.com>
2441
2442         Unzip initialization lists and constructors in JSCell hierarchy (5/7)
2443         https://bugs.webkit.org/show_bug.cgi?id=67420
2444
2445         Reviewed by Geoffrey Garen.
2446
2447         Completed the fifth level of the refactoring to add finishCreation() 
2448         methods to all classes within the JSCell hierarchy with non-trivial 
2449         constructor bodies.
2450
2451         This primarily consists of pushing the calls to finishCreation() down 
2452         into the constructors of the subclasses of the second level of the hierarchy 
2453         as well as pulling the finishCreation() calls out into the class's corresponding
2454         create() method if it has one.  Doing both simultaneously allows us to 
2455         maintain the invariant that the finishCreation() method chain is called exactly 
2456         once during the creation of an object, since calling it any other number of 
2457         times (0, 2, or more) will cause an assertion failure.
2458
2459         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
2460         (WebKit::JSNPMethod::JSNPMethod):
2461         (WebKit::JSNPMethod::finishCreation):
2462         * WebProcess/Plugins/Netscape/JSNPMethod.h:
2463         (WebKit::JSNPMethod::create):
2464         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2465         (WebKit::JSNPObject::JSNPObject):
2466         * WebProcess/Plugins/Netscape/JSNPObject.h:
2467         (WebKit::JSNPObject::create):
2468
2469 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
2470
2471         Rename confirmCompositionWithoutDisturbingSelection to cancelComposition
2472         https://bugs.webkit.org/show_bug.cgi?id=67569
2473
2474         Reviewed by Antonio Gomes.
2475
2476         * UIProcess/API/mac/WKView.mm:
2477         (-[WKView resignFirstResponder]):
2478         (-[WKView _updateTextInputStateIncludingSecureInputState:]):
2479         * UIProcess/WebPageProxy.h:
2480         * UIProcess/mac/WebPageProxyMac.mm:
2481         (WebKit::WebPageProxy::cancelComposition):
2482         * WebProcess/WebPage/WebPage.h:
2483         * WebProcess/WebPage/WebPage.messages.in:
2484         * WebProcess/WebPage/mac/WebPageMac.mm:
2485         (WebKit::WebPage::cancelComposition):
2486
2487 2011-09-05  Oliver Hunt  <oliver@apple.com>
2488
2489         An object's structure should reference the global object responsible for its creation
2490         https://bugs.webkit.org/show_bug.cgi?id=67624
2491
2492         Reviewed by Gavin Barraclough.
2493
2494         Update for new Structure::create globalObject parameter.
2495
2496         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
2497         (WebKit::JSNPMethod::create):
2498         * WebProcess/Plugins/Netscape/JSNPMethod.h:
2499         (WebKit::JSNPMethod::createStructure):
2500         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2501         (WebKit::JSNPObject::create):
2502         * WebProcess/Plugins/Netscape/JSNPObject.h:
2503         (WebKit::JSNPObject::createStructure):
2504
2505 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
2506
2507         REGRESSION(r94274): FormManagerTest.PreviewForm and FillFormNonEmptyField fail on chromium
2508         https://bugs.webkit.org/show_bug.cgi?id=67453
2509
2510         Reviewed by Kent Tamura.
2511
2512         Add symbols for internals.
2513
2514         * win/WebKit2.def:
2515         * win/WebKit2CFLite.def:
2516
2517 2011-09-06  Wajahat Siddiqui  <mdwajahatali.siddiqui@motorola.com>
2518
2519         [GTK] Use soup_session_add_feature_by_type uniformly in WebKit2.
2520         https://bugs.webkit.org/show_bug.cgi?id=67593
2521
2522         Reviewed by Martin Robinson.
2523
2524         Using soup_session_add_feature_by_type for adding all soup features 
2525         instead of adding using GRefPtr.
2526
2527         * WebProcess/gtk/WebProcessMainGtk.cpp:
2528         (WebKit::WebProcessMainGtk):
2529
2530 2011-09-05  Balazs Kelemen  <kbalazs@webkit.org>
2531
2532         [Qt][WK2] Add pixel test support
2533         https://bugs.webkit.org/show_bug.cgi?id=66283
2534
2535         Reviewed by Andreas Kling.
2536
2537         * Shared/API/c/qt/WKImageQt.cpp: Added.
2538         (WKImageCreateQImage):  C style (private) API to get the contents of the backing
2539         store as an image.
2540         * Shared/API/c/qt/WKImageQt.h: Added.
2541         * Shared/qt/ShareableBitmapQt.cpp:
2542         (WebKit::ShareableBitmap::createImage): Typo. Remove useless ifdef.
2543         * WebKit2API.pri:
2544
2545 2011-09-05  Andras Becsi  <andras.becsi@nokia.com>
2546
2547         [Qt][WK2] Fix the build
2548
2549         Rubber-stamped by Csaba Osztrogonác.
2550
2551         * DerivedSources.pro: Add missing PluginProcessConnection.messages.in after r94456.
2552
2553 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
2554
2555         Unreviewed, rolling out r94473.
2556         http://trac.webkit.org/changeset/94473
2557         https://bugs.webkit.org/show_bug.cgi?id=67547
2558
2559         Putting http://trac.webkit.org/changeset/94454 back in as
2560         http://trac.webkit.org/changeset/94472 fixed the problem
2561         (Requested by msaboff on #webkit).
2562
2563         * UIProcess/API/C/WKContext.cpp:
2564         (WKContextGarbageCollectJavaScriptObjects):
2565         * UIProcess/API/C/WKContext.h:
2566         * UIProcess/WebContext.cpp:
2567         (WebKit::WebContext::garbageCollectJavaScriptObjects):
2568         * UIProcess/WebContext.h:
2569         * WebProcess/WebProcess.cpp:
2570         (WebKit::WebProcess::garbageCollectJavaScriptObjects):
2571         * WebProcess/WebProcess.h:
2572         * WebProcess/WebProcess.messages.in:
2573
2574 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
2575
2576         Unreviewed, rolling out r94454.
2577         http://trac.webkit.org/changeset/94454
2578         https://bugs.webkit.org/show_bug.cgi?id=67546
2579
2580         "Broke Windows and SnowLeopard, also no reply on the bug."
2581         (Requested by jchaffraix on #webkit).
2582
2583         * UIProcess/API/C/WKContext.cpp:
2584         * UIProcess/API/C/WKContext.h:
2585         * UIProcess/WebContext.cpp:
2586         * UIProcess/WebContext.h:
2587         * WebProcess/WebProcess.cpp:
2588         * WebProcess/WebProcess.h:
2589         * WebProcess/WebProcess.messages.in:
2590
2591 2011-09-02  Michael Saboff  <msaboff@apple.com>
2592
2593         Fixed release build by removing #ifndef NDEBUG to
2594         allow definition of gcController().
2595
2596         Rubber-stamp by Sam Weinig.
2597
2598         * WebProcess/WebProcess.cpp:
2599
2600 2011-09-02  Anders Carlsson  <andersca@apple.com>
2601
2602         NPN_SetException doesn't work with OOP plug-ins
2603         https://bugs.webkit.org/show_bug.cgi?id=67524
2604
2605         Reviewed by Sam Weinig.
2606
2607         * DerivedSources.make:
2608         Add PluginProcessConnection.messages.in.
2609
2610         * GNUmakefile.am:
2611         Add generated files.
2612
2613         * Platform/CoreIPC/MessageID.h:
2614         Add MessageClassPluginProcessConnection.
2615
2616         * PluginProcess/PluginProcess.cpp:
2617         (WebKit::PluginProcess::initialize):
2618         Set the set exception function.
2619
2620         * PluginProcess/WebProcessConnection.cpp:
2621         (WebKit::ConnectionStack::current):
2622         (WebKit::ConnectionStack::CurrentConnectionPusher::CurrentConnectionPusher):
2623         (WebKit::ConnectionStack::CurrentConnectionPusher::~CurrentConnectionPusher):
2624         Add a helper class for managing a stack of CoreIPC connections, along with a RAII
2625         object to push/pop connections onto it.
2626
2627         (WebKit::connectionStack):
2628         Add getter.
2629
2630         (WebKit::WebProcessConnection::setGlobalException):
2631         Get the current connection and send a PluginProcessConnection::SetException message to it.
2632
2633         (WebKit::WebProcessConnection::didReceiveMessage):
2634         (WebKit::WebProcessConnection::didReceiveSyncMessage):
2635         Create connection pushers.
2636
2637         * PluginProcess/WebProcessConnection.h:
2638         Add setGlobalException.
2639
2640         * WebKit2.pro:
2641         * WebKit2.xcodeproj/project.pbxproj:
2642         Add new files.
2643
2644         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2645         (WebKit::NetscapePlugin::setSetExceptionFunction):
2646         New function for setting the 'setException' function.
2647
2648         (WebKit::NetscapePlugin::setException):
2649         Call the 'setException' function.
2650
2651         * WebProcess/Plugins/PluginProcessConnection.cpp:
2652         (WebKit::PluginProcessConnection::didReceiveSyncMessage):
2653         Call the message receiver function.
2654
2655         (WebKit::PluginProcessConnection::setException):
2656         Call the NPRuntimeObjectMap.
2657         
2658         * WebProcess/Plugins/PluginProcessConnection.messages.in:
2659         Add new messages file.
2660
2661         * WebProcess/WebPage/WebPage.cpp:
2662         (WebKit::WebPage::createPlugin):
2663         When not using the plug-in process, make sure to call NetscapePlugin::setSetExceptionFunction.
2664
2665 2011-09-02  Ada Chan  <adachan@apple.com>
2666
2667         Add WKContextGarbageCollectJavaScriptObjects() which does a garbage collection in the WebProcess
2668         https://bugs.webkit.org/show_bug.cgi?id=67526
2669
2670         Reviewed by Darin Adler.
2671
2672         * UIProcess/API/C/WKContext.cpp:
2673         (WKContextGarbageCollectJavaScriptObjects):
2674         * UIProcess/API/C/WKContext.h:
2675         * UIProcess/WebContext.cpp:
2676         (WebKit::WebContext::garbageCollectJavaScriptObjects): Send a message to WebProcess to garbage collect JS objects.
2677         * UIProcess/WebContext.h:
2678         * WebProcess/WebProcess.cpp:
2679         (WebKit::WebProcess::garbageCollectJavaScriptObjects): Call GCController::garbageCollectNow().
2680         * WebProcess/WebProcess.h:
2681         * WebProcess/WebProcess.messages.in: Add GarbageCollectJavaScriptObjects message.
2682
2683 2011-09-02  Anders Carlsson  <andersca@apple.com>
2684
2685         Remove plug-in paths from web process sandbox
2686         https://bugs.webkit.org/show_bug.cgi?id=67518
2687
2688         Reviewed by Adam Roben.
2689
2690         Plug-ins are never accessed from the web process, so remove plug-in paths from the sandbox profile.
2691
2692         * WebProcess/com.apple.WebProcess.sb:
2693
2694 2011-09-02  Anders Carlsson  <andersca@apple.com>
2695
2696         Assertion/crash when running netscape-plugin-property-access-exception.html test
2697         https://bugs.webkit.org/show_bug.cgi?id=67517
2698
2699         Reviewed by Adam Roben.
2700
2701         Make sure to initialize the NPVariant in case the plug-in returns true from NP_GetProperty,
2702         but doesn't set the result NPVariant to anything.
2703
2704         * Shared/Plugins/NPObjectMessageReceiver.cpp:
2705         (WebKit::NPObjectMessageReceiver::getProperty):
2706
2707 2011-09-02  Anders Carlsson  <andersca@apple.com>
2708
2709         The private browsing state isn't saved when it changes
2710         https://bugs.webkit.org/show_bug.cgi?id=67508
2711
2712         Reviewed by Sam Weinig.
2713
2714         Store the new private browsing state so subsequent queries for it
2715         will return the right value.
2716
2717         * PluginProcess/PluginControllerProxy.cpp:
2718         (WebKit::PluginControllerProxy::privateBrowsingStateChanged):
2719
2720 2011-09-02  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
2721
2722         [WK2] Anchor elements doesn't get focus on TAB key press.
2723         https://bugs.webkit.org/show_bug.cgi?id=66949
2724
2725         Reviewed by Adam Roben.
2726
2727         Setting the default property value of TabsToLinks to true
2728         only for GTK platform since Win & Mac platforms doesn't want 
2729         it to be set to true by default.
2730
2731         * Shared/WebPreferencesStore.h:
2732         Set the default value of key TabsToLinks to true for GTK platform only.
2733
2734 2011-09-02  Balazs Kelemen  <kbalazs@webkit.org>
2735
2736         [Qt][WK2] Cannot gathering glyph page statistics
2737         https://bugs.webkit.org/show_bug.cgi?id=67475
2738
2739         Rubber stamped by Csaba Osztrogonác.
2740
2741         Fix Qt WK2 build without having QRAWFONT.
2742
2743         * WebProcess/WebProcess.cpp:
2744         (WebKit::WebProcess::getWebCoreStatistics):
2745
2746 2011-09-02  Mark Rowe  <mrowe@apple.com>
2747
2748         <http://webkit.org/b/67467> WebProcessProxy::secItemCopyMatching / WebProcessProxy::secItemAdd
2749         leak the results of the APIs they wrap.
2750
2751         Reviewed by Dan Bernstein.
2752
2753         * UIProcess/mac/WebProcessProxyMac.mm:
2754         (WebKit::WebProcessProxy::secItemCopyMatching): Adopt the result of SecItemCopyMatching in to a
2755         RetainPtr to ensure it gets released at the appropriate time.
2756         (WebKit::WebProcessProxy::secItemAdd): Ditto for SecItemAdd.
2757
2758 2011-09-01  Ada Chan  <adachan@apple.com>
2759
2760         Cut down the ifdefs in WebKit::getWebCoreMemoryCacheStatistics() now that 
2761         MemoryCache::Statistics always has the xslStyleSheets field.
2762
2763         Reviewed by Darin Adler.
2764
2765         * WebProcess/WebProcess.cpp:
2766         (WebKit::getWebCoreMemoryCacheStatistics):
2767
2768 2011-09-01  Mark Hahnenberg  <mhahnenberg@apple.com>
2769
2770         Unzip initialization lists and constructors in JSCell hierarchy (4/7)
2771         https://bugs.webkit.org/show_bug.cgi?id=67174
2772
2773         Reviewed by Oliver Hunt.
2774
2775         Completed the fourth level of the refactoring to add finishCreation() 
2776         methods to all classes within the JSCell hierarchy with non-trivial 
2777         constructor bodies.
2778
2779         This primarily consists of pushing the calls to finishCreation() down 
2780         into the constructors of the subclasses of the second level of the hierarchy 
2781         as well as pulling the finishCreation() calls out into the class's corresponding
2782         create() method if it has one.  Doing both simultaneously allows us to 
2783         maintain the invariant that the finishCreation() method chain is called exactly 
2784         once during the creation of an object, since calling it any other number of 
2785         times (0, 2, or more) will cause an assertion failure.
2786
2787         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2788         (WebKit::JSNPObject::JSNPObject):
2789         (WebKit::JSNPObject::finishCreation):
2790         * WebProcess/Plugins/Netscape/JSNPObject.h:
2791
2792 2011-09-01  Ada Chan  <adachan@apple.com>
2793
2794         Gather memory cache statistics in WebProcess::getWebCoreStatistics().
2795         https://bugs.webkit.org/show_bug.cgi?id=67160
2796
2797         Reviewed by Darin Adler.
2798
2799         Encode and decode webCoreCacheStatistics data member in StatisticsData.
2800         * Shared/StatisticsData.cpp:
2801         (WebKit::StatisticsData::encode):
2802         (WebKit::StatisticsData::decode):
2803         * Shared/StatisticsData.h:
2804
2805         Convert the cache statistics data into an ImmutableArray and return it in WebContext::didGetWebCoreStatistics().
2806         * UIProcess/WebContext.cpp:
2807         (WebKit::WebContext::didGetWebCoreStatistics):
2808
2809         Store memory cache statistics into the StatisticsData object.
2810         * WebProcess/WebProcess.cpp:
2811         (WebKit::getWebCoreMemoryCacheStatistics):
2812         (WebKit::WebProcess::getWebCoreStatistics):
2813
2814 2011-09-01  Tim Horton  <timothy_horton@apple.com>
2815
2816         REGRESSION: Rendering artifacts on a rotated, pattern filled shape
2817         https://bugs.webkit.org/show_bug.cgi?id=53055
2818         <rdar://problem/8910917>
2819
2820         Reviewed by Simon Fraser.
2821
2822         Introduce wkCGPatternCreateWithImageAndTransform.
2823
2824         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2825         (InitWebCoreSystemInterface):
2826
2827 2011-09-01  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
2828
2829         [Qt] TouchWebView crashes with segmentation fault
2830         https://bugs.webkit.org/show_bug.cgi?id=67308
2831
2832         Reviewed by Benjamin Poulain.
2833
2834         If you instantiate TouchWebView element with height and width in a qml file and
2835         load a url it crashes.
2836         The functions setWidth() and setHeight() are called sequentially therefore it can happen
2837         that computeViewportAttributes was called with a size like (width, 0) breaking the
2838         assumption of the function that the size is valid. The patch makes sure we compute the
2839         viewport when both height and width are valid.
2840
2841         * UIProcess/API/qt/qtouchwebview.cpp:
2842         (QTouchWebViewPrivate::updateViewportConstraints):
2843         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml: Added.
2844         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml: Added.
2845         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml: Added.
2846         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
2847
2848 2011-09-01  Ada Chan  <adachan@apple.com>
2849
2850         Gather JavaScript, FastMalloc, icon, font, and glyph page statistics in WebProcess::getWebCoreStatistics().
2851         https://bugs.webkit.org/show_bug.cgi?id=67160
2852
2853         Reviewed by Darin Adler.
2854
2855         Encode and decode the data members in StatisticsData.
2856         * Shared/StatisticsData.cpp:
2857         (WebKit::StatisticsData::encode):
2858         (WebKit::StatisticsData::decode):
2859         (WebKit::StatisticsData::StatisticsData):
2860
2861         Add three data members to StatisticsData:
2862         - statisticsNumbers: Map containing statistics values that are numbers, mapped by their names, such as 
2863         JavaScriptObjectsCount, CachedFontDataCount, etc.
2864         - javaScriptProtectedObjectTypeCounts
2865         - javaScriptObjectTypeCounts
2866         * Shared/StatisticsData.h:
2867
2868         Create a WK::Dictionary containing statistics values mapped by their names and return that dictionary
2869         in WebContext::didGetWebCoreStatistics().
2870         * UIProcess/WebContext.cpp:
2871         (WebKit::createDictionaryFromHashMap):
2872         (WebKit::WebContext::didGetWebCoreStatistics):
2873
2874         Package JavaScript, FastMalloc, icon, font, and glyph page statistics into a StatisticsData object
2875         and send it to the UIProcess.
2876         * WebProcess/WebProcess.cpp:
2877         (WebKit::fromCountedSetToHashMap):
2878         (WebKit::WebProcess::getWebCoreStatistics):
2879
2880 2011-09-01  Xan Lopez  <xlopez@igalia.com>
2881
2882         [GTK] Add XRender lib dependencies explicitly
2883
2884         Reviewed by Philippe Normand.
2885
2886         This is needed when using the GNU/Gold linker, since we use
2887         XRender directly.
2888
2889         * GNUmakefile.am:
2890
2891 2011-08-31  Anders Carlsson  <andersca@apple.com>
2892
2893         Jagged text shown in find-in-page highlight
2894         https://bugs.webkit.org/show_bug.cgi?id=67347
2895         <rdar://problem/9870444>
2896
2897         Reviewed by Dan Bernstein.
2898
2899         When painting each text line in the find indicator, make sure to clip it against
2900         the text rect and not paint the entire rect over and over.
2901
2902         * UIProcess/FindIndicator.cpp:
2903         (WebKit::FindIndicator::draw):
2904
2905 2011-08-31  Beth Dakin  <bdakin@apple.com>
2906
2907         https://bugs.webkit.org/show_bug.cgi?id=67322
2908         Re-name overrideBackingScaleFactor
2909
2910         Reviewed by John Sullivan.
2911
2912         API is now WKPageSetCustomBackingScaleFactor() and WKPageGetBackingScaleFactor() 
2913         which returns the custom scale factor if one was set, and the intrinsic scale 
2914         factor otherwise. 
2915         * UIProcess/API/C/WKPage.cpp:
2916         (WKPageGetBackingScaleFactor):
2917         (WKPageSetCustomBackingScaleFactor):
2918         * UIProcess/API/C/WKPage.h:
2919
2920         Re-named _deviceScaleFactor to _intrinsicDeviceScaleFactor since it only ever 
2921         refers to the intrinsic value.
2922         * UIProcess/API/mac/WKView.mm:
2923         (-[WKView viewDidMoveToWindow]):
2924         (-[WKView _windowDidChangeResolution:]):
2925         (-[WKView _intrinsicDeviceScaleFactor]):
2926
2927         WebPageProxy stores both the customDeviceScaleFactor and the 
2928         intrinsicDeviceScaleFactor. deviceScaleFactor() returns the appropriate value that 
2929         should be the one used. 
2930         * UIProcess/WebPageProxy.cpp:
2931         (WebKit::WebPageProxy::WebPageProxy):
2932         (WebKit::WebPageProxy::setIntrinsicDeviceScaleFactor):
2933         (WebKit::WebPageProxy::deviceScaleFactor):
2934         (WebKit::WebPageProxy::setCustomDeviceScaleFactor):
2935         (WebKit::WebPageProxy::creationParameters):
2936         * UIProcess/WebPageProxy.h:
2937
2938 2011-08-31  Anders Carlsson  <andersca@apple.com>
2939
2940         REGRESSION(r93902): Can't open external links on gmail
2941         https://bugs.webkit.org/show_bug.cgi?id=67234
2942         <rdar://problem/10053636>
2943
2944         Reviewed by Alexey Proskuryakov.
2945
2946         * Shared/cf/ArgumentCodersCF.cpp:
2947         (CoreIPC::decode):
2948         If we encounter an empty URL string, create an empty url by using NSURL, just
2949         like we do in WebCore when converting an empty KURL to an NSURL.
2950
2951         * WebKit2.xcodeproj/project.pbxproj:
2952         Compile ArgumentCodersCF.cpp as Objective-C++ for now.
2953
2954 2011-08-30  Beth Dakin  <bdakin@apple.com>
2955
2956         https://bugs.webkit.org/show_bug.cgi?id=67150
2957         Would like API to use a custom device scale factor for a particular WebView/WKView
2958         -and corresponding-
2959         <rdar://problem/10041016>
2960
2961         Reviewed by Darin Adler.
2962
2963         New API is setOverrideBackingScaleFactor() on WKPage
2964         * UIProcess/API/C/WKPage.cpp:
2965         (WKPageGetOverrideBackingScaleFactor):
2966         (WKPageSetOverrideBackingScaleFactor):
2967         * UIProcess/API/C/WKPage.h:
2968         * UIProcess/WebPageProxy.cpp:
2969         (WebKit::WebPageProxy::WebPageProxy):
2970         (WebKit::WebPageProxy::deviceScaleFactor):
2971         (WebKit::WebPageProxy::setOverrideBackingScaleFactor):
2972         * UIProcess/WebPageProxy.h:
2973         (WebKit::WebPageProxy::overrideBackingScaleFactor):
2974
2975 2011-08-30  Aaron Colwell  <acolwell@chromium.org>
2976
2977         Add MediaSource API to HTMLMediaElement
2978         https://bugs.webkit.org/show_bug.cgi?id=64731
2979
2980         Reviewed by Eric Carlson.
2981
2982         * Configurations/FeatureDefines.xcconfig:
2983
2984 2011-08-30  Ada Chan  <adachan@apple.com>
2985
2986         Laying some groundwork to fetch performance statistics from WebProcess.
2987         https://bugs.webkit.org/show_bug.cgi?id=67160
2988
2989         Reviewed by Darin Adler.
2990
2991         Add WKContextGetStatistics() which sends a message to WebProcess to fetch the performance statistics.
2992         * UIProcess/API/C/WKContext.cpp:
2993         (WKContextGetStatistics):
2994         * UIProcess/API/C/WKContext.h:
2995         * UIProcess/WebContext.cpp:
2996         (WebKit::WebContext::~WebContext):
2997         (WebKit::WebContext::getWebCoreStatistics):
2998         (WebKit::WebContext::didGetWebCoreStatistics):
2999         * UIProcess/WebContext.h:
3000         * UIProcess/WebContext.messages.in: Add the DidGetWebCoreStatistics message that WebProcess can send when it has
3001         the performance statistics ready.
3002
3003         Add WebProcess::getWebCoreStatistics().  Currently it just sends back an empty StatisticsData object.
3004         It will gather the performance statistics to store in the StatisticsData object in a future patch.
3005         * WebProcess/WebProcess.cpp:
3006         (WebKit::WebProcess::getWebCoreStatistics):
3007         * WebProcess/WebProcess.h:
3008         * WebProcess/WebProcess.messages.in:
3009
3010         Add the skeleton for StatisticsData.
3011         * Scripts/webkit2/messages.py:
3012         * Shared/StatisticsData.cpp: Added.
3013         (WebKit::StatisticsData::encode):
3014         (WebKit::StatisticsData::decode):
3015         (WebKit::StatisticsData::StatisticsData):
3016         * Shared/StatisticsData.h: Added.
3017
3018         Add StatisticsData.h/cpp to project.
3019         * CMakeLists.txt:
3020         * GNUmakefile.am:
3021         * WebKit2.pro:
3022         * WebKit2.xcodeproj/project.pbxproj:
3023         * win/WebKit2.vcproj:
3024
3025 2011-08-29  Alexey Proskuryakov  <ap@apple.com>
3026
3027         DumpRenderTree should begin each test with an empty cookie store
3028         https://bugs.webkit.org/show_bug.cgi?id=63545
3029         <rdar://problem/5666907>
3030
3031         Reviewed by Darin Adler.
3032
3033         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
3034         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
3035         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
3036         Updated to use currentCFHTTPCookieStorage() instead of privateBrowsingCookieStorage().
3037
3038         * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
3039         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
3040         There is no no need to access cookie storage through session manually - we already have code
3041         for that in WebCore.
3042
3043         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3044         (WKBundleSwitchNetworkLoaderToNewTestingSession):
3045         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
3046         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3047         (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
3048         * WebProcess/InjectedBundle/InjectedBundle.h:
3049         Exposed bundle SPI to use a private default session. It's separate from private browsing,
3050         because some tests enable the latter, and we don't want to mix them up.
3051
3052         * WebProcess/WebPage/mac/WebPageMac.mm:
3053         (WebKit::WebPage::platformHasLocalDataForURL):
3054         (WebKit::cachedResponseForURL):
3055         Updated to use currentStorageSession() instead of privateBrowsingStorageSession().
3056
3057         * WebProcess/win/WebProcessWin.cpp: (WebKit::WebProcess::platformInitializeWebProcess):
3058         ResourceHandle::setDefaultStorageSession() no longer steals a reference, so retain it properly.
3059
3060 2011-08-30  Alexis Menard  <alexis.menard@openbossa.org>
3061
3062         [Qt][WK2] Make mouse over work again for QDesktopWebView.
3063         https://bugs.webkit.org/show_bug.cgi?id=67200
3064
3065         Reviewed by Noam Rosenthal.
3066
3067         The API has changed after QGraphicsView, SceneGraph sends
3068         QHoverEvents now.
3069
3070         * UIProcess/qt/qdesktopwebpageproxy.cpp:
3071         (QDesktopWebPageProxy::handleEvent):
3072         (QDesktopWebPageProxy::handleHoverMoveEvent):
3073         * UIProcess/qt/qdesktopwebpageproxy.h:
3074
3075 2011-08-30  Kaustubh Atrawalkar  <kaustubh@motorola.com>
3076
3077         The unused ScrollView* argument can and should be removed from
3078         scrollRectIntoView.
3079         https://bugs.webkit.org/show_bug.cgi?id=67117
3080
3081         Reviewed by Darin Adler.
3082
3083         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3084         (WebKit::WebChromeClient::scrollRectIntoView):
3085         * WebProcess/WebCoreSupport/WebChromeClient.h:
3086
3087 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
3088
3089         Another Windows build fix after r94047.
3090
3091         * win/WebKit2.def:
3092         * win/WebKit2CFLite.def:
3093
3094 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
3095
3096         Export more symbols for r94038.
3097
3098         * win/WebKit2.def:
3099         * win/WebKit2CFLite.def:
3100
3101 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
3102
3103         Windows build fix for r94038.
3104
3105         * win/WebKit2.def:
3106         * win/WebKit2CFLite.def:
3107
3108 2011-08-29  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
3109
3110
3111         [Qt] QTouchWebView url property test missing
3112         https://bugs.webkit.org/show_bug.cgi?id=67159
3113
3114         Reviewed by Noam Rosenthal.
3115
3116         Added qml test case to check url property of QTouchWebView. Since url is a readonly property, we make sure that it's set after load() is called.
3117
3118         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
3119
3120 2011-08-29  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
3121
3122         [Qt] QDesktopWebView url property test missing
3123         https://bugs.webkit.org/show_bug.cgi?id=67155
3124
3125         Reviewed by Noam Rosenthal.
3126
3127         Added qml test case to check url property. Since url is a readonly property, we make sure that it's set after load() is called.
3128
3129         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml:
3130
3131 2011-08-29  Sheriff Bot  <webkit.review.bot@gmail.com>
3132
3133         Unreviewed, rolling out r93987, r93992, r93995, r93998, and
3134         r93999.
3135         http://trac.webkit.org/changeset/93987
3136         http://trac.webkit.org/changeset/93992
3137         http://trac.webkit.org/changeset/93995
3138         http://trac.webkit.org/changeset/93998
3139         http://trac.webkit.org/changeset/93999
3140         https://bugs.webkit.org/show_bug.cgi?id=67147
3141
3142         Many failing tests (Requested by ap on #webkit).
3143
3144         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
3145         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
3146         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
3147         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3148         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
3149         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3150         * WebProcess/InjectedBundle/InjectedBundle.h:
3151         * WebProcess/win/WebProcessWin.cpp:
3152         (WebKit::WebProcess::platformInitializeWebProcess):
3153
3154 2011-08-26  Martin Robinson  <mrobinson@igalia.com>
3155
3156         Reviewed by Xan Lopez.
3157
3158         [GTK] Build WebKit2 unconditionally
3159         https://bugs.webkit.org/show_bug.cgi?id=62749
3160
3161         Build WebKit2 by default. This will make the bots build it and catch
3162         build errors when they occur.
3163
3164         * GNUmakefile.am: Enable WebKit2 by default, but remove references to the WebKit2
3165         PC file, which should not be shipped until WebKit2 is actually shipped officially.
3166
3167 2011-08-29  Alexey Proskuryakov  <ap@apple.com>
3168
3169         Windows build fix.
3170
3171         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
3172         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
3173         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
3174         Updated for new function name and signature: currentCFHTTPCookieStorage().
3175
3176 2011-08-26  Alexey Proskuryakov  <ap@apple.com>
3177
3178         DumpRenderTree should begin each test with an empty cookie store
3179         https://bugs.webkit.org/show_bug.cgi?id=63545
3180         <rdar://problem/5666907>
3181
3182         Reviewed by Darin Adler.
3183
3184         * WebProcess/win/WebProcessWin.cpp: (WebKit::WebProcess::platformInitializeWebProcess):
3185         ResourceHandle::setDefaultStorageSession() no longer steals a reference, so retain it properly.
3186
3187         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3188         (WKBundleUsePrivateSessionForNetworkLoading):
3189         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
3190         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3191         (WebKit::InjectedBundle::usePrivateSessionForNetworkLoading):
3192         * WebProcess/InjectedBundle/InjectedBundle.h:
3193         Exposed bundle SPI to use a private default session. It's separate from private browsing,
3194         because some tests enable the latter, and we don't want to mix them up.
3195
3196 2011-08-29  Chris Marrin  <cmarrin@apple.com>
3197
3198         Fixed a build problem caused by http://trac.webkit.org/changeset/93980
3199
3200         Unreviewed.
3201
3202         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3203
3204 2011-08-23  Chris Marrin  <cmarrin@apple.com>
3205
3206         [mac] requestAnimationFrame support for mac port
3207         https://bugs.webkit.org/show_bug.cgi?id=59146
3208
3209         Reviewed by Simon Fraser.
3210
3211         Implement requestAnimationFrame for WebKit2. Add a
3212         CFRunLoopObserver to WebPage, which runs just before
3213         the syncCompositingState RLO and calls into the 
3214         ScriptedAnimationController if scheduleAnimation() has
3215         been called.
3216
3217         * Configurations/FeatureDefines.xcconfig:
3218         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3219         (WebKit::WebChromeClient::scheduleAnimation):
3220         * WebProcess/WebCoreSupport/WebChromeClient.h:
3221         * WebProcess/WebPage/WebPage.cpp:
3222         (WebKit::WebPage::WebPage):
3223         (WebKit::WebPage::~WebPage):
3224         * WebProcess/WebPage/WebPage.h:
3225         * WebProcess/WebPage/mac/WebPageMac.mm:
3226         (WebKit::WebPage::requestAnimationFrameRunLoopObserverCallback):
3227         (WebKit::WebPage::scheduleAnimation):
3228         (WebKit::WebPage::unscheduleAnimation):
3229         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.cpp:
3230         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
3231
3232 2011-08-29  Pierre Rossi  <pierre.rossi@gmail.com>
3233
3234         [Qt] NPAPI support doesn't honor the ENABLE_NETSCAPE_PLUGIN_API define in WebKit2
3235         https://bugs.webkit.org/show_bug.cgi?id=67123
3236
3237         We could simply use the defines already in place for this.
3238
3239         Reviewed by Andreas Kling.
3240
3241         * WebKit2.pro:
3242
3243 2011-08-29  Vamshikrishna Yellenki  <vamshi@motorola.com>
3244
3245         [GTK][WK2] Compilation error in WebKit2 GTK - Revision 93953
3246         https://bugs.webkit.org/show_bug.cgi?id=67111
3247
3248         Reviewed by Martin Robinson.
3249
3250         WebKit2 GTK build error.
3251
3252         * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
3253         Include <WebCore/ResourceError.h> explicitly to remove WebCore::ResourceError
3254         inclusion error.
3255
3256 2011-08-28  Balazs Kelemen  <kbalazs@webkit.org>
3257
3258         [Qt][WK2] Unreviewed build fix.
3259
3260         * UIProcess/qt/QtWebPageProxy.cpp:
3261         (QtWebPageProxy::init): Initialize the WKPageUIClient with memset
3262         to avoid missing initializer warning. The missing initializer is the
3263         result of using a version 0 WKPageUIClient while it has newer version (1).
3264         We have nothing to do with the callbacks in the new version so I voted
3265         for memset.
3266         * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: Include ResourceError.h.
3267
3268 2011-08-26  Sam Weinig  <sam@webkit.org>
3269
3270         Stop using custom NSErrors for WebKit2 WebErrors
3271         https://bugs.webkit.org/show_bug.cgi?id=67075
3272
3273         Reviewed by Anders Carlsson.
3274
3275         * WebProcess/WebCoreSupport/WebErrors.h:
3276         * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
3277         (WebKit::createNSError):
3278         (WebKit::cancelledError):
3279         (WebKit::fileDoesNotExistError):
3280         (WebKit::blockedError):
3281         (WebKit::cannotShowURLError):
3282         (WebKit::interruptedForPolicyChangeError):
3283         (WebKit::cannotShowMIMETypeError):
3284         (WebKit::pluginWillHandleLoadError):
3285         There is no reason to use custom registered NSErrors anymore, so don't.
3286
3287 2011-08-26  Anders Carlsson  <andersca@apple.com>
3288
3289         Fix build.
3290
3291         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3292
3293 2011-08-26  Sam Weinig  <sam@webkit.org>
3294
3295         Fold _webkit_initWithDomain into _webkit_errorWithDomain in WebKit2
3296         https://bugs.webkit.org/show_bug.cgi?id=67063
3297
3298         Reviewed by Anders Carlsson.
3299
3300         * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
3301         (+[NSError _webkit_errorWithDomain:code:URL:]):
3302
3303 2011-08-26  Anders Carlsson  <andersca@apple.com>
3304
3305         Implement NPN_ScheduleTimer/NPN_UnscheduleTimer
3306         https://bugs.webkit.org/show_bug.cgi?id=67062
3307
3308         Reviewed by Sam Weinig.
3309
3310         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
3311         (WebKit::NPN_ScheduleTimer):
3312         Call NetscapePlugin::scheduleTimer.
3313
3314         (WebKit::NPN_UnscheduleTimer):
3315         Call NetscapePlugin::unscheduleTimer.
3316
3317         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3318         (WebKit::NetscapePlugin::NetscapePlugin):
3319         Initialize m_nextTimerID.
3320
3321         (WebKit::NetscapePlugin::Timer::start):
3322         Start the timer.
3323
3324         (WebKit::NetscapePlugin::Timer::stop):
3325         Stop the timer.
3326
3327         (WebKit::NetscapePlugin::Timer::timerFired):
3328         Call the right callback and unschedule the timer object if it's not a repeating timer.
3329
3330         (WebKit::NetscapePlugin::scheduleTimer):
3331         Create a new timer and start it.
3332
3333         (WebKit::NetscapePlugin::unscheduleTimer):
3334         Get the timer from the map and destroy it.
3335         
3336         (WebKit::NetscapePlugin::destroy):
3337         Destroy all timers.
3338
3339         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3340         Add Timer class.
3341
3342 2011-08-26  Sam Weinig  <sam@webkit.org>
3343
3344         Fix typo in Connection.cpp
3345         https://bugs.webkit.org/show_bug.cgi?id=67060
3346
3347         Reviewed by Anders Carlsson.
3348
3349         * Platform/CoreIPC/Connection.cpp:
3350         (CoreIPC::Connection::waitForSyncReply):
3351         We want timedOut, not timeout.  There is not a current way to cause this
3352         to be an issue. This issue was caught by the Clang Static Analyzer.
3353
3354 2011-08-26  Alice Liu  <alice.liu@apple.com>
3355
3356         https://bugs.webkit.org/show_bug.cgi?id=66823
3357         Add the request info to the WebPageProxy::CreateNewPage message
3358
3359         Reviewed by Anders Carlsson.
3360
3361         Update function declarations with additional ResourceRequest parameter:
3362         * UIProcess/API/C/WKPage.h:
3363         * UIProcess/WebPageProxy.cpp:
3364         (WebKit::WebPageProxy::createNewPage):
3365         * UIProcess/WebPageProxy.h:
3366         * UIProcess/WebPageProxy.messages.in:
3367         * UIProcess/WebUIClient.cpp:
3368         (WebKit::WebUIClient::createNewPage):
3369         * UIProcess/WebUIClient.h:
3370
3371         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3372         (WebKit::WebChromeClient::createWindow): 
3373         Pass the ResourceRequest within the FrameLoadRequest.
3374
3375 2011-08-26  Alexis Menard  <alexis.menard@openbossa.org>
3376
3377         [Qt][WK2]REGRESSION(r93784): It made many tests crash
3378         https://bugs.webkit.org/show_bug.cgi?id=66958
3379
3380         Reviewed by Anders Carlsson.
3381
3382         Don't try to make sure the WebContext is deleted, for now the leak
3383         is intended and when multiple processes per context will be supported
3384         this leak should be fixed. This was the cause of DRT crashing on the bot,
3385         the context was deleted after the first test, letting other tests with nothing
3386         but a bad context.
3387
3388         * UIProcess/qt/QtWebPageProxy.cpp:
3389         (QtWebPageProxy::~QtWebPageProxy):
3390
3391 2011-08-26  Anders Carlsson  <andersca@apple.com>
3392
3393         Fix handling of keyup events in the new Cocoa text input model
3394         https://bugs.webkit.org/show_bug.cgi?id=67045
3395
3396         Reviewed by Sam Weinig.
3397
3398         Use a counter instead of a boolean for deciding when to ignore keyup events, because
3399         if multiple keys are pressed simultaneously then we need to ignore more than one keyup event in a row.
3400
3401         Also if a keyboard event is an autorepeating event we won't get a keyup event so don't increment the counter
3402         in that case.
3403
3404         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3405         (WebKit::NetscapePlugin::NetscapePlugin):
3406         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3407         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
3408         (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
3409
3410 2011-08-26  Jessie Berlin  <jberlin@apple.com>
3411
3412         Gut WKPageCreateSnapshotOfVisibleContent so that it can be removed later.
3413         https://bugs.webkit.org/show_bug.cgi?id=66979.
3414
3415         Removing the function altogether would break the nightlies.
3416         This patch removes the code behind it so that it is clear that
3417         WKPageCreateSnapshotOfVisibleContent should not be used, and so that the code isn't just
3418         left rotting in the tree.
3419
3420         Reviewed by Brian Weinstein.
3421
3422         * UIProcess/API/C/WKPage.cpp:
3423         (WKPageCreateSnapshotOfVisibleContent):
3424         Return 0.
3425         * UIProcess/API/C/WKPagePrivate.h:
3426         Update the comment and add a link to the bug.
3427
3428         * UIProcess/WebPageProxy.cpp:
3429         * UIProcess/WebPageProxy.h:
3430
3431         * WebProcess/WebPage/WebPage.cpp:
3432         * WebProcess/WebPage/WebPage.h:
3433         * WebProcess/WebPage/WebPage.messages.in:
3434
3435 2011-08-25  Anders Carlsson  <andersca@apple.com>
3436
3437         kNPEventStartIME doesn't work correctly for NPAPI
3438         https://bugs.webkit.org/show_bug.cgi?id=65264
3439         <rdar://problem/9996476>
3440
3441         Reviewed by Sam Weinig.
3442
3443         In order to remain compatible with older plug-ins, the updated input model won't
3444         be turned on unless a plug-in explicitly asks whether we support it. The plug-in must do
3445         this before any keyboard events have been processed.
3446
3447         * PluginProcess/mac/PluginControllerProxyMac.mm:
3448         (WebKit::PluginControllerProxy::setComplexTextInputState):
3449         Add the CoreIPC::DispatchMessageEvenWhenWaitingForSyncReply flag to this message since we want
3450         the web process to handle it while it's waiting for a reply to the PluginControllerProxy::HandleMouseEvent
3451         synchronous message.
3452
3453         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
3454         (WebKit::NPN_GetValue):
3455         Implement the logic for when to turn off the legacy Cocoa text input model support.
3456
3457         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3458         (WebKit::NetscapePlugin::NetscapePlugin):
3459         Initialize m_ignoreNextKeyUpEvent to false.
3460
3461         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3462         Add m_ignoreNextKeyUpEvent member variable.
3463
3464         (WebKit::NetscapePlugin::hasHandledAKeyDownEvent):
3465         Add a getter.
3466
3467         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
3468         (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
3469         Don't send keydown and keyup events when complex text input is enabled in the updated model.
3470
3471 2011-08-25  Anders Carlsson  <andersca@apple.com>
3472
3473         Correctly handle events in the updated Cocoa text input model
3474         https://bugs.webkit.org/show_bug.cgi?id=67005
3475
3476         Reviewed by Sam Weinig.
3477
3478         * UIProcess/API/mac/WKTextInputWindowController.mm:
3479         (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
3480         When using the updated model, always return a string even for 'simple' characters.
3481
3482         * UIProcess/API/mac/WKView.mm:
3483         (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
3484         Only let the input method have a crack at the event in the legacy model.
3485
3486 2011-08-25  Jeff Miller  <jeffm@apple.com>
3487
3488         Move Windows-specific WebPageProxy code to WebPageProxyWin.cpp
3489         https://bugs.webkit.org/show_bug.cgi?id=67002
3490
3491         Reviewed by Brian Weinstein.
3492
3493         * UIProcess/WebPageProxy.cpp: Moved Windows-only functions to WebPageProxyWin.cpp.
3494         
3495         * UIProcess/win/WebPageProxyWin.cpp:
3496         (WebKit::WebPageProxy::firstRectForCharacterInSelectedRange): Moved from WebPageProxy.cpp.
3497         (WebKit::WebPageProxy::getSelectedText): Moved from WebPageProxy.cpp.
3498         (WebKit::WebPageProxy::gestureWillBegin): Moved from WebPageProxy.cpp.
3499         (WebKit::WebPageProxy::gestureDidScroll): Moved from WebPageProxy.cpp.
3500         (WebKit::WebPageProxy::gestureDidEnd): Moved from WebPageProxy.cpp.
3501         (WebKit::WebPageProxy::setGestureReachedScrollingLimit): Moved from WebPageProxy.cpp.
3502         (WebKit::WebPageProxy::startDragDrop): Moved from WebPageProxy.cpp.
3503         (WebKit::WebPageProxy::didChangeCompositionSelection): Moved from WebPageProxy.cpp.
3504         (WebKit::WebPageProxy::confirmComposition): Moved from WebPageProxy.cpp.
3505         (WebKit::WebPageProxy::setComposition): Moved from WebPageProxy.cpp.
3506
3507 2011-08-25  Anders Carlsson  <andersca@apple.com>
3508
3509         Handle key-down events in the updated Cocoa text input model
3510         https://bugs.webkit.org/show_bug.cgi?id=67001
3511
3512         Reviewed by Sam Weinig.
3513
3514         * UIProcess/API/mac/WKView.mm:
3515         (-[WKView performKeyEquivalent:]):
3516         Call _disableComplexTextInputIfNecessary so that we'll inform the plug-in that complex text
3517         input has been disabled.
3518
3519         (-[WKView _disableComplexTextInputIfNecessary]):
3520         If the plug-in is using the updated Cocoa text input model specification, disable text input
3521         if the text input window has been dismissed for whatever reason.
3522
3523         (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
3524         Call _disableComplexTextInputIfNecessary so that we'll inform the plug-in that complex text
3525         input has been disabled.
3526         
3527         (-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]):
3528         If the plug-in is using the updated Cocoa text input model specification, let the input methods
3529         have a go at the keyboard event.
3530
3531         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
3532         (WebKit::NetscapePlugin::setComplexTextInputEnabled):
3533         Actually set m_isComplexTextInputEnabled to the right value.
3534
3535 2011-08-25  Anders Carlsson  <andersca@apple.com>
3536
3537         Factor code to send a key-down event to the plug-in out into a new function
3538         https://bugs.webkit.org/show_bug.cgi?id=66999
3539
3540         Reviewed by Darin Adler.
3541
3542         * UIProcess/API/mac/WKView.mm:
3543         (-[WKView _handlePluginComplexTextInputKeyDown:]):
3544         (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
3545
3546 2011-08-25  Anders Carlsson  <andersca@apple.com>
3547
3548         WKView should keep track of the plug-in complex text input state
3549         https://bugs.webkit.org/show_bug.cgi?id=66990
3550
3551         Reviewed by Sam Weinig.
3552
3553         * UIProcess/API/mac/WKView.mm:
3554         Add a _pluginComplexTextInputState ivar to WKViewData.
3555
3556         (-[WKView _setPluginComplexTextInputState:]):
3557         Set the _pluginComplexTextInputState variable. If text input is being disabled, send back an empty string to the plug-in.
3558
3559         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
3560         Call -[WKView _setPluginComplexTextInputState:].
3561
3562 2011-08-25  Anders Carlsson  <andersca@apple.com>
3563
3564         Move file internal methods to a class continuation in WKView
3565         https://bugs.webkit.org/show_bug.cgi?id=66983
3566
3567         Reviewed by Dan Bernstein.
3568
3569         * UIProcess/API/mac/WKView.mm:
3570         (-[WKView _deviceScaleFactor]):
3571         (-[WKView _setDrawingAreaSize:]):
3572
3573 2011-08-25  Anders Carlsson  <andersca@apple.com>
3574
3575         More work on the updated Cocoa text input specification
3576         https://bugs.webkit.org/show_bug.cgi?id=66977
3577
3578         Reviewed by Sam Weinig.
3579
3580         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3581         (WebKit::NetscapePlugin::NetscapePlugin):
3582         Initialize m_pluginWantsLegacyCocoaTextInput and m_hasHandledAKeyDownEvent.
3583
3584         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3585         Add m_pluginWantsLegacyCocoaTextInput and m_hasHandledAKeyDownEvent.
3586         
3587         (WebKit::NetscapePlugin::setPluginWantsLegacyCocoaTextInput):
3588         Add setter. Not called yet.
3589
3590         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
3591         (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
3592         Set m_hasHandledAKeyDownEvent to true if we get a KeyDown event.
3593
3594         (WebKit::NetscapePlugin::sendComplexTextInput):
3595         If the plug-in is using the updated Cocoa text input spec, we can disable text input here.
3596
3597         (WebKit::NetscapePlugin::pluginFocusOrWindowFocusChanged):
3598         If the plug-in is using the updated Cocoa text input spec, text input is not enabled when
3599         the plug-in is focused.
3600
3601         (WebKit::NetscapePlugin::setComplexTextInputEnabled):
3602         Set the right text input state based on whether the plug-in is using the updated spec or not.
3603
3604 2011-08-25  Anders Carlsson  <andersca@apple.com>
3605
3606         Return the correct value for NPNVsupportsCarbonBool
3607         https://bugs.webkit.org/show_bug.cgi?id=66964
3608
3609         Reviewed by Adam Roben.
3610
3611         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
3612         (WebKit::NPN_GetValue):
3613         Remove a FIXME and set the value to true.
3614
3615 2011-08-25  Alexis Menard  <alexis.menard@openbossa.org>
3616
3617         [Qt][WK2] Remove QWKContext class and make sure the WebProcessProxy life is correctly managed.
3618         https://bugs.webkit.org/show_bug.cgi?id=66886
3619
3620         Reviewed by Benjamin Poulain.
3621
3622         Remove QWKContext class from Qt APIs as it is too low level for the vision
3623         of the Qt5 API. QtWebPageProxy now holds directly a WebContext which can be a custom one
3624         or default created one. This patch also ensure that the WebProcessProxy is correctly
3625         destroyed at application exit by removing the circular references between the WebContext,
3626         WebProcessProxy, and WebPageProxy.
3627
3628         * UIProcess/API/qt/qdesktopwebview.cpp:
3629         (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
3630         * UIProcess/API/qt/qtouchwebview.cpp:
3631         (QTouchWebViewPrivate::QTouchWebViewPrivate):
3632         * UIProcess/qt/ClientImpl.cpp:
3633         (qt_wk_setStatusText):
3634         * UIProcess/qt/ClientImpl.h:
3635         * UIProcess/qt/QtWebPageProxy.cpp:
3636         (QtWebPageProxy::defaultWKContext):
3637         (QtWebPageProxy::QtWebPageProxy):
3638         (QtWebPageProxy::~QtWebPageProxy):
3639         * UIProcess/qt/QtWebPageProxy.h:
3640         * UIProcess/qt/qdesktopwebpageproxy.cpp:
3641         (QDesktopWebPageProxy::QDesktopWebPageProxy):
3642         * UIProcess/qt/qdesktopwebpageproxy.h:
3643         * UIProcess/qt/qtouchwebpageproxy.cpp:
3644         (QTouchWebPageProxy::QTouchWebPageProxy):
3645         * UIProcess/qt/qtouchwebpageproxy.h:
3646         * UIProcess/qt/qwkcontext.cpp: Removed.
3647         * UIProcess/qt/qwkcontext.h: Removed.
3648         * UIProcess/qt/qwkcontext_p.h: Removed.
3649         * WebKit2.pro:
3650
3651 2011-08-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3652
3653         [Qt][WK2] Drive tiling from the WebProcess and reuse TiledBackingStore.
3654         https://bugs.webkit.org/show_bug.cgi?id=66771
3655
3656         Reviewed by Tor Arne Vestbø.
3657
3658         We need the tiling logic to be moved to the web process to allow invalidated tile rects to be
3659         rendered with the same layout. This also allows the web process to render tiles into
3660         buffers readable directly by the GPU (on supported platforms). We also take the opportunity
3661         to use the TiledBackingStore in WebCore to have only one tiling implementation.
3662
3663         Before this patch:
3664         - TiledDrawingAreaProxy manages tiles from the UI process.
3665         - TiledDrawingArea received rendering requests for a rect and returns the result
3666           to the proxy through shared memory.
3667
3668         After this patch:
3669         - TiledDrawingArea uses a TiledBackingStore to manage tiles from the web process.
3670         - TiledBackingStoreRemoteTile forwards tile creations, update and removals to the proxy.
3671         - TiledDrawingAreaProxy updates the scene graph directly from requests.
3672
3673         It also implements tile buffer swapping correctly in SGTileNode, triggered by the DidRenderFrame message.
3674         Render throttling is implemented by waiting in TiledDrawingArea for the UI process to
3675         notify us when the last rendered frame is ready to make it to the screen.
3676         TiledDrawingAreaTileSets have been replaced by using two instances of TiledBackingStore instead.
3677
3678         * UIProcess/API/qt/qtouchwebpage.cpp:
3679         (QTouchWebPage::updatePaintNode):
3680         * UIProcess/API/qt/qtouchwebview.cpp:
3681         (QTouchWebViewPrivate::updateViewportState):
3682         * UIProcess/DrawingAreaProxy.h:
3683         (WebKit::DrawingAreaProxy::createTile):
3684         (WebKit::DrawingAreaProxy::updateTile):
3685         (WebKit::DrawingAreaProxy::didRenderFrame):
3686         (WebKit::DrawingAreaProxy::removeTile):
3687         * UIProcess/DrawingAreaProxy.messages.in:
3688         * UIProcess/TiledDrawingAreaProxy.cpp:
3689         (WebKit::TiledDrawingAreaProxy::create):
3690         (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
3691         (WebKit::TiledDrawingAreaProxy::~TiledDrawingAreaProxy):
3692         (WebKit::TiledDrawingAreaProxy::setVisibleContentRect):
3693         (WebKit::TiledDrawingAreaProxy::setContentsScale):
3694         (WebKit::TiledDrawingAreaProxy::renderNextFrame):
3695         (WebKit::TiledDrawingAreaProxy::sizeDidChange):
3696         (WebKit::TiledDrawingAreaProxy::paint):
3697         * UIProcess/TiledDrawingAreaProxy.h:
3698         * UIProcess/TiledDrawingAreaTile.h: Removed.
3699         * UIProcess/qt/SGAgent.cpp:
3700         (WebKit::NodeUpdateCreateTile::NodeUpdateCreateTile):
3701         (WebKit::NodeUpdateRemoveTile::NodeUpdateRemoveTile):
3702         (WebKit::NodeUpdateSetBackBuffer::NodeUpdateSetBackBuffer):
3703         (WebKit::NodeUpdateSwapTileBuffers::NodeUpdateSwapTileBuffers):
3704         (WebKit::SGAgent::SGAgent):
3705         (WebKit::SGAgent::createTileNode):
3706         (WebKit::SGAgent::removeTileNode):
3707         (WebKit::SGAgent::setNodeBackBuffer):
3708         (WebKit::SGAgent::swapTileBuffers):
3709         (WebKit::SGAgent::updatePaintNode):
3710         (WebKit::SGAgent::getScaleNode):
3711         Make the parenting logic more strict to allow SGAgent to handle the scale nodes itself (remove NodeUpdateCreateScale and use the scale in CreateTile).
3712         Delete the scale node when the last of its child tiles has been removed.
3713
3714         * UIProcess/qt/SGAgent.h:
3715         (WebKit::SGAgent::isSwapPending):
3716
3717         * UIProcess/qt/SGTileNode.cpp:
3718         (WebKit::SGTileNode::SGTileNode):
3719         (WebKit::SGTileNode::setBackBuffer):
3720         (WebKit::SGTileNode::swapIfNeeded):
3721         Replace setTargetRect, setSourceRect and setTexture by a single setBackBuffer method.
3722         This allows all those values to be used only when swapIfNeeded is called later.
3723
3724         * UIProcess/qt/SGTileNode.h:
3725         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
3726         (WebKit::TiledDrawingAreaProxy::createTile):
3727         (WebKit::TiledDrawingAreaProxy::updateTile):
3728         (WebKit::TiledDrawingAreaProxy::didRenderFrame):
3729         (WebKit::TiledDrawingAreaProxy::removeTile):
3730         * UIProcess/qt/TiledDrawingAreaTileQt.cpp: Removed.
3731         * UIProcess/qt/qtouchwebpageproxy.cpp:
3732         (QTouchWebPageProxy::renderNextFrame):
3733         * UIProcess/qt/qtouchwebpageproxy.h:
3734         * WebKit2.pro:
3735         * WebProcess/WebPage/DrawingArea.h:
3736         (WebKit::DrawingArea::setVisibleContentRect):
3737         (WebKit::DrawingArea::setContentsScale):
3738         (WebKit::DrawingArea::renderNextFrame):
3739         * WebProcess/WebPage/DrawingArea.messages.in:
3740         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp: Added.
3741         (WebKit::TiledBackingStoreRemoteTile::TiledBackingStoreRemoteTile):
3742         (WebKit::TiledBackingStoreRemoteTile::~TiledBackingStoreRemoteTile):
3743         (WebKit::TiledBackingStoreRemoteTile::isDirty):
3744         (WebKit::TiledBackingStoreRemoteTile::invalidate):
3745         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
3746         (WebKit::TiledBackingStoreRemoteTile::swapBackBufferToFront):
3747         (WebKit::TiledBackingStoreRemoteTile::isReadyToPaint):
3748         (WebKit::TiledBackingStoreRemoteTile::paint):
3749         (WebKit::TiledBackingStoreRemoteTileBackend::TiledBackingStoreRemoteTileBackend):
3750         (WebKit::TiledBackingStoreRemoteTileBackend::createTile):
3751         (WebKit::TiledBackingStoreRemoteTileBackend::paintCheckerPattern):
3752         * WebProcess/WebPage/TiledBackingStoreRemoteTile.h: Added.
3753         (WebKit::TiledBackingStoreRemoteTile::create):
3754         (WebKit::TiledBackingStoreRemoteTile::coordinate):
3755         (WebKit::TiledBackingStoreRemoteTile::rect):
3756         (WebKit::TiledBackingStoreRemoteTileClient::~TiledBackingStoreRemoteTileClient):
3757         (WebKit::TiledBackingStoreRemoteTileBackend::create):
3758         * WebProcess/WebPage/TiledDrawingArea.cpp:
3759         (WebKit::TiledDrawingArea::TiledDrawingArea):
3760         (WebKit::TiledDrawingArea::setNeedsDisplay):
3761         (WebKit::TiledDrawingArea::setSize):
3762         (WebKit::TiledDrawingArea::setVisibleContentRect):
3763         (WebKit::TiledDrawingArea::setContentsScale):
3764         (WebKit::TiledDrawingArea::renderNextFrame):
3765         (WebKit::TiledDrawingArea::suspendPainting):
3766         (WebKit::TiledDrawingArea::resumePainting):
3767         (WebKit::TiledDrawingArea::tiledBackingStorePaintBegin):
3768         (WebKit::TiledDrawingArea::tiledBackingStorePaint):
3769         (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd):
3770         (WebKit::TiledDrawingArea::tiledBackingStoreIsUpdatingAllowed):
3771         (WebKit::TiledDrawingArea::tiledBackingStoreContentsRect):
3772         (WebKit::TiledDrawingArea::tiledBackingStoreVisibleRect):
3773         (WebKit::TiledDrawingArea::tiledBackingStoreBackgroundColor):
3774         (WebKit::TiledDrawingArea::createTile):
3775         (WebKit::TiledDrawingArea::updateTile):
3776         (WebKit::TiledDrawingArea::removeTile):
3777         * WebProcess/WebPage/TiledDrawingArea.h:
3778         * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp: Removed.
3779
3780 2011-08-24  Michael Saboff  <msaboff@apple.com>
3781
3782         Improper comment in CoreIPC/ArgumentEncoder.cpp from 66464
3783         https://bugs.webkit.org/show_bug.cgi?id=66912
3784
3785         Updated the comment in ArgumentEncoder::grow to reflect that system malloc
3786         currently checks to see if a MADV_FREE_REUSABLE will fail before calling it.
3787
3788         Reviewed by Mark Rowe.
3789
3790         * Platform/CoreIPC/ArgumentEncoder.cpp:
3791         (CoreIPC::ArgumentEncoder::grow):
3792
3793 2011-08-24  Anders Carlsson  <andersca@apple.com>
3794
3795         Rename -[WKTextInputWindowController keyboardInputSourceChanged] to unmarkText to indicate what the method does
3796         https://bugs.webkit.org/show_bug.cgi?id=66883
3797
3798         Reviewed by Beth Dakin.
3799
3800         * UIProcess/API/mac/WKTextInputWindowController.h:
3801         * UIProcess/API/mac/WKTextInputWindowController.mm:
3802         (-[WKTextInputPanel _unmarkText]):
3803         (-[WKTextInputWindowController unmarkText]):
3804         * UIProcess/API/mac/WKView.mm:
3805         (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]):
3806
3807 2011-08-24  Oliver Hunt  <oliver@apple.com>
3808
3809         JSNPObject and JSNPMethod create their structure in their constructors
3810         https://bugs.webkit.org/show_bug.cgi?id=66879
3811
3812         Reviewed by Anders Carlsson.
3813
3814         It's not safe to create the Structure for an object inside its constructor
3815         so we hoist construction out into their ::create methods and move the methods
3816         into the cpp file.
3817
3818         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
3819         (WebKit::JSNPMethod::JSNPMethod):
3820         (WebKit::JSNPMethod::create):
3821         * WebProcess/Plugins/Netscape/JSNPMethod.h:
3822         (WebKit::JSNPMethod::create):
3823         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
3824         (WebKit::JSNPObject::JSNPObject):
3825         (WebKit::JSNPObject::create):
3826         * WebProcess/Plugins/Netscape/JSNPObject.h:
3827         (WebKit::JSNPObject::create):
3828
3829 2011-08-24  Anders Carlsson  <andersca@apple.com>
3830
3831         More plug-in complex text input scaffolding
3832         https://bugs.webkit.org/show_bug.cgi?id=66865
3833
3834         Reviewed by Sam Weinig.
3835
3836         Make -[WKView _doneWithKeyEvent:eventWasHandled:] take an NSEvent * directly. Also
3837         add methods for handling plug-in text input key-down events.
3838
3839         * UIProcess/API/mac/PageClientImpl.mm:
3840         (WebKit::PageClientImpl::doneWithKeyEvent):
3841         * UIProcess/API/mac/WKView.mm:
3842         (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
3843         (-[WKView keyDown:]):
3844         (-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]):
3845         (-[WKView _doneWithKeyEvent:eventWasHandled:]):
3846         * UIProcess/API/mac/WKViewInternal.h:
3847
3848 2011-08-24  Amruth Raj  <amruthraj@motorola.com>
3849
3850         [GTK] WebProcess crash on hitting assertion m_isWaitingForDidUpdate in DrawingAreaImpl
3851         https://bugs.webkit.org/show_bug.cgi?id=66640
3852
3853         Reviewed by Martin Robinson.
3854
3855         The crash happens when a new timer is created in an existing timer callback. Since 
3856         TimerBase has a single GSource* it gets overridden and the old timer can never get
3857         stopped. To handle this, keep a copy of the old timer and use it for destruction.
3858
3859         * Platform/RunLoop.h:
3860         * Platform/gtk/RunLoopGtk.cpp:
3861         (RunLoop::TimerBase::timerFiredCallback):
3862         Store the timerSource so that even if it is modified by the timer callback,
3863         it can be restored for freeing it.
3864         (RunLoop::TimerBase::start):
3865         Remove destroyNotifyCallback. Destruction is now handled in timerFiredCallback itself.
3866
3867 2011-08-23  Anders Carlsson  <andersca@apple.com>
3868
3869         Prepare WKTextInputWindowController for the new text input model
3870         https://bugs.webkit.org/show_bug.cgi?id=66826
3871
3872         Reviewed by Sam Weinig.
3873
3874         Add -[WKTextInputWindowController hasMarkedText] and make interpretKeyEvent take an
3875         additional usingLegacyCocoaTextInput flag. No functionality change.
3876
3877         * UIProcess/API/mac/WKTextInputWindowController.h:
3878         * UIProcess/API/mac/WKTextInputWindowController.mm:
3879         (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
3880         (-[WKTextInputPanel _hasMarkedText]):
3881         (-[WKTextInputWindowController hasMarkedText]):
3882         (-[WKTextInputWindowController interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
3883         * UIProcess/API/mac/WKView.mm:
3884         (-[WKView keyDown:]):
3885
3886 2011-08-23  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
3887
3888         [Qt] Unnecessary folders in WebKit2.
3889         https://bugs.webkit.org/show_bug.cgi?id=66583
3890
3891         Reviewed by Benjamin Poulain.
3892
3893         Remove empty autotest folders that were left over from QGraphicsWKView times.
3894
3895         * UIProcess/API/qt/tests/qgraphicswkview: Removed.
3896         * UIProcess/API/qt/tests/qwkhistory: Removed.
3897         * UIProcess/API/qt/tests/qwkpage: Removed.
3898
3899 2011-08-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3900
3901         [Qt][WK2] Fix an awful memory leak introduced in r92376.
3902         https://bugs.webkit.org/show_bug.cgi?id=65528
3903
3904         Reviewed by Benjamin Poulain.
3905
3906         The non-virtual destructor would create a leak of the tile update buffer because
3907         the NodeUpdateSetTexture's QImage member destructor wouldn't be called.
3908
3909         * UIProcess/qt/SGAgent.h:
3910         (WebKit::NodeUpdate::~NodeUpdate):
3911
3912 2011-08-23  Steve Block  <steveblock@google.com>
3913
3914         Remove all mention of removed Android files from build scripts
3915         https://bugs.webkit.org/show_bug.cgi?id=66755
3916
3917         Reviewed by Tony Gentilcore.
3918
3919         * Scripts/generate-forwarding-headers.pl:
3920
3921 2011-08-23  Benjamin Poulain  <benjamin@webkit.org>
3922
3923         [Qt][WK2] ViewportInteractionEngine: the position of the content is not corrected when scaling the page manually
3924         https://bugs.webkit.org/show_bug.cgi?id=66672
3925
3926         Reviewed by Kenneth Rohde Christiansen.
3927
3928         Add the method animateContentIntoBoundariesIfNeeded() to move the content back into both scale and position boundaries.
3929         This method is now used as the entry point for animations in order to avoid bugs regarding scale or position.
3930
3931         The existing animation methods were renamed accordingly for clarity and consistency with the updateContent methods.
3932
3933         * UIProcess/qt/ViewportInteractionEngine.cpp:
3934         (WebKit::ViewportInteractionEngine::panGestureEnded):
3935         (WebKit::ViewportInteractionEngine::pinchGestureEnded):
3936         (WebKit::ViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
3937         (WebKit::ViewportInteractionEngine::animateContentPositionIntoBoundariesIfNeeded):
3938         (WebKit::ViewportInteractionEngine::animateContentScaleIntoBoundariesIfNeeded):
3939         * UIProcess/qt/ViewportInteractionEngine.h:
3940
3941 2011-08-22  Oliver Hunt  <oliver@apple.com>
3942
3943         Delay GC triggered NP object destruction to the next runloop cycle
3944         https://bugs.webkit.org/show_bug.cgi?id=66717
3945
3946         Reviewed by Anders Carlsson.
3947
3948         Delay destruction of plugin objects caused by GC until the next
3949         runloop cycle so that they can execute JS in their finalizers.
3950         We do this using a zero delay timer coupled with a queue of
3951         objects to be finalised.
3952
3953         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
3954         (WebKit::JSNPObject::releaseObject):
3955         * WebProcess/Plugins/Netscape/JSNPObject.h:
3956         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
3957         (WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap):
3958         (WebKit::NPRuntimeObjectMap::invalidate):
3959         (WebKit::NPRuntimeObjectMap::invalidateQueuedObjects):
3960         (WebKit::NPRuntimeObjectMap::addToInvalidationQueue):
3961         (WebKit::NPRuntimeObjectMap::finalize):
3962         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
3963         * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
3964         (WebKit::trySafeReleaseNPObject):
3965         * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h:
3966
3967 2011-08-22  Anders Carlsson  <andersca@apple.com>
3968
3969         Move code from PageClientImpl::doneWithKeyEvent to WKView
3970         https://bugs.webkit.org/show_bug.cgi?id=66722
3971
3972         Reviewed by Darin Adler.
3973
3974         * UIProcess/API/mac/PageClientImpl.mm:
3975         (WebKit::PageClientImpl::doneWithKeyEvent):
3976         * UIProcess/API/mac/WKView.mm:
3977         (-[WKView _doneWithKeyEvent:WebKit::eventWasHandled:]):
3978         * UIProcess/API/mac/WKViewInternal.h:
3979
3980 2011-08-22  Anders Carlsson  <andersca@apple.com>
3981
3982         Update the text input context when the plug-in focus changes and not when the complex text input state changes
3983         https://bugs.webkit.org/show_bug.cgi?id=66716
3984
3985         Reviewed by Darin Adler.
3986
3987         * UIProcess/API/mac/WKView.mm:
3988         (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]):
3989         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
3990
3991 2011-08-22  Michael Saboff  <msaboff@apple.com>
3992
3993         REGRESSION (r92231): Apple campus proposal PDF doesn't display in Safari
3994         https://bugs.webkit.org/show_bug.cgi?id=66464
3995
3996         Changed ArgumentEncoder to use system malloc instead of fastMalloc.
3997         FastMalloc uses madvise(MADV_FREE_REUSABLE) which is incompatible with
3998         mach message Out Of Line (OOL) messages that use MACH_MSG_VIRTUAL_COPY.
3999         The system malloc has no such limitation.
4000         Changed sendOutgoingMessage to use MACH_MSG_VIRTUAL_COPY again as it 
4001         doesn't have size limitations that MACH_MSG_PHYSICAL_COPY.
4002         
4003         Reviewed by Anders Carlsson.
4004
4005         * Platform/CoreIPC/ArgumentEncoder.cpp:
4006         (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
4007         (CoreIPC::ArgumentEncoder::grow):
4008         * Platform/CoreIPC/mac/ConnectionMac.cpp:
4009         (CoreIPC::Connection::sendOutgoingMessage):
4010
4011 2011-08-22  Anders Carlsson  <andersca@apple.com>
4012
4013         Use -[NSApplication updateWindows] to update the current input context
4014         https://bugs.webkit.org/show_bug.cgi?id=66715
4015
4016         Reviewed by Alexey Proskuryakov.
4017
4018         * UIProcess/API/mac/WKView.mm:
4019         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
4020
4021 2011-08-22  Anders Carlsson  <andersca@apple.com>
4022
4023         The UI process should keep track of whether a plug-in has focus or not
4024         https://bugs.webkit.org/show_bug.cgi?id=66712
4025
4026         Reviewed by Darin Adler.
4027
4028         This is in preparation for implementing the updated Cocoa text input model.
4029
4030         Pipe through whether a plug-in and its containing window has focus or not, from the
4031         plug-in process and all the way to the UI process.
4032
4033         * PluginProcess/PluginControllerProxy.h:
4034         * PluginProcess/mac/PluginControllerProxyMac.mm:
4035         (WebKit::PluginControllerProxy::pluginFocusOrWindowFocusChanged):
4036         * UIProcess/API/mac/PageClientImpl.h:
4037         * UIProcess/API/mac/PageClientImpl.mm:
4038         (WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged):
4039         * UIProcess/API/mac/WKView.mm:
4040         (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]):
4041         * UIProcess/API/mac/WKViewInternal.h:
4042         * UIProcess/PageClient.h:
4043         * UIProcess/WebPageProxy.h:
4044         * UIProcess/WebPageProxy.messages.in:
4045         * UIProcess/mac/WebPageProxyMac.mm:
4046         (WebKit::WebPageProxy::pluginFocusOrWindowFocusChanged):
4047         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
4048         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
4049         (WebKit::NetscapePlugin::platformSetFocus):
4050         (WebKit::NetscapePlugin::windowFocusChanged):
4051         (WebKit::NetscapePlugin::pluginFocusOrWindowFocusChanged):
4052         * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
4053         (WebKit::PluginProxy::pluginFocusOrWindowFocusChanged):
4054         * WebProcess/Plugins/PluginController.h:
4055         * WebProcess/Plugins/PluginProxy.h:
4056         * WebProcess/Plugins/PluginProxy.messages.in:
4057         * WebProcess/Plugins/PluginView.cpp:
4058         (WebKit::PluginView::pluginFocusOrWindowFocusChanged):
4059         * WebProcess/Plugins/PluginView.h:
4060
4061 2011-08-22  Anders Carlsson  <andersca@apple.com>
4062
4063         Update the current NSTextInputContext whenever the plug-in complex text input state changes
4064         https://bugs.webkit.org/show_bug.cgi?id=66709
4065
4066         Reviewed by Sam Weinig.
4067
4068         Call [NSTextInputContext currentInputContext] which will force AppKit to update the current input
4069         context. Fixes a rare case when the out-of-line editing window wouldn't appear.
4070
4071         * UIProcess/API/mac/WKView.mm:
4072         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
4073
4074 2011-08-19  Anders Carlsson  <andersca@apple.com>
4075
4076         Another attempt at fixing the Windows build.
4077
4078         * UIProcess/PageClient.h:
4079
4080 2011-08-19  Anders Carlsson  <andersca@apple.com>
4081
4082         Fix Windows build.
4083
4084         * WebProcess/Plugins/PluginController.h:
4085
4086 2011-08-19  Anders Carlsson  <andersca@apple.com>
4087
4088         Make the complex text input state a tri-state enum instead of a boolean
4089         https://bugs.webkit.org/show_bug.cgi?id=62245
4090
4091         Reviewed by Sam Weinig.
4092
4093         This is to prepare the infrastructure for supporting the updated Cocoa text input model for plug-ins.
4094
4095         * PluginProcess/PluginControllerProxy.cpp:
4096         * PluginProcess/PluginControllerProxy.h:
4097         * PluginProcess/mac/PluginControllerProxyMac.mm:
4098         (WebKit::PluginControllerProxy::setComplexTextInputState):
4099         (WebKit::PluginControllerProxy::compositingRenderServerPort):
4100         * Shared/Plugins/mac: Added.
4101         * Shared/Plugins/mac/PluginComplexTextInputState.h: Added.
4102         (WebKit::isValidPluginComplexTextInputState):
4103         * UIProcess/API/mac/PageClientImpl.h:
4104         * UIProcess/API/mac/PageClientImpl.mm:
4105         (WebKit::PageClientImpl::setPluginComplexTextInputState):
4106         * UIProcess/API/mac/WKView.mm:
4107         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
4108         * UIProcess/API/mac/WKViewInternal.h:
4109         * UIProcess/PageClient.h:
4110         * UIProcess/WebPageProxy.h:
4111         * UIProcess/WebPageProxy.messages.in:
4112         * UIProcess/mac/WebPageProxyMac.mm:
4113         (WebKit::WebPageProxy::setPluginComplexTextInputState):
4114         * WebKit2.xcodeproj/project.pbxproj:
4115         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
4116         (WebKit::NetscapePlugin::NetscapePlugin):
4117         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
4118         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
4119         (WebKit::NetscapePlugin::platformSetFocus):
4120         (WebKit::NetscapePlugin::windowFocusChanged):
4121         (WebKit::NetscapePlugin::setComplexTextInputEnabled):
4122         * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
4123         (WebKit::PluginProxy::setComplexTextInputState):
4124         * WebProcess/Plugins/PluginController.h: