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