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