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