Simon Hausmann <hausmann@webkit.org>
[WebKit-https.git] / WebKit / qt / ChangeLog
1 2008-04-23  Simon Hausmann  <hausmann@webkit.org>
2
3         Reviewed by Holger.
4
5         Fix crashes on window.close().
6
7         We should not delete the QWebPage object in the ChromeClient but leave it up to
8         the application when and whether to delete a browser window. For this we now
9         emit the windowCloseRequested() signal.
10
11         Done with Tor Arne.
12
13         * Api/qwebpage.cpp:
14         * Api/qwebpage.h:
15         * QtLauncher/main.cpp:
16         (MainWindow::MainWindow):
17         * WebCoreSupport/ChromeClientQt.cpp:
18
19 2008-04-23  Simon Hausmann  <hausmann@webkit.org>
20
21         Reviewed by Holger.
22
23         Fix parsing of external scripts/stylesheets when using setHtml(const QString &html).
24
25         We used to pass the html string to the frameloader in utf-16, which also meant that the default
26         encoding of external scripts/stylesheets became utf-16. That doesn't make sense, so assume utf-8
27         by default. This is now also documented.
28
29         * Api/qwebframe.cpp:
30         (QWebFrame::setHtml):
31         * Api/qwebview.cpp:
32
33 2008-04-23  Benjamin Meyer  <bmeyer@trolltech.com>
34
35         Reviewed by Simon.
36
37         Fixes background color propagation when using a custom QWebPage
38         
39         Set the palette in setPage(), not during the creation on-demand.
40         
41
42         * Api/qwebview.cpp:
43         (QWebView::page):
44         (QWebView::setPage):
45
46 2008-04-23  Benjamin Meyer  <bmeyer@trolltech.com>
47
48         Reviewed by Simon.
49
50         Fix the user agent on the mac to be BSD4
51         
52         Put Q_OS_DARWIN before Q_OS_BSD4 sense they are both defined on the mac
53         
54
55         * Api/qwebpage.cpp:
56         (QWebPage::userAgentForUrl):
57
58 2008-04-23  Simon Hausmann  <shausman@trolltech.com>
59
60         Reviewed by Holger.
61
62         Added missing copyright notice.
63         Small fixes to the documentation.
64
65         * Api/qwebpluginfactory.cpp:
66
67 2008-04-23  Zack Rusin  <zack@tungstengraphics.com>
68
69         Reviewed by Simon.
70
71         Added a contentsSize() property.
72
73         * Api/qwebframe.cpp:
74         (QWebFrame::contentsSize):
75         (QWebFrame::hitTestContent):
76         * Api/qwebframe.h:
77
78 2008-04-22  Benjamin Meyer  <bmeyer@trolltech.com>
79
80         Reviewed by Simon.
81
82         Fixes: QWebPage's QNetworkManager's can be shared among webpages.
83
84         Don't force the deletion of the object, but let QObject take care of it.
85
86         * Api/qwebpage.cpp:
87
88 2008-04-22  Simon Hausmann  <hausmann@webkit.org>
89
90         Reviewed by Holger.
91
92         Documentation for QWebPluginFactory and documentation updates for QWebPage.
93
94         * Api/qwebpage.cpp:
95         (QWebPage::setLinkDelegationPolicy):
96         (QWebPage::linkDelegationPolicy):
97         (QWebPage::swallowContextMenuEvent):
98         (QWebPage::updatePositionDependentActions):
99         (QWebPage::extension):
100         (QWebPage::networkAccessManager):
101         * Api/qwebpluginfactory.cpp:
102         (QWebPluginFactory::QWebPluginFactory):
103         (QWebPluginFactory::~QWebPluginFactory):
104         (QWebPluginFactory::refreshPlugins):
105
106 2008-04-22  Simon Hausmann  <hausmann@webkit.org>
107
108         Reviewed by Holger.
109
110         Added QWebPage::swallowContextMenuEvent and QWebPage::updatePositionDependentActions.
111         
112
113         * Api/qwebpage.cpp:
114         (QWebPagePrivate::QWebPagePrivate):
115         (QWebPagePrivate::mouseReleaseEvent):
116         (QWebPage::setLinkDelegationPolicy):
117         (QWebPage::linkDelegationPolicy):
118         (QWebPage::swallowContextMenuEvent):
119         (QWebPage::updatePositionDependentActions):
120         * Api/qwebpage.h:
121         * Api/qwebpage_p.h:
122         * Api/qwebview.cpp:
123         (QWebView::event):
124
125 2008-04-22  Simon Hausmann  <hausmann@webkit.org>
126
127         Reviewed by Holger.
128
129         Added Extension APIs for QWebPage.
130
131         * Api/qwebpage.cpp:
132         (QWebPage::setLinkDelegationPolicy):
133         (QWebPage::linkDelegationPolicy):
134         (QWebPage::extension):
135         * Api/qwebpage.h:
136         * Api/qwebpluginfactory.cpp:
137         (QWebPluginFactory::extension):
138
139 2008-04-22  Tor Arne Vestbø  <tavestbo@trolltech.com>
140
141         Reviewed by Simon.
142
143         Emit loadProgress() signal on loadStarted().
144         
145
146         * WebCoreSupport/FrameLoaderClientQt.cpp:
147         (WebCore::FrameLoaderClientQt::postProgressEstimateChangedNotification):
148
149 2008-04-22  Zack Rusin  <zack@kde.org>
150
151         Reviewed by Simon.
152
153         Fix background propagation from the QWebView's palette.
154
155         The background brush of the palette needs to be propagated to the WebCore::FrameView.
156
157         * Api/qwebframe.cpp:
158         (QWebFramePrivate::updateBackground):
159         * Api/qwebframe_p.h:
160         * Api/qwebpage.cpp:
161         (QWebPagePrivate::dropEvent):
162         (QWebPage::setPalette):
163         * Api/qwebpage.h:
164         * Api/qwebpage_p.h:
165         * Api/qwebview.cpp:
166         (QWebView::page):
167         (QWebView::changeEvent):
168         * Api/qwebview.h:
169         * WebCoreSupport/FrameLoaderClientQt.cpp:
170
171 2008-04-22  Benjamin Meyer  <bmeyer@trolltech.com>
172
173         Reviewed by Simon.
174
175         Fix maps.google.com
176
177         We have to include a version in the Safari tag in the user-agent.
178
179         * Api/qwebpage.cpp:
180         (QWebPage::userAgentForUrl):
181
182 2008-04-22  Tor Arne Vestbø  <tavestbo@trolltech.com>
183
184         Reviewed by Simon.
185
186         Add visual focusing hint for clear button and
187         change focus to web page after user enters new URL.
188
189         * QtLauncher/main.cpp:
190         (ClearButton::paintEvent):
191         (MainWindow::changeLocation):
192
193 2008-04-22  Simon Hausmann  <hausmann@webkit.org>
194
195         Reviewed by Holger.
196
197         Added QWebFrame::hitTestContent() and QWebHitTestResult.
198
199         * Api/qwebframe.cpp:
200         (QWebFrame::hitTestContent):
201         (QWebFrame::event):
202         (QWebHitTestResult::QWebHitTestResult):
203         (QWebHitTestResultPrivate::QWebHitTestResultPrivate):
204         (QWebHitTestResult::operator=):
205         (QWebHitTestResult::~QWebHitTestResult):
206         (QWebHitTestResult::isNull):
207         (QWebHitTestResult::pos):
208         (QWebHitTestResult::title):
209         (QWebHitTestResult::linkText):
210         (QWebHitTestResult::linkUrl):
211         (QWebHitTestResult::linkTitle):
212         (QWebHitTestResult::linkTargetFrame):
213         (QWebHitTestResult::alternateText):
214         (QWebHitTestResult::imageUrl):
215         (QWebHitTestResult::pixmap):
216         (QWebHitTestResult::isContentEditable):
217         (QWebHitTestResult::isContentSelected):
218         (QWebHitTestResult::frame):
219         * Api/qwebframe.h:
220         * Api/qwebframe_p.h:
221         (QWebHitTestResultPrivate::QWebHitTestResultPrivate):
222         * Api/qwebpage.cpp:
223         (QWebPagePrivate::contextMenuEvent):
224         (QWebPage::triggerAction):
225         * Api/qwebpage.h:
226         * Api/qwebpage_p.h:
227
228 2008-04-22  Simon Hausmann  <hausmann@webkit.org>
229
230         Reviewed by Holger.
231
232         Don't crash if an input method query is done without a page.
233         
234
235         * Api/qwebview.cpp:
236         (QWebView::inputMethodQuery):
237
238 2008-04-22  Simon Hausmann  <hausmann@webkit.org>
239
240         Reviewed by Holger.
241
242         Added re-implementations of QObject::event for future safety.
243         
244         This makes it easier to fix bugs with the event handling even in patch releases
245         and is a general style we follow in Qt.
246         
247
248         * Api/qwebframe.cpp:
249         * Api/qwebframe.h:
250         * Api/qwebview.cpp:
251         (QWebView::event):
252         * Api/qwebview.h:
253
254 2008-04-22  Benjamin Meyer  <bmeyer@trolltech.com>
255
256         Reviewed by Simon.
257
258         Fix construction of the user agent.
259         
260         The user-agent is now composed of
261         * the platform and subplatform
262         * the Qt version or application name and version (if set)
263         * the locale
264         * the SSL settings
265         
266
267         * Api/qwebpage.cpp:
268         (QWebPage::networkAccessManager):
269         (QWebPage::setPluginFactory):
270         (QWebPage::pluginFactory):
271         (QWebPage::userAgentForUrl):
272         * QtLauncher/main.cpp:
273
274 2008-04-22  Thiago Macieira  <tjmaciei@trolltech.com>
275
276         Reviewed by Simon.
277
278         Fixes: Pedantic compilation fix
279
280         Don't put semi-colons after braces closing namespaces.
281
282         * Api/qwebsettings.h:
283
284 2008-04-21  Simon Hausmann  <hausmann@webkit.org>
285
286         Reviewed by Lars.
287
288         Changed the return type of QWebFrame::evaluateJavaScript from a QString to a QVariant.
289
290         * Api/qwebframe.cpp:
291         (QWebFrame::evaluateJavaScript):
292         * Api/qwebframe.h:
293
294 2008-04-21  Simon Hausmann  <hausmann@webkit.org>
295
296         Reviewed by Holger.
297
298         Fixes redundant "Fonts" submenu in default lineedits that has only disabled items.
299
300         Don't show sub-menus that have only actions that are disabled.
301
302         * Api/qwebpage.cpp:
303         (QWebPagePrivate::createContextMenu):
304
305 2008-04-21  Kavindra Devi Palaraja <kdpalara@trolltech.com>.
306
307         Reviewed by Simon.
308
309         Lots of documentation fixes, fixed all qdoc warnings.
310
311         * Api/qwebframe.cpp:
312         (QWebFrame::setTextSizeMultiplier):
313         * Api/qwebhistoryinterface.cpp:
314         (gCleanupInterface):
315         (QWebHistoryInterface::QWebHistoryInterface):
316         (QWebHistoryInterface::~QWebHistoryInterface):
317         * Api/qwebpage.cpp:
318         (QWebPage::inputMethodQuery):
319         (QWebPage::view):
320         (QWebPage::javaScriptConsoleMessage):
321         (QWebPage::javaScriptAlert):
322         (QWebPage::javaScriptConfirm):
323         (QWebPage::javaScriptPrompt):
324         (QWebPage::viewportSize):
325         (QWebPage::acceptNavigationRequest):
326         (QWebPage::action):
327         (QWebPage::event):
328         (QWebPage::focusNextPrevChild):
329         (QWebPage::setForwardUnsupportedContent):
330         (QWebPage::setLinkDelegationPolicy):
331         (QWebPage::findText):
332         (QWebPage::settings):
333         (QWebPage::networkProxy):
334         (QWebPage::setNetworkAccessManager):
335         * Api/qwebpage.h:
336         * Api/qwebsettings.cpp:
337         (QWebSettings::QWebSettings):
338         (QWebSettings::setIconDatabasePath):
339         (QWebSettings::iconForUrl):
340         (QWebSettings::fontFamily):
341         * Api/qwebview.cpp:
342         (QWebView::load):
343         * Api/qwebview.h:
344
345 2008-04-21  Marius Bugge Monsen  <mmonsen@trolltech.com>
346
347         Reviewed by Simon.
348
349         Fix compile failure on solaris-cc
350
351         * Api/qwebpage.h: Removed trailing semicolons and moved the private
352         d-pointer to not confuse the compiler
353
354 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
355
356         Reviewed by Simon.
357
358         Build fix for Qt 4.3
359
360         * When building WebCore/internal make sure the QT_[BEGIN,END]_NAMESPACE is
361         always defined. Do this by adding defines to the compiler line
362         * For users of our API this is not feasible. Every public header file should
363         include qwebkitglobal.h. Define the QT_BEGIN_NAMESPACE and QT_END_NAMESPACE
364         when we are building everything < 4.4.0 and don't have them defined.
365
366         * Api/qwebkitglobal.h:
367
368 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
369
370         Reviewed by Simon.
371
372         * Initialize the WebGraphics with the one found in WebCore
373         
374
375         * Api/qwebsettings.cpp:
376         (QWebSettingsPrivate::apply):
377
378 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
379
380         Reviewed by Simon.
381
382         * Allow TextAreas to be resized.
383         * No QWebSettings for this is introduced.
384         
385
386         * Api/qwebsettings.cpp:
387         (QWebSettingsPrivate::apply):
388
389 2008-04-21  Simon Hausmann  <shausman@trolltech.com>
390
391         Reviewed by Holger.
392
393         Fixes: QWebView::url property behaviour strange in designer
394
395         Added QWebView/QWebFrame::setUrl, which unlike load() clears the view immediately, schedules a load of the url but also makes sure url() returns the set url. This setter is now also used for the url property.
396
397         * Api/qwebframe.cpp:
398         (QWebFrame::setUrl):
399         * Api/qwebframe.h:
400         * Api/qwebview.cpp:
401         (QWebView::setUrl):
402         * Api/qwebview.h:
403
404 2008-04-21  Andre Poenitz  <andre.poenitz@trolltech.com>
405
406         Reviewed by Simon Hausmann <hausmann@webkit.org>.
407
408         Fix compilation with Qt namespaces
409
410         * Api/qwebframe.cpp:
411         (QWebFrame::print):
412         * Api/qwebview.h:
413
414 2008-04-21  Simon Hausmann  <hausmann@webkit.org>
415
416         Reviewed by Holger.
417
418         When printing on high resolution printers we need to scale the painter accordingly (for now).
419
420         * Api/qwebframe.cpp:
421         (QWebFrame::print):
422
423 2008-04-21  Simon Hausmann  <hausmann@webkit.org>
424
425         Reviewed by Holger.
426
427         Provide a print preview in the QtLauncher
428
429         * QtLauncher/main.cpp:
430         (MainWindow::MainWindow):
431         (MainWindow::showLinkHover):
432         (MainWindow::print):
433
434 2008-04-20  Simon Hausmann  <hausmann@webkit.org>
435
436         Reviewed by Alp Toker.
437
438         Share the printing code between the Gtk and the Qt port
439         and added printing to the Qt WebKit API.
440
441         * Api/qwebframe.cpp:
442         (QWebFrame::print):
443         * Api/qwebframe.h:
444         * Api/qwebview.cpp:
445         (QWebView::print):
446         * Api/qwebview.h:
447
448 2008-04-19  Julien Chaffraix  <jchaffraix@webkit.org>
449
450         Qt build fix (renderer() -> contentRenderer()).
451
452         * Api/qwebframe.cpp:
453         (QWebFrame::renderTreeDump):
454         (QWebFrame::render):
455
456 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
457
458         Reviewed by Holger.
459
460         Many API changes and additions after a full review with Jasmin Blanchette <jasmin@trolltech.com>
461
462         The diff is too big to mention the changes individually, but most of the changes were of cosmetic
463         nature where methods or enums have been renamed or prefixed/suffixed according to the consistency
464         rules of the Qt API.
465
466         * Api/qwebframe.cpp:
467         (QWebFrame::addToJavaScriptWindowObject):
468         (QWebFrame::toHtml):
469         (QWebFrame::toPlainText):
470         (QWebFrame::icon):
471         (QWebFrame::setContent):
472         (QWebFrame::setScrollBarPolicy):
473         (QWebFrame::render):
474         (QWebFrame::setTextSizeMultiplier):
475         (QWebFrame::textSizeMultiplier):
476         (QWebFrame::pos):
477         * Api/qwebframe.h:
478         * Api/qwebhistory.cpp:
479         * Api/qwebhistory.h:
480         * Api/qwebpage.cpp:
481         (QWebPagePrivate::QWebPagePrivate):
482         (QWebPagePrivate::~QWebPagePrivate):
483         (QWebPagePrivate::acceptNavigationRequest):
484         (webActionForContextMenuAction):
485         (QWebPagePrivate::updateAction):
486         (QWebPagePrivate::keyPressEvent):
487         (QWebPage::view):
488         (QWebPage::javaScriptPrompt):
489         (QWebPage::createWindow):
490         (QWebPage::triggerAction):
491         (QWebPage::setViewportSize):
492         (QWebPage::acceptNavigationRequest):
493         (QWebPage::action):
494         (QWebPage::focusNextPrevChild):
495         (QWebPage::setForwardUnsupportedContent):
496         (QWebPage::forwardUnsupportedContent):
497         (QWebPage::setLinkDelegationPolicy):
498         (QWebPage::findText):
499         (QWebPage::networkAccessManager):
500         (QWebPageContext::imageUrl):
501         (QWebPageContext::image):
502         * Api/qwebpage.h:
503         * Api/qwebpage_p.h:
504         * Api/qwebsettings.cpp:
505         (QWebSettingsPrivate::apply):
506         (QWebSettings::QWebSettings):
507         (QWebSettings::setIconDatabasePath):
508         (QWebSettings::iconDatabasePath):
509         (QWebSettings::clearIconDatabase):
510         (QWebSettings::iconForUrl):
511         (QWebSettings::setWebGraphic):
512         (QWebSettings::fontFamily):
513         (QWebSettings::setAttribute):
514         (QWebSettings::testAttribute):
515         (QWebSettings::resetAttribute):
516         * Api/qwebsettings.h:
517         * Api/qwebview.cpp:
518         (QWebView::setPage):
519         (QWebView::icon):
520         (QWebView::setTextSizeMultiplier):
521         (QWebView::textSizeMultiplier):
522         (QWebView::findText):
523         (QWebView::reload):
524         (QWebView::mouseMoveEvent):
525         * Api/qwebview.h:
526         * QtLauncher/main.cpp:
527         (MainWindow::MainWindow):
528         (main):
529         * WebCoreSupport/ChromeClientQt.cpp:
530         (WebCore::ChromeClientQt::ChromeClientQt):
531         (WebCore::ChromeClientQt::setWindowRect):
532         (WebCore::ChromeClientQt::toolbarsVisible):
533         (WebCore::ChromeClientQt::setStatusbarVisible):
534         (WebCore::ChromeClientQt::statusbarVisible):
535         (WebCore::ChromeClientQt::setScrollbarsVisible):
536         (WebCore::ChromeClientQt::setResizable):
537         (WebCore::ChromeClientQt::scrollBackingStore):
538         (WebCore::ChromeClientQt::mouseDidMoveOverElement):
539         (WebCore::ChromeClientQt::setToolTip):
540         * WebCoreSupport/ChromeClientQt.h:
541         * WebCoreSupport/FrameLoaderClientQt.cpp:
542         (WebCore::FrameLoaderClientQt::setFrame):
543         (WebCore::FrameLoaderClientQt::didPerformFirstNavigation):
544         (WebCore::FrameLoaderClientQt::setMainDocumentError):
545         (WebCore::FrameLoaderClientQt::dispatchDidFailLoading):
546         (WebCore::FrameLoaderClientQt::createFrame):
547         (WebCore::FrameLoaderClientQt::objectContentType):
548         * WebCoreSupport/FrameLoaderClientQt.h:
549         * WebCoreSupport/InspectorClientQt.cpp:
550
551 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
552
553         Reviewed by Holger.
554
555         Added QWebView::find/QWebFrame::find.
556
557         * Api/qwebpage.cpp:
558         (QWebPage::focusNextPrevChild):
559         (QWebPage::find):
560         * Api/qwebpage.h:
561         * Api/qwebview.cpp:
562         (QWebView::find):
563         * Api/qwebview.h:
564
565 2008-04-15  Ariya Hidayat  <ariya.hidayat@trolltech.com>
566
567         Reviewed by Simon.
568
569         fix potential crash when loading image(s)
570
571         Crash may occur. If compiled with 4.3, the variable is not initialized.
572         This fix solves https://bugs.webkit.org/show_bug.cgi?id=17174
573
574         * Api/qwebpage.cpp:
575         (QWebPagePrivate::QWebPagePrivate):
576
577 2008-04-15  Simon Hausmann  <hausmann@webkit.org>
578
579         Reviewed by Holger.
580
581         Update the micro focus for input methods as soon as the composition mode changes
582         or the caret/selection changes.
583         
584
585         * Api/qwebpage.cpp:
586         * Api/qwebpage.h:
587         * Api/qwebview.cpp:
588         (QWebView::setPage):
589         * WebCoreSupport/EditorClientQt.cpp:
590         (WebCore::EditorClientQt::respondToChangedSelection):
591         (WebCore::EditorClientQt::setInputMethodState):
592
593 2008-04-15  Simon Hausmann  <hausmann@webkit.org>
594
595         Reviewed by Holger.
596
597         Don't use QDir, QString or any locale sensitive function before constructing Q(Core)Application,
598         it yields undefined behaviour or wrong default codec initialization.
599         
600
601         * QtLauncher/main.cpp:
602         (WebPage::createWindow):
603
604 2008-04-15  Olivier Goffart  <ogoffart@trolltech.com>
605
606         Reviewed by Simon.
607
608         Fixes: copy to clipboard when selecting, and paste when clicking with the middle button
609
610         * Api/qwebpage.cpp:
611         (QWebPagePrivate::mouseReleaseEvent): If the clipboard supports
612         selections then we support copy & paste into the selection.
613
614 2008-04-15  Michael Brasser  <michael.brasser@trolltech.com>
615
616         Reviewed by Simon.
617
618         Add basic input method support.
619         
620
621         * Api/qwebpage.cpp:
622         (QWebPagePrivate::dropEvent):
623         (QWebPagePrivate::inputMethodEvent):
624         (QWebPage::inputMethodQuery):
625         (QWebPage::event):
626         * Api/qwebpage.h:
627         * Api/qwebpage_p.h:
628         * Api/qwebview.cpp:
629         (QWebView::QWebView):
630         (QWebView::inputMethodQuery):
631         (QWebView::inputMethodEvent):
632         * Api/qwebview.h:
633         * WebCoreSupport/EditorClientQt.cpp:
634         (WebCore::EditorClientQt::setInputMethodState):
635
636 2008-04-15  Simon Hausmann  <hausmann@webkit.org>
637
638         Reviewed by Holger.
639
640         Added (QWebFrame|QWebView)::textZoomFactor.
641         
642
643         * Api/qwebframe.cpp:
644         (QWebFrame::setTextZoomFactor):
645         (QWebFrame::textZoomFactor):
646         * Api/qwebframe.h:
647         * Api/qwebview.cpp:
648         (QWebView::setTextZoomFactor):
649         (QWebView::textZoomFactor):
650         * Api/qwebview.h:
651
652 2008-04-15  Michael Brasser  <michael.brasser@trolltech.com>
653
654         Reviewed by Simon.
655
656         Added simple scrolling API to QWebFrame.
657         
658         The intent is that it works similar to QAbstractScrollArea.
659         
660
661         * Api/qwebframe.cpp:
662         (QWebFrame::setScrollBarValue):
663         (QWebFrame::scrollBarValue):
664         (QWebFrame::scrollBarMaximum):
665         (QWebFrame::scrollBarMinimum):
666         * Api/qwebframe.h:
667
668 2008-04-15  Olivier Goffart  <ogoffart@trolltech.com>
669
670         Reviewed by Holger.
671
672         Fixes: implement the OpenFrameInNewWindow action.
673         
674
675         * Api/qwebpage.cpp:
676         (QWebPage::triggerAction):
677
678 2008-04-15  Andre Poenitz  <andre.poenitz@trolltech.com>
679
680         Reviewed by Simon.
681
682         Fix compilation with Qt namespaces
683
684         Qt can be configured to have all of its classes inside a specified namespaces.
685         This is for example used in plugin/component environments like Eclipse.
686
687         This change makes it possible to let the Qt port compile against a namespaced
688         Qt by the use of macros Qt provides to properly forward declare Qt classes in
689         the namespace.
690
691         * Api/qwebframe.h:
692         * Api/qwebpage.h:
693         * Api/qwebpage_p.h:
694         * Api/qwebpluginfactory.h:
695         * Api/qwebsettings.h:
696         * Api/qwebview.h:
697
698 2008-04-05  Olivier Goffart  <ogoffart@trolltech.com>
699
700         Reviewed by Holger.
701
702         Fixes: Right clicking an image and choosing "copy image" doesnt put anything in the clipboard.
703         
704
705         * Api/qwebpage.cpp:
706         (QWebPage::triggerAction):
707
708 2008-04-05  Olivier Goffart  <ogoffart@trolltech.com>
709
710         Reviewed by Simon.
711
712         Fixes: Right click, and "Open image" open the link instead of the image.
713         
714
715         * Api/qwebpage.cpp:
716
717 2008-04-05  Benjamin Meyer  <bmeyer@trolltech.com>
718
719         Reviewed by Simon.
720
721         Added doc stub for QWebSettings so class docs are generated
722         
723
724         * Api/qwebsettings.cpp:
725         (QWebSettings::QWebSettings):
726
727 2008-04-05  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
728
729         Reviewed by Simon.
730
731         * Propose the addition of updateRequest and scrollRequest to the QWebPage.
732         
733         * The question is if these signals belong to QWebPage or  QWebFrame.
734         -It is more easy to have them in QWebPage because ScrollView is invoking
735         the ChromeClient with the right coordinates
736         -On the other hand someone wants to render frames separately. But this is partly
737         doomed as you can have overlapping frames and what you paint would not relate to
738         what you normally see on webpages.
739         
740
741         * Api/qwebpage.cpp:
742         * Api/qwebpage.h:
743         * WebCoreSupport/ChromeClientQt.cpp:
744         (WebCore::ChromeClientQt::scrollBackingStore):
745         (WebCore::ChromeClientQt::mouseDidMoveOverElement):
746
747 2008-04-03  Simon Hausmann  <hausmann@webkit.org>
748
749         Reviewed by Mark Rowe.
750
751         Roll out r31599 and r31605 again after discussion with Mark Rowe.
752
753         * Api/qwebframe.cpp:
754         (QWebFrame::icon):
755         * Api/qwebsettings.cpp:
756         (QWebSettings::iconForUrl):
757
758 2008-04-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
759
760         Reviewed by Simon.
761
762         * Change IconDatabase::iconForPageURL to return more information. E.g. if
763         an image has been found, or if the loading of an image has been scheduled.
764         * Update FrameLoader to use another method to trigger reading from disk
765         * Update the QWebFrame and QWebSettings
766
767         * Api/qwebframe.cpp:
768         (QWebFrame::icon):
769         * Api/qwebsettings.cpp:
770         (QWebSettings::iconForUrl):
771
772 2008-04-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
773
774         Reviewed by Simon.
775
776         * Safari is using the IconDatabase the following way (assumption). Before they
777         call iconDatabase()->open they "retain" all URLs they are interested in, these
778         could come from the history.
779         * When opening the iconDatabase() a thread will be started that is going to import
780         the URLs, all none manually retained URLs are scheduled for removal. The removal
781         is going to happen when the next icon gets stored in the database.
782         * We do not have any IconDatabase code, we can not retain the URLs before opening the
783         database. To disable the automatic pruning of the icons we will ask the IconDatabase
784         to delay this operation. This means our IconDatabase, when used, will grow, so we should
785         try to have a IconDatabase class in 4.4.
786         * The only way to counter the growth is a call to QWebSettings::clearIconDatabase
787         
788
789         * Api/qwebsettings.cpp:
790         (QWebSettings::clearIconDatabase):
791         * Api/qwebsettings.h:
792
793 2008-04-03  Benjamin Meyer  <bmeyer@trolltech.com>
794
795         Reviewed by Simon.
796
797         Add a way to get the site icon for a url
798         static QPixmap iconForUrl(const QUrl &url);
799         
800
801         * Api/qwebsettings.cpp:
802         (QWebSettings::iconForUrl):
803         * Api/qwebsettings.h:
804
805 2008-04-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
806
807         Reviewed by Simon.
808
809         * Update the Copyright info in QWebSettings
810         
811
812         * Api/qwebsettings.cpp:
813         * Api/qwebsettings.h:
814
815 2008-04-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
816
817         Reviewed by Simon.
818
819         * The isEmpty check is not needed anymore with the earlier backport
820         
821
822         * Api/qwebframe.cpp:
823         (QWebFrame::icon):
824
825 2008-04-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
826
827         Reviewed by Simon.
828
829         * For the http tests we need the output of the FrameLoaderClient. The QtWebKit API
830         is not exporting enough to create the output in DRT itself. Settle with the approach
831         Lars has taken for the Editing support and add branches to our FrameLoaderClient code.
832         * run-webkit-tests http/tests(/loading) can now be executed.
833         * For tests in loading/ directories we are going to throw away the dirty
834         QWebPage to start with something clean.
835         
836
837         * WebCoreSupport/FrameLoaderClientQt.cpp:
838         (qt_dump_frame_loader):
839         (drtDescriptionSuitableForTestResult):
840         (WebCore::FrameLoaderClientQt::dispatchDidReceiveServerRedirectForProvisionalLoad):
841         (WebCore::FrameLoaderClientQt::dispatchDidCancelClientRedirect):
842         (WebCore::FrameLoaderClientQt::dispatchWillPerformClientRedirect):
843         (WebCore::FrameLoaderClientQt::dispatchDidChangeLocationWithinPage):
844         (WebCore::FrameLoaderClientQt::dispatchWillClose):
845         (WebCore::FrameLoaderClientQt::dispatchDidStartProvisionalLoad):
846         (WebCore::FrameLoaderClientQt::dispatchDidReceiveTitle):
847         (WebCore::FrameLoaderClientQt::dispatchDidCommitLoad):
848         (WebCore::FrameLoaderClientQt::dispatchDidFinishDocumentLoad):
849         (WebCore::FrameLoaderClientQt::dispatchDidFinishLoad):
850         (WebCore::FrameLoaderClientQt::registerForIconNotification):
851         (WebCore::FrameLoaderClientQt::setMainDocumentError):
852         (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
853
854 2008-04-02  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
855
856         Reviewed by Simon.
857
858         * Export the PageCache and Cache capacity call one to one. This is only there
859         to allow the QtLauncher to play with caching.
860         * TODO: make API decisions and consider following the windows Api to set a WebCacheModel
861         and determine certain values automatically.
862         
863
864         * Api/qwebsettings.cpp:
865         (QWebSettings::setPageCacheCapacity):
866         (QWebSettings::setObjectCacheCapacities):
867         * Api/qwebsettings.h:
868         * QtLauncher/main.cpp:
869
870 2008-04-02  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
871
872         Reviewed by Simon.
873
874         Prepapre everything for enabling the PageCache for the Qt Platform:
875         * Claim that we can cache pages
876         * Create the FrameView FrameLoaderClientQt::transitionToCommittedForNewPage using
877         the initial size of the viewport and stop creating it in the QWebFramePrivate::init
878         
879         Differences to the Windows port:
880         * attachToWindow/detachFromWindow is not called and is not (yet) part
881         of Widget/ScrollView of the Qt platform. We might need that for plugin
882         support in the future.
883         * We store the margin's and scrolling flag inside QWebFrame and use it when
884         creating the FrameView.
885         
886         What is missing:
887         * API to call pageCache()->setCapacity(XYZ);
888         
889
890         * Api/qwebframe.cpp:
891         (QWebFramePrivate::init):
892         * Api/qwebframe_p.h:
893         (QWebFramePrivate::QWebFramePrivate):
894         * Api/qwebpage.cpp:
895         (QWebPagePrivate::createMainFrame):
896         * WebCoreSupport/FrameLoaderClientQt.cpp:
897         (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
898         (WebCore::FrameLoaderClientQt::blockedError):
899
900 2008-04-02  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
901
902         Reviewed by Simon.
903
904         * For the PageCache support we do not want to create a FrameView in the constructor
905         of QWebFrame. In QWegPage::viewportSize() we currently call mainFrame() and that will
906         create a QWebFrame if no mainFrame is present and this gets called when we try to
907         create a FrameView...
908         * Keep a copy of the initial viewportSize around and use it if we do not have a Frame
909         or FrameView.
910         
911
912         * Api/qwebpage.cpp:
913         (QWebPagePrivate::QWebPagePrivate):
914         (QWebPage::triggerAction):
915         * Api/qwebpage_p.h:
916
917 2008-04-02  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
918
919         Reviewed by Simon.
920
921         * Always return true in FrameLoaderClientQt::shouldGoToHistoryItem, like the windows port
922
923         * WebCoreSupport/FrameLoaderClientQt.cpp:
924         (WebCore::):
925
926 2008-04-02  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
927
928         Reviewed by Simon.
929
930         * Attempt to make the m_webFrame null pointer checking consistent. Always check for
931         m_webFrame. It should get set by the QWebFrame with the FramerLoaderClientQt::setFrame
932         call and should stay valid until the destruction of the QWebFrame.
933         * Currently the same checking is not needed for m_frame as it will only set to 0 in
934         FrameLoaderClientQt::frameLoaderDestroyed and should be not 0 because of the setFrame
935         initialisation.
936         
937
938         * WebCoreSupport/FrameLoaderClientQt.cpp:
939         (WebCore::FrameLoaderClientQt::dispatchDidReceiveTitle):
940         (WebCore::FrameLoaderClientQt::setMainDocumentError):
941         (WebCore::FrameLoaderClientQt::dispatchDidReceiveContentLength):
942         (WebCore::FrameLoaderClientQt::objectContentType):
943         (WebCore::FrameLoaderClientQt::createPlugin):
944
945 2008-04-01  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
946
947         Reviewed by Simon.
948
949         * Get the RefCounting of WebCore::Frame right and make sure that both QWebFrame
950         and WebCore::Frame get destroyed if we leave site with subframes and on the
951         end of the application.
952         * Use adoptRef in FrameLoaderClientQt::createFrame to get the refs right for subframes. We
953         do not want to add an extra reference. Without this we are leaking subframes.
954         * Assume that the lifetime of a Frame and FrameLoader are the same, when the Frame is gone
955         we want to destroy the QWebFrame (e.g. on a page with subframes). Add delete m_webFrame
956         in the frameLoaderDestroyed method to do that.
957         * If we happen to delete the QWebFrame before the FrameLoaderClientQt we set m_webFrame to
958         zero in the FrameLoaderClientQt to avoid bad things.
959         
960
961         * Api/qwebframe.cpp:
962         (QWebFrame::~QWebFrame):
963         * WebCoreSupport/FrameLoaderClientQt.cpp:
964         (WebCore::FrameLoaderClientQt::shouldGoToHistoryItem):
965         (WebCore::FrameLoaderClientQt::objectContentType):
966         * WebCoreSupport/FrameLoaderClientQt.h:
967
968 2008-04-01  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
969
970         Reviewed by Simon.
971
972         * Do not save a RefPtr to the frame. The FrameLoaderClient, Frame and
973         QWebFrame should have the same lifetime everything else is a leak
974         or issue.
975
976         * Api/qwebframe.cpp:
977         (QWebFramePrivate::init):
978         * Api/qwebframe_p.h:
979         * WebCoreSupport/FrameLoaderClientQt.cpp:
980
981 2008-04-01  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
982
983         Reviewed by Simon.
984
985         * Do not store the QWebFrame associated with a ScrollView/FrameView
986         in the WebCore::Widget.
987         * Instead of asking the Widget for the QWebFrame use the QWebFramePrivate::core
988         and QWebFramePrivate::kit function to convert from and to QWebFrame.
989         
990
991         * Api/qwebframe.cpp:
992         (QWebFramePrivate::init):
993         * Api/qwebpage.cpp:
994         (QWebPagePrivate::createMainFrame):
995
996 2008-04-01  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
997
998         Reviewed by Simon.
999
1000         * Do not store the FrameView in the QWebFrame and cope with the situation when
1001         a WebCore::Frame has no WebCore::FrameView.
1002         
1003
1004         * Api/qwebframe.cpp:
1005         (QWebFramePrivate::init):
1006         (QWebFramePrivate::horizontalScrollBar):
1007         (QWebFramePrivate::verticalScrollBar):
1008         (QWebFrame::innerText):
1009         (QWebFrame::renderTreeDump):
1010         (QWebFrame::setVerticalScrollBarPolicy):
1011         (QWebFrame::setHorizontalScrollBarPolicy):
1012         (QWebFrame::render):
1013         (QWebFrame::layout):
1014         (QWebFrame::pos):
1015         * Api/qwebframe_p.h:
1016         (QWebFramePrivate::QWebFramePrivate):
1017         * Api/qwebpage.cpp:
1018         (QWebPagePrivate::updateEditorActions):
1019         (QWebPagePrivate::mouseMoveEvent):
1020         (QWebPagePrivate::mousePressEvent):
1021         (QWebPagePrivate::mouseDoubleClickEvent):
1022         (QWebPagePrivate::contextMenuEvent):
1023         (QWebPagePrivate::wheelEvent):
1024         (QWebPage::triggerAction):
1025         * WebCoreSupport/FrameLoaderClientQt.cpp:
1026
1027 2008-04-01  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
1028
1029         Reviewed by Simon.
1030
1031         * Change the order of the methods to match with the FrameLoaderClient.h to ease
1032         removing methods in the future.
1033
1034         * WebCoreSupport/FrameLoaderClientQt.h:
1035
1036 2008-04-01  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
1037
1038         Reviewed by Simon.
1039
1040         * Remove virtuals in the FrameLoaderClientQt that don't exist in the base class.
1041
1042         * WebCoreSupport/FrameLoaderClientQt.cpp:
1043         (WebCore::FrameLoaderClientQt::detachedFromParent4):
1044         * WebCoreSupport/FrameLoaderClientQt.h:
1045
1046 2008-03-25  Brady Eidson  <beidson@apple.com>
1047
1048         Reviewed by Darin
1049
1050         Remove newly obsolete FrameLoaderClient methods
1051
1052         * WebCoreSupport/FrameLoaderClientQt.cpp:
1053         * WebCoreSupport/FrameLoaderClientQt.h:
1054
1055 2008-03-22  Mark Rowe  <mrowe@apple.com>
1056
1057         Qt build fix.
1058
1059         * WebCoreSupport/FrameLoaderClientQt.cpp:
1060         (WebCore::):
1061
1062 2008-03-18  Simon Hausmann  <hausmann@webkit.org>
1063
1064         Reviewed by Holger.
1065
1066         Fix the Qt build. Don't return void in non-void functions.
1067
1068         * Api/qwebpluginfactory.cpp:
1069         (QWebPluginFactory::extension):
1070
1071 2008-03-16  Thiago Macieira  <thiago.macieira@trolltech.com>
1072
1073         Reviewed by Simon.
1074
1075         Don't use RefPtr in classes you haven't seen the implementation of.
1076         
1077         Forward-declaration and declaration of RefPtr<Foo> is ok. But you
1078         cannot *use* said objects until Foo is defined. This is true even for
1079         initialisation with a 0.
1080         
1081         Seems the HP aCC compiler is more strict here than gcc.
1082
1083         * Api/qwebframe_p.h:
1084
1085 2008-03-14  Simon Hausmann  <hausmann@webkit.org>
1086
1087         Fix the Qt build.
1088
1089         * Api/qwebframe.cpp:
1090         (QWebFrame::setHtml):
1091         (QWebFrame::setContent):
1092
1093 2008-03-13  Simon Hausmann  <hausmann@webkit.org>
1094
1095         Fix the Qt build.
1096
1097         * Api/qwebframe.cpp:
1098         (QWebFrame::addToJSWindowObject):
1099
1100 2008-03-12  Simon Hausmann  <hausmann@webkit.org>
1101
1102         Fix compilation against Qt 4.3
1103
1104         * Api/qwebpage.cpp:
1105         * Api/qwebpage.h:
1106         * Api/qwebpage_p.h:
1107
1108 2008-03-11  Rodney Dawes  <dobey@wayofthemonkey.com>
1109
1110         Fix the Qt build.
1111
1112         * WebCoreSupport/FrameLoaderClientQt.cpp:
1113         (FrameLoaderClientQt::CreatePlugin):
1114
1115 2008-03-11  Simon Hausmann  <hausmann@webkit.org>
1116
1117         Fix the Qt build (silly typo).
1118
1119         * QtLauncher/main.cpp:
1120         (MainWindow::MainWindow):
1121
1122 2008-03-11  Tor Arne Vestbø  <tavestbo@trolltech.com>
1123
1124         Reviewed by Simon.
1125
1126         Moved obscuring progress bar to the lower right corner.
1127
1128         * QtLauncher/main.cpp:
1129         (MainWindow::MainWindow):
1130         (MainWindow::resizeEvent):
1131
1132 2008-03-11  Tor Arne Vestbø  <tavestbo@trolltech.com>
1133
1134         Reviewed by Simon.
1135
1136         Added reload action and grouped stop and reload actions together.
1137
1138         * QtLauncher/main.cpp:
1139         (MainWindow::MainWindow):
1140
1141 2008-03-11  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
1142
1143         Reviewed by Simon.
1144
1145         * Set a Icon on the QAction if we have one.
1146
1147         * Api/qwebpage.cpp:
1148         (QWebPage::action):
1149
1150 2008-03-11  Simon Hausmann  <hausmann@webkit.org>
1151
1152         Fix the Qt build.
1153
1154         * Api/qwebframe.cpp:
1155         (QWebFrame::addToJSWindowObject):
1156
1157 2008-03-07  Simon Hausmann  <hausmann@webkit.org>
1158
1159         Reviewed by Darin.
1160
1161         Done with Lars.
1162
1163         Replaced the QWebObjectPlugin interfaces with QWebPluginFactory.
1164
1165         * Api/qwebnetworkinterface.cpp:
1166         (QWebNetworkManager::add):
1167         (QWebNetworkManager::cancel):
1168         (QWebNetworkManager::started):
1169         (QWebNetworkManager::data):
1170         (QWebNetworkManager::finished):
1171         * Api/qwebnetworkinterface_p.h:
1172         (QWebNetworkJobPrivate::QWebNetworkJobPrivate):
1173         * Api/qwebobjectplugin.cpp: Removed.
1174         * Api/qwebobjectplugin.h: Removed.
1175         * Api/qwebobjectplugin_p.h: Removed.
1176         * Api/qwebobjectpluginconnector.cpp: Removed.
1177         * Api/qwebobjectpluginconnector.h: Removed.
1178         * Api/qwebpage.cpp:
1179         (QWebPagePrivate::QWebPagePrivate):
1180         (QWebPage::setPluginFactory):
1181         (QWebPage::pluginFactory):
1182         * Api/qwebpage.h:
1183         * Api/qwebpage_p.h:
1184         * Api/qwebpluginfactory.cpp: Added.
1185         (QWebPluginFactory::QWebPluginFactory):
1186         (QWebPluginFactory::~QWebPluginFactory):
1187         (QWebPluginFactory::refreshPlugins):
1188         (QWebPluginFactory::extension):
1189         * Api/qwebpluginfactory.h: Added.
1190         (MimeType::):
1191         * WebCoreSupport/FrameLoaderClientQt.cpp:
1192         (WebCore::FrameLoaderClientQt::objectContentType):
1193         (WebCore::FrameLoaderClientQt::createPlugin):
1194
1195 2008-03-07  Simon Hausmann  <hausmann@webkit.org>
1196
1197         Fix the Qt build.
1198
1199         * Api/qwebframe.cpp:
1200
1201 2008-03-04  Sam Weinig  <sam@webkit.org>
1202
1203         Reviewed by Mark Rowe.
1204
1205         - Remove all unnecessary includes of JSDOMWindowBase.h, we prefer including
1206           JSDOMWindow.h
1207
1208         * Api/qwebframe.cpp:
1209         (QWebFrame::addToJSWindowObject):
1210
1211 2008-03-04  Mark Rowe  <mrowe@apple.com>
1212
1213         Another go at fixing the Qt build.
1214
1215         * Api/qwebframe.cpp:
1216         (QWebFrame::addToJSWindowObject):
1217
1218 2008-02-24  Darin Adler  <darin@apple.com>
1219
1220         Reviewed by Sam.
1221
1222         - remove separate client calls for "standard" and "reload' history
1223
1224         * WebCoreSupport/FrameLoaderClientQt.cpp:
1225         (WebCore::FrameLoaderClientQt::updateGlobalHistory):
1226         * WebCoreSupport/FrameLoaderClientQt.h:
1227
1228 2008-02-24  Darin Adler  <darin@apple.com>
1229
1230         - another try at fixing the build
1231
1232         * Api/qwebframe.cpp:
1233         (QWebFrame::load): Replace new FormData with FormData::create.
1234
1235 2008-02-22  Sam Weinig  <sam@webkit.org>
1236
1237         Fix Qt build.
1238
1239         * Api/qwebhistoryinterface.cpp:
1240
1241 2008-02-22  Sam Weinig  <sam@webkit.org>
1242
1243         Rubber-stamped by Adam Roben.
1244
1245         Rid the project of the Devil known as DeprecatedString!
1246
1247         * Api/qwebhistory.cpp:
1248         * Api/qwebhistoryinterface.cpp:
1249
1250 2008-02-18  Darin Adler  <darin@apple.com>
1251
1252         Reviewed by Sam.
1253
1254         * Api/qwebnetworkinterface.cpp:
1255         (QWebNetworkRequestPrivate::init): Removed use of DeprecatedString.
1256
1257 2008-01-24  David Boddie  <dboddie@trolltech.com>
1258
1259         Reviewed by Simon.
1260
1261         Documentation tidying.
1262         
1263
1264         * Api/qwebframe.cpp:
1265         * Api/qwebhistoryinterface.cpp:
1266         * Api/qwebview.cpp:
1267
1268 2008-01-24  Jarek Kobus  <jkobus@trolltech.com>
1269
1270         Reviewed by Simon.
1271
1272         Text for translations were used wrongly as comments
1273         
1274
1275         * WebCoreSupport/FrameLoaderClientQt.cpp:
1276         (WebCore::):
1277         (WebCore::FrameLoaderClientQt::cannotShowURLError):
1278         (WebCore::FrameLoaderClientQt::interruptForPolicyChangeError):
1279         (WebCore::FrameLoaderClientQt::cannotShowMIMETypeError):
1280         (WebCore::FrameLoaderClientQt::fileDoesNotExistError):
1281         (WebCore::FrameLoaderClientQt::shouldFallBack):
1282
1283 2008-01-24  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
1284
1285         Reviewed by Simon.
1286
1287         * We have a KURL->QUrl conversion on KURL itself, make use of it.
1288         * This conversion is supposed to be loss-free
1289         
1290
1291         * Api/qwebframe.cpp:
1292
1293 2008-01-23  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
1294
1295         * Rubber stamped by Simon
1296
1297         * Fix leaking of sub frames (WebCore::Frame). We keep one reference too many.
1298         This was found while working on the page-cache, other ports are not affected.
1299
1300         * WebCoreSupport/FrameLoaderClientQt.cpp:
1301         (WebCore::FrameLoaderClientQt::createFrame):
1302
1303 2008-01-23  Rohan McGovern  <rohan.mcgovern@trolltech.com>
1304
1305         Reviewed by Simon Hausmann <hausmann@webkit.org>.
1306
1307         Fix Qtopia compilation with QT_NO_TOOLTIP
1308         
1309
1310         * WebCoreSupport/ChromeClientQt.cpp:
1311         (WebCore::ChromeClientQt::print):
1312
1313 2008-01-23  Geir Vattekar  <gvatteka@trolltech.com>
1314
1315         Reviewed by Simon.
1316
1317         Doc: Replaced \code with snippets in the docs
1318         
1319
1320         * Api/qwebview.cpp:
1321
1322 2008-01-23  Benjamin Meyer  <bmeyer@trolltech.com>
1323
1324         Reviewed by Simon.
1325
1326         Tweak key presses even to match commonly expected behavior
1327         - space key == page down
1328         - page down moved down not a page, but slightly less then a page so you don't loose your spot when reading.
1329         - Use font height rather then a hard coded "10" for left, right, up, down
1330         - Ctrl-Up moves to the top of the page
1331         - Ctrl-Down move to the bottom of the page
1332         - Backspace == GoBack
1333         - Shift-Backspace == GoForward
1334         
1335
1336         * Api/qwebpage.cpp:
1337         (dropActionToDragOp):
1338         (dragOpToDropAction):
1339         (QWebPagePrivate::keyPressEvent):
1340
1341 2008-01-23  Simon Hausmann  <hausmann@webkit.org>
1342
1343         Reviewed by Lars.
1344
1345         Implemented FrameLoaderClient::startDownload() and FrameLoaderClient::download().
1346         
1347         Added two signals to QWebPage to handle downloading of links and handling of
1348         unsupported content.
1349         
1350
1351         * Api/qwebpage.cpp:
1352         (QWebPage::triggerAction):
1353         * Api/qwebpage.h:
1354         * WebCoreSupport/FrameLoaderClientQt.cpp:
1355         (WebCore::FrameLoaderClientQt::download):
1356         (WebCore::FrameLoaderClientQt::assignIdentifierToInitialRequest):
1357         (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForMIMEType):
1358         (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction):
1359         (WebCore::FrameLoaderClientQt::willUseArchive):
1360
1361 2008-01-22  Lars Knoll  <lars@trolltech.com>
1362
1363         Reviewed by Simon.
1364
1365         setup a family for cursive and fantasy fonts as well.
1366         
1367
1368         * Api/qwebsettings.cpp:
1369         (QWebSettings::QWebSettings):
1370
1371 2008-01-22  Benjamin Meyer  <bmeyer@trolltech.com>
1372
1373         Reviewed by Simon.
1374
1375         Implement ChromeClientQt::setToolTip
1376         Implement ChromeClientQt::mouseDidMoveOverElement
1377         
1378
1379         * Api/qwebpage.cpp:
1380         * Api/qwebpage_p.h:
1381         * WebCoreSupport/ChromeClientQt.cpp:
1382         (WebCore::ChromeClientQt::ChromeClientQt):
1383         (WebCore::ChromeClientQt::focus):
1384         (WebCore::ChromeClientQt::mouseDidMoveOverElement):
1385         (WebCore::ChromeClientQt::setToolTip):
1386         (WebCore::ChromeClientQt::print):
1387         * WebCoreSupport/ChromeClientQt.h:
1388
1389 2008-01-21  Darin Adler  <darin@apple.com>
1390
1391         Reviewed by John Sullivan.
1392
1393         - updated for changes to ChromeClient database functions
1394
1395         * WebCoreSupport/ChromeClientQt.cpp:
1396         (WebCore::ChromeClientQt::exceededDatabaseQuota):
1397         * WebCoreSupport/ChromeClientQt.h:
1398
1399 2008-01-21  Benjamin Meyer  <bmeyer@trolltech.com>
1400
1401         Reviewed by Simon.
1402
1403         Change QWebHistoryInterface::addHistoryEntry() from const to non-const
1404         
1405
1406         * Api/qwebhistoryinterface.h:
1407
1408 2008-01-21  Adam Treat  <treat@kde.org>
1409
1410         Reviewed by Simon.
1411
1412         * Don't leak the d-pointer in QWebSettings.
1413         
1414
1415         * Api/qwebsettings.cpp:
1416         (QWebSettings::~QWebSettings):
1417
1418 2008-01-21  Simon Hausmann  <hausmann@webkit.org>
1419
1420         Reviewed by Holger.
1421
1422         Update the WebKit version number from WebKit/win/WebKit.vcproj/VERSION.
1423         
1424         This has the fortunate side-effect that gmail sends us sensible HTML/JS again :)
1425         
1426
1427         * Api/qwebpage.cpp:
1428
1429 2008-01-21  Simon Hausmann  <hausmann@webkit.org>
1430
1431         Reviewed by Holger.
1432
1433         Fix focus chain handling and cycling through focusable objects (links) using tab/backtab.
1434         
1435         * Fix GraphicsContext::drawFocusRing to also draw single focus rects.
1436         * Implemented QWebPage::focusNextPrevChild by sending fake tab/shift-tab events
1437         and make the return value depend on whether we successfully determined a focusable
1438         node or not.
1439         * Changed QWebView::focusNextPrevChild() to call the base QWidget implementation correctly
1440         if we could not handle the focus chain ourselves.
1441         * Changed the focus policy of QWebView to correctly use WheelFocus instead of ClickFocus.
1442         * Made ChromeClientQt::canTakeFocus() and takeFocus() dummy method since they are only
1443         used to control the situation of stepping out of the focus chain inside the page.
1444         * Made inclusion of links in the focus chain configurable through QWebSettings::LinksIncludedInFocusChain.
1445         The layout tests expect this to be disabled but for the user it seems sensible to have it
1446         on by default, hence the default in qwebsettings.cpp
1447         
1448
1449         * Api/qwebpage.cpp:
1450         (QWebPage::focusNextPrevChild):
1451         * Api/qwebsettings.cpp:
1452         (QWebSettings::QWebSettings):
1453         * Api/qwebsettings.h:
1454         * Api/qwebview.cpp:
1455         (QWebView::QWebView):
1456         (QWebView::focusNextPrevChild):
1457         * WebCoreSupport/ChromeClientQt.cpp:
1458         (WebCore::ChromeClientQt::canTakeFocus):
1459         (WebCore::ChromeClientQt::takeFocus):
1460
1461 2008-01-18  Simon Hausmann  <hausmann@webkit.org>
1462
1463         Reviewed by Holger.
1464
1465         Coding style fixes and added a comment about the include order.
1466
1467         * WebKit_pch.h:
1468
1469 2008-01-18  Marius Storm-Olsen  <marius@trolltech.com>
1470
1471         Reviewed by Simon Hausmann <hausmann@webkit.org>.
1472
1473         Add use of precompiled header, when building inside Qt.
1474         
1475         Compiling WebKit was taking forever; 17 minutes on my machine for _one_ build! Adding the PCH at least brings it down to 12 minutes for one build, for me.
1476         
1477
1478         * WebKit_pch.h: Added.
1479
1480 2008-01-18  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
1481
1482         Reviewed by Simon.
1483
1484         * Ask the WebCore::IconDatabase only if our URL is not empty. Otherwise
1485         we will see a crash in a HashSet.
1486         * It is crashing there because the StringImpl of an empty String is 0.
1487         * We avoid this crash by checking for isEmpty() in WebKit as there is no
1488         use to ask the iconDatabase for an empty string. We will fallback to the
1489         defaultIcon.
1490         
1491
1492         * Api/qwebframe.cpp:
1493         (QWebFrame::icon):
1494
1495 2008-01-17  Simon Hausmann  <hausmann@webkit.org>
1496
1497         Reviewed by Holger.
1498
1499         Minor documentation fixes
1500         
1501
1502         * Api/qwebframe.cpp:
1503         * Api/qwebview.cpp:
1504
1505 2008-01-17  Simon Hausmann  <shausman@trolltech.com>
1506
1507         Reviewed by Lars.
1508
1509         Fix form elements not focusing correctly after the qt widget lost its focus.
1510         
1511         When receiving a focus out event notify the focus controller. Otherwise its
1512         m_focusedFrame variable remains unchanged and setFocusedFrame on a focusIn
1513         event shortcuts and doesn't call setActive(true).
1514         
1515
1516         * Api/qwebpage.cpp:
1517
1518 2008-01-17  Simon Hausmann  <shausman@trolltech.com>
1519
1520         Reviewed by Holger.
1521
1522         Lots of updates to the documentation.
1523         
1524
1525         * Api/qwebframe.cpp:
1526         * Api/qwebhistory.cpp:
1527         * Api/qwebpage.cpp:
1528         (QWebPagePrivate::dropEvent):
1529         (QWebPage::history):
1530         (openNewWindow):
1531         (QWebPage::triggerAction):
1532         (QWebPage::viewportSize):
1533         (QWebPage::navigationRequested):
1534         (QWebPage::action):
1535         (QWebPage::event):
1536         (QWebPageContext::targetFrame):
1537         * Api/qwebpage.h:
1538         * Api/qwebview.cpp:
1539
1540 2008-01-17  Simon Hausmann  <shausman@trolltech.com>
1541
1542         Reviewed by Lars.
1543
1544         Added a urlChanged signals to QWebFrame and QWebView.
1545         
1546
1547         * Api/qwebframe.cpp:
1548         * Api/qwebframe.h:
1549         * Api/qwebview.cpp:
1550         (QWebView::setPage):
1551         * Api/qwebview.h:
1552         * WebCoreSupport/FrameLoaderClientQt.cpp:
1553
1554 2008-01-17  Simon Hausmann  <shausman@trolltech.com>
1555
1556         Reviewed by Lars.
1557
1558         Fixed docs and sanity checks in QWebSettings::setIconDatabaseEnabled
1559         
1560
1561         * Api/qwebsettings.cpp:
1562         (QWebSettings::setIconDatabaseEnabled):
1563
1564 2008-01-17  Simon Hausmann  <shausman@trolltech.com>
1565
1566         Reviewed by Lars.
1567
1568         Added QWebView::createWindow() which is forwarded from QWebPage::createWindow() for convenience.
1569         
1570
1571         * Api/qwebpage.cpp:
1572         (QWebPage::createWindow):
1573         * Api/qwebview.cpp:
1574         (QWebView::createWindow):
1575         * Api/qwebview.h:
1576
1577 2008-01-17  Lars Knoll  <lars@trolltech.com>
1578
1579         Reviewed by Lars.
1580
1581         add a 0 pointer check.
1582
1583         Fixes a crash in the demo web browser.
1584
1585         * WebCoreSupport/FrameLoaderClientQt.cpp:
1586         (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForMIMEType):
1587
1588 2008-01-17  Simon Hausmann  <hausmann@webkit.org>
1589
1590         Reviewed by Holger.
1591
1592         Fix QWebFrame::title().
1593         
1594         For the titleChanged() signal we use the documentloader's title. For the property we have to use the same
1595         instead of Document::title() as the latter is not trimmed and not suited for a window caption.
1596         
1597
1598         * Api/qwebframe.cpp:
1599         (QWebFrame::title):
1600
1601 2008-01-17  Simon Hausmann  <hausmann@webkit.org>
1602
1603         Reviewed by Maciej, Lars, Holger.
1604
1605         http://bugs.webkit.org/show_bug.cgi?id=16589
1606
1607         Add a document parameter to WebCore::cookies, setCookies and cookiesEnabled.
1608
1609         * Api/qwebnetworkinterface.cpp:
1610         (QWebNetworkRequestPrivate::init):
1611         (QWebNetworkManager::started):
1612
1613 2008-01-17  Warwick Allison  <warwick@trolltech.com>
1614
1615         Reviewed by Simon Hausmann <hausmann@webkit.org>.
1616
1617         Follow QWidget::keyPressEvent advice and call parents.
1618         
1619         Without this, Back does not work in Qtopia, for example.
1620         
1621
1622         * Api/qwebview.cpp:
1623         (QWebView::keyPressEvent):
1624         (QWebView::keyReleaseEvent):
1625
1626 2008-01-17  Simon Hausmann  <hausmann@webkit.org>
1627
1628         Reviewed by Lars.
1629
1630         Fix compilation against Qt 4.3 after the recent KURL <> QUrl conversion fixes.
1631
1632         * Api/qwebnetworkinterface.cpp:
1633         (QWebNetworkManager::started):
1634
1635 2008-01-17  Simon Hausmann  <shausman@trolltech.com>
1636
1637         Reviewed by Holger.
1638
1639         Fix compilation against Qt 4.4 without files that are specific for the Qt 4.3 build.
1640         
1641
1642         * Api/qwebframe.cpp:
1643         * Api/qwebpage.cpp:
1644         * WebCoreSupport/FrameLoaderClientQt.cpp:
1645
1646 2008-01-17  Lincoln Ramsay  <lincoln.ramsay@trolltech.com>
1647
1648         Reviewed by Simon Hausmann <hausmann@webkit.org>.
1649
1650         Fixes compilation with QT_NO_DRAGANDDROP
1651         
1652
1653         * Api/qwebpage.cpp:
1654         (QWebPage::event):
1655         * Api/qwebview.cpp:
1656         (QWebView::dragEnterEvent):
1657         (QWebView::dragLeaveEvent):
1658         (QWebView::dragMoveEvent):
1659         (QWebView::dropEvent):
1660
1661 2008-01-17  Simon Hausmann  <hausmann@webkit.org>
1662
1663         Reviewed by Lars.
1664
1665         Fix compilation, removed obsolete privateBrowsingEnabled() method.
1666
1667         * WebCoreSupport/FrameLoaderClientQt.cpp:
1668
1669 2008-01-16  Lars Knoll  <lars@trolltech.com>
1670
1671         Reviewed by Simon Hausmann <simon.hausmann@trolltech.com>.
1672
1673         Removed a whole bunch of notImplemented() warnings.
1674         
1675         I don't want to hide the real warnings in lots of things that
1676         I am by now pretty certain we won't need.
1677         
1678
1679         * WebCoreSupport/FrameLoaderClientQt.cpp:
1680         (WebCore::FrameLoaderClientQt::dispatchWillSubmitForm):
1681         (WebCore::FrameLoaderClientQt::canShowMIMEType):
1682
1683 2008-01-16  Simon Hausmann  <hausmann@webkit.org>
1684
1685         Reviewed by Holger.
1686
1687         Fix crash when bringing up the context menu on maps.google.com.
1688         
1689         If the website provides its own context menu then we don't have a ContextMenu pointer.
1690         
1691
1692         * Api/qwebpage.cpp:
1693         (QWebPagePrivate::contextMenuEvent):
1694
1695 2008-01-16  Simon Hausmann  <hausmann@webkit.org>
1696
1697         Reviewed by Holger.
1698
1699         Don't crash when receiving all sorts of events on a default constructed QWebView without a page.
1700
1701         * Api/qwebview.cpp:
1702         (QWebView::mouseMoveEvent):
1703         (QWebView::mousePressEvent):
1704         (QWebView::mouseDoubleClickEvent):
1705         (QWebView::mouseReleaseEvent):
1706         (QWebView::contextMenuEvent):
1707         (QWebView::wheelEvent):
1708         (QWebView::keyPressEvent):
1709         (QWebView::keyReleaseEvent):
1710         (QWebView::focusInEvent):
1711         (QWebView::focusOutEvent):
1712         (QWebView::dragEnterEvent):
1713         (QWebView::dragLeaveEvent):
1714         (QWebView::dragMoveEvent):
1715         (QWebView::dropEvent):
1716         (QWebView::focusNextPrevChild):
1717
1718 2008-01-16  Simon Hausmann  <hausmann@webkit.org>
1719
1720         Reviewed by Lars.
1721
1722         Made the url property read-write.
1723
1724         * Api/qwebview.h:
1725
1726 2008-01-16  Simon Hausmann  <hausmann@webkit.org>
1727
1728         Reviewed by Lars.
1729
1730         Don't crash when showing a default initialized QWebView that has no page/frame yet.
1731
1732         * Api/qwebview.cpp:
1733         (QWebView::paintEvent):
1734
1735 2008-01-16  Holger Freyther  <holger.freyther@trolltech.com>
1736
1737         Reviewed by Simon.
1738
1739         Change hoveringOverLink implementation to have less issues.
1740         
1741         * Currently we only compare a pointer. In the worst case we
1742         could delete the Element we have pointed to and a new one
1743         gets the same address. But even if that doesn't happen the
1744         WebCore::Element is mutable and JavaScript could change the
1745         URL, Title or Content. So we have to compare all these three
1746         attributes.
1747         * This does not seem to be a performance impact.
1748         
1749
1750         * Api/qwebpage.cpp:
1751         (QWebPagePrivate::mouseMoveEvent):
1752         * Api/qwebpage_p.h:
1753
1754 2008-01-16  Holger Freyther  <holger.freyther@trolltech.com>
1755
1756         Reviewed by Simon.
1757
1758         * Move the hoverElement from QWebFrame to QWebPage. As it is
1759         only used there.
1760         
1761
1762         * Api/qwebframe_p.h:
1763         (QWebFramePrivate::QWebFramePrivate):
1764         * Api/qwebpage.cpp:
1765         (QWebPagePrivate::mouseMoveEvent):
1766         * Api/qwebpage_p.h:
1767
1768 2008-01-16  Holger Freyther  <holger.freyther@trolltech.com>
1769
1770         Reviewed by Simon.
1771
1772         EventHandler changes/fixes in QWebPage:
1773         -mouse{Press,Move,Release}Event:
1774         Send the event always to the mainFrame of the QWebPage.
1775         
1776         -contextMenuEvent, key{Press,Release}Event:
1777         Send the event to the focused frame.
1778         
1779         This is following the Windows port and fixes a issue with the
1780         Web Inspector where we were sending the events to a wrong frame.
1781         
1782         It is guaranteed that the mainFrame will always have an eventHandler
1783         and frameView set. There is no need to check for this in QWebPage.
1784         
1785
1786         * Api/qwebframe.cpp:
1787         (QWebFramePrivate::init):
1788         * Api/qwebframe_p.h:
1789         (QWebFramePrivate::QWebFramePrivate):
1790         * Api/qwebpage.cpp:
1791         (QWebPagePrivate::updateEditorActions):
1792         (QWebPagePrivate::mouseMoveEvent):
1793         (QWebPagePrivate::mousePressEvent):
1794         (QWebPagePrivate::mouseDoubleClickEvent):
1795         (QWebPagePrivate::mouseReleaseEvent):
1796         (QWebPagePrivate::contextMenuEvent):
1797         (QWebPagePrivate::wheelEvent):
1798         (QWebPagePrivate::keyPressEvent):
1799         (QWebPagePrivate::keyReleaseEvent):
1800         (QWebPagePrivate::focusInEvent):
1801         * Api/qwebpage_p.h:
1802
1803 2008-01-16  Holger Freyther  <holger.freyther@trolltech.com>
1804
1805         Reviewed by Simon.
1806
1807         * Add core and kit functions to QWebFramePrivate to convert from
1808         QWebFrame to WebCore::Frame and vice versa.
1809         
1810
1811         * Api/qwebframe.cpp:
1812         (QWebFramePrivate::core):
1813         (QWebFramePrivate::kit):
1814         * Api/qwebframe.h:
1815         * Api/qwebframe_p.h:
1816
1817 2008-01-16  Lars Knoll  <lars@trolltech.com>
1818
1819         Reviewed by Simon.
1820
1821         add conversion methods from and to QUrl to KURL.
1822         
1823         Use them in the places I found at the moment. Fixes a bug
1824         where form data was encoded twice.
1825         Also fix QWebSettings to take a QUrl for the user style sheet
1826         location.
1827         
1828
1829         * Api/qwebframe.cpp:
1830         (QWebFrame::load):
1831         * Api/qwebpage.cpp:
1832         (QWebPage::createPlugin):
1833         (frameLoadRequest):
1834         (QWebPage::triggerAction):
1835         * Api/qwebsettings.cpp:
1836         (QWebSettingsPrivate::apply):
1837         * Api/qwebsettings.h:
1838         * WebCoreSupport/ChromeClientQt.cpp:
1839         (WebCore::ChromeClientQt::createWindow):
1840         (WebCore::ChromeClientQt::show):
1841
1842 2008-01-16  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
1843
1844         Reviewed by Lars.
1845
1846         * Make the InspectorClientView inherit from QWebView instead of QWidget. This
1847         way paintEvent, mouse{Press,Release}Event and other events get forwarded to
1848         the QWebPage/WebInspector automatically.
1849         
1850
1851         * WebCoreSupport/InspectorClientQt.cpp:
1852         (WebCore::InspectorClientWebPage::createWindow):
1853         (WebCore::InspectorClientView::InspectorClientView):
1854
1855 2008-01-10  Maciej Stachowiak  <mjs@apple.com>
1856
1857         Reviewed by Sam.
1858
1859         - remove SecurityOriginData and fold its functionality into SecurityOrigin
1860
1861         * WebCoreSupport/ChromeClientQt.cpp:
1862         (WebCore::ChromeClientQt::requestQuotaIncreaseForNewDatabase):
1863         (WebCore::ChromeClientQt::requestQuotaIncreaseForDatabaseOperation):
1864         * WebCoreSupport/ChromeClientQt.h:
1865
1866 2008-01-10  Lars Knoll  <lars@trolltech.com>
1867
1868         Reviewed by Simon.
1869
1870         document QWebHistory
1871         
1872
1873         * Api/qwebhistory.cpp:
1874         (QWebHistoryItem::QWebHistoryItem):
1875         (QWebHistoryItem::operator=):
1876         (QWebHistoryItem::~QWebHistoryItem):
1877         (QWebHistoryItem::originalUrl):
1878         (QWebHistoryItem::currentUrl):
1879         (QWebHistoryItem::title):
1880         (QWebHistoryItem::icon):
1881         (QWebHistory::canGoBack):
1882         (QWebHistory::canGoForward):
1883         (QWebHistory::goBack):
1884         (QWebHistory::goForward):
1885         (QWebHistory::goToItem):
1886         * Api/qwebhistory.h:
1887
1888 2008-01-10  Simon Hausmann  <hausmann@webkit.org>
1889
1890         Reviewed by Lars.
1891
1892         Make the reset() functions not do anything on the default QWebSettings object.
1893         
1894
1895         * Api/qwebsettings.cpp:
1896         (QWebSettings::resetFontSize):
1897         (QWebSettings::resetFontFamily):
1898         (QWebSettings::clearAttribute):
1899
1900 2008-01-10  Lars Knoll  <lars@trolltech.com>
1901
1902         Reviewed by Simon.
1903
1904         rename QWebPageHistory to QWebHistory.
1905         
1906
1907         * Api/qwebhistory.cpp: Added.
1908         (QWebHistoryItem::QWebHistoryItem):
1909         (QWebHistoryItem::operator=):
1910         (QWebHistoryItem::~QWebHistoryItem):
1911         (QWebHistoryItem::originalUrl):
1912         (QWebHistoryItem::currentUrl):
1913         (QWebHistoryItem::title):
1914         (QWebHistoryItem::lastVisited):
1915         (QWebHistoryItem::icon):
1916         (QWebHistory::QWebHistory):
1917         (QWebHistory::~QWebHistory):
1918         (QWebHistory::clear):
1919         (QWebHistory::items):
1920         (QWebHistory::backItems):
1921         (QWebHistory::forwardItems):
1922         (QWebHistory::canGoBack):
1923         (QWebHistory::canGoForward):
1924         (QWebHistory::goBack):
1925         (QWebHistory::goForward):
1926         (QWebHistory::goToItem):
1927         (QWebHistory::backItem):
1928         (QWebHistory::currentItem):
1929         (QWebHistory::forwardItem):
1930         (QWebHistory::itemAtIndex):
1931         * Api/qwebhistory.h: Added.
1932         * Api/qwebhistory_p.h: Added.
1933         (QWebHistoryItemPrivate::QWebHistoryItemPrivate):
1934         (QWebHistoryItemPrivate::~QWebHistoryItemPrivate):
1935         (QWebHistoryPrivate::QWebHistoryPrivate):
1936         (QWebHistoryPrivate::~QWebHistoryPrivate):
1937         * Api/qwebpage.cpp:
1938         (QWebPagePrivate::QWebPagePrivate):
1939         * Api/qwebpage.h:
1940         * Api/qwebpage_p.h:
1941         * Api/qwebpagehistory.cpp: Removed.
1942         * Api/qwebpagehistory.h: Removed.
1943         * Api/qwebpagehistory_p.h: Removed.
1944         * Api/qwebview.cpp:
1945         * Api/qwebview.h:
1946
1947 2008-01-10  Simon Hausmann  <hausmann@webkit.org>
1948
1949         Reviewed by Lars.
1950
1951         Documentation for QWebSettings
1952         
1953
1954         * Api/qwebsettings.cpp:
1955         (QWebSettings::~QWebSettings):
1956         (QWebSettings::setFontSize):
1957         (QWebSettings::resetFontSize):
1958         (QWebSettings::setUserStyleSheetLocation):
1959         (QWebSettings::userStyleSheetLocation):
1960         (QWebSettings::iconDatabaseEnabled):
1961         (QWebSettings::webGraphic):
1962         (QWebSettings::setFontFamily):
1963         (QWebSettings::resetFontFamily):
1964         (QWebSettings::setAttribute):
1965
1966 2008-01-10  Lars Knoll  <lars@trolltech.com>
1967
1968         Reviewed by Simon.
1969
1970         Document QWebHistoryInterface.
1971         
1972
1973         * Api/qwebhistoryinterface.cpp:
1974         (QWebHistoryInterface::defaultInterface):
1975         (QWebHistoryInterface::~QWebHistoryInterface):
1976
1977 2008-01-10  Lars Knoll  <lars@trolltech.com>
1978
1979         Reviewed by Simon.
1980
1981         Documentation for QWebFrame.
1982         
1983
1984         * Api/qwebframe.cpp:
1985         (QWebFrame::url):
1986         (QWebFrame::name):
1987         (QWebFrame::page):
1988         (QWebFrame::setHtml):
1989         (QWebFrame::parentFrame):
1990         (QWebFrame::render):
1991         (QWebFrame::pos):
1992         (QWebFrame::geometry):
1993         * Api/qwebframe.h:
1994         * Api/qwebframe_p.h:
1995
1996 2008-01-10  Lars Knoll  <lars@trolltech.com>
1997
1998         Reviewed by Simon.
1999
2000         fix the drawing errors that where introduced due to refactoring.
2001         
2002         Correctly clip to the rectangle we want to draw in ScrollView::paint().
2003         
2004
2005         * Api/qwebframe.cpp:
2006         (QWebFrame::render):
2007         * Api/qwebframe.h:
2008         * Api/qwebview.cpp:
2009         (QWebView::paintEvent):
2010         * WebCoreSupport/ChromeClientQt.cpp:
2011         (WebCore::ChromeClientQt::scrollBackingStore):
2012
2013 2008-01-10  Simon Hausmann  <hausmann@webkit.org>
2014
2015         Reviewed by Lars.
2016
2017         Added a whole bunch of docs for QWebPage and fixed some minor doc glitches in QWebView.
2018         
2019
2020         * Api/qwebpage.cpp:
2021         (QWebPagePrivate::dropEvent):
2022         (QWebPage::QWebPage):
2023         (QWebPage::~QWebPage):
2024         (QWebPage::mainFrame):
2025         (QWebPage::currentFrame):
2026         (QWebPage::history):
2027         (QWebPage::setView):
2028         (QWebPage::view):
2029         (QWebPage::javaScriptConsoleMessage):
2030         (QWebPage::javaScriptAlert):
2031         (QWebPage::javaScriptConfirm):
2032         (QWebPage::javaScriptPrompt):
2033         (QWebPage::createWindow):
2034         (QWebPage::createModalDialog):
2035         (openNewWindow):
2036         (QWebPage::triggerAction):
2037         (QWebPage::viewportSize):
2038         (QWebPage::navigationRequested):
2039         (QWebPage::selectedText):
2040         (QWebPage::isModified):
2041         (QWebPage::focusNextPrevChild):
2042         (QWebPage::settings):
2043         (QWebPage::networkProxy):
2044         (QWebPage::setNetworkAccessManager):
2045         (QWebPage::networkAccessManager):
2046         (QWebPagePrivate::_q_onLoadProgressChanged):
2047         * Api/qwebview.cpp:
2048
2049 2008-01-07  Holger Freyther  <zecke@selfish.org>
2050
2051         Reviewed by Alp Toker.
2052
2053         * Qt and Gtk must know if a ContextMenuItem is checkable. Add a new ContextMenuItemType for checkable
2054         actions.
2055         * Use this information in the Gtk platform to create a GtkCheckMenuItem when needed.
2056         * Update the ContextMenuController to accept CheckableActionTypes as well.
2057         * Change ContextMenu.cpp to use the CheckableActionType. The information if a item is checkable
2058         was extracted from ContextMenu::checkOrEnableIfNeeded.
2059         * Update the Qt and Windows port.
2060
2061         * Api/qwebpage.cpp:
2062         (QWebPagePrivate::createContextMenu):
2063
2064 2008-01-07  Simon Hausmann  <hausmann@webkit.org>
2065
2066         Build fix for the Windows build. MSVC wants to see the full
2067         declaration of arguments even when just passing them through.
2068
2069         * Api/qwebpage.cpp:
2070
2071 2008-01-07  Simon Hausmann  <hausmann@webkit.org>
2072
2073         Reviewed by Lars.
2074
2075         Added the missing parameters to make it possible to do POST operations from the public API.
2076         
2077         This is ugly though as it also requires including qnetworkaccessmanager.h. It would be nicer if the
2078         two extra arguments were in QNetworkRequest :-/
2079         
2080
2081         * Api/qwebframe.cpp:
2082         (QWebFrame::load):
2083         * Api/qwebframe.h:
2084         * Api/qwebview.cpp:
2085         (QWebView::load):
2086         * Api/qwebview.h:
2087
2088 2008-01-07  Simon Hausmann  <hausmann@webkit.org>
2089
2090         Reviewed by Lars.
2091
2092         Ported of the network backend of the Qt platform to Qt 4.4's new networking API.
2093         
2094
2095         * Api/qwebframe.cpp:
2096         (QWebFrame::load):
2097         * Api/qwebframe.h:
2098         * Api/qwebnetworkinterface.cpp:
2099         * Api/qwebnetworkinterface.h:
2100         * Api/qwebnetworkinterface_p.h:
2101         * Api/qwebobjectplugin.cpp:
2102         * Api/qwebobjectplugin.h:
2103         * Api/qwebobjectplugin_p.h:
2104         * Api/qwebobjectpluginconnector.cpp:
2105         * Api/qwebobjectpluginconnector.h:
2106         * Api/qwebpage.cpp:
2107         (QWebPagePrivate::QWebPagePrivate):
2108         (QWebPagePrivate::~QWebPagePrivate):
2109         (QWebPagePrivate::navigationRequested):
2110         (QWebPage::setNetworkInterface):
2111         (QWebPage::networkInterface):
2112         (QWebPage::setNetworkAccessManager):
2113         (QWebPage::networkAccessManager):
2114         * Api/qwebpage.h:
2115         * Api/qwebpage_p.h:
2116         * Api/qwebview.cpp:
2117         * Api/qwebview.h:
2118         * WebCoreSupport/FrameLoaderClientQt.cpp:
2119         (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
2120         (WebCore::FrameLoaderClientQt::objectContentType):
2121         (WebCore::FrameLoaderClientQt::createPlugin):
2122
2123 2008-01-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2124
2125         Reviewed by Simon.
2126
2127         * Move the QWebPagePrivate methods up to the other private ones
2128
2129         * Api/qwebpage.cpp:
2130         (dropActionToDragOp):
2131         (dragOpToDropAction):
2132         (QWebPagePrivate::mouseMoveEvent):
2133         (QWebPagePrivate::mousePressEvent):
2134         (QWebPagePrivate::mouseDoubleClickEvent):
2135         (QWebPagePrivate::mouseReleaseEvent):
2136         (QWebPagePrivate::contextMenuEvent):
2137         (QWebPagePrivate::wheelEvent):
2138         (QWebPagePrivate::keyPressEvent):
2139         (QWebPagePrivate::keyReleaseEvent):
2140         (QWebPagePrivate::focusInEvent):
2141         (QWebPagePrivate::focusOutEvent):
2142         (QWebPagePrivate::dragEnterEvent):
2143         (QWebPagePrivate::dragLeaveEvent):
2144         (QWebPagePrivate::dragMoveEvent):
2145         (QWebPagePrivate::dropEvent):
2146         (QWebPage::focusNextPrevChild):
2147
2148 2008-01-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2149
2150         Reviewed by Simon.
2151
2152         * Add reimplemented comments for the methods reimplemented in QWebView and QWebPage.
2153         
2154
2155         * Api/qwebpage.cpp:
2156         (dragOpToDropAction):
2157         * Api/qwebview.cpp:
2158         (QWebView::mouseMoveEvent):
2159         (QWebView::mousePressEvent):
2160         (QWebView::mouseDoubleClickEvent):
2161         (QWebView::mouseReleaseEvent):
2162         (QWebView::contextMenuEvent):
2163         (QWebView::keyPressEvent):
2164         (QWebView::keyReleaseEvent):
2165         (QWebView::focusInEvent):
2166         (QWebView::focusOutEvent):
2167         (QWebView::dragEnterEvent):
2168         (QWebView::dragLeaveEvent):
2169         (QWebView::dragMoveEvent):
2170         (QWebView::dropEvent):
2171
2172 2008-01-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2173
2174         Reviewed by Lars.
2175
2176         * This layout is not needed anymore as Widget::invalidateRect will not
2177         draw anymore.
2178         
2179
2180         * Api/qwebview.cpp:
2181         (QWebView::paintEvent):
2182
2183 2008-01-04  Lars Knoll  <lars@trolltech.com>
2184
2185         Reviewed by Simon.
2186
2187         Remove most dependencies of Widget/ScrollView onto native QWidgets.
2188         
2189         This also brings the code closer in line with the Windows code. Seems
2190         to work nicely on first try :)
2191         
2192
2193         * WebCoreSupport/ChromeClientQt.cpp:
2194         (WebCore::ChromeClientQt::updateBackingStore):
2195         (WebCore::ChromeClientQt::mouseDidMoveOverElement):
2196         (WebCore::ChromeClientQt::setToolTip):
2197         * WebCoreSupport/FrameLoaderClientQt.cpp:
2198         (WebCore::FrameLoaderClientQt::createPlugin):
2199
2200 2008-01-04  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2201
2202         Reviewed by Simon.
2203
2204         * Remove the todo from QWebPage and move the code to QWebView.
2205         
2206
2207         * Api/qwebpage.cpp:
2208         (QWebPagePrivate::wheelEvent):
2209         (QWebPagePrivate::focusInEvent):
2210         * Api/qwebview.cpp:
2211         (QWebView::wheelEvent):
2212         (QWebView::focusInEvent):
2213
2214 2008-01-04  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2215
2216         Reviewed by Simon.
2217
2218         * Move the various event methods to QWebPagePrivate. This is similar to
2219         QTextControl as well.
2220         
2221
2222         * Api/qwebpage.cpp:
2223         (QWebPage::event):
2224         (QWebPagePrivate::mouseMoveEvent):
2225         (QWebPagePrivate::mousePressEvent):
2226         (QWebPagePrivate::mouseDoubleClickEvent):
2227         (QWebPagePrivate::mouseReleaseEvent):
2228         (QWebPagePrivate::contextMenuEvent):
2229         (QWebPagePrivate::wheelEvent):
2230         (QWebPagePrivate::keyPressEvent):
2231         (QWebPagePrivate::keyReleaseEvent):
2232         (QWebPagePrivate::focusInEvent):
2233         (QWebPagePrivate::focusOutEvent):
2234         (QWebPage::focusNextPrevChild):
2235         (QWebPagePrivate::dragEnterEvent):
2236         (QWebPagePrivate::dragLeaveEvent):
2237         (QWebPagePrivate::dragMoveEvent):
2238         (QWebPagePrivate::dropEvent):
2239         * Api/qwebpage.h:
2240         * Api/qwebpage_p.h:
2241
2242 2008-01-04  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2243
2244         Reviewed by Simon.
2245
2246         * Forward the event from QWebView to QWebPage through QObject::event. This
2247         is similar to the way QTextControl is working.
2248         
2249
2250         * Api/qwebpage.cpp:
2251         (dragOpToDropAction):
2252         (QWebPage::event):
2253         * Api/qwebpage.h:
2254         * Api/qwebview.cpp:
2255         (QWebView::mouseMoveEvent):
2256         (QWebView::mousePressEvent):
2257         (QWebView::mouseDoubleClickEvent):
2258         (QWebView::mouseReleaseEvent):
2259         (QWebView::contextMenuEvent):
2260         (QWebView::wheelEvent):
2261         (QWebView::keyPressEvent):
2262         (QWebView::keyReleaseEvent):
2263         (QWebView::focusInEvent):
2264         (QWebView::focusOutEvent):
2265         (QWebView::dragEnterEvent):
2266         (QWebView::dragLeaveEvent):
2267         (QWebView::dragMoveEvent):
2268         (QWebView::dropEvent):
2269         * Api/qwebview.h:
2270
2271 2008-01-04  Lars Knoll  <lars@trolltech.com>
2272
2273         Reviewed by Simon.
2274
2275         make QWebPage a QObject and get things to compile.
2276         
2277         Nothing works currently though.
2278         
2279
2280         * Api/qwebobjectpluginconnector.cpp:
2281         * Api/qwebpage.cpp:
2282         (QWebPagePrivate::QWebPagePrivate):
2283         (QWebPagePrivate::createMainFrame):
2284         (QWebPage::QWebPage):
2285         (QWebPage::setView):
2286         (QWebPage::view):
2287         (QWebPage::javaScriptAlert):
2288         (QWebPage::javaScriptPrompt):
2289         (dragOpToDropAction):
2290         (QWebPage::mousePressEvent):
2291         (QWebPage::mouseDoubleClickEvent):
2292         (QWebPage::mouseReleaseEvent):
2293         (QWebPage::wheelEvent):
2294         (QWebPage::keyPressEvent):
2295         (QWebPage::focusInEvent):
2296         * Api/qwebpage.h:
2297         * Api/qwebpage_p.h:
2298         * Api/qwebview.cpp:
2299         (QWebView::QWebView):
2300         (QWebView::setPage):
2301         (QWebView::resizeEvent):
2302         (QWebView::paintEvent):
2303         * Api/qwebview.h:
2304         * WebCoreSupport/ChromeClientQt.cpp:
2305         (WebCore::ChromeClientQt::windowRect):
2306         (WebCore::ChromeClientQt::pageRect):
2307         (WebCore::ChromeClientQt::focus):
2308         (WebCore::ChromeClientQt::unfocus):
2309         (WebCore::ChromeClientQt::canTakeFocus):
2310         (WebCore::ChromeClientQt::takeFocus):
2311         (WebCore::ChromeClientQt::canRunModal):
2312         (WebCore::ChromeClientQt::mouseDidMoveOverElement):
2313         * WebCoreSupport/DragClientQt.cpp:
2314         (WebCore::DragClientQt::startDrag):
2315         * WebCoreSupport/FrameLoaderClientQt.cpp:
2316         (WebCore::FrameLoaderClientQt::createPlugin):
2317         * WebCoreSupport/InspectorClientQt.cpp:
2318         (WebCore::InspectorClientWebPage::createWindow):
2319         (WebCore::InspectorClientView::InspectorClientView):
2320         (WebCore::InspectorClientView::page):
2321         (WebCore::InspectorClientView::hideEvent):
2322         (WebCore::InspectorClientView::closeEvent):
2323         (WebCore::InspectorClientQt::createPage):
2324         (WebCore::InspectorClientQt::closeWindow):
2325
2326 2008-01-04  Simon Hausmann  <hausmann@webkit.org>
2327
2328         Reviewed by Lars.
2329
2330         Added some preliminary class documentation for QWebView, fixed a missing const() and some missing Q_PROPERTYs
2331         
2332
2333         * Api/qwebview.cpp:
2334         (QWebView::setHtml):
2335         (QWebView::setContent):
2336         (QWebView::history):
2337         (QWebView::settings):
2338         (QWebView::action):
2339         (QWebView::triggerAction):
2340         (QWebView::stop):
2341         (QWebView::backward):
2342         (QWebView::forward):
2343         (QWebView::reload):
2344         * Api/qwebview.h:
2345
2346 2008-01-04  Lars Knoll  <lars@trolltech.com>
2347
2348         Reviewed by Simon.
2349
2350         add a viewportSize to QWebPage.
2351         
2352         This is required to eventually make it a QObject only.
2353         
2354
2355         * Api/qwebpage.cpp:
2356         (QWebPage::triggerAction):
2357         (QWebPage::viewportSize):
2358         (QWebPage::setViewportSize):
2359         * Api/qwebpage.h:
2360
2361 2008-01-04  Lars Knoll  <lars@trolltech.com>
2362
2363         Reviewed by Simon.
2364
2365         take a QString as identifier in QWebFrame::addToJSWindowObject.
2366
2367         * Api/qwebframe.cpp:
2368         (QWebFrame::addToJSWindowObject):
2369         * Api/qwebframe.h:
2370
2371 2008-01-04  Simon Hausmann  <hausmann@webkit.org>
2372
2373         Reviewed by Lars.
2374
2375         Call the frame arguments for the javascript callbacks "originatingFrame"
2376         
2377
2378         * Api/qwebpage.h:
2379
2380 2008-01-04  Simon Hausmann  <hausmann@webkit.org>
2381
2382         Reviewed by Lars.
2383
2384         Moved the QWebPage::addToHistory signal into QWebHistoryInterface
2385         
2386
2387         * Api/qwebhistoryinterface.h:
2388         * Api/qwebpage.h:
2389         * WebCoreSupport/FrameLoaderClientQt.cpp:
2390         (WebCore::FrameLoaderClientQt::updateGlobalHistoryForStandardLoad):
2391
2392 2008-01-04  Lars Knoll  <lars@trolltech.com>
2393
2394         Reviewed by Simon.
2395
2396         moved title(), url(), icon() and initialLayoutComplete() from QWebPage to QWebFrame
2397
2398         * Api/qwebframe.cpp:
2399         (QWebFrame::url):
2400         (QWebFrame::icon):
2401         (QWebFrame::setVerticalScrollBarPolicy):
2402         * Api/qwebframe.h:
2403         * Api/qwebpage.cpp:
2404         (QWebPage::javaScriptAlert):
2405         (QWebPage::javaScriptPrompt):
2406         (QWebPage::networkInterface):
2407         * Api/qwebpage.h:
2408         * Api/qwebview.cpp:
2409         (QWebView::title):
2410         (QWebView::url):
2411         (QWebView::icon):
2412         * WebCoreSupport/FrameLoaderClientQt.cpp:
2413
2414 2008-01-03  Simon Hausmann  <hausmann@webkit.org>
2415
2416         Reviewed by Lars.
2417
2418         Moved QWebPage::open to QWebFrame::load and added setHtml.
2419         
2420
2421         * Api/qwebframe.cpp:
2422         (QWebFrame::load):
2423         (QWebFrame::setHtml):
2424         (QWebFrame::setContent):
2425         * Api/qwebframe.h:
2426         * Api/qwebpage.cpp:
2427         * Api/qwebpage.h:
2428         * Api/qwebview.cpp:
2429         (QWebView::load):
2430         (QWebView::setHtml):
2431         * Api/qwebview.h:
2432         * WebCoreSupport/ChromeClientQt.cpp:
2433         (WebCore::ChromeClientQt::createWindow):
2434         * WebCoreSupport/InspectorClientQt.cpp:
2435         (WebCore::InspectorClientQt::createPage):
2436
2437 2008-01-03  Simon Hausmann  <hausmann@webkit.org>
2438
2439         Reviewed by Lars.
2440
2441         Added the first revision of QWebView and started moving functionality from QWebPave over to QWebView and QWebFrame.
2442         
2443
2444         * Api/headers.pri:
2445         * Api/qwebframe.h:
2446         * Api/qwebpage.cpp:
2447         (QWebPagePrivate::createMainFrame):
2448         * Api/qwebpage.h:
2449         * Api/qwebpagehistory.h:
2450         * Api/qwebview.cpp: Added.
2451         (QWebView::QWebView):
2452         (QWebView::~QWebView):
2453         (QWebView::page):
2454         (QWebView::setPage):
2455         (QWebView::load):
2456         (QWebView::setHtml):
2457         (QWebView::history):
2458         (QWebView::settings):
2459         (QWebView::title):
2460         (QWebView::url):
2461         (QWebView::icon):
2462         (QWebView::selectedText):
2463         (QWebView::action):
2464         (QWebView::triggerAction):
2465         (QWebView::isModified):
2466         (QWebView::textInteractionFlags):
2467         (QWebView::setTextInteractionFlags):
2468         (QWebView::sizeHint):
2469         (QWebView::stop):
2470         (QWebView::backward):
2471         (QWebView::forward):
2472         (QWebView::reload):
2473         * Api/qwebview.h: Added.
2474         * QtLauncher/main.cpp:
2475         (MainWindow::MainWindow):
2476         (MainWindow::webPage):
2477         (MainWindow::changeLocation):
2478         * WebCoreSupport/FrameLoaderClientQt.cpp:
2479         (WebCore::FrameLoaderClientQt::setFrame):
2480         * WebCoreSupport/FrameLoaderClientQt.h:
2481
2482 2007-12-14  Darin Adler  <darin@apple.com>
2483
2484         Reviewed by Alexey.
2485
2486         * Api/qwebpage.cpp:
2487         (QWebPage::triggerAction): Removed some use of Editor member functions we plan
2488         to eventually eliminate. Switch from Editor::execCommand to Editor::command.
2489         * WebCoreSupport/EditorClientQt.cpp:
2490         (WebCore::EditorClientQt::handleKeyboardEvent): Ditto. Also updated name from
2491         MoveUpByPageAndModifyCaret to MovePageUp and from MoveDownByPageAndModifyCaret
2492         to MovePageDown.
2493
2494 2007-12-12  Brady Eidson  <beidson@apple.com>
2495
2496         Reviewed by Sam Weinig
2497
2498         As part of doing some CachedPage and client cleanup, keep Qt building
2499
2500         * WebCoreSupport/FrameLoaderClientQt.cpp:
2501         (WebCore::FrameLoaderClientQt::savePlatformDataToCachedPage):
2502         (WebCore::FrameLoaderClientQt::transitionToCommittedFromCachedPage):
2503         (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
2504         * WebCoreSupport/FrameLoaderClientQt.h:
2505
2506 2007-12-12  Sam Weinig  <sam@webkit.org>
2507
2508         Build fix.
2509
2510         * WebCoreSupport/FrameLoaderClientQt.cpp:
2511         (WebCore::FrameLoaderClientQt::userAgent):
2512
2513 2007-12-12  Sam Weinig  <sam@webkit.org>
2514
2515         Build fix.
2516
2517         * Api/qwebnetworkinterface.cpp:
2518         (QWebNetworkRequestPrivate::init):
2519         * Api/qwebpage.cpp:
2520         (QWebPage::url):
2521         (QWebPageContext::QWebPageContext):
2522         * Api/qwebpagehistory.cpp:
2523         (QWebHistoryItem::originalUrl):
2524         (QWebHistoryItem::currentUrl):
2525         * WebCoreSupport/FrameLoaderClientQt.cpp:
2526         (WebCore::FrameLoaderClientQt::cannotShowURLError):
2527         (WebCore::FrameLoaderClientQt::interruptForPolicyChangeError):
2528         (WebCore::FrameLoaderClientQt::cannotShowMIMETypeError):
2529         (WebCore::FrameLoaderClientQt::fileDoesNotExistError):
2530         (WebCore::FrameLoaderClientQt::dispatchWillSendRequest):
2531         (WebCore::FrameLoaderClientQt::dispatchDidReceiveResponse):
2532         (WebCore::FrameLoaderClientQt::createPlugin):
2533
2534 2007-12-07  Alexey Proskuryakov  <ap@webkit.org>
2535
2536         Reviewed by Darin.
2537
2538         <rdar://problem/5535636>
2539         Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
2540
2541         http://bugs.webkit.org/show_bug.cgi?id=13916
2542         JavaScript detects Tab as a character input on a textfield validation
2543
2544         * WebCoreSupport/EditorClientQt.cpp:
2545         (WebCore::EditorClientQt::handleKeyboardEvent):
2546         (WebCore::EditorClientQt::handleInputMethodKeydown):
2547         * WebCoreSupport/EditorClientQt.h:
2548         Updated for cross-platform changes as much as it was possible without a Qt build environment.
2549
2550 2007-12-07  Darin Adler  <darin@apple.com>
2551
2552         - try to fix build
2553
2554         * Api/qwebhistoryinterface.cpp:
2555         (WebCore::historyContains): There's a WebCore function here in WebKit! Needs to
2556         be updated, since WebCore changed, but this should not be here.
2557
2558 2007-12-04  Darin Adler  <darin@apple.com>
2559
2560         Reviewed by Kevin Decker.
2561
2562         * WebCoreSupport/FrameLoaderClientQt.cpp: Removed obsolete privateBrowsingEnabled.
2563         * WebCoreSupport/FrameLoaderClientQt.h: Ditto.
2564
2565 2007-12-04  Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2566
2567         Reviewed by Simon.
2568
2569         * Implement the InspectorClient for the Qt port
2570         * It does not support highlighting of nodes yet
2571         * Use QRC to open the internal page. The important thing is the
2572         '/' in the URL to make WebCore::Document::completeURL behave the
2573         way we want.
2574         * To make the InspectorClient work we will have to mark qrc as secure.
2575
2576         * Api/qwebpage.cpp:
2577         (QWebPagePrivate::QWebPagePrivate):
2578         * Api/qwebpage.h:
2579         * WebCoreSupport/InspectorClientQt.cpp:
2580         (WebCore::InspectorClientWebPage::hideEvent):
2581         (WebCore::InspectorClientQt::InspectorClientQt):
2582         (WebCore::InspectorClientQt::inspectorDestroyed):
2583         (WebCore::InspectorClientQt::createPage):
2584         (WebCore::InspectorClientQt::localizedStringsURL):
2585         (WebCore::InspectorClientQt::showWindow):
2586         (WebCore::InspectorClientQt::closeWindow):
2587         (WebCore::InspectorClientQt::attachWindow):
2588         (WebCore::InspectorClientQt::detachWindow):
2589         * WebCoreSupport/InspectorClientQt.h:
2590
2591 2007-12-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2592
2593         Rubber stamped by Mark.
2594
2595         Always include config.h at the beginning of the file.
2596
2597         * Api/qwebsettings.cpp:
2598
2599 2007-12-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2600
2601         Reviewed by Simon.
2602
2603         * Avoid crashes by making sure everything is layouted before
2604         we start painting. This avoids a crash in Widget::invalidateRect
2605         because QPainter::begin would fail
2606         * The QWebFrame::layout() methods and calls are left untouched because
2607         this would be an API decision.
2608         
2609
2610         * Api/qwebframe.cpp:
2611         (QWebFrame::layout):
2612         * Api/qwebpage.cpp:
2613         (QWebPage::paintEvent):
2614
2615 2007-12-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2616
2617         Reviewed by Simon.
2618
2619         * SubClass QWebPage to handle hide and close events.
2620         * Forward these events to the InspectorController
2621         * The other options would have been using an eventFilter
2622         on the webpage and making InspectorClient a QObject or
2623         creating a QObject Observer.
2624         * Provide a simple QWebPage* createWindow implementation. This is needed
2625         to make FrameLoaderClientQt::dispatchCreatePage stop crashing in the case
2626         of the inspector client.
2627         
2628
2629         * WebCoreSupport/InspectorClientQt.cpp:
2630         (WebCore::InspectorClientWebPage::InspectorClientWebPage):
2631         (WebCore::InspectorClientWebPage::createWindow):
2632         (WebCore::InspectorClientWebPage::hideEvent):
2633         (WebCore::InspectorClientWebPage::closeEvent):
2634         (WebCore::InspectorClientQt::createPage):
2635
2636 2007-12-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2637
2638         Reviewed by Simon.
2639
2640         * Allow adding the Inspect ContextMenuItem to our Menu
2641         * Open the Inspector when Inspect was activated. This requires
2642         that we keep the innerNonSharedNode from the HitTest around. This
2643         forces us to include <wtf/RefPtr.h> in the private header. It is
2644         the first non Qt header but should be okay.
2645         
2646
2647         * Api/qwebpage.cpp:
2648         (webActionForContextMenuAction):
2649         (QWebPage::triggerAction):
2650         (QWebPage::action):
2651         (QWebPageContext::QWebPageContext):
2652         * Api/qwebpage.h:
2653         * Api/qwebpage_p.h:
2654
2655 2007-12-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2656
2657         Reviewed by Simon.
2658
2659         * Add the Developer Extras to the WebAttribute and propagate it
2660         to WebCore::Settings. This will enable the Inspect Element menu item
2661         * CodingStyle fixes in QWebSettings
2662         * Enable the Developer Extras in the QtLauncher
2663         
2664
2665         * Api/qwebsettings.cpp:
2666         (QWebSettingsPrivate::apply):
2667         * Api/qwebsettings.h:
2668         * QtLauncher/main.cpp:
2669         (main):
2670
2671 2007-12-03  Geoffrey Garen  <ggaren@apple.com>
2672
2673         Removed unnecessary and possibly incorrect #include from my last 
2674         check-in.
2675
2676         * Api/qwebframe.cpp:
2677
2678 2007-12-03  Geoffrey Garen  <ggaren@apple.com>
2679
2680         Qt build fix: Get globalExec() from the right place.
2681
2682 2007-11-30  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2683
2684         Reviewed by Simon.
2685
2686         * Self destruct the clients like the ohter ports do
2687         
2688
2689         * WebCoreSupport/ChromeClientQt.cpp:
2690         (WebCore::ChromeClientQt::runBeforeUnloadConfirmPanel):
2691         * WebCoreSupport/ContextMenuClientQt.cpp:
2692         * WebCoreSupport/DragClientQt.cpp:
2693         * WebCoreSupport/EditorClientQt.cpp:
2694         * WebCoreSupport/InspectorClientQt.cpp:
2695
2696 2007-11-29  Brady Eidson  <beidson@apple.com>
2697
2698         Keep it building with new client method
2699
2700         * WebCoreSupport/ChromeClientQt.cpp:
2701         (WebCore::ChromeClientQt::requestQuotaIncreaseForNewDatabase):
2702         (WebCore::ChromeClientQt::requestQuotaIncreaseForDatabaseOperation):
2703         * WebCoreSupport/ChromeClientQt.h:
2704
2705 2007-11-22  Simon Hausmann  <hausmann@webkit.org>
2706
2707         Reviewed by Adam Treat.
2708
2709         Fix compilation (don't define notImplemented twice)
2710
2711         * Api/qwebnetworkinterface.cpp:
2712
2713 2007-11-22  Simon Hausmann  <hausmann@kde.org>
2714
2715         Reviewed by George.
2716
2717         Use Q_SIGNALS/Q_SLOTS in the public API
2718
2719         * Api/qwebframe.h:
2720         * Api/qwebpage.h:
2721
2722 2007-11-22  Simon Hausmann  <hausmann@kde.org>
2723
2724         Reviewed by George.
2725
2726         Fixed the signature of the QWebPage constructor to follow Qt guidelines.
2727
2728         * Api/qwebpage.h:
2729
2730 2007-11-22  Simon Hausmann  <hausmann@kde.org>
2731
2732         Reviewed by George.
2733
2734         Use <QtModule/headerfile.h> instead of <Classname> in public HEADER files, to not require the include paths for the other modules to be present
2735
2736         * Api/qcookiejar.h:
2737         * Api/qwebframe.h:
2738         * Api/qwebhistoryinterface.h:
2739         * Api/qwebnetworkinterface.h:
2740         * Api/qwebobjectplugin.h:
2741         * Api/qwebobjectplugin_p.h:
2742         * Api/qwebobjectpluginconnector.h:
2743         * Api/qwebpage.h:
2744         * Api/qwebpagehistory.h:
2745         * Api/qwebsettings.h:
2746
2747 2007-11-22  Simon Hausmann  <hausmann@kde.org>
2748
2749         Reviewed by George.
2750
2751         Removed inline copy of QExplicitlySharedDataPointer. This is not needed anymore since we require Qt >= 4.3.0.
2752
2753         * Api/qwebpagehistory.h:
2754
2755 2007-11-22  George Staikos  <staikos@kde.org>
2756
2757         Reviewed by Simon Hausmann <hausmann@kde.org>.
2758
2759         Fix license headers
2760         
2761
2762         * Api/qwebobjectplugin.cpp:
2763         * Api/qwebobjectplugin.h:
2764         * Api/qwebobjectpluginconnector.cpp:
2765         * Api/qwebobjectpluginconnector.h:
2766
2767 2007-11-22  Simon Hausmann  <hausmann@kde.org>
2768
2769         Reviewed by George Staikos <staikos@kde.org>.
2770
2771         Fix shadowing of "page" variable that is passed as argument as well as a member variable.
2772         
2773         This also fixes compilation with gcc 4.3.
2774         
2775
2776         * Api/qwebframe.cpp:
2777         (QWebFramePrivate::init):
2778
2779 2007-11-21  Adam Treat  <treat@kde.org>
2780
2781         Reviewed by Simon.
2782
2783         * Connect up the signal for all subframes too.
2784
2785         * Api/qwebframe.cpp:
2786         (QWebFramePrivate::init):
2787         * Api/qwebpage.cpp:
2788         (QWebPagePrivate::createMainFrame):
2789
2790 2007-11-20  Simon Hausmann  <hausmann@kde.org>
2791
2792         Reviewed by Adam Treat <treat@kde.org>.
2793
2794         Remove static linkage of QtWebKit against the ICO image format plugin.
2795         
2796         Instead build the support for the ICO image format as a proper standalone qt image format plugin and install it.
2797         
2798
2799         * Plugins/Plugins.pro:
2800
2801 2007-11-20  Simon Hausmann  <hausmann@kde.org>
2802
2803         Reviewed by George Staikos <staikos@kde.org>.
2804
2805         Added a default argument to textContent for the hoveringOverLink signal to keep existing two-argument connections working
2806         
2807
2808         * Api/qwebpage.h:
2809
2810 2007-11-20  George Staikos  <staikos@kde.org>
2811
2812         Reviewed by Simon Hausmann <hausmann@kde.org>.
2813
2814         Add an argument to pass the link text in the hovering signal
2815         
2816
2817         * Api/qwebframe.h:
2818         * Api/qwebpage.cpp:
2819         (QWebPagePrivate::createMainFrame):
2820         (QWebPage::mouseMoveEvent):
2821         * Api/qwebpage.h:
2822
2823 2007-11-20  Adam Treat  <treat@kde.org>
2824
2825         Reviewed by Simon and George.
2826
2827         * Be quiet and allow suppression of NotImplemented calls at runtime.
2828
2829         * WebCoreSupport/FrameLoaderClientQt.cpp:
2830         (WebCore::FrameLoaderClientQt::representationExistsForURLScheme):
2831
2832 2007-11-19  Adam Treat  <treat@kde.org>
2833
2834         Reviewed by Simon.
2835
2836         * Don't segfault when event pos is outside of the widget.
2837
2838         * Api/qwebpage.cpp:
2839         (QWebPage::mouseMoveEvent):
2840         (QWebPage::mousePressEvent):
2841         (QWebPage::mouseDoubleClickEvent):
2842         (QWebPage::mouseReleaseEvent):
2843         (QWebPage::contextMenuEvent):
2844
2845 2007-11-17  Timothy Hatcher  <timothy@apple.com>
2846
2847         Reviewed by Mark Rowe.
2848
2849         Bug 13470: i18n: The Web Inspector is not localizable
2850         http://bugs.webkit.org/show_bug.cgi?id=13470
2851
2852         * WebCoreSupport/InspectorClientQt.cpp:
2853         (WebCore::InspectorClientQt::localizedStringsURL): Empty stub.
2854         * WebCoreSupport/InspectorClientQt.h: Added localizedStringsURL.
2855
2856 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
2857
2858         Build fix: changed Shared to RefCounted.
2859
2860         * WebCoreSupport/ChromeClientQt.h:
2861         * WebCoreSupport/ContextMenuClientQt.cpp:
2862         * WebCoreSupport/ContextMenuClientQt.h:
2863         * WebCoreSupport/EditorClientQt.h:
2864         * WebCoreSupport/FrameLoaderClientQt.h:
2865
2866 2007-11-10  Simon Hausmann  <hausmann@kde.org>
2867
2868         Reviewed by Nikolas.
2869
2870         When populating the context menu with sub-menus don't add sub-menus if they're empty.
2871         
2872
2873         * Api/qwebpage.cpp:
2874         (QWebPagePrivate::createContextMenu):
2875
2876 2007-11-10  Simon Hausmann  <hausmann@kde.org>
2877
2878         Reviewed by Nikolas.
2879
2880         Added support for the Bold/Italic/Underline toggle actions.
2881         
2882
2883         * Api/qwebpage.cpp:
2884         (webActionForContextMenuAction):
2885         (QWebPage::triggerAction):
2886         (QWebPage::action):
2887         * Api/qwebpage.h:
2888
2889 2007-11-10  Simon Hausmann  <hausmann@kde.org>
2890
2891         Reviewed by Nikolas.
2892
2893         Before adding an action to the context menu call checkOrEnableIfNeeded for each action
2894         to update the enable/checked state correctly.
2895         
2896
2897         * Api/qwebpage.cpp:
2898         (QWebPagePrivate::createContextMenu):
2899         (QWebPage::contextMenuEvent):
2900         * Api/qwebpage_p.h:
2901
2902 2007-11-10  Simon Hausmann  <hausmann@kde.org>
2903
2904         Reviewed by Nikolas.
2905
2906         Mark the text direction actions as checkable actions.
2907         
2908
2909         * Api/qwebpage.cpp:
2910         (QWebPage::action):
2911
2912 2007-11-09  Simon Hausmann  <hausmann@kde.org>
2913
2914         Reviewed by Holger.
2915
2916         Implemented the webcore actions for changing the text direction.
2917         
2918
2919         * Api/qwebpage.cpp:
2920         (webActionForContextMenuAction):
2921         (QWebPage::triggerAction):
2922         (QWebPage::action):
2923         * Api/qwebpage.h:
2924
2925 2007-11-09  Simon Hausmann  <hausmann@kde.org>
2926
2927         Reviewed by Holger.
2928
2929         Fix ContextMenu allocation in the Qt port.
2930         
2931         Store all items and submenus value based in ContextMenu and ContextMenuItem.
2932         That fixes the crashes when the context menu was populated with sub-menus because
2933         of the use of temporary ContextMenu objects like this:
2934         
2935         ContextMenu subMenu(...);
2936         subMenu.appendItem(...);
2937         subMenu.appendItem(...);
2938         
2939         subMenuItem.setSubMenu(&subMenu); // temporary pointer, need to _copy_ contents
2940         
2941
2942         * Api/qwebpage.cpp:
2943         (QWebPage::contextMenuEvent):
2944         * Api/qwebpage_p.h:
2945
2946 2007-11-09  Simon Hausmann  <hausmann@kde.org>
2947
2948         Reviewed by Holger.
2949
2950         Renamed QWebPage::NumWebActions to QWebPage::WebActionCount (for consistency) and fixed its value.
2951         
2952
2953         * Api/qwebpage.h:
2954         * Api/qwebpage_p.h:
2955
2956 2007-11-08  Kevin McCullough  <kmccullough@apple.com>
2957
2958         Reviewed by Sam.
2959
2960         - windowObjectCleared() is no longer const.  It needs to setup the
2961         script debugger and cannot be const to do so.
2962
2963         * WebCoreSupport/FrameLoaderClientQt.cpp:
2964         (WebCore::FrameLoaderClientQt::windowObjectCleared):
2965         * WebCoreSupport/FrameLoaderClientQt.h:
2966
2967 2007-11-08  Simon Hausmann  <hausmann@kde.org>
2968
2969         Reviewed by nobody (well, Holger knows about it), build fix for Qt 4.3.
2970
2971         The buildbots use Qt 4.4 which has the function in question, but Qt
2972         4.3 doesn't have it. Use removeAll() as replacement instead, it
2973         shouldn't make a difference in performance.
2974
2975         * Api/qwebsettings.cpp:
2976         (QWebSettings::~QWebSettings):
2977
2978 2007-11-08  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2979
2980         Reviewed by Lars Knoll <lars@trolltech.com>.
2981
2982         Cleanup checking for the request method.
2983         
2984         * Check the request method only in QWebNetworkManager::add.
2985         * Currently HEAD, GET, POST are allowed and for everything else
2986         QWebNetworkManager::add returns false.
2987         * Returning false is compatible with ResourceHandle::start and it
2988         can be used in ResourceHandle::loadResourceSynchronously to generate
2989         a ResourceError
2990         
2991
2992         * Api/qwebnetworkinterface.cpp:
2993         (QWebNetworkManager::add):
2994
2995 2007-11-08  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2996
2997         Reviewed by Lars Knoll <lars@trolltech.com>.
2998
2999         Fix bug in the implementation of synchronous network jobs.
3000         
3001         * George (pmax) reviewed the networking patches and found the following bug (thanks for reviewing)
3002         -    if (jobMode == AsynchronousJob) {
3003         +    if (jobMode == SynchronousJob) {
3004         add job to synchronous list/hash
3005         
3006         * Just applying the above change will lead to crashes because we can finish
3007         jobs before we started them.
3008         
3009         * Avoid these issues by saving all work (starting a job, sending data and
3010         finishing it) inside one list. JobWork will contain any
3011         of the above three work types and doWork will just work on this list
3012         (m_pendingWork). As foreach takes a copy of the list calling started, data
3013         and finished will not add new work and we gurantee that if we have JobStarted
3014         it will be in the list before JobData and JobFinished.
3015         
3016         * Observation: We might just kill the code to handle sync jobs.
3017         
3018
3019         * Api/qwebnetworkinterface.cpp:
3020         (QWebNetworkManager::add):
3021         (QWebNetworkManager::queueStart):
3022         (QWebNetworkManager::queueData):
3023         (QWebNetworkManager::queueFinished):
3024         (QWebNetworkManager::doWork):
3025         * Api/qwebnetworkinterface_p.h:
3026         (QWebNetworkManager::JobWork::):
3027         (QWebNetworkManager::JobWork::JobWork):
3028
3029 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3030
3031         Build fix, reviewed by nobody.
3032
3033         Fix the Qt build by setting up WindowFeatures before calling
3034         createWindow on the Chrome. This is similar to openNewWindow in
3035         page/ContextMenuController.cpp
3036
3037         * Api/qwebpage.cpp:
3038         (openNewWindow):
3039
3040 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3041
3042         Reviewed by Lars.
3043
3044         Make the setting of letting Javascript access the clipboard configurable through QWebSettings, turn it off by default and turn it on in DumpRenderTree.
3045
3046         * Api/qwebpage.cpp:
3047         (QWebPagePrivate::QWebPagePrivate):
3048         * Api/qwebsettings.cpp:
3049         (QWebSettingsPrivate::apply):
3050         * Api/qwebsettings.h:
3051
3052 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3053
3054         Reviewed by Lars.
3055
3056         Changed QWebPageHistory::goToItem to take a value instead of a pointer.
3057
3058         * Api/qwebpagehistory.cpp:
3059         * Api/qwebpagehistory.h:
3060
3061 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3062
3063         Reviewed by Lars.
3064
3065         Removed unimplemented QWebHistoryItem::children() function
3066
3067         * Api/qwebpagehistory.h:
3068
3069 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3070
3071         Reviewed by Lars.
3072
3073         Changed the getter functions in QWebSettings to transparently resolve against the default settings.
3074
3075         * Api/qwebsettings.cpp:
3076         (QWebSettings::fontSize):
3077         (QWebSettings::fontFamily):
3078         (QWebSettings::testAttribute):
3079
3080 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3081
3082         Reviewed by Lars.
3083
3084         Added explicit functions for resetting the font sizes and font families.
3085
3086         * Api/qwebsettings.cpp:
3087         (QWebSettings::resetFontSize):
3088         (QWebSettings::resetFontFamily):
3089         * Api/qwebsettings.h:
3090
3091 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3092
3093         Reviewed by Lars.
3094
3095         Combined the font sizes accessors/setters under one setter/getter with an enum.
3096
3097         * Api/qwebsettings.cpp:
3098         (QWebSettingsPrivate::QWebSettingsPrivate):
3099         (QWebSettingsPrivate::apply):
3100         (QWebSettings::QWebSettings):
3101         (QWebSettings::setFontSize):
3102         * Api/qwebsettings.h:
3103
3104 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3105
3106         Reviewed by Lars.
3107
3108         Renamed QWebPage::userAgentStringForUrl(url) to QWebPage::userAgentFor(url);
3109
3110         * Api/qwebpage.cpp:
3111         * Api/qwebpage.h:
3112         * WebCoreSupport/FrameLoaderClientQt.cpp:
3113         (WebCore::FrameLoaderClientQt::userAgent):
3114
3115 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3116
3117         Reviewed by Lars.
3118
3119         Renamed QWebPage::webActionTriggered to QWebPage::triggerAction
3120
3121         * Api/qwebpage.cpp:
3122         (QWebPagePrivate::_q_webActionTriggered):
3123         (QWebPage::keyPressEvent):
3124         * Api/qwebpage.h:
3125
3126 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3127
3128         Reviewed by Lars.
3129
3130         Changed the virtual QWebPage::setWindowGeometry to be a geometryChangeRequest signal instead.
3131
3132         * Api/qwebpage.cpp:
3133         * Api/qwebpage.h:
3134         * WebCoreSupport/ChromeClientQt.cpp:
3135         (WebCore::ChromeClientQt::setWindowRect):
3136
3137 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3138
3139         Reviewed by Lars.
3140
3141         Renamed QWebPage::webAction() to QWebPage::action()
3142
3143         * Api/qwebpage.cpp:
3144         (QWebPagePrivate::createContextMenu):
3145         * Api/qwebpage.h:
3146         * QtLauncher/main.cpp:
3147         (MainWindow::MainWindow):
3148
3149 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3150
3151         Reviewed by Lars.
3152
3153         Removed a bunch of slots/functions that are now available through the new actions API.
3154
3155         * Api/qwebpage.cpp:
3156         * Api/qwebpage.h:
3157
3158 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3159
3160         Reviewed by Lars.
3161
3162         Added some more comments to the API after another round of API review with Lars.
3163
3164         * Api/qwebpage.h:
3165
3166 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3167
3168         Reviewed by Lars.
3169
3170         Moved QWebFrame::selectedText() to QWebPage::selectedText().
3171         
3172         The currently selected text is a property of the page as a whole.
3173
3174         * Api/qwebframe.cpp:
3175         * Api/qwebframe.h:
3176         * Api/qwebpage.cpp:
3177         (QWebPage::selectedText):
3178         * Api/qwebpage.h:
3179
3180 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3181
3182         Reviewed by Lars.
3183
3184         Implemented support for settings propagation.
3185         
3186         If an individual setting is not set in a page's QWebSettings then it is inherited from the default settings.
3187
3188         * Api/qwebsettings.cpp:
3189         (QWebSettingsPrivate::QWebSettingsPrivate):
3190         (QWebSettingsPrivate::apply):
3191         (QWebSettings::QWebSettings):
3192         (QWebSettings::~QWebSettings):
3193         (QWebSettings::setFontFamily):
3194         * Api/qwebsettings.h:
3195
3196 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3197
3198         Reviewed by Lars.
3199
3200         Reworked the QWebSettings API.
3201         QWebPage now returns a pointer to its mutable QWebSettings object and the settings of newly created QWebPageObjects are initialized from QWebSettings::defaultSettings().
3202
3203         * Api/qwebpage.cpp:
3204         (QWebPagePrivate::QWebPagePrivate):
3205         (QWebPagePrivate::~QWebPagePrivate):
3206         (QWebPage::QWebPage):
3207         * Api/qwebpage.h:
3208         * Api/qwebpage_p.h:
3209         * Api/qwebsettings.cpp:
3210         (QWebSettingsPrivate::QWebSettingsPrivate):
3211         (QWebSettingsPrivate::apply):
3212         (QWebSettings::defaultSettings):
3213         (QWebSettings::QWebSettings):
3214         (QWebSettings::setMinimumFontSize):
3215         (QWebSettings::setMinimumLogicalFontSize):
3216         (QWebSettings::setDefaultFontSize):
3217         (QWebSettings::setDefaultFixedFontSize):
3218         (QWebSettings::setUserStyleSheetLocation):
3219         (QWebSettings::setFontFamily):
3220         (QWebSettings::fontFamily):
3221         (QWebSettings::setAttribute):
3222         * Api/qwebsettings.h:
3223         * QtLauncher/main.cpp:
3224         (main):
3225
3226 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3227
3228         Reviewed by Lars.
3229
3230         Made the QWebSettings::webGraphic functions static. The implementation was using QWebSettings::global() anyway.
3231
3232         * Api/qwebsettings.cpp:
3233         (QWebSettings::setWebGraphic):
3234         * Api/qwebsettings.h:
3235
3236 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3237
3238         Reviewed by Lars.
3239
3240         Moved the WebCore::Image specific function loadResourcePixmap from qwebsettings.cpp to ImageQt.cpp and made it static.
3241
3242         * Api/qwebsettings.cpp:
3243
3244 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3245
3246         Reviewed by Lars.
3247
3248         Changed the icondatabase accessor to be a static function because it doesn't change the QWebSettings object.
3249
3250         * Api/qwebsettings.cpp:
3251         * Api/qwebsettings.h:
3252
3253 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3254
3255         Reviewed by Lars.
3256
3257         Changed the webAction() accessor to not be a slot but just a public function.
3258
3259         * Api/qwebpage.h:
3260
3261 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3262
3263         Reviewed by Lars.
3264
3265         Implemented createWindow() in QtLauncher.
3266
3267         * QtLauncher/main.cpp:
3268         (WebPage::WebPage):
3269         (MainWindow::MainWindow):
3270         (WebPage::createWindow):
3271
3272 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3273
3274         Reviewed by Lars.
3275
3276         Implemented opening links in new windows
3277
3278         * Api/qwebpage.cpp:
3279         (frameLoadRequest):
3280         (openNewWindow):
3281         (QWebPage::webActionTriggered):
3282
3283 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3284
3285         Reviewed by Lars.
3286
3287         Added and implemented the "OpenLink" action.
3288
3289         * Api/qwebpage.cpp:
3290         (webActionForContextMenuAction):
3291         (QWebPage::webActionTriggered):
3292         (QWebPage::webAction):
3293         * Api/qwebpage.h:
3294
3295 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3296
3297         Reviewed by Lars.
3298
3299         Adjust the state of the reload action correctly.
3300
3301         * Api/qwebpage.cpp:
3302         (QWebPagePrivate::updateAction):
3303         (QWebPagePrivate::updateNavigationActions):
3304
3305 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3306
3307         Reviewed by Lars.
3308
3309         Initialize the undo/redo actions from QUndoStack. That automatically takes care of enabling/disabling them as well as the activation/trigger.
3310
3311         * Api/qwebpage.cpp:
3312         (QWebPagePrivate::updateAction):
3313         (QWebPage::webAction):
3314         (QWebPage::undoStack):
3315         * Api/qwebpage.h:
3316
3317 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3318
3319         Reviewed by Lars.
3320
3321         Added undo/redo toolbar buttons, moved the location line edit into a separate toolbar.
3322
3323         * QtLauncher/main.cpp:
3324         (MainWindow::MainWindow):
3325
3326 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3327
3328         Reviewed by Lars.
3329
3330         Update the editor actions when the selection changes.
3331
3332         * Api/qwebpage.cpp:
3333         (QWebPagePrivate::updateAction):
3334         (QWebPagePrivate::updateEditorActions):
3335         * Api/qwebpage_p.h:
3336         * WebCoreSupport/EditorClientQt.cpp:
3337         (WebCore::EditorClientQt::respondToChangedSelection):
3338
3339 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3340
3341         Reviewed by Lars.
3342
3343         Added cut/copy/paste actions to the toolbar of QtLauncher
3344
3345         * QtLauncher/main.cpp:
3346         (MainWindow::MainWindow):
3347
3348 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3349
3350         Reviewed by Lars.
3351
3352         Started working on keeping the state of the navigation actions up-to-date.
3353
3354         * Api/qwebpage.cpp:
3355         (QWebPagePrivate::updateAction):
3356         (QWebPagePrivate::updateNavigationActions):
3357         (QWebPage::webAction):
3358         * Api/qwebpage_p.h:
3359         * WebCoreSupport/FrameLoaderClientQt.cpp:
3360         (WebCore::FrameLoaderClientQt::dispatchDidCommitLoad):
3361         (WebCore::FrameLoaderClientQt::dispatchDidFinishDocumentLoad):
3362         (WebCore::FrameLoaderClientQt::dispatchDidFinishLoad):
3363         (WebCore::FrameLoaderClientQt::postProgressStartedNotification):
3364         (WebCore::FrameLoaderClientQt::didPerformFirstNavigation):
3365
3366 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3367
3368         Reviewed by Lars.
3369
3370         Use the navigational web actions in the toolbar
3371
3372         * QtLauncher/main.cpp:
3373         (MainWindow::MainWindow):
3374
3375 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3376
3377         Reviewed by Lars.
3378
3379         Store a bunch of QActions in QWebPagePrivate, corresponding to QWebPage::WebAction.
3380         Added QWebPageContext to hold context sensitive information (for example used by the context menu).
3381
3382         * Api/qwebpage.cpp:
3383         (QWebPagePrivate::QWebPagePrivate):
3384         (webActionForContextMenuAction):
3385         (QWebPagePrivate::createContextMenu):
3386         (QWebPagePrivate::_q_webActionTriggered):
3387         (QWebPage::webActionTriggered):
3388         (QWebPage::webAction):
3389         (QWebPage::contextMenuEvent):
3390         (QWebPageContext::QWebPageContext):
3391         (QWebPageContext::operator=):
3392         (QWebPageContext::~QWebPageContext):
3393         (QWebPageContext::pos):
3394         (QWebPageContext::text):
3395         (QWebPageContext::linkUrl):
3396         (QWebPageContext::imageUrl):
3397         (QWebPageContext::image):
3398         (QWebPageContext::targetFrame):
3399         * Api/qwebpage.h:
3400         * Api/qwebpage_p.h:
3401
3402 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3403
3404         Reviewed by Lars.
3405
3406         Moved the editing actions implemented in keyPressEvent into webActionTriggered.
3407
3408         * Api/qwebpage.cpp:
3409         (QWebPage::webActionTriggered):
3410         (QWebPage::keyPressEvent):
3411         * Api/qwebpage.h:
3412
3413 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3414
3415         Reviewed by Lars.
3416
3417         Introduced a central virtual void webActionTriggered(WebAction action) method that is called from various
3418         convenience methods such as cut()/copy()/paste().
3419
3420         * Api/qwebpage.cpp:
3421         (QWebPage::goBack):
3422         (QWebPage::webActionTriggered):
3423         (QWebPage::cut):
3424         (QWebPage::copy):
3425         * Api/qwebpage.h:
3426
3427 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3428
3429         Reviewed by Lars.
3430
3431         Restructure the context menu classes for the Qt port. ContextMenu and ContextMenuItem don't store
3432         QActions/QMenus anymore but just store the action type, tag, title and optionally submenu as created
3433         in ContextMenu::populate().
3434         For the actual Qt context menu we traverse this structure after sendContextMenuEvent and create a QMenu
3435         out of it. That menu is currently not functional anymore though.
3436
3437         * Api/qwebpage.cpp:
3438         (QWebPagePrivate::createContextMenu):
3439         (QWebPage::contextMenuEvent):
3440         * Api/qwebpage_p.h:
3441
3442 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3443
3444         Reviewed by Lars.
3445
3446         Changed ContextMenu::setPlatformDescription for the Qt port to not show the qmenu right away
3447         but instead just behave as a normal setter that takes ownership of the platform menu description (the qmenu).
3448         Instead now QWebPage::contextMenuEvent() retrieves the QMenu after calling sendContextMenuEvent and calls exec()
3449         on it.
3450
3451         * Api/qwebpage.cpp:
3452         (QWebPage::contextMenuEvent):
3453         * WebCoreSupport/ContextMenuClientQt.cpp:
3454         (WebCore::ContextMenuClientQt::getCustomMenuFromDefaultItems):
3455
3456 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3457
3458         Reviewed by Lars.
3459
3460         Changed to PlatformMouseEvent constructor to allow construction from a QContextMenuEvent.
3461         Call sendContextMenuEvent on the event handler from a QWidget::contextMenuEvent re-implementation instead of in mousePressEvent.
3462
3463         * Api/qwebpage.cpp:
3464         (QWebPage::mousePressEvent):
3465         (QWebPage::contextMenuEvent):
3466         * Api/qwebpage.h:
3467
3468 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3469
3470         Reviewed by Lars.
3471
3472         Turned onLoadProgressChanged into a real private slot.
3473
3474         * Api/qwebpage.cpp:
3475         (QWebPage::QWebPage):
3476         * Api/qwebpage.h:
3477         * Api/qwebpage_p.h:
3478
3479 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3480
3481         Reviewed by Lars.
3482
3483         Make QWebHistory an explicitly shared object, returned as a pointer by QWebPage::history().
3484
3485         * Api/qwebpage.cpp:
3486         (QWebPagePrivate::QWebPagePrivate):
3487         * Api/qwebpage.h:
3488         * Api/qwebpage_p.h:
3489         * Api/qwebpagehistory.cpp:
3490         (QWebPageHistory::QWebPageHistory):
3491         * Api/qwebpagehistory.h:
3492
3493 2007-11-07  Lars Knoll  <lars@trolltech.com>
3494
3495         Reviewed by Simon.
3496
3497         comments on API changes that we'd like to do.
3498
3499         * Api/qwebpage.h:
3500
3501 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3502
3503         Reviewed by Lars Knoll <lars@trolltech.com>.
3504
3505         Add a QWebPage::frameCreated() signal and fix DRT
3506         
3507         The removal of createFrame in QWebPage broke the re-implementation
3508         in DumpRenderTree. Instead emit a frameCreated() signal and
3509         connect to it in DumpRenderTree.
3510         
3511
3512         * Api/qwebpage.cpp:
3513         (QWebPagePrivate::createMainFrame):
3514         * Api/qwebpage.h:
3515         * WebCoreSupport/FrameLoaderClientQt.cpp:
3516         (WebCore::FrameLoaderClientQt::createFrame):
3517
3518 2007-11-07  Lars Knoll  <lars@trolltech.com>
3519
3520         Reviewed by Simon.
3521
3522         Remove QWebPage::createFrame()
3523         
3524         now that QWebFrame doesn't have virtual methods anymore, there
3525         is no need for a createFrame() factory method in QWebpage.
3526
3527         * Api/qwebpage.cpp:
3528         (QWebPagePrivate::createMainFrame):
3529         * Api/qwebpage.h:
3530         * WebCoreSupport/FrameLoaderClientQt.cpp:
3531         (WebCore::FrameLoaderClientQt::createFrame):
3532
3533 2007-11-07  Simon Hausmann  <hausmann@kde.org>
3534
3535         Reviewed by Lars Knoll <lars@trolltech.com>.
3536
3537         Moved all the event handlers from QWebFrame into QWebPage.
3538         
3539         This cleans up the public API and allows us to remove the
3540         HackWebFrame hack in DumpRenderTree.
3541         
3542
3543         * Api/qwebframe.cpp:
3544         (QWebFrame::pos):
3545         * Api/qwebframe.h:
3546         * Api/qwebframe_p.h:
3547         * Api/qwebpage.cpp:
3548         (QWebPagePrivate::frameAt):
3549         (QWebPage::mouseMoveEvent):
3550         (QWebPage::mousePressEvent):
3551         (QWebPage::mouseDoubleClickEvent):
3552         (QWebPage::mouseReleaseEvent):
3553         (QWebPage::wheelEvent):
3554         * Api/qwebpage_p.h:
3555
3556 2007-11-07  Holger Freyther  <holger.freyther@trolltech.com>
3557
3558         Reviewed by Lars Knoll <lars@trolltech.com>.
3559
3560         Use correct UserAgent string.
3561         
3562         * Only have one User Agent String and this place is QWebPage
3563         * QWebPage::open -> QWebNetworkRequest -> QWebPage::open ->
3564         ResourceRequest -> FrameLoader::load -> QWebNetworkRequest
3565         * ResourceRequest is != 0 when getting called from WebCore, we
3566         will only do requests when coming from WebCore and then we can
3567         use the User-Agent set with the help of the FrameLoaderClient
3568         * We might want to change QWebNetworkRequest a bit
3569         
3570
3571         * Api/qwebnetworkinterface.cpp:
3572         (QWebNetworkRequestPrivate::init):
3573
3574 2007-11-07  Lars Knoll  <lars@trolltech.com>
3575
3576         Reviewed by Simon.
3577
3578         remove two notImplemented() warnings, as I believe we don't
3579         have to implement these methods. Add some (commented out)
3580         debug code in one place.
3581
3582         * WebCoreSupport/EditorClientQt.cpp:
3583         (WebCore::EditorClientQt::respondToChangedSelection):
3584         (WebCore::EditorClientQt::didWriteSelectionToPasteboard):
3585
3586 2007-11-05  Tristan O'Tierney  <tristan@apple.com>
3587
3588         Reviewed by Darin Adler.
3589
3590         * WebCoreSupport/ChromeClientQt.cpp:
3591         (WebCore::ChromeClientQt::createWindow):
3592         * WebCoreSupport/ChromeClientQt.h:
3593         Revised to use new WebCore ChromeClient createWindow API.
3594
3595 2007-10-31  Lars Knoll  <lars@trolltech.com>
3596
3597         Reviewed by Simon.
3598
3599         fix most of the issues I found with Clipboard and DnD.
3600
3601         * Api/qwebpage.cpp:
3602         (QWebPage::dragLeaveEvent):
3603
3604 2007-10-31  Lars Knoll  <lars@trolltech.com>
3605
3606         Reviewed by Simon.
3607
3608         QDrag objects need to be created on the heap.
3609
3610         * WebCoreSupport/DragClientQt.cpp:
3611         (WebCore::DragClientQt::startDrag):
3612
3613 2007-10-31  Lars Knoll  <lars@trolltech.com>
3614
3615         Reviewed by Simon.
3616
3617         a dragLeave event is not the same as cancelling a drag.
3618
3619         * Api/qwebpage.cpp:
3620
3621 2007-10-26  Mark Rowe  <mrowe@apple.com>
3622
3623         Build fix.  Add missing #include of Platform.h.
3624
3625         * Api/qwebhistoryinterface.cpp:
3626
3627 2007-10-25  Holger Freyther  <zecke@selfish.org>
3628
3629         Reviewed by Simon Hausmann <hausmann@kde.org>.
3630
3631         * We need to set a != 0 status code for the fast/loader/xmlhttprequest-missing-file-exception.html
3632         * libxml2 has the semantic that when writing an empty string and finishing it will report an error. For QXmlStreamReader this is valid.
3633         * This is causing some regressions...
3634         
3635
3636         * Api/qwebnetworkinterface.cpp:
3637         (QWebNetworkManager::started):
3638         (QWebNetworkInterface::addJob):
3639
3640 2007-10-25  Holger Freyther  <zecke@selfish.org>
3641
3642         Reviewed by Simon Hausmann <hausmann@kde.org>.
3643
3644         * Make fast/loader/xmlhttprequest-bad-mimetype.html pass. We use QHttp to download local files but we may not set the HTTP result code on the ResourceResponse.
3645         * We can use the cross-platform result now. QWebNetworkInterface/Manager behaves the same as mac for local files.
3646         
3647
3648         * Api/qwebnetworkinterface.cpp:
3649         (QWebNetworkManager::started):
3650
3651 2007-10-25  Holger Freyther  <zecke@selfish.org>
3652
3653         Reviewed by Simon Hausmann <hausmann@kde.org>.
3654
3655         * fast/dom/onerror-img.html regressed due checking the JobStates because in case of error (e.g. not being able to connect) the job will no be started.
3656         * Use the error message from Qt. It might or might not be translated.
3657         
3658
3659         * Api/qwebnetworkinterface.cpp:
3660         (QWebNetworkJob::errorString):
3661         (QWebNetworkJob::setErrorString):
3662         (QWebNetworkManager::finished):
3663         (QWebNetworkManager::doWork):
3664         (WebCoreHttp::onRequestFinished):
3665         * Api/qwebnetworkinterface.h:
3666         * Api/qwebnetworkinterface_p.h:
3667
3668 2007-10-25  Holger Freyther  <zecke@selfish.org>
3669
3670         Reviewed by Simon Hausmann <hausmann@kde.org>.
3671
3672         * Use the JobStatus to make sure to not deliver finished/data before the job has started. This is the case with the fast/dom/onerror-img.html test case.
3673         * We have no idea if any data will come so we can still finish and then get pending data. This luckily can't happen for the local file case.
3674         
3675
3676         * Api/qwebnetworkinterface.cpp:
3677         (QWebNetworkManager::doWork):
3678
3679 2007-10-25  Holger Freyther  <zecke@selfish.org>
3680
3681         Reviewed by Simon Hausmann <hausmann@kde.org>.
3682
3683         * No need to initialize values in the QWebNetworkJob c'tor
3684         * Add a JobStatus to QWebNetworkJob and verify that the jobs are handled in the way we expect them to be handled. This means no data after the job has finished, not finishing a job before it has been started.
3685         
3686
3687         * Api/qwebnetworkinterface.cpp:
3688         (QWebNetworkJob::status):
3689         (QWebNetworkJob::setStatus):
3690         (QWebNetworkManager::started):
3691         (QWebNetworkManager::data):
3692         (QWebNetworkManager::finished):
3693         * Api/qwebnetworkinterface.h:
3694         * Api/qwebnetworkinterface_p.h:
3695         (QWebNetworkJobPrivate::QWebNetworkJobPrivate):
3696
3697 2007-10-25  Holger Freyther  <zecke@selfish.org>
3698
3699         Reviewed by Simon Hausmann <hausmann@kde.org>.
3700
3701         * Consistency: Always name the jobs job.
3702         
3703
3704         * Api/qwebnetworkinterface.cpp:
3705         (WebCoreHttp::onReadyRead):
3706         (WebCoreHttp::onRequestFinished):
3707         (WebCoreHttp::onSslErrors):
3708         (WebCoreHttp::onAuthenticationRequired):
3709         (WebCoreHttp::onProxyAuthenticationRequired):
3710
3711 2007-10-25  Holger Freyther  <zecke@selfish.org>
3712
3713         Reviewed by Simon Hausmann <hausmann@kde.org>.
3714
3715         * Implement our own queuing of network jobs to allow special handling of synchronous jobs. This makes us pass the fast/dom/xmlhttprequest-html-response-encoding.html test without a crash. Sync jobs will get a special treatment over the normals ones and in theory more than one sync job is supported.
3716         * This should be thread-safe besides QWebNetworkJob::{ref,deref}
3717         
3718
3719         * Api/qwebnetworkinterface.cpp:
3720         (QWebNetworkJob::~QWebNetworkJob):
3721         (QWebNetworkManager::QWebNetworkManager):
3722         (QWebNetworkManager::self):
3723         (QWebNetworkManager::add):
3724         (QWebNetworkManager::started):
3725         (QWebNetworkManager::finished):
3726         (QWebNetworkInterfacePrivate::sendFileData):
3727         (QWebNetworkInterfacePrivate::parseDataUrl):
3728         (QWebNetworkManager::queueStart):
3729         (QWebNetworkManager::queueData):
3730         (QWebNetworkManager::queueFinished):
3731         (QWebNetworkManager::doScheduleWork):
3732         (QWebNetworkManager::doWork):
3733         (gCleanupInterface):
3734         (QWebNetworkInterface::setDefaultInterface):
3735         (QWebNetworkInterface::defaultInterface):
3736         (QWebNetworkInterface::QWebNetworkInterface):
3737         (QWebNetworkInterface::started):
3738         (QWebNetworkInterface::data):
3739         (QWebNetworkInterface::finished):
3740         (WebCoreHttp::scheduleNextRequest):
3741         (WebCoreHttp::onResponseHeaderReceived):
3742         (WebCoreHttp::onReadyRead):